Daniel Carrera wrote:
> On 11/05/2011 08:02 AM, e p chandler wrote:
>> What does -fdump-tree-original produce?
>
> It prints out the parse tree produced the Fortran front-end, before any
> optimizations.
>
> GFortran works by parsing your Fortran code and converting it into a
> very simple (thus verbose) language/parse-tree called GIMPLE, which is
> given to the middle end of GCC.
I want to point out that this dump, which resembles C does not contain
the full details. For instance, whether a pair of parentheses ("()") may
be optimized away (as it is typically done in C) or not (as in Fortran)
is not visible from the dump.
There are also other dumps available such as -fdump-tree-optimized or
one can have also the line-number information to check whether the
generated debuggining information is correct
(-fdump-tree-original-lineno). Consult the GCC manual for all available
trees and options.
> Hmm... the output looks reasonable, except that I don't know what "4 ->
> 5" and "5 -> 6" do, and the dump tree from Steven doesn't have those lines.
I think that's a manual diff: Those are the changes compared with
Steve's dump. (Namely: Line-number changes.)
I think the compiler itself it OK and the problem must be in the
library. Thus, either in libgfortran or in libquadmath or possibly in
some library which is called by the latter.
Unfortunately, there is no libquadmath test suite and only a rather
simple test for it in gfortran itself*. Thus, I would not rule out a
regression - even though I could not find anything in the changelog of
libgfortran/libquadmath after the 4.6.0 release which could cause such
problems.
e.p. chandler: Can you provide more information about *your* GCC
versions? Namely, which version exactly? Which MinGW32 version? And
where did you get the compiler (TDM,
mingwg.org,
equation.com, compiled
yourself, ...)?
Tobias