The following program produces no Warning: Integer outside symmetric range implied by Standard Fortran at (1)
For integer(4) and integer(8) it does (uncomment the '!' lines and see). (Test case is part of PR 30512.) ----------------------- program main implicit none integer(1) :: i1(3), a1(3:2) integer(2) :: i2(3), a2(3:2) !integer(4) :: i4(3), a4(3:2) logical :: msk(3) msk = .false. i1 = 1 i2 = 1 !i4 = 1 if(-huge(i1)-1 /= maxval(i1, msk)) call abort() if(-huge(a1)-1 /= maxval(a1)) call abort() if(-huge(i2)-1 /= maxval(i2, msk)) call abort() if(-huge(a2)-1 /= maxval(a2)) call abort() !if(-huge(i4)-1 /= maxval(i4, msk)) call abort() !if(-huge(a4)-1 /= maxval(a4)) call abort() end program main -- Summary: -pedantic: "Integer outside symmetric range" for integer(1) and (2) does not work Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30664