> Le 16 déc. 2016 à 19:06, Janne Blomqvist <blomqvist.ja...@gmail.com> a écrit : > > On Fri, Dec 16, 2016 at 5:50 PM, Dominique d'Humières > <domi...@lps.ens.fr> wrote: >> Hi Janne, >> >> I have applied your two patches and found that I had to skip the patches for >> resolve.c and match.c due to the errors >> >> ../../p_work/gcc/fortran/resolve.c: In function 'void >> resolve_select_type(gfc_code*, gfc_namespace*)': >> ../../p_work/gcc/fortran/resolve.c:8731:58: error: format '%lld' expects >> argument of type 'long long int', but argument 4 has type 'long int' >> [-Werror=format=] >> gfc_basic_typename (c->ts.type), charlen, c->ts.kind); >> >> and >> >> ../../p_work/gcc/fortran/match.c: In function 'gfc_symtree* >> select_intrinsic_set_tmp(gfc_typespec*)': >> ../../p_work/gcc/fortran/match.c:5786:55: error: format '%lld' expects >> argument of type 'long long int', but argument 4 has type 'long int' >> [-Werror=format=] >> gfc_basic_typename (ts->type), charlen, ts->kind); >> > > Oh, blast. Of course you're right, from the second patch, the part > that touched resolve.c and match.c are incorrect. > >> while the patch for dump-parse-tree.c was needed. >> >> With the patches applied I see several failures in the test suite compiled >> with ‘-m64 -flto’, but not with ‘-m32 -flto’ of the kind > > Ok, thanks for the hint. I haven't tested with -flto. Do you just run > it with something like > > CFLAGS="-flto" make -j $NCPUS check-fortran > > or how do you do it?
Due to recurrent problems with -flto, I have the following change in my working tree --- ../_clean/gcc/testsuite/lib/gfortran-dg.exp 2016-02-12 20:21:04.000000000 +0100 +++ gcc/testsuite/lib/gfortran-dg.exp 2016-02-13 10:03:11.000000000 +0100 @@ -140,8 +140,16 @@ proc gfortran-dg-runtest { testcases fla # we cycle through the option list, otherwise we don't if [expr [search_for $test "dg-do run"]] { set option_list $torture_with_loops + if [check_effective_target_lto] { + lappend option_list { -g -flto } + # lappend option_list { -g -O3 -fwhole-program -flto } + } } else { set option_list [list { -O } ] + # if [check_effective_target_lto] { + # lappend option_list { -g -flto } + # lappend option_list { -g -O3 -fwhole-program -flto } + # } } set nshort [file tail [file dirname $test]]/[file tail $test] i.e., I add the options ‘-g -flto’ to the list of options used by the gfortran test suite. > > I don't have lldb, but I guess I can see roughly the same with gdb.. For what I do, it is close to gdb (I did not succeed to authorize it on recent darwin). Dominique >> The affected tests are >> >> array_constructor_17.f90 >> auto_char_len_3.f90 >> char_length_14.f90 >> char_length_5.f90 >> char_result_*.f90 >> charlen_03.f90 >> deferred_type_param_4.f90 >> dummy_procedure_3.f90 >> mapping_[12].f90 >> module_read_[12].f90 >> parens_5.f90 >> pr57910.f90 >> proc_ptr_comp_16.f90 >> result_in_spec_2.f90 >> spec_expr_7.f90 >> string_length_1.f90 >> transfer_intrinsic_3.f90 >> widechar_6.f90 >> zero_length_1.f90 >> >> Note that I did not run lldb on all of them, thus I cannot guarantee that >> all fail along the same pattern. >> >> Cheers, >> >> Dominique >> > > > > -- > Janne Blomqvist