http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51816
Bug #: 51816
Summary: [4.7 Regression] Wrong error when use..., only :
operator() twice
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: anl...@gmx.de
Hi,
with today's (2010-01-10) I get the following error:
gfcbug117.f90:18.15:
use foo, only : operator (*) ! gfortran prints an error here
1
Error: Intrinsic operator '*' referenced at (1) not found in module 'foo'
for the test case:
module foo
implicit none
type t
integer :: i
end type t
interface operator (*)
module procedure mult
end interface
contains
function mult (i, j)
type(t), intent(in) :: i, j
integer :: mult
mult = i%i * j%i
end function mult
end module foo
use foo, only : t
use foo, only : operator (*) ! gfortran prints an error here
use foo, only : t
use foo, only : operator (*)
implicit none
type(t) :: i = t(1), j = t(2)
print *, i*j
end
Commenting out one of the use statements makes the error go away.
This must have entered the trunk just recently.