https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68717
Bug ID: 68717 Summary: [6 Regression] New (bogus?) warnings when compiling some gfortran.dg tests with -flto after r231239 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: dominiq at lps dot ens.fr CC: hubicka at gcc dot gnu.org Target Milestone: --- The following tests fail when compiled with -flto after r231239 FAIL: gfortran.dg/assumed_rank_1.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/assumed_rank_8.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/assumed_rank_9.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/assumed_rank_2.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/cshift_large_1.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/elemental_subroutine_3.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/eoshift_large_1.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/func_derived_1.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/matmul_3.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/matmul_6.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/reshape-complex.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/zero_sized_1.f90 -g -flto (test for excess errors) with both -m32 and -m64, the following two tests are only compiled with -m64 and fail FAIL: gfortran.dg/cshift_large_1.f90 -g -flto (test for excess errors) FAIL: gfortran.dg/eoshift_large_1.f90 -g -flto (test for excess errors) The typical error is /opt/gcc/_clean/gcc/testsuite/gfortran.dg/matmul_3.f90:22:0: warning: type of '_gfortran_matmul_i4' does not match original declaration [-Wlto-type-mismatch] iX2(1:n,1) = matmul( iB(2,1:n),iC(1:n,1:n) ) /opt/gcc/_clean/gcc/testsuite/gfortran.dg/matmul_3.f90:22:0: warning: type of '_gfortran_matmul_i4' does not match original declaration [-Wlto-type-mismatch] /opt/gcc/_clean/gcc/testsuite/gfortran.dg/matmul_3.f90:33:0: note: '_gfortran_matmul_i4' was previously declared here iX2 = matmul (transpose (iB), iC) /opt/gcc/_clean/gcc/testsuite/gfortran.dg/matmul_3.f90:33:0: note: code may be misoptimized unless -fno-strict-aliasing is used The warnings do not require -fstrict-aliasing and are not suppressed with -fno-strict-aliasing (as it is the case for pr68649). These -flto failures are detected by using the following patch --- ../_clean/gcc/testsuite/lib/gfortran-dg.exp 2015-05-16 15:02:44.000000000 +0200 +++ ../p_work/gcc/testsuite/lib/gfortran-dg.exp 2015-05-16 15:03:53.000000000 +0200 @@ -125,8 +125,18 @@ 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 } + # lappend option_list { -flto } + # lappend option_list { -O3 -fwhole-program -flto } + } } set nshort [file tail [file dirname $test]]/[file tail $test]