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.

Reply via email to