This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/53694] New: [OOP] GENERIC type-bound procs should be available without part-ref syntax
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 16 Jun 2012 08:45:29 +0000
- Subject: [Bug fortran/53694] New: [OOP] GENERIC type-bound procs should be available without part-ref syntax
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53694
Bug #: 53694
Summary: [OOP] GENERIC type-bound procs should be available
without part-ref syntax
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: burnus@gcc.gnu.org
Created attachment 27629
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27629
test.f90
If "sqrt" is a generic type-bound procedure, not only something like
a%sqrt() or a%sqrt(b) [for pass and nopass, respectively]
should work but also a simple:
sqrt(a) or sqrt(a, b)
That is: The generic enter the normal generic namespace with the exception that
use, only: type
also imports the generic name for that type.
See also: https://groups.google.com/forum/#!msg/comp.lang.fortran/YDt3j0--1Do
It is not obvious from the standard that this holds, but it is analog to
ASSIGNMENT(=) and OPERATOR(...) which also act that way. [Which is supported in
gfortran.] Additionally, the following statement (F2008,4.5.7.3 Type-bound
procedure overriding) wouldn't make sense with a different interpretation of
the standard:
"If a generic binding specied in a type denition has the same generic-spec as
an inherited binding, it extends the generic interface and shall satisfy the
requirements specied in 12.4.3.4.5."