Support: Use Dwarf.def for DW_VIRTUALITY, NFC

Use definition file for `DW_VIRTUALITY_*`.  Add a `DW_VIRTUALITY_max`
both for ease of testing and for future use by the `LLParser`.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228473 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith
2015-02-07 00:36:23 +00:00
parent e29c334dd4
commit a496490358
4 changed files with 35 additions and 9 deletions

View File

@@ -12,7 +12,8 @@
//===----------------------------------------------------------------------===//
// TODO: Add other DW-based macros.
#if !(defined HANDLE_DW_TAG || defined HANDLE_DW_LANG || defined HANDLE_DW_ATE)
#if !(defined HANDLE_DW_TAG || defined HANDLE_DW_LANG || \
defined HANDLE_DW_ATE || defined HANDLE_DW_VIRTUALITY)
#error "Missing macro definition of HANDLE_DW*"
#endif
@@ -28,6 +29,10 @@
#define HANDLE_DW_ATE(ID, NAME)
#endif
#ifndef HANDLE_DW_VIRTUALITY
#define HANDLE_DW_VIRTUALITY(ID, NAME)
#endif
HANDLE_DW_TAG(0x0001, array_type)
HANDLE_DW_TAG(0x0002, class_type)
HANDLE_DW_TAG(0x0003, entry_point)
@@ -159,6 +164,12 @@ HANDLE_DW_ATE(0x0e, unsigned_fixed)
HANDLE_DW_ATE(0x0f, decimal_float)
HANDLE_DW_ATE(0x10, UTF)
// DWARF virtuality codes.
HANDLE_DW_VIRTUALITY(0x00, none)
HANDLE_DW_VIRTUALITY(0x01, virtual)
HANDLE_DW_VIRTUALITY(0x02, pure_virtual)
#undef HANDLE_DW_TAG
#undef HANDLE_DW_LANG
#undef HANDLE_DW_ATE
#undef HANDLE_DW_VIRTUALITY

View File

@@ -494,10 +494,9 @@ enum VisibilityAttribute {
};
enum VirtualityAttribute {
// Virtuality codes
DW_VIRTUALITY_none = 0x00,
DW_VIRTUALITY_virtual = 0x01,
DW_VIRTUALITY_pure_virtual = 0x02
#define HANDLE_DW_VIRTUALITY(ID, NAME) DW_VIRTUALITY_##NAME = ID,
#include "llvm/Support/Dwarf.def"
DW_VIRTUALITY_max = 0x02
};
enum SourceLanguage {