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/63371] New: kind() with function name (not call) as argument


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63371

            Bug ID: 63371
           Summary: kind() with function name (not call) as argument
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Keywords: accepts-invalid
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org

>From https://groups.google.com/forum/#!topic/comp.lang.fortran/lbaOSWKSmhQ

That's either a wrong-code or accepts-invalid issue, it requires some digging.
But the output "0" is surely wrong and if it is valid, it makes only sense for
functions and one has to be careful with generics.

Example, which prints "0" instead of "2". Using a subroutine, it is even
accepted instead of plainly rejected (hence accepts-invalid):


    INTERFACE
       FUNCTION f()
         INTEGER(SELECTED_INT_KIND(4)) :: f
       END FUNCTION f
     END INTERFACE

     PRINT *, KIND(f)
   END

   ! (just to provide a definition)
   FUNCTION f()
     INTEGER(SELECTED_INT_KIND(4)) :: f
   END FUNCTION f


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