This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/41059] New: -fwhole-file and error messages


At revision 150706 -fwhole-file change the errors messages in an unexpected
(non necessary?) way.
So far I have analyzed two cases:

(1) the order of messages is changed as in the following test

program main
  integer,parameter :: k = selected_int_kind (range (0_8) + 1)
  integer(kind=k), dimension(3) :: ik

  ik = (/ -1, 1, -3 /)
  call sub_ik(ik(1:3:2))
  if (any(ik /= (/ 3, 1, 2 /))) call abort
end program main

subroutine sub_ik(i)
  integer,parameter :: k = selected_int_kind (range (0_8) + 1)
  integer(kind=k), dimension(2) :: i
  if (i(1) /= -1) call abort
  if (i(2) /= -3) call abort
  i(1) = 3
  i(2) = 2
end subroutine sub_ik

The difference between wo/with -fwhole-file is:

--- int_no      2009-07-28 13:09:04.000000000 +0200
+++ int_wf      2009-07-28 13:09:19.000000000 +0200
@@ -8,11 +8,6 @@ internal_pack_3_db.f90:11.16:
   call sub_ik(ik(1:3:2))
                 1
 Error: Syntax error in argument list at (1)
-internal_pack_3_db.f90:10.2:
-
-  ik = (/ -1, 1, -3 /)
-  1
-Error: Incompatible ranks 0 and 1 in assignment at (1)
 internal_pack_3_db.f90:17.16:

   integer(kind=k), dimension(2) :: i
@@ -28,3 +23,8 @@ internal_pack_3_db.f90:21.3:
   i(2) = 2
    1
 Error: 'i' at (1) is not a variable
+internal_pack_3_db.f90:10.2:
+
+  ik = (/ -1, 1, -3 /)
+  1
+Error: Incompatible ranks 0 and 1 in assignment at (1)

This is a minor inconvenience when I compare the results of my test suite as it
give spurious differences.

(2) Some messages are repeated instead of different messages given without
-fwhole-file. This explain for instance the failure of
gcc/testsuite/gfortran.dg/entry_17.f90:

@@ -3,10 +3,10 @@
   character(*) :: bar3 ! { dg-warning "Obsolescent feature" }
                       1
 Warning: Obsolescent feature: CHARACTER(*) function 'bar3' at (1)
-/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/entry_17.f90:27.57:
+/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/entry_17.f90:20:

-end function test3 ! { dg-warning "Obsolescent feature" }
-                                                         1
+function test3() ! { dg-warning "Obsolescent feature" }
+1
 Warning: Obsolescent feature: CHARACTER(*) function 'master.2.test3' at (1)
 /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/entry_17.f90:20:

@@ -33,10 +33,10 @@ Warning: Extension: Function test5 at (1
 function test6() ! { dg-warning "Obsolescent feature|returning variables of
dif
 1
 Warning: Extension: Function test6 at (1) with entries returning variables of
different string lengths
-/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/entry_17.f90:55.57:
+/opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/entry_17.f90:48:

-end function test6 ! { dg-warning "Obsolescent feature" }
-                                                         1
+function test6() ! { dg-warning "Obsolescent feature|returning variables of
dif
+1
 Warning: Obsolescent feature: CHARACTER(*) function 'master.5.test6' at (1)
 /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/entry_17.f90:48:

Note that -fwhole-file fixes pr37744 (see comment #5).


-- 
           Summary: -fwhole-file and error messages
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: *-apple-darwin9
  GCC host triplet: *-apple-darwin9
GCC target triplet: *-apple-darwin9


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41059


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]