Issue 080112.1: FORM Reform Proposal 1: Reference Class Forms

Author: Cary Coutant
Champion: Cary Coutant
Date submitted: 2008-01-12
Date revised:
Date closed:
Type: Extension
Status: Rejected
DWARF Version: 4
Background

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).


Proposal

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 2.5.1.5, "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 
instead."

--

Rejected.  There seems to be little value in deprecating 
a FORM unless there is an intention to remove it in the 
future.