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

            Bug ID: 117430
           Summary: gfortran allows type(C_ptr) in I/O list
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pault at gcc dot gnu.org
  Target Milestone: ---

The test case in pr116388 has I/O lines like:

   type, public :: AType
      type(C_ptr) :: cptr = C_null_ptr
...snip...
   end type

write(*,*) "B:", self%cptr, which are invalid because, as ifort puts it, "A
derived-type object in an input/output list cannot have inaccessible components
unless a suitable user-defined input/output procedure is available."

nagfor agrees with this diagnosis.

write(*,*) "A:", transfer (self%cptr, C_LONG_LONG) is accepted by all three
compilers and gives the expected result.

Paul

Reply via email to