http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54935
--- Comment #4 from rguenther at suse dot de <rguenther at suse dot de> 2012-10-15 15:43:25 UTC --- On Mon, 15 Oct 2012, joseph at codesourcery dot com wrote: > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54935 > > --- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery > dot com> 2012-10-15 14:58:14 UTC --- > On Mon, 15 Oct 2012, rguenth at gcc dot gnu.org wrote: > > > We cannot if-convert this because the store to a[i] may trap as it may be > > in .rodata. > > > > That is, the following is valid C: > > > > t1.c: > > const int a[100]; > > const int b[100]; > > > > t2.c: > > your testcase > > No, that's not valid. int[100] and const int[100] are not compatible > types. It happens in real code though :( I suppose we could eventually relax this though.