||dynamic properties of types: reference interpretation
||Accepted with modification
Section 2.19, pg 40
This was raised on dwarf-discuss by Mathieu Lacage
<email@example.com> 2 Aug 2010 in the thread "decoding of form
If one of the "applicable attributes" listed in 2.19 has a reference
form, how do we obtain the value of the attribute?
Two interpretations were suggested on the thread.
Michael Eager wrote:
generally you would search the referenced DIE to find the same
attribute. In some cases, like DW_AT_specification, there are
multiple attributes in the referenced DIE.
David Gross wrote:
I see a different pattern in D.2.2 (Ada Example): 13$ contains a
DW_AT_upper_bound whose value is a reference to a variable. The
variable does not contain a DW_AT_upper_bound; the value of the
variable itself is the value of the DW_AT_upper_bound. That's the
pattern that I expected to see; I wasn't aware that the standard
intends to support the delegation pattern you describe above.
The standard should be explicit about the intended interpretation(s).
Accepted with modification -- Sept. 18, 2012
Revised text corrected -- March 31, 2014
The second bullet in Section 2.19, pg. 40, reads as follows:
- For a reference, the value is a reference to another
entity which specifies the value of the attribute.
- For a reference, the value is a reference to another DIE. This DIE may
-- describe a variable which contains the attribute value
-- describes a constant which is the attribute value
-- contain a DWARF expression which computes the attribute value
or is a dwarf procedure which computes the attribute value