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

             Bug #: 52968
           Summary: Call to type-bound procedure produces wrongly rejected
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: reube...@gmail.com


The following code illustrate the problem. Compiled with gcc 4.8.0 20120408, I
got this error message:

$> gfortran -c solvermod.f90 
solvermod.f90:21.31:

   call S % Equation % Evaluate ()
                               1
Error: 'evaluate' at (1) is not a member of the 'equationtemplate' structure

The error dissapear when EquationTemplate is defined before SolverType in the
code below. 

----------------------
module SolverModule

 type :: SolverType
   class ( EquationTemplate ), pointer :: Equation
 end type

 type :: EquationTemplate
 contains
   procedure :: Evaluate
 end type

contains

  subroutine Evaluate ( ET )
    class ( EquationTemplate ) :: ET
  end subroutine

 subroutine Solve
   type ( SolverType ) :: S
   call S % Equation % Evaluate ()
 end subroutine

end module
--------------------

Reply via email to