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]$