http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52101
--- Comment #8 from Steve Kargl <sgk at troutmask dot apl.washington.edu> 2012-02-05 18:00:59 UTC --- On Sun, Feb 05, 2012 at 09:58:46AM +0000, burnus at gcc dot gnu.org wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52101 > > --- Comment #7 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-02-05 > 09:58:46 UTC --- > (In reply to comment #4) > > I believe that John is correct. The form 'CHARACTER*n string' > > is obsolescent while the form 'CHARACTER string*n' is not. > > After re-checking the standard, I concur. However, I want to point out that a > simple quoting such as > > > From Sec 5.1 in the F2003 standard, > > R504 entity-decl is object-name [( array-spec )] [ * char-length ] > > [ initialization ] > > or function-name [ * char-length ] > > is insufficient as one cannot see whether '[ * char-length ]' is obsolescent: > > "The descriptions of obsolescent features appear in a smaller type size." > (F2008, 1.4.5 Text conventions). > > However, I have just check it and the font size seems to be the normal one. > It is sufficient once one reads B.2.8. B.2.8 CHARACTER* form of CHARACTER declaration In addition to the CHARACTER*char-length form introduced in Fortran 77, Fortran 90 provided the CHARACTER([ LEN = ] type-param-value) form. The older form (CHARACTER*char-length) is redundant. This clear applies to the BNF give by R403 -> R404 -> R421.