Issue 141215.4: Add DW_FORM_implicit_const form code

Author: Cary Coutant
Champion: Cary Coutant
Date submitted: 2014-12-15
Date revised:
Date closed:
Type: Enhancement
Status: Accepted
DWARF Version: 5
To allow the producer to represent certain enumeration-style
attributes as compactly as possible, we propose to add a new FORM
code, DW_FORM_implicit_const, that encodes a constant value
directly in the abbreviation declaration.

Proposed Changes to the Spec

In Section 7.5.3 ("Abbreviations Tables"), add the following
paragraph immediately following the paragraph beginning "Finally,
the child encoding is followed by a series of attribute

    The attribute form DW_FORM_implicit_const is a special case.
    For attributes with this form, the attribute specification
    contains a third part, which is a signed LEB128 number. The
    value of this number is used as the value of the attribute,
    and no value is stored in the .debug_info section.

In Section 7.5.4 ("Attribute Encodings"), for class "constant",
change "seven forms" to "eight forms", and add to the end of the

    There is also a implicit constant (DW_FORM_implicit_const),
    whose value is provided as part of the abbreviation

Add the following row to Table 7.6 ("Attribute form encodings"):

    Form name               Value   Classes
    ---------               -----   -------
    DW_FORM_implicit_const  xxx     constant

2014/12/15 -- Replacement for 141003.1
2015/01/23 -- Accepted.