This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Someone has caused regressions in gfortran


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]