diff options
author | Devang Patel <dpatel@apple.com> | 2009-01-05 18:33:01 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-01-05 18:33:01 +0000 |
commit | 68afdc3ab08975569e59cc8c04c2db9e9478a996 (patch) | |
tree | b500063e9f0bffafb694eb4125aec08c43d7c52a /include/llvm | |
parent | d0ed240e3091607048490f174988976a44b11d30 (diff) | |
download | external_llvm-68afdc3ab08975569e59cc8c04c2db9e9478a996.zip external_llvm-68afdc3ab08975569e59cc8c04c2db9e9478a996.tar.gz external_llvm-68afdc3ab08975569e59cc8c04c2db9e9478a996.tar.bz2 |
Construct array/vector type DIEs using DebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61724 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/Analysis/DebugInfo.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h index e9a7cb1..fac86b3 100644 --- a/include/llvm/Analysis/DebugInfo.h +++ b/include/llvm/Analysis/DebugInfo.h @@ -86,6 +86,15 @@ namespace llvm { unsigned getAnchorTag() const { return getUnsignedField(1); } }; + + /// DISubrange - This is used to represent ranges, for array bounds. + class DISubrange : public DIDescriptor { + public: + explicit DISubrange(GlobalVariable *GV = 0); + + int64_t getLo() const { return (int64_t)getUInt64Field(1); } + int64_t getHi() const { return (int64_t)getUInt64Field(2); } + }; /// DIArray - This descriptor holds an array of descriptors. class DIArray : public DIDescriptor { @@ -93,7 +102,9 @@ namespace llvm { explicit DIArray(GlobalVariable *GV = 0) : DIDescriptor(GV) {} unsigned getNumElements() const; - DIDescriptor getElement(unsigned Idx) const; + DISubrange getElement(unsigned Idx) const { + return getFieldAs<DISubrange>(Idx); + } }; /// DICompileUnit - A wrapper for a compile unit. @@ -118,15 +129,6 @@ namespace llvm { uint64_t getLanguage() const { return getUInt64Field(2); } }; - /// DISubrange - This is used to represent ranges, for array bounds. - class DISubrange : public DIDescriptor { - public: - explicit DISubrange(GlobalVariable *GV = 0); - - int64_t getLo() const { return (int64_t)getUInt64Field(1); } - int64_t getHi() const { return (int64_t)getUInt64Field(2); } - }; - /// DIType - This is a wrapper for a type. /// FIXME: Types should be factored much better so that CV qualifiers and /// others do not require a huge and empty descriptor full of zeros. |