Add explicit constructors. Patch by Renato Golin.

llvm-svn: 110072
This commit is contained in:
Devang Patel 2010-08-02 22:51:46 +00:00
parent 58bbe6097a
commit f18faa5945
2 changed files with 26 additions and 0 deletions

View File

@ -36,6 +36,12 @@ namespace llvm {
class LLVMContext;
class raw_ostream;
class DIFile;
class DISubprogram;
class DILexicalBlock;
class DIVariable;
class DIType;
/// DIDescriptor - A thin wraper around MDNode to access encoded debug info.
/// This should not be stored in a container, because underly MDNode may
/// change in certain situations.
@ -61,6 +67,11 @@ namespace llvm {
public:
explicit DIDescriptor() : DbgNode(0) {}
explicit DIDescriptor(const MDNode *N) : DbgNode(N) {}
explicit DIDescriptor(const DIFile F);
explicit DIDescriptor(const DISubprogram F);
explicit DIDescriptor(const DILexicalBlock F);
explicit DIDescriptor(const DIVariable F);
explicit DIDescriptor(const DIType F);
bool Verify() const { return DbgNode != 0; }

View File

@ -32,6 +32,21 @@ using namespace llvm::dwarf;
// DIDescriptor
//===----------------------------------------------------------------------===//
DIDescriptor::DIDescriptor(const DIFile F) : DbgNode(F.DbgNode) {
}
DIDescriptor::DIDescriptor(const DISubprogram F) : DbgNode(F.DbgNode) {
}
DIDescriptor::DIDescriptor(const DILexicalBlock F) : DbgNode(F.DbgNode) {
}
DIDescriptor::DIDescriptor(const DIVariable F) : DbgNode(F.DbgNode) {
}
DIDescriptor::DIDescriptor(const DIType F) : DbgNode(F.DbgNode) {
}
StringRef
DIDescriptor::getStringField(unsigned Elt) const {
if (DbgNode == 0)