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?