This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/53694] New: [OOP] GENERIC type-bound procs should be available without part-ref syntax


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 specied in a type denition has the same generic-spec as
an inherited binding, it extends the generic interface and shall satisfy the
requirements specied in 12.4.3.4.5."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]