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?

Reply via email to