On 10/3/07, Manfred Schwarb <[EMAIL PROTECTED]> wrote: > Hi, > > I have a rather nasty optimization issue with gfortran (as of yesterday). As > I think it could > be an optimization issue and not an gfortran frontend issue, I post it here, > the fortran list was not able to help so far. > > I narrowed my problem to one single fortran function. If I compile this > function with > "gfortran -O2 -march=pentium4" the output is OK, using > "gfortran -O2 -march=pentium4 -fforce-addr" produces wrong output. > > When reducing optimization level to "-O1", the issue vanishes for all tried > flag combinations. > If I comment out a particular non-functional line in this code, the issue > goes away: > > if (always_true) then > .... > else > this_line_commented_out_makes_it_working_again > .... > endif > > Further data points: > - output of -fdump-tree-optimized is the same for both the working and the > broken case (of the > original function, not the line commenting test). > - there are differences in assembler output though. > - the code calls C functions. > - I could reproduce this issue on an different, non-pentium4 machine using > the same flags. > - the flag -march=pentium4 is necessary to trigger the issue. > > > I'm in a loss where to search for the real cause. Has anybody a hint how to > proceed further? > Should I post the code of this function here on the list (~300 LOC)?
You should file a bugreport with bugzilla instead. http://gcc.gnu.org/bugzilla Thanks, Richard.