[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