]> granicus.if.org Git - clang/commitdiff
Simplify code.
authorAnders Carlsson <andersca@mac.com>
Wed, 24 Nov 2010 21:53:50 +0000 (21:53 +0000)
committerAnders Carlsson <andersca@mac.com>
Wed, 24 Nov 2010 21:53:50 +0000 (21:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120118 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/ItaniumCXXABI.cpp

index 839e0476d4054104d09502f0579c150b4ad40f8c..99575dfc8f5346d701db80ba4dc9f32a6a0c3050 100644 (file)
@@ -498,11 +498,9 @@ llvm::Constant *ItaniumCXXABI::EmitMemberPointer(const FieldDecl *FD) {
   //   A pointer to data member is an offset from the base address of
   //   the class object containing it, represented as a ptrdiff_t
 
-  QualType ClassType = getContext().getTypeDeclType(FD->getParent());
-  const llvm::StructType *ClassLTy =
-    cast<llvm::StructType>(CGM.getTypes().ConvertType(ClassType));
-
   const CGRecordLayout &RL = CGM.getTypes().getCGRecordLayout(FD->getParent());
+  const llvm::StructType *ClassLTy = RL.getLLVMType();
+
   unsigned FieldNo = RL.getLLVMFieldNo(FD);
   uint64_t Offset = 
     CGM.getTargetData().getStructLayout(ClassLTy)->getElementOffset(FieldNo);