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/29537] ICE in gfc_match_common for blank common in BLOCK DATA unit



------- Comment #5 from aldot at gcc dot gnu dot org  2006-10-22 11:36 -------
I think the code in comment #1 is valid.

f95, 5.5.2.4 Differences between named common and blank common
reads:
A blank common block has the same properties as a named common block except
(iii) [...] objects in blank common shall not be initially defined.


11.8 defines BLOCK DATA as

block-data-stmt
  [specification-part]
end-block-data-stmt

where [specification-part] lists no further constrained (wrt blank common).
blank-common imposed constraints seem to include
- 5.1 Type decl stmts: [initialization] shall not appear if obj-name is [...]
an object in blank common


So i don't really see why the testcase in Comment #1 is invalid.

I do, however, consider the snippet below to be invalid (initialization seems
forbidden by the above):
 Block data "__BLKDT__"
  (line-no.)(nest)
          1        block data
          2          common c
          3          data c /1/
          4        end !block data

 Diagnostic messages: program name(__BLKDT__)
   8657-W: "SOURCE.F90", line 3: Element 'c' of blank common block cannot be
initialized.

 Procedure information
   Lines      : 4
   Statements : 4

 Scoping unit of blockdata : __BLKDT__
   Attribute and Cross reference of name
     c
      |(Class and Type) : variable name, REAL(4)-implicit
      |(Attributes)     : common-block-object, initialized
      |(Declaration)    : 2  3
      |(Definition)     : 
      |(Reference)      : 


-- 

aldot at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
            Summary|ICE in gfc_match_common     |ICE in gfc_match_common for
                   |                            |blank common in BLOCK DATA
                   |                            |unit


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


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