[Bug fortran/102368] Failure to compile program using the C_SIZEOF function in ISO_C_BINDING
tkoenig at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Feb 23 20:07:33 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102368
--- Comment #8 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
(In reply to anlauf from comment #7)
> (In reply to Thomas Koenig from comment #6)
> > I think the code is valid.
> >
> > A named scalar Fortran variable is interoperable if and only if its type and
> > type parameters are interoperable,
> >
> > check
> >
> > it is not a coarray,
> >
> > check
> >
> > it has neither the ALLOCATABLE nor the POINTER attribute
> >
> > check
> >
> > and if it is of type character
> >
> > its length is not assumed or declared by an expression that is not a constant
> > expression
> >
> > The length of
> >
> > character(kind=c_char, len=*), parameter :: blergh = 'abc'
> >
> > is three, the * in "len=*" is a type paremater.
>
> Well, F2023:18.3.1 (Interoperability of intrinsic types) still has:
>
> (1) ... If the type is character, the length type parameter is interoperable
> if and only if its value is one. ...
>
> How does that fit with your interpretation?
Hm, it doesn't.
In that case, it seems that something slipped into F2018 that
was subsequently clarified/nuked in F2023.
Resolve as invalid, then?
More information about the Gcc-bugs
mailing list