https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64465

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-01-01
                 CC|                            |hubicka at ucw dot cz
   Target Milestone|---                         |5.0
     Ever confirmed|0                           |1

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
It is caused by r219108.  The updated testcase:

[hjl@gnu-mic-2 gcc-regression]$ cat pr64465.c
typedef void (*__sighandler_t) (int);
struct sigaction
  {
 __sighandler_t sa_handler;
  };
extern int sigaction (const struct sigaction *__restrict __act);
extern int __open_alias (const char *__path, int __oflag, ...) __asm__ (""
"open")
                              ;
static __inline
__attribute__ ((__always_inline__))
int
open (const char *__path, int __oflag, ...)
{
  if (__builtin_constant_p (__oflag))
    return __open_alias (__path, __oflag, __builtin_va_arg_pack ());
  return __open_alias (__path, __oflag, __builtin_va_arg_pack ());
}
extern int close(int fd);
static void
set_fortify_handler (void (*handler) (int sig))
{
  struct sigaction sa;
  sigaction (&sa);
  int fd = open ("/dev/null", 3);
  if (fd == -1)
    close (1);
}
extern void handler (int sig);
void
do_test (void)
{
  set_fortify_handler (handler);
}
[hjl@gnu-mic-2 gcc-regression]$
/export/project/git/gcc-regression/master/219108/usr/bin/gcc -O2 -S
-fexceptions pr64465.c
pr64465.c: In function \u2018set_fortify_handler\u2019:
pr64465.c:34:1: error: BB 5 last statement has incorrectly set lp
 }
 ^
pr64465.c:34:1: internal compiler error: verify_flow_info failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
[hjl@gnu-mic-2 gcc-regression]$

Reply via email to