[Patch, fortran] PR40011 - Problems with -fwhole-file

Paul Richard Thomas paul.richard.thomas@gmail.com
Sun Jun 28 06:22:00 GMT 2009


Dear All,

As promised at the recent #gfortran meeting, I have put some efforts
into the whole file scope business.  At the end of play to day, I have
the following on regtesting with -fwhole-file:

# of expected passes		30821
# of unexpected failures	78
# of expected failures		20
# of unsupported tests		42

All are down to genuine errors in interfaces except:

FAIL: gfortran.dg/func_decl_4.f90  -O   (test for errors, line 7)
FAIL: gfortran.dg/func_decl_4.f90  -O   (test for errors, line 11)
The errors caused by initialising the function result have
disappeared :-( This has to be trivial.

FAIL: gfortran.dg/func_derived_2.f90  -O1  execution test
Fails with -O1 only!

FAIL: gfortran.dg/import.f90  -O3 -fomit-frame-pointer  execution test
FAIL: gfortran.dg/import.f90  -O3 -fomit-frame-pointer -funroll-loops
execution test
FAIL: gfortran.dg/import.f90  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions  execution test
FAIL: gfortran.dg/import.f90  -O3 -g  execution test
Fails at -O3
The calls to 'test' and 'bar' are optimized away and all routes lead
to call abort ().
Adding a print statement to both makes this go away.

FAIL: gfortran.dg/intrinsic_std_1.f90  -O  scan-tree-dump original "
abort ": dump file does not exist
FAIL: gfortran.dg/intrinsic_std_1.f90  -O  scan-tree-dump original "
asinh ": dump file does not exist
FAIL: gfortran.dg/intrinsic_std_1.f90  -O  scan-tree-dump original "
acosh ": dump file does not exist
Exists when I compile outside of dejagnu!?
The dump file does exist but there is only a reference to abort - the
asinh and acosh appear to
have been simplified away.

FAIL: gfortran.fortran-torture/execute/function_module_1.f90 execution,  -O2
FAIL: gfortran.fortran-torture/execute/function_module_1.f90
execution,  -O2 -fomit-frame-pointer -finline-functions
FAIL: gfortran.fortran-torture/execute/function_module_1.f90
execution,  -O2 -fomit-frame-pointer -finline-functions -funroll-loops
FAIL: gfortran.fortran-torture/execute/function_module_1.f90
execution,  -O2 -fbounds-check
FAIL: gfortran.fortran-torture/execute/function_module_1.f90 execution,  -O3 -g
FAIL: gfortran.fortran-torture/execute/function_module_1.f90 execution,  -Os
FAIL: gfortran.fortran-torture/execute/function_module_1.f90
execution, -O2 -ftree-vectorize -msse2
fails at -O2 or greater.

Thus, 61 FAILs are due to genuine errors or F77-isms and the rest are
due to ~6-8 problems with the patch.

The most puzzling is the fail at -O1 only - func_decl_4.f90.
function_module_1.f90 and import.f90 look
either like stretching of the limts of -O2 and -O3 or something
missing from the procedure flags.

func_decl_4.f90 and intrinsic_std_1.f90 will have some rather trivial
explanations.

Thus, it's not quite ready for submission but coming very close.  Note
that I have to scrutinise the post compilation clean-up with a
fine-tooth comb and to check gfortran with some of the standard
benchmarks,

Cheers

Paul

PS Have made a first stab at adding [lbound, sm, extent] slightly more
than 200 FAILs, which is not too bad.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: submit2.diff
Type: text/x-patch
Size: 20796 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20090628/8989a092/attachment.bin>


More information about the Fortran mailing list