https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71079
Arseny Solokha <asolokha at gmx dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |asolokha at gmx dot com --- Comment #1 from Arseny Solokha <asolokha at gmx dot com> --- The latest snapshot ICEs on the following even w/o any options specified: int re, nm; unsigned int cg; void wq (void) { if ((re != 0) ? (1 ^ nm ^ (cg ^ 1)) : 0) { } } % x86_64-pc-linux-gnu-gcc-7.0.0-alpha20160515 -c zkr8zi5p.c zkr8zi5p.c: In function 'wq': zkr8zi5p.c:5:1: error: mismatching comparison operand types wq (void) ^~ int unsigned int if (nm.1_2 != cg.2_3) goto <D.1753>; else goto <D.1754>; zkr8zi5p.c:5:1: internal compiler error: verify_gimple failed However, after a trivial modification it starts failing just like in #c0: --- zkr8zi5p.c.jj 2016-05-20 13:51:07.756561774 +0700 +++ zkr8zi5p.c 2016-05-20 13:51:41.619564326 +0700 @@ -4,7 +4,8 @@ void wq (void) { - if ((re != 0) ? (1 ^ nm ^ (cg ^ 1)) : 0) + int ls = 1 ^ nm ^ (cg ^ 1); + if ((re != 0) ? ls : 0) { } } % x86_64-pc-linux-gnu-gcc-7.0.0-alpha20160515 -c zkr8zi5p.c zkr8zi5p.c: In function 'wq': zkr8zi5p.c:5:1: error: type mismatch in binary expression wq (void) ^~ int int unsigned int ls = nm.0_1 ^ cg.1_2; zkr8zi5p.c:5:1: internal compiler error: verify_gimple failed …so this is probably the same issue.