Issue 020101.1: DW_AT_allocated type

Author: Ron Brender
Champion: Ron Brender
Date submitted: 2002-01-01
Date revised:
Date closed:
Type: Editorial
Status: Accepted with modifications
DWARF Version: 3
QUESTION

The following question was posted in January 2002:

    I see the following on p.80 of Dwarf3-Draft7.

    5.14.2 Allocation and Association Statues

    ...these attributes (DW_AT_allocated and DW_AT_associated) are
    defined specifically with Fortran 90 ALLOCATABLE and POINTER
    types in mind...

    ...For Fortran 90, if both attributes are present, then the type
    should be assumed to have the POINTER property (and not
    ALLOCATABLE); ...

    Does this imply that, if we only have DW_AT_allocated present,
    the type is assumed to have ALLOCATABLE?


PRPOPSED RESPONCE

Yes.


PROPOSED EDITORIAL CLARIFICATION

Add the following to the end of the italics paragraph that begins
"For Fortran 90..." (quoted above):

    /If the DW_AT_allocated attribute is present but not the
    DW_AT_assciated attribute, the type may be assumed to have
    the ALLOCATABLE property./

==============================================================
5/17/2005:  Accepted with modifications:
   Add the following text instead of the text of the proposal:

   *For F90, the DW_AT_allocated attribute serves two different
   purposes. Used without a DW_AT_associated attribute it
   indicates that the parent type is an ALLOCATABLE array. Used
   it combination with DW_AT_associated, the DW_AT_associated
   attribute indicates that the parent type is a POINTER type,
   while the DW_AT_allocated attribute indicates that that
   pointer is associated with a dynamically allocated object
   rather than a static (or no) object. Use of a DW_AT_associated
   attribute not in combination with the DW_AT_allocated
   indicates a type with the POINTER property where either the
   parent variable is never associated with a dynamic object or
   the implementation does not track whether the associated
   object is static vs dynamic.*