From f4beacd05964613b0be312cfc107e1f4a6aaf484 Mon Sep 17 00:00:00 2001 From: John McCall Date: Thu, 10 Nov 2011 10:43:54 +0000 Subject: Whenever explicitly activating or deactivating a cleanup, we need to provide a 'dominating IP' which is guaranteed to dominate the (de)activation point but which cannot be avoided along any execution path from the (de)activation point to the push-point of the cleanup. Using the entry block is bad mojo. llvm-svn: 144276 --- clang/lib/CodeGen/CGException.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'clang/lib/CodeGen/CGException.cpp') diff --git a/clang/lib/CodeGen/CGException.cpp b/clang/lib/CodeGen/CGException.cpp index 5e4fb988193..15fc6a1e599 100644 --- a/clang/lib/CodeGen/CGException.cpp +++ b/clang/lib/CodeGen/CGException.cpp @@ -359,7 +359,7 @@ static void EmitAnyExprToExn(CodeGenFunction &CGF, const Expr *e, /*IsInit*/ true); // Deactivate the cleanup block. - CGF.DeactivateCleanupBlock(cleanup); + CGF.DeactivateCleanupBlock(cleanup, cast(typedAddr)); } llvm::Value *CodeGenFunction::getExceptionSlot() { -- cgit v1.2.3