Issue 160620.1: Define generic type for stack operations
Section 2.5, pg 24-34
Background
The use of the terminology "special address type" is confusing. It isn't clear what is
special about the addresses with this type and the values with this type do not need to be
addresses,
Additionally, there are references to "pushing a type" or "pushing a type identifier" onto
the stack, which may appear to imply that this is a separate operation than pushing a value
with a specified type onto the stack, or that DWARF defines a type identifier.
Proposal
The proposal replaces the use of "special address type" with "generic type". The generic
type is the same address-sized integral value with unspecified sign used as the stack vaue
in DWARF V4 and earlier. (Page and line references are to draft of 5/20/2016.)
pg. 24 (97-99):
Instead of a base type, elements can have a special address type, which is an integral
type that has the size of an address on the target machine and unspecified signedness.
==>
Instead of a base type, elements can have the generic type, which is an integral
type that has the size of an address on the target machine and unspecified signedness.
*The generic type is the same as the type of stack operations in DWARF Version 4.*
pg. 24 (105): "special address type" ==> "generic type"
pg. 26 (156-158):
DW_OP_regval_type pushes the contents of the register together with the given
base type, while the other operations push the result of adding the contents of a
register to a given signed offset together with the special address type.
==>
DW_OP_regval_type pushes the contents of the register together with the given
base type, while the other operations push the result of adding the contents of a
register to a given signed offset and have the generic type.
pg. 27 (210, 217, 220): "special address type" ==> "generic type"
pg. 28 (245): "together with the special address type identifier" ==> "with the generic type"
pg. 28 (247): "special address type" ==> "generic type"
pg. 28 (260-261): "together with the special address type identifier" ==> "with the generic type"
pg. 29 (288): "together with the special address type identifier" ==> "with the generic type"
pg. 30 (320): "both the special address type" ==> "the generic type"
pg. 30 (322, 328): "special address type" ==> "generic type"
pg. 32 (392): "both the special address type" ==> "generic type"
pg. 32 (397, 398): "special address type" ==> "generic type"
pg. 34 (443, 451): "special address type" ==> "generic type"
--
06/21/2016 -- Accepted.