[Bug fortran/51578] New: [4.3/4.4/4.5/4.6/4.7 Regression]
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 16 13:46:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51578
Bug #: 51578
Summary: [4.3/4.4/4.5/4.6/4.7 Regression]
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: burnus@gcc.gnu.org
Reported by Billy Backer at http://gcc.gnu.org/ml/fortran/2011-12/msg00093.html
The program uses (sub2):
use mod2 ! Imports "mod1" and provides "axx"
use mod1, oxx=>axx
but using "axx" fails:
print*,axx
1
Error: Symbol 'axx' at (1) has no IMPLICIT type
It works if one reverts the order (sub1).
I could not find anything in the standard which indicates that not both symbols
are imported. I wonder whether it is related to:
use mod1, oxx=>axx
use mod1
in that case "axx" is not imported. (Cf. paragraph 7 of Fortran 2008's "11.2.2
The USE statement and use association").
See also http://j3-fortran.org/pipermail/j3/2011-December/004944.html
module mod1
integer :: axx=2
end module mod1
module mod2
use mod1
end module mod2
subroutine sub1
use mod1, oxx=>axx
use mod2
implicit none
print*,axx?? !line compiles OK for gfortran, fails for Intel
end subroutine sub1
subroutine sub2
use mod2
use mod1, oxx=>axx
implicit none
print*,axx??!line fails to compile for gfortran, OK for Intel
end subroutine sub2
More information about the Gcc-bugs
mailing list