aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2006-02-28 20:15:07 +0000
committerJim Laskey <jlaskey@mac.com>2006-02-28 20:15:07 +0000
commit45ccae5b7d658e9948f3cdfc8f06facaca536e1f (patch)
tree0188927431ddf97a94d1540398127c31b0bb80d4 /include
parent06e1e253683a3e4b783bd449e44c6dd5ed5d4aa3 (diff)
downloadexternal_llvm-45ccae5b7d658e9948f3cdfc8f06facaca536e1f.zip
external_llvm-45ccae5b7d658e9948f3cdfc8f06facaca536e1f.tar.gz
external_llvm-45ccae5b7d658e9948f3cdfc8f06facaca536e1f.tar.bz2
Add const, volatile, restrict support.
Add array of debug descriptor support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26428 91177308-0d34-0410-b5e6-96231b3b80d8
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.