37 unrelocated_addr
addr;
41 if (
form != DW_FORM_addr &&
form != DW_FORM_addrx
42 &&
form != DW_FORM_GNU_addr_index)
56 addr = (unrelocated_addr)
u.unsnd;
69 return (
form == DW_FORM_strp ||
form == DW_FORM_line_strp
70 ||
form == DW_FORM_string
71 ||
form == DW_FORM_strx
72 ||
form == DW_FORM_strx1
73 ||
form == DW_FORM_strx2
74 ||
form == DW_FORM_strx3
75 ||
form == DW_FORM_strx4
76 ||
form == DW_FORM_GNU_str_index
77 ||
form == DW_FORM_GNU_strp_alt);
96 return (
form == DW_FORM_block1
97 ||
form == DW_FORM_block2
98 ||
form == DW_FORM_block4
99 ||
form == DW_FORM_block
100 ||
form == DW_FORM_exprloc
101 ||
form == DW_FORM_data16);
109 return (
form == DW_FORM_data4
110 ||
form == DW_FORM_data8
111 ||
form == DW_FORM_sec_offset
112 ||
form == DW_FORM_loclistx);
128 case DW_FORM_implicit_const:
140 complaint (_(
"unsupported die ref attribute form: '%s'"),
149 if (
form == DW_FORM_sdata ||
form == DW_FORM_implicit_const)
151 else if (
form == DW_FORM_udata
152 ||
form == DW_FORM_data1
153 ||
form == DW_FORM_data2
154 ||
form == DW_FORM_data4
155 ||
form == DW_FORM_data8)
160 complaint (_(
"Attribute value is not a constant (%s)"),
162 return default_value;
171 return (
form == DW_FORM_ref_addr
172 ||
form == DW_FORM_GNU_ref_alt
173 ||
form == DW_FORM_data2
174 ||
form == DW_FORM_data4
175 ||
form == DW_FORM_data8
176 ||
form == DW_FORM_sec_offset
177 ||
form == DW_FORM_data1
178 ||
form == DW_FORM_flag
179 ||
form == DW_FORM_flag_present
180 ||
form == DW_FORM_udata
181 ||
form == DW_FORM_rnglistx
182 ||
form == DW_FORM_loclistx
183 ||
form == DW_FORM_ref1
184 ||
form == DW_FORM_ref2
185 ||
form == DW_FORM_ref4
186 ||
form == DW_FORM_ref8
187 ||
form == DW_FORM_ref_udata);
195 return form == DW_FORM_sdata ||
form == DW_FORM_implicit_const;
203 return (
form == DW_FORM_strx
204 ||
form == DW_FORM_strx1
205 ||
form == DW_FORM_strx2
206 ||
form == DW_FORM_strx3
207 ||
form == DW_FORM_strx4
208 ||
form == DW_FORM_GNU_str_index
209 ||
form == DW_FORM_addrx
210 ||
form == DW_FORM_GNU_addr_index
211 ||
form == DW_FORM_rnglistx
212 ||
form == DW_FORM_loclistx);
217dwarf_defaulted_attribute
224 case DW_DEFAULTED_no:
225 case DW_DEFAULTED_in_class:
226 case DW_DEFAULTED_out_of_class:
227 return (dwarf_defaulted_attribute)
value;
233 complaint (_(
"unrecognized DW_AT_defaulted value (%s)"),
235 return DW_DEFAULTED_no;
240dwarf_virtuality_attribute
247 case DW_VIRTUALITY_none:
248 case DW_VIRTUALITY_virtual:
249 case DW_VIRTUALITY_pure_virtual:
250 return (dwarf_virtuality_attribute)
value;
256 complaint (_(
"unrecognized DW_AT_virtuality value (%s)"),
258 return DW_VIRTUALITY_none;
266 if (
form == DW_FORM_flag_present)
268 else if (
form == DW_FORM_flag)
#define complaint(FMT,...)
const char * dwarf_form_name(unsigned form)
void get_ref_die_offset_complaint() const
LONGEST constant_value(int default_value) const
bool form_is_constant() const
const char * as_string() const
dwarf_defaulted_attribute defaulted() const
bool form_requires_reprocessing() const
bool form_is_block() const
bool form_is_string() const
__extension__ enum dwarf_form form
bool form_is_unsigned() const
bool form_is_signed() const
unsigned int requires_reprocessing
unrelocated_addr as_address() const
dwarf_virtuality_attribute as_virtuality() const
bool form_is_section_offset() const