http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59320
--- Comment #9 from David Kaufmann <astra at ionic dot at> --- (In reply to Joost VandeVondele from comment #7) > (In reply to David Kaufmann from comment #5) > > Created attachment 31320 [details] > > preprocessor output > > the buggy function is on line 18136, but it does not seem to have been > > changed. > > static unsigned char dash_list[16][2] > static int ndash_dot = 4; > nd=ndash_dot; > for (il =0; il<nd; il ++){ > dash_list[op][il] = ... > } > so clearly il<nd == 1 i am not sure, that probably is another bug. (as dash_list[op]-size is only two, but dash_list[op][0], dash_list[op][1] and dash_list[op][3] get set.) however, gdb says it crashes on line 1401: 1401: if (fl[il] != 0.) { from the backtrace it can be seen that il somehow is 441896, if i do a printf on il it shows il counting up from 0 up to approx 448000, then it segfaults. Also, as this is happening only with -O2 (and with -O1 -ftree-vrp) but not with -O1, so i suspect some weird behavior in -ftree-vrp.