https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102368
--- Comment #7 from anlauf at gcc dot gnu.org --- (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?