DIBuilder: Similar to createPointerType, make createMemberPointerType take
[oota-llvm.git] / lib / IR / DIBuilder.cpp
index 1874d31e0a56c22527d4bfbbec190525ae6264fb..6485ca5a003984ded30a2924eaa3ebe899ae4811 100644 (file)
@@ -328,14 +328,15 @@ DIBuilder::createPointerType(DIType PointeeTy, uint64_t SizeInBits,
   return DIDerivedType(MDNode::get(VMContext, Elts));
 }
 
-DIDerivedType DIBuilder::createMemberPointerType(DIType PointeeTy,
-                                                 DIType Base) {
+DIDerivedType
+DIBuilder::createMemberPointerType(DIType PointeeTy, DIType Base,
+                                   uint64_t SizeInBits, uint64_t AlignInBits) {
   // Pointer types are encoded in DIDerivedType format.
   Metadata *Elts[] = {HeaderBuilder::get(dwarf::DW_TAG_ptr_to_member_type)
                           .concat(StringRef())
                           .concat(0) // Line
-                          .concat(0) // Size
-                          .concat(0) // Align
+                          .concat(SizeInBits) // Size
+                          .concat(AlignInBits) // Align
                           .concat(0) // Offset
                           .concat(0) // Flags
                           .get(VMContext),