mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-26 07:24:25 +00:00
Derive DICompileUnit from DIScope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80627 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -95,6 +95,7 @@ namespace llvm {
|
|||||||
bool isSubprogram() const;
|
bool isSubprogram() const;
|
||||||
bool isGlobalVariable() const;
|
bool isGlobalVariable() const;
|
||||||
bool isScope() const;
|
bool isScope() const;
|
||||||
|
bool isCompileUnit() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// DISubrange - This is used to represent ranges, for array bounds.
|
/// DISubrange - This is used to represent ranges, for array bounds.
|
||||||
@ -129,10 +130,13 @@ namespace llvm {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/// DICompileUnit - A wrapper for a compile unit.
|
/// DICompileUnit - A wrapper for a compile unit.
|
||||||
class DICompileUnit : public DIDescriptor {
|
class DICompileUnit : public DIScope {
|
||||||
public:
|
public:
|
||||||
explicit DICompileUnit(MDNode *N = 0)
|
explicit DICompileUnit(MDNode *N = 0) {
|
||||||
: DIDescriptor(N, dwarf::DW_TAG_compile_unit) {}
|
DbgNode = N;
|
||||||
|
if (DbgNode && !isCompileUnit())
|
||||||
|
DbgNode = 0;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned getLanguage() const { return getUnsignedField(2); }
|
unsigned getLanguage() const { return getUnsignedField(2); }
|
||||||
const std::string &getFilename(std::string &F) const {
|
const std::string &getFilename(std::string &F) const {
|
||||||
|
@ -227,6 +227,14 @@ bool DIDescriptor::isScope() const {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// isCompileUnit - Return true if the specified tag is DW_TAG_compile_unit.
|
||||||
|
bool DIDescriptor::isCompileUnit() const {
|
||||||
|
assert (!isNull() && "Invalid descriptor!");
|
||||||
|
unsigned Tag = getTag();
|
||||||
|
|
||||||
|
return Tag == dwarf::DW_TAG_compile_unit;
|
||||||
|
}
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// Simple Descriptor Constructors and other Methods
|
// Simple Descriptor Constructors and other Methods
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
Reference in New Issue
Block a user