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.

Reply via email to