------- Comment #11 from tobi at gcc dot gnu dot org 2006-01-30 19:23 ------- (In reply to comment #10) > (In reply to comment #8) > > Did the regression also happen on 4.1? We should probably revert Feng > > Wang's > > patch there. > > But there is a latent bug. I don't know a way to reproduce this without > Feng's > patch in C or C++, maybe Ada. But the bug is still there.
I'm not sure what you're trying to say, so let me rephrase: given the advanced state of 4.1 in the relase cycle, it may make sense to revert Feng Wang's patch in 4.1, and to fix the underlying bug only in the trunk. > Here is the reduced testcase that passes at -O0 but fails at -O1. > CHARACTER*10 INTSTR > CHARACTER C1 > DATA INTSTR / '0123456789' / > > C1 = INTSTR(1:1) > print *, C1 > if(C1 .ne. '0') call abort() > > end Thanks, do you still get '1' in the RTL dump if you change INSTR? IOW, does it address the elements of the string incorrectly, if (c1[1]{lb: 1 sz: 1} != "0"[1]{lb: 1 sz: 1}) ^^^ this (t02.original) looks like a possible off-by-one error. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26001