> + /* If HOST_WIDE_INT is big enough then represent the bound as
> + a constant value. Note that we need to make sure the type
> + is signed or unsigned. We cannot just add an unsigned
> + constant if the value itself is positive. Some DWARF
> + consumers will lookup the bounds type and then sign extend
> + any unsigned values found for signed types. This is only
> + for DW_AT_lower_bound, normally unsigned values
> + (DW_FORM_data[1248]) are assumed to not need
> + sign-extension. */
This comment confuses me. By "we need to make sure the type is signed
or unsigned" (what else can it be?), I think you mean "we need to
choose a form based on whether the type is signed or unsigned." And by
"This is only for DW_AT_lower_bound, ...", I think you mean "This is
needed only for DW_AT_{lower,upper}_bound, since for most other
attributes, consumers will treat DW_FORM_data[1248] as unsigned
values, regardless of the underlying type."
Otherwise, the patch looks OK to me.
-cary