projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DebugInfo: Add MDLexicalBlockBase::getLine(), etc.
[oota-llvm.git]
/
include
/
llvm
/
IR
/
DebugInfoMetadata.h
diff --git
a/include/llvm/IR/DebugInfoMetadata.h
b/include/llvm/IR/DebugInfoMetadata.h
index 97c85559ea17473e4cb2254eb861ee32a4ecf017..e16e4319aa94ec49a208ea3172e39ef7faa6567c 100644
(file)
--- a/
include/llvm/IR/DebugInfoMetadata.h
+++ b/
include/llvm/IR/DebugInfoMetadata.h
@@
-1446,6
+1446,13
@@
public:
Metadata *getRawScope() const { return getOperand(1); }
Metadata *getRawScope() const { return getOperand(1); }
+ /// \brief Forwarding accessors to LexicalBlock.
+ ///
+ /// TODO: Remove these and update code to use \a MDLexicalBlock directly.
+ /// @{
+ inline unsigned getLine() const;
+ inline unsigned getColumn() const;
+ /// @}
static bool classof(const Metadata *MD) {
return MD->getMetadataID() == MDLexicalBlockKind ||
MD->getMetadataID() == MDLexicalBlockFileKind;
static bool classof(const Metadata *MD) {
return MD->getMetadataID() == MDLexicalBlockKind ||
MD->getMetadataID() == MDLexicalBlockFileKind;
@@
-1501,6
+1508,18
@@
public:
}
};
}
};
+unsigned MDLexicalBlockBase::getLine() const {
+ if (auto *N = dyn_cast<MDLexicalBlock>(this))
+ return N->getLine();
+ return 0;
+}
+
+unsigned MDLexicalBlockBase::getColumn() const {
+ if (auto *N = dyn_cast<MDLexicalBlock>(this))
+ return N->getColumn();
+ return 0;
+}
+
class MDLexicalBlockFile : public MDLexicalBlockBase {
friend class LLVMContextImpl;
friend class MDNode;
class MDLexicalBlockFile : public MDLexicalBlockBase {
friend class LLVMContextImpl;
friend class MDNode;
@@
-1542,6
+1561,10
@@
public:
TempMDLexicalBlockFile clone() const { return cloneImpl(); }
TempMDLexicalBlockFile clone() const { return cloneImpl(); }
+ // TODO: Remove these once they're gone from MDLexicalBlockBase.
+ unsigned getLine() const = delete;
+ unsigned getColumn() const = delete;
+
unsigned getDiscriminator() const { return Discriminator; }
static bool classof(const Metadata *MD) {
unsigned getDiscriminator() const { return Discriminator; }
static bool classof(const Metadata *MD) {