https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70985
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ktkachov at gcc dot gnu.org --- Comment #4 from ktkachov at gcc dot gnu.org --- I'm also seeing an ICE on the testcase: struct { char f0; unsigned f2 : 16; } e; struct U2 { char f3; }; int **a; int b, c, h, i, j; int *d, *g, *k; volatile struct U2 f; void fn1() { for (; b;) { f; **a = *g = *d = *k != i == h; if (j) c = e.f2; else for (;;) ; } } at -O3. Given that it contains bitfields too I'm guessing it's the same cause. mycrash.c:15:6: error: invalid operand in unary operation void fn1() { ^~~ # VUSE <.MEM_18(D)> e_f2_lsm0.12_27 = (short unsigned int) MEM[(struct *)&e + 1B]; mycrash.c:15:6: error: invalid operands in binary operation mycrash.c:15:6: error: incorrect sharing of tree nodes MEM[(struct *)&e + 1B] # VUSE <.MEM_22> _14 = MEM[(struct *)&e + 1B] & 65535; mycrash.c:15:6: internal compiler error: verify_gimple failed 0xb23a53 verify_gimple_in_cfg(function*, bool) $SRC/gcc/tree-cfg.c:5166 0xa14349 execute_function_todo $SRC/gcc/passes.c:1968 0xa14554 do_per_function $SRC/gcc/passes.c:1652 0xa1469c execute_todo $SRC/gcc/passes.c:2020 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.