On Wed, Sep 05, 2007 at 12:41:10AM +0200, Jan Hubicka wrote: > > Someone has committed a patch that is causing both > > gfortran.dg/do_3.F90 and gfortran.dg/c_char_tests.f03 > > to fail at -O3 on amd64-*-freebsd. A quick inspection > > of fortran/ChangeLog doesn't yield a pointer to any > > particular commit. This may be caused by some middle-end > > change, but I won't have time to narrow down the > > revision until later tonight. > > Actually I just looked into the testcases - they are caused by the > inliner change (and the problem didn't appear at the original testing > run). The problem is that fortran never set DECL_INLINE on anything, so > we ended up not doing any automatic inlining with exception of inlining > functions called once and at -Os. Inliner now makes it's own decision > on auto inlining and thus we uncover the latent bug.
Just to be clear, is it a latent bug in the fortran front-end? Or, is it a latent bug in the inliner that is now exposed? Is this only triggered at -O3? > Because of the famous duplicated declaration problem, I am not sure if > inlining is not completely unsafe for fortan and we would not be forced > to disable it completely (not just partly as before the patch). This > would be rather sad. I can't parse the above. Too many double negatives. But, the last sentence seems to certainly mean that inlining would need to be completely disabled for gfortran. I wonder if the impact of such a decision will be evident in the Polyhedron test suite. > My fortran-fu is however not at level to figure out what precisely is > going wrong in those two testcases. I'll try to reduce the do_3.F90 code to a minimum testcase. Unfortunately, my middle/back-end knowledge is probably much worse than your Fortran-fu. -- Steve