http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58432
--- Comment #1 from Markus Trippelsdorf <markus at trippelsdorf dot de> --- markus@x4 gcc % cat test.ii struct { int prefix; int dir_idx; } *a; int b; void fn1() { int *c, *d; for (; b; b++) if (d[b]) { c[b] = d[b]; a[0].dir_idx = 0; } } markus@x4 gcc % /var/tmp/gcc_build_dir/./prev-gcc/xg++ -B/var/tmp/gcc_build_dir/./prev-gcc/ -c -O3 -fprofile-generate test.ii test.ii:4:4: warning: anonymous type with no linkage used to declare variable ‘<anonymous struct>* a’ with linkage [enabled by default] } *a; ^ test.ii: In function ‘void fn1()’: test.ii:6:6: internal compiler error: in insert_value_copy_on_edge, at tree-outof-ssa.c:233 void fn1() { ^