From f9d865b059a1fa11d9d8287e5ee60b8ad1a38b1e Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Tue, 17 Mar 2015 16:38:58 +0000 Subject: Revert r232454 and r232456: "Fix the LLVM type used when lowering initializer list reference temporaries to global variables." This caused PR22940. llvm-svn: 232496 --- clang/lib/CodeGen/CGExpr.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'clang/lib') diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 92098752cb9..35275e58e93 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -316,16 +316,13 @@ createReferenceTemporary(CodeGenFunction &CGF, GV->setAlignment( CGF.getContext().getTypeAlignInChars(M->getType()).getQuantity()); // FIXME: Should we put the new global into a COMDAT? - return llvm::ConstantExpr::getBitCast( - GV, CGF.ConvertTypeForMem(Inner->getType())->getPointerTo()); + return GV; } return CGF.CreateMemTemp(Inner->getType(), "ref.tmp"); case SD_Thread: case SD_Static: - return llvm::ConstantExpr::getBitCast( - CGF.CGM.GetAddrOfGlobalTemporary(M, Inner), - CGF.ConvertTypeForMem(Inner->getType())->getPointerTo()); + return CGF.CGM.GetAddrOfGlobalTemporary(M, Inner); case SD_Dynamic: llvm_unreachable("temporary can't have dynamic storage duration"); -- cgit v1.2.3