diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/MachineDebugInfo.h | 18 |
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. |