summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-03-26 23:46:39 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-03-26 23:46:39 +0000
commita7310a3d1b0a649d42c404dad8d9279f64e47a81 (patch)
tree344de37324d8c8cbb114d4ebfa686b3a6f30818c
parentfe6db31ce8fb6106c2a51cd2f785fb3900ccb70c (diff)
downloadbcm5719-llvm-a7310a3d1b0a649d42c404dad8d9279f64e47a81.tar.gz
bcm5719-llvm-a7310a3d1b0a649d42c404dad8d9279f64e47a81.zip
Make DIBuilder::createClassType more type safe by returning DICompositeType rather than DIType
llvm-svn: 178091
-rw-r--r--llvm/include/llvm/DIBuilder.h13
-rw-r--r--llvm/lib/IR/DIBuilder.cpp18
2 files changed, 17 insertions, 14 deletions
diff --git a/llvm/include/llvm/DIBuilder.h b/llvm/include/llvm/DIBuilder.h
index de6c38f0e03..4f0aa07130e 100644
--- a/llvm/include/llvm/DIBuilder.h
+++ b/llvm/include/llvm/DIBuilder.h
@@ -265,12 +265,13 @@ namespace llvm {
/// DW_AT_containing_type. See DWARF documentation
/// for more info.
/// @param TemplateParms Template type parameters.
- DIType createClassType(DIDescriptor Scope, StringRef Name, DIFile File,
- unsigned LineNumber, uint64_t SizeInBits,
- uint64_t AlignInBits, uint64_t OffsetInBits,
- unsigned Flags, DIType DerivedFrom,
- DIArray Elements, MDNode *VTableHolder = 0,
- MDNode *TemplateParms = 0);
+ DICompositeType createClassType(DIDescriptor Scope, StringRef Name,
+ DIFile File, unsigned LineNumber,
+ uint64_t SizeInBits, uint64_t AlignInBits,
+ uint64_t OffsetInBits, unsigned Flags,
+ DIType DerivedFrom, DIArray Elements,
+ MDNode *VTableHolder = 0,
+ MDNode *TemplateParms = 0);
/// createStructType - Create debugging information entry for a struct.
/// @param Scope Scope in which this struct is defined.
diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp
index 033af3bd1d7..0d18bed0010 100644
--- a/llvm/lib/IR/DIBuilder.cpp
+++ b/llvm/lib/IR/DIBuilder.cpp
@@ -482,13 +482,15 @@ DIBuilder::createTemplateValueParameter(DIDescriptor Context, StringRef Name,
}
/// createClassType - Create debugging information entry for a class.
-DIType DIBuilder::createClassType(DIDescriptor Context, StringRef Name,
- DIFile File, unsigned LineNumber,
- uint64_t SizeInBits, uint64_t AlignInBits,
- uint64_t OffsetInBits, unsigned Flags,
- DIType DerivedFrom, DIArray Elements,
- MDNode *VTableHolder,
- MDNode *TemplateParams) {
+DICompositeType DIBuilder::createClassType(DIDescriptor Context, StringRef Name,
+ DIFile File, unsigned LineNumber,
+ uint64_t SizeInBits,
+ uint64_t AlignInBits,
+ uint64_t OffsetInBits,
+ unsigned Flags, DIType DerivedFrom,
+ DIArray Elements,
+ MDNode *VTableHolder,
+ MDNode *TemplateParams) {
assert((!Context || Context.Verify()) &&
"createClassType should be called with a valid Context");
// TAG_class_type is encoded in DICompositeType format.
@@ -508,7 +510,7 @@ DIType DIBuilder::createClassType(DIDescriptor Context, StringRef Name,
VTableHolder,
TemplateParams
};
- DIType R(MDNode::get(VMContext, Elts));
+ DICompositeType R(MDNode::get(VMContext, Elts));
assert(R.Verify() && "createClassType should return a verifiable DIType");
return R;
}
OpenPOWER on IntegriCloud