https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84073
--- Comment #4 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- The real error is that lengths unequal to one are not C interoperable, and should be rejected. From the F2003 standard, 15.2.1: "if the type is character, inter- operability also requires that the length type parameter be omitted or be specified by an initialization expression whose value is one."