https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102368
--- Comment #9 from anlauf at gcc dot gnu.org --- (In reply to Thomas Koenig from comment #8) > (In reply to anlauf from comment #7) > > (In reply to Thomas Koenig from comment #6) > > > 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? The same text is also found in F2018:18.3.1 (1). A quick survey with other brands: NAG: NAG Fortran Compiler Release 7.2(Shin-Urayasu) Build 7200 Error: pr102368.f90, line 8: Argument A to C_SIZEOF function in intrinsic module ISO_C_BINDING has character length 3 Error: pr102368.f90, line 9: Argument B to C_SIZEOF function in intrinsic module ISO_C_BINDING has character length 8 ifx: pr102368.f90(9): error #8950: A character data entity with length other than 1 is not interoperable. [B] if (c_sizeof (b) /= 8) stop 2 ----------------^ Nvidia and AMD flang accept it. Again, Intel is not really consistent, but NAG is consistent and clear. I agree to close as invalid.