aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/MachineDebugInfo.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/include/llvm/CodeGen/MachineDebugInfo.h b/include/llvm/CodeGen/MachineDebugInfo.h
index b51ea64..5cbd93a 100644
--- a/include/llvm/CodeGen/MachineDebugInfo.h
+++ b/include/llvm/CodeGen/MachineDebugInfo.h
@@ -66,7 +66,10 @@ enum {
DI_TAG_basictype,
DI_TAG_typedef,
DI_TAG_pointer,
- DI_TAG_reference
+ DI_TAG_reference,
+ DI_TAG_const,
+ DI_TAG_volatile,
+ DI_TAG_restrict
};
//===----------------------------------------------------------------------===//
@@ -90,6 +93,7 @@ public:
virtual void Apply(std::string &Field) = 0;
virtual void Apply(DebugInfoDesc *&Field) = 0;
virtual void Apply(GlobalVariable *&Field) = 0;
+ virtual void Apply(std::vector<DebugInfoDesc *> &Field) = 0;
};
//===----------------------------------------------------------------------===//
@@ -148,7 +152,6 @@ public:
#endif
};
-
//===----------------------------------------------------------------------===//
/// AnchorDesc - Descriptors of this class act as markers for identifying
/// descriptors of certain groups.
@@ -371,7 +374,16 @@ public:
static bool classof(const DerivedTypeDesc *) { return true; }
static bool classof(const DebugInfoDesc *D) {
unsigned T = D->getTag();
- return T == DI_TAG_typedef || T == DI_TAG_pointer || T == DI_TAG_reference;
+ switch (T) {
+ case DI_TAG_typedef:
+ case DI_TAG_pointer:
+ case DI_TAG_reference:
+ case DI_TAG_const:
+ case DI_TAG_volatile:
+ case DI_TAG_restrict:
+ return true;
+ default: return false;
+ }
}
/// ApplyToFields - Target the visitor to the fields of the DerivedTypeDesc.