mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-04 06:09:05 +00:00
DebugInfo: Loosen DILexicalBlock constructor
This class wraps `MDLexicalBlockBase`, so allow construction from it! Currently doesn't cause any problems because of the explicit `MNode*` constructor, but I'll be removing that soon enough. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234222 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
aa5880df12
commit
2925bd0b3c
@ -704,7 +704,7 @@ public:
|
||||
class DILexicalBlock : public DIScope {
|
||||
public:
|
||||
explicit DILexicalBlock(const MDNode *N = nullptr) : DIScope(N) {}
|
||||
DILexicalBlock(const MDLexicalBlock *N) : DIScope(N) {}
|
||||
DILexicalBlock(const MDLexicalBlockBase *N) : DIScope(N) {}
|
||||
|
||||
MDLexicalBlockBase *get() const {
|
||||
return cast_or_null<MDLexicalBlockBase>(DIDescriptor::get());
|
||||
@ -745,10 +745,12 @@ public:
|
||||
return *get();
|
||||
}
|
||||
|
||||
DIScope getContext() const { return getScope(); }
|
||||
DIScope getContext() const { return get()->getScope(); }
|
||||
unsigned getLineNumber() const { return getScope().getLineNumber(); }
|
||||
unsigned getColumnNumber() const { return getScope().getColumnNumber(); }
|
||||
DILexicalBlock getScope() const { return DILexicalBlock(get()->getScope()); }
|
||||
DILexicalBlock getScope() const {
|
||||
return dyn_cast<MDLexicalBlockBase>(get()->getScope());
|
||||
}
|
||||
unsigned getDiscriminator() const { return get()->getDiscriminator(); }
|
||||
};
|
||||
|
||||
@ -1050,11 +1052,9 @@ public:
|
||||
// Since discriminators are associated with lexical blocks, make
|
||||
// sure this location is a lexical block before retrieving its
|
||||
// value.
|
||||
return getScope().isLexicalBlockFile()
|
||||
? DILexicalBlockFile(
|
||||
cast<MDNode>(cast<MDLocation>(DbgNode)->getScope()))
|
||||
.getDiscriminator()
|
||||
: 0;
|
||||
if (auto *F = dyn_cast<MDLexicalBlockFile>(get()->getScope()))
|
||||
return F->getDiscriminator();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// \brief Generate a new discriminator value for this location.
|
||||
|
Loading…
Reference in New Issue
Block a user