http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48478

           Summary: Valid array-constructor syntax rejected/invalid
                    accepted
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: ian_har...@bigpond.com


Created attachment 23898
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23898
Demonstrates valid and invalid syntax

gfortran 4.7 compiled from trunk revision 171951 rejects an array constructor
with syntax:

  [ derived_type_name:: ... ]

With -Wall --std=f2003 it accepts without complaint one of the form:

  [ TYPE(derived_type_name):: ... ]

>From F2008 draft:

R468: array-constructor  is (/ ac-spec /) 
                         or lbracket ac-spec rbracket

R469: ac-spec            is type-spec ::
                         or [type-spec ::] ac-value-list

R402: type-spec          is intrinsic-type-spec
                         or derived-type-spec

R453: derived-type-spec  is type-name [(type-param-spec-list)]

It looks like the compiler has confused a type-spec with a
declaration-type-spec, (which does use the TYPE keyword).

Reply via email to