https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77391
--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- Sorry, but I think the constraint C402 does not apply to named constants (AKA PARAMETER). The constraint appears in > 4.2 Type parameters > 1 A type might be parameterized. In this case, the set of values, > the syntax for denoting the values, and the set of operations on the values > of the type depend on the values of the parameters. I think the relevant parts for CHARACTER PARAMETER are > 1.3.39.2 > named constant > named data object with the PARAMETER attribute (5.5.13) > 1.3.149.12.4 > length type parameter > type parameter whose value is permitted to be assumed, deferred, > or given by a specification expression > 5.5.13 PARAMETER attribute > 1 The PARAMETER attribute specifies that an entity is a named constant. > The entity has the value specified by its constant-expr , converted, > if necessary, to the type, type parameters and shape of the entity. > C550 An entity with the PARAMETER attribute shall not be a variable, > a coarray, or a procedure. > C551 An expression that specifies a length type parameter or array bound > of a named constant shall be a constant expression. Last point, I don't see how a PARAMETER can be ALLOCATABLE.