summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-12-03 22:39:14 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-12-03 22:39:14 +0000
commit78f6b03edc402900b3957b22d95bf98e0eebfd54 (patch)
tree3ce4017b2d48d2e79711f25328cb6e02dc64e300 /clang/lib
parent742f201e306010319f679f85f2c61b02561e5996 (diff)
downloadbcm5719-llvm-78f6b03edc402900b3957b22d95bf98e0eebfd54.tar.gz
bcm5719-llvm-78f6b03edc402900b3957b22d95bf98e0eebfd54.zip
Fix test failure when building Clang with g++4.7 -- don't use a Twine temporary
after its lifetime has ended! llvm-svn: 169170
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/CodeGen/CGExpr.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
index ef17bdc1ded..0c2feda419e 100644
--- a/clang/lib/CodeGen/CGExpr.cpp
+++ b/clang/lib/CodeGen/CGExpr.cpp
@@ -2068,11 +2068,11 @@ void CodeGenFunction::EmitCheck(llvm::Value *Checked, StringRef CheckName,
// Checks that have two variants use a suffix to differentiate them
bool NeedsAbortSuffix = (RecoverKind != CRK_Unrecoverable) &&
!CGM.getCodeGenOpts().SanitizeRecover;
- Twine FunctionName = "__ubsan_handle_" + CheckName +
- Twine(NeedsAbortSuffix? "_abort" : "");
- llvm::Value *Fn = CGM.CreateRuntimeFunction(FnType, FunctionName.str(),
- llvm::Attributes::get(getLLVMContext(),
- B));
+ std::string FunctionName = ("__ubsan_handle_" + CheckName +
+ (NeedsAbortSuffix? "_abort" : "")).str();
+ llvm::Value *Fn =
+ CGM.CreateRuntimeFunction(FnType, FunctionName,
+ llvm::Attributes::get(getLLVMContext(), B));
llvm::CallInst *HandlerCall = Builder.CreateCall(Fn, Args);
if (Recover) {
Builder.CreateBr(Cont);
OpenPOWER on IntegriCloud