This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/51791] New: [OOP] Failure to resolve typebound function call with base object in parentheses.
- From: "pault at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 08 Jan 2012 09:00:32 +0000
- Subject: [Bug fortran/51791] New: [OOP] Failure to resolve typebound function call with base object in parentheses.
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51791
Bug #: 51791
Summary: [OOP] Failure to resolve typebound function call with
base object in parentheses.
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: pault@gcc.gnu.org
The submitted testcase for PR46328 is not fixed, even though the other issues
of complex expressions were:
module field_module
implicit none
type ,abstract :: field
contains
procedure(field_op_real) ,deferred :: multiply_real
generic :: operator(*) => multiply_real
end type
abstract interface
function field_op_real(lhs,rhs)
import :: field
class(field) ,intent(in) :: lhs
real ,intent(in) :: rhs
class(field) ,allocatable :: field_op_real
end function
end interface
end module
program main
use field_module
implicit none
class(field) ,pointer :: u
u = (u)*2.
end program
The problem is the parentheses.
The attached fixes the problem, when the procedure is not deferred. However,
it causes such a variety of regressions that I do not have time to investigate.
Cheers
Paul