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: [tree-ssa] g95 SEGV building libgfortran


In message <200309042111.21963.paul@nowt.org>, Paul Brook writes:
 >It should already be fixed. A combination of Jeff's arrays-start-at-zero and 
 >my tree_rest_of_compilation patches. It's been working ok on my x86 box as 
 >of about 20 hours ago.
 >
 >A large proportion of the testsuite still fails, possibly due to the 
 >LOOP_EXPR lowering changes (which only gat applied to the C forntends). 
 >This shouldn't effect the bootstrap though (libgfortran doesn't contain any 
 >loops).
FWIW, the 30 second analysis I did the other evening was only partially
correct.

The part of it that is correct is that the front-end is creating LOOP_EXPRs
and they never get lowered to labels + jumps.

The part that is wrong is that I attributed the lack of lowering to the
lowering only happening in c-simplify.

There actually is lowering code in gimplify.c -- it's just never called.  In
fact, we never call gimplify_function_tree when compiling f90 code!  Thus
we never lower the loop exprs.  I'm simply amazed that things have worked
as well as they have given that we've been bypassing the gimplifier completely
for an undetermined time.

It's easy enough to add code to call the gimplifier in
gfc_generate_function_code, but I'm wondering if that's really the right
thing to do (ie, is there some reason why you do not call
gimplify_function_tree -- are you assuming that it's called from somewhere
in the generic parts of the compiler?)

Jeff






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