https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77391
Bug ID: 77391 Summary: gfortran allows CHARACTER(LEN=:),PARAMETER:: STRING='constant' buts does not report it as an extension Product: gcc Version: 5.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: urbanjost at comcast dot net Target Milestone: --- Created attachment 39501 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39501&action=edit test script with code and output gfortran allows length of ":" on character parameter values; which appears to be an extension of the standard. I would prefer that the extension either not be allowed or be warned about to support code portability. DETAILS: It appears that gfortran has an extension that is not reported when -std=2008 is used. Other compilers fail and complain when a colon is used for the length when declaring a character variable with the parameter attribute. For instance, the Intel ifort compiler (version 16.1) complains: error #8238: A colon may be used as a type parameter value only in the declaration of an entity or component that has the POINTER or ALLOCATABLE attribute. Which appears to be a quote from the f2008 standard, 4.2.6. 6 A type parameter value may be specified by a type specification (4.4, 4.5.9). R401 type-param-value is scalar-int-expr or * or : C401 (R401) The type-param-value for a kind type parameter shall be an initialization expression. C402 (R401) A colon shall not be used as a type-param-value except in the declaration of an entity or component that has the POINTER or ALLOCATABLE attribute. Example code: program picky character(len=*),parameter :: ident1="@(#)one(3f): with asterisk" character(len=:),parameter :: ident2="@(#)two(3f): with colon, which appears to be an extension?" write(*,*)ident1 write(*,*)ident2 end program picky