http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59320
--- Comment #3 from David Kaufmann <astra at ionic dot at> --- (In reply to Andrew Pinski from comment #2) > (In reply to Andrew Pinski from comment #1) > > What is the size of fl ? > > What I mean are you going past the bounds of the array fl? yes, i am, but if the comparison would work it would not. from the source file: -- static int ndash_dot = 4; static float dash_dot[4] = { 1., 0.5, 0., 0.5 }; int il, nd; float *fl; fl=dash_dot; nd=ndash_dot; -- there is no other position where this is modified. this code produces the output following it: -- for (il =0; il<nd; il ++) { printf("il: %i, nd: %i, il<nd: %i\n", il, nd, il<nd); if (fl[il] != 0.) { .... } } -- Output: -- il: 0, nd: 4, il<nd: 1 il: 1, nd: 4, il<nd: 1 il: 2, nd: 4, il<nd: 1 il: 3, nd: 4, il<nd: 1 il: 4, nd: 4, il<nd: 1 il: 5, nd: 4, il<nd: 1 il: 6, nd: 4, il<nd: 1 il: 7, nd: 4, il<nd: 1 ... and so on. --