||FORM Reform Proposal 1: Reference Class Forms
The proposal deprecates DW_FORM_ref1 and DW_FORM_ref2, which are not
useful for forward references within the debug info (at least without
some form of relaxation), and contribute to a combinatorial explosion
in the abbreviation table when used for backward references. Instead,
DW_FORM_ref_udata should be used for backward references (and for
forward references where relaxation is available).
The proposed changes to the DWARF specification are detailed below,
keyed to the section numbering for the December 20, 2005, version of
the DWARF-3 document.
In Section 22.214.171.124, "Control Flow Operations," the explanatory text
under item 4 contains a reference to DW_FORM_ref2. Strike "DW_OP_call2"
and "DW_FORM_ref2" from that paragraph.
In Section 7.5.4, "Attribute Encodings," in the description for class
reference, add a paragraph that reads "The use of forms DW_FORM_ref1
and DW_FORM_ref2 is deprecated. Producers should use DW_FORM_ref_udata
Rejected. There seems to be little value in deprecating
a FORM unless there is an intention to remove it in the