https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66101
Bug ID: 66101 Summary: [5/6 Regression] internal compiler error: in verify_loop_structure, at cfgloop.c:1662 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: mpolacek at gcc dot gnu.org Target Milestone: --- $ ./cc1 -quiet -O2 o.c o.c: In function ‘bar’: o.c:8:5: warning: implicit declaration of function ‘longjmp’ [-Wimplicit-function-declaration] longjmp (); ^ o.c: In function ‘foo’: o.c:16:3: warning: implicit declaration of function ‘_setjmp’ [-Wimplicit-function-declaration] _setjmp (); ^ o.c:29:1: error: size of loop 1 should be 3, not 5 } ^ o.c:29:1: internal compiler error: in verify_loop_structure, at cfgloop.c:1662 0x8437cc verify_loop_structure() /home/marek/src/gcc/gcc/cfgloop.c:1662 0xb9b354 loop_optimizer_init(unsigned int) /home/marek/src/gcc/gcc/loop-init.c:124 0xc872fa execute /home/marek/src/gcc/gcc/predict.c:3056 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. int a, c, d, e; int bar () { int b = *(long *) 7 == 5 ? : 0; if (a || a > b) longjmp (); return 1; } void foo () { long f; _setjmp (); for (; d; c++) switch (c) case 0: { f = bar () >> 1; if (e) goto L; if (bar () >> 1) goto L; } L: ; }