This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/48478] New: Valid array-constructor syntax rejected/invalid accepted


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: unassigned@gcc.gnu.org
        ReportedBy: ian_harvey@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).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]