Update attribute classes to match DWARF 4.

This commit is contained in:
Rene Gollent 2013-07-16 22:34:12 -04:00
parent db935bfbe9
commit cbf9b7b177
1 changed files with 31 additions and 20 deletions

View File

@ -43,12 +43,15 @@ struct attribute_name_info_entry {
static const attribute_name_info_entry kAttributeNameInfos[] = {
{ ENTRY(sibling), AC_REFERENCE },
{ ENTRY(location), AC_BLOCK | AC_LOCLISTPTR },
{ ENTRY(location), AC_BLOCK | AC_EXPRESSION | AC_LOCLISTPTR },
{ ENTRY(name), AC_STRING },
{ ENTRY(ordering), AC_CONSTANT },
{ ENTRY(byte_size), AC_BLOCK | AC_CONSTANT | AC_REFERENCE },
{ ENTRY(bit_offset), AC_BLOCK | AC_CONSTANT | AC_REFERENCE },
{ ENTRY(bit_size), AC_BLOCK | AC_CONSTANT | AC_REFERENCE },
{ ENTRY(byte_size), AC_BLOCK | AC_EXPRESSION | AC_CONSTANT
| AC_REFERENCE },
{ ENTRY(bit_offset), AC_BLOCK | AC_EXPRESSION | AC_CONSTANT
| AC_REFERENCE },
{ ENTRY(bit_size), AC_BLOCK | AC_EXPRESSION | AC_CONSTANT
| AC_REFERENCE },
{ ENTRY(stmt_list), AC_LINEPTR },
{ ENTRY(low_pc), AC_ADDRESS },
{ ENTRY(high_pc), AC_ADDRESS },
@ -57,7 +60,7 @@ static const attribute_name_info_entry kAttributeNameInfos[] = {
{ ENTRY(discr_value), AC_CONSTANT },
{ ENTRY(visibility), AC_CONSTANT },
{ ENTRY(import), AC_REFERENCE },
{ ENTRY(string_length), AC_BLOCK | AC_LOCLISTPTR },
{ ENTRY(string_length), AC_BLOCK | AC_EXPRESSION | AC_LOCLISTPTR },
{ ENTRY(common_reference), AC_REFERENCE },
{ ENTRY(comp_dir), AC_STRING },
{ ENTRY(const_value), AC_BLOCK | AC_CONSTANT | AC_STRING },
@ -65,21 +68,26 @@ static const attribute_name_info_entry kAttributeNameInfos[] = {
{ ENTRY(default_value), AC_REFERENCE },
{ ENTRY(inline), AC_CONSTANT },
{ ENTRY(is_optional), AC_FLAG },
{ ENTRY(lower_bound), AC_BLOCK | AC_CONSTANT | AC_REFERENCE },
{ ENTRY(lower_bound), AC_BLOCK | AC_EXPRESSION | AC_CONSTANT
| AC_REFERENCE },
{ ENTRY(producer), AC_STRING },
{ ENTRY(prototyped), AC_FLAG },
{ ENTRY(return_addr), AC_BLOCK | AC_LOCLISTPTR },
{ ENTRY(return_addr), AC_BLOCK | AC_EXPRESSION | AC_LOCLISTPTR },
{ ENTRY(start_scope), AC_CONSTANT },
{ ENTRY(bit_stride), AC_CONSTANT },
{ ENTRY(upper_bound), AC_BLOCK | AC_CONSTANT | AC_REFERENCE },
{ ENTRY(bit_stride), AC_CONSTANT | AC_EXPRESSION
| AC_REFERENCE },
{ ENTRY(upper_bound), AC_BLOCK | AC_EXPRESSION | AC_CONSTANT
| AC_REFERENCE },
{ ENTRY(abstract_origin), AC_REFERENCE },
{ ENTRY(accessibility), AC_CONSTANT },
{ ENTRY(address_class), AC_CONSTANT },
{ ENTRY(artificial), AC_FLAG },
{ ENTRY(base_types), AC_REFERENCE },
{ ENTRY(calling_convention), AC_CONSTANT },
{ ENTRY(count), AC_BLOCK | AC_CONSTANT | AC_REFERENCE },
{ ENTRY(data_member_location), AC_BLOCK | AC_CONSTANT | AC_LOCLISTPTR },
{ ENTRY(count), AC_BLOCK | AC_EXPRESSION | AC_CONSTANT
| AC_REFERENCE },
{ ENTRY(data_member_location), AC_BLOCK | AC_EXPRESSION | AC_CONSTANT
| AC_LOCLISTPTR },
{ ENTRY(decl_column), AC_CONSTANT },
{ ENTRY(decl_file), AC_CONSTANT },
{ ENTRY(decl_line), AC_CONSTANT },
@ -87,24 +95,27 @@ static const attribute_name_info_entry kAttributeNameInfos[] = {
{ ENTRY(discr_list), AC_BLOCK },
{ ENTRY(encoding), AC_CONSTANT },
{ ENTRY(external), AC_FLAG },
{ ENTRY(frame_base), AC_BLOCK | AC_LOCLISTPTR },
{ ENTRY(frame_base), AC_BLOCK | AC_EXPRESSION | AC_LOCLISTPTR },
{ ENTRY(friend), AC_REFERENCE },
{ ENTRY(identifier_case), AC_CONSTANT },
{ ENTRY(macro_info), AC_MACPTR },
{ ENTRY(namelist_item), AC_BLOCK },
{ ENTRY(namelist_item), AC_BLOCK | AC_REFERENCE },
{ ENTRY(priority), AC_REFERENCE },
{ ENTRY(segment), AC_BLOCK | AC_LOCLISTPTR },
{ ENTRY(segment), AC_BLOCK | AC_EXPRESSION | AC_LOCLISTPTR },
{ ENTRY(specification), AC_REFERENCE },
{ ENTRY(static_link), AC_BLOCK | AC_LOCLISTPTR },
{ ENTRY(static_link), AC_BLOCK | AC_EXPRESSION | AC_LOCLISTPTR },
{ ENTRY(type), AC_REFERENCE },
{ ENTRY(use_location), AC_BLOCK | AC_LOCLISTPTR },
{ ENTRY(use_location), AC_BLOCK | AC_EXPRESSION | AC_LOCLISTPTR },
{ ENTRY(variable_parameter), AC_FLAG },
{ ENTRY(virtuality), AC_CONSTANT },
{ ENTRY(vtable_elem_location), AC_BLOCK | AC_LOCLISTPTR },
{ ENTRY(allocated), AC_BLOCK | AC_CONSTANT | AC_REFERENCE },
{ ENTRY(associated), AC_BLOCK | AC_CONSTANT | AC_REFERENCE },
{ ENTRY(data_location), AC_BLOCK },
{ ENTRY(byte_stride), AC_BLOCK | AC_CONSTANT | AC_REFERENCE },
{ ENTRY(allocated), AC_BLOCK | AC_EXPRESSION | AC_CONSTANT
| AC_REFERENCE },
{ ENTRY(associated), AC_BLOCK | AC_EXPRESSION | AC_CONSTANT
| AC_REFERENCE },
{ ENTRY(data_location), AC_BLOCK | AC_EXPRESSION },
{ ENTRY(byte_stride), AC_BLOCK | AC_EXPRESSION | AC_CONSTANT
| AC_REFERENCE },
{ ENTRY(entry_pc), AC_ADDRESS },
{ ENTRY(use_UTF8), AC_FLAG },
{ ENTRY(extension), AC_REFERENCE },