http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59723
--- Comment #12 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> This untested patch gets rid of the majority of the failures, although
> I still see 2-3 errors in the dwarf code in tests like namelist_70.cf90:
Using
time make -k -j8 check-gfortran
RUNTESTFLAGS="--target_board=unix'{-m32/-flto,-m64/-flto}'"
I see the following (26) failures
FAIL: gfortran.dg/debug/pr35154-dwarf2.f -gdwarf-2 scan-assembler (DW_AT_name:
"label"|"label[^\n]*"[^\n]*DW_AT_name)
FAIL: gfortran.dg/debug/pr35154-dwarf2.f -gdwarf-2 -g3 scan-assembler
(DW_AT_name: "label"|"label[^\n]*"[^\n]*DW_AT_name)
FAIL: gfortran.dg/bind_c_array_params_2.f90 -O scan-assembler-times myBindC
1
FAIL: gfortran.dg/bind_c_vars.f90 -O0 (test for excess errors)
FAIL: gfortran.dg/bind_c_vars.f90 -O1 (test for excess errors)
FAIL: gfortran.dg/bind_c_vars.f90 -O2 (test for excess errors)
FAIL: gfortran.dg/bind_c_vars.f90 -O3 -fomit-frame-pointer (test for excess
errors)
FAIL: gfortran.dg/bind_c_vars.f90 -O3 -fomit-frame-pointer -funroll-loops
(test for excess errors)
FAIL: gfortran.dg/bind_c_vars.f90 -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions (test for excess errors)
FAIL: gfortran.dg/bind_c_vars.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/bind_c_vars.f90 -Os (test for excess errors)
FAIL: gfortran.dg/data_namelist_conflict.f90 -O0 (internal compiler error)
FAIL: gfortran.dg/data_namelist_conflict.f90 -O0 (test for excess errors)
FAIL: gfortran.dg/data_namelist_conflict.f90 -O3 -g (internal compiler error)
FAIL: gfortran.dg/data_namelist_conflict.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/namelist_14.f90 -O3 -g (internal compiler error)
FAIL: gfortran.dg/namelist_14.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/namelist_51.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/namelist_69.f90 -O3 -g (internal compiler error)
FAIL: gfortran.dg/namelist_69.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/namelist_70.f90 -O3 -g (internal compiler error)
FAIL: gfortran.dg/namelist_70.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/pr48636-2.f90 -O scan-ipa-dump cp "Creating a specialized
node of bar/[0-9]*\\."
FAIL: gfortran.dg/pr52835.f90 -O scan-tree-dump optimized "bar "
FAIL: gfortran.dg/pr53787.f90 -O scan-ipa-dump cp "Creating a specialized
node of init"
FAIL: gfortran.dg/pr53787.f90 -O scan-ipa-dump-times cp "Aggregate
replacements" 2
The failures for gfortran.dg/bind_c_vars.f90 are PR54852.
The ICEs for gfortran.dg/namelist_(14|69|70).f90, triggered by -g, are at
default:
gcc_unreachable ();
(missing case NAMELIST_DECL: ?).
On darwin13, the excess error for gfortran.dg/namelist_51.f90 is
warning: invalid DWARF generated by the compiler: DIE 0x000001f0 has multiple
AT_calling_convention attributes in
'/var/folders/8q/sh_swgz96r7f5vnn08f7fxr00000gn/T//ccD0Z3SE.ltrans0.ltrans.o'.
The ICE for gfortran.dg/data_namelist_conflict.f90 at -O or with -g is
lto1: internal compiler error: in lto_fixup_prevailing_decls, at lto/lto.c:2601
at
gcc_checking_assert (code != CONSTRUCTOR && code != TREE_BINFO);
I have not looked at the scan issues nor at the debug capabilities with/without
the patch.
Concerning the time, the full regtesting of gfortran with -m32 and -m64 takes
~18' without -flto and ~35' with it. The full testing of all languages but go
is ~2h. Is the saving of 17' of CPU over 2h worth the missed testing and the
man power required to handle the problems?
Thanks for working on this PR.