Hello, This ICE may have gotten lost in the noise of my own message. https://gcc.gnu.org/ml/gcc-help/2014-11/msg00094.html
(The code snippet might be invalid C) $ gcc -std=gnu99 -O3 -S test.c test.c: In function 'main': test.c:3:5: internal compiler error: in expand_expr_real_1, at expr.c:10540 int main() { return *(adds[0]); } ^ Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions. Preprocessed source stored into /tmp/cc2RJY0y.out file, please attach this to your bugreport. // /usr/lib/gcc/x86_64-linux-gnu/4.8/cc1 -quiet -imultiarch x86_64-linux-gnu test.c -quiet -dumpbase test.c -mtune=generic -march=x86-64 -auxbase test -O3 -std=gnu99 -o - -fstack-protector -Wformat -Wformat-security -frandom-seed=0 # 1 "test.c" # 1 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "<command-line>" 2 # 1 "test.c" union foo { struct { unsigned baz: 3, bar: 1; } bits; int value; }; int * const adds[] = {&(((union foo){.bits={ .bar = 0x1 }}).value)}; int main() { return *(adds[0]); } Regards.