From ce13afc843fddffe609ea04f510b04ba624d1f4a Mon Sep 17 00:00:00 2001 From: Leonard Chan Date: Thu, 14 Feb 2019 01:07:47 +0000 Subject: [PATCH] Fix for asan bots git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@353999 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/BackendUtil.cpp | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/lib/CodeGen/BackendUtil.cpp b/lib/CodeGen/BackendUtil.cpp index 633c0dfb66..d86e24ff2d 100644 --- a/lib/CodeGen/BackendUtil.cpp +++ b/lib/CodeGen/BackendUtil.cpp @@ -1066,19 +1066,22 @@ void EmitAssemblyHelper::EmitAssemblyWithNewPassManager( RequireAnalysisPass()); }); bool Recover = CodeGenOpts.SanitizeRecover.has(SanitizerKind::Address); + bool UseAfterScope = CodeGenOpts.SanitizeAddressUseAfterScope; PB.registerOptimizerLastEPCallback( - [&](FunctionPassManager &FPM, - PassBuilder::OptimizationLevel Level) { + [Recover, UseAfterScope](FunctionPassManager &FPM, + PassBuilder::OptimizationLevel Level) { FPM.addPass(AddressSanitizerPass( - /*CompileKernel=*/false, Recover, - CodeGenOpts.SanitizeAddressUseAfterScope)); + /*CompileKernel=*/false, Recover, UseAfterScope)); }); bool ModuleUseAfterScope = asanUseGlobalsGC(TargetTriple, CodeGenOpts); - PB.registerPipelineStartEPCallback([&](ModulePassManager &MPM) { - MPM.addPass(ModuleAddressSanitizerPass( - /*CompileKernel=*/false, Recover, ModuleUseAfterScope, - CodeGenOpts.SanitizeAddressUseOdrIndicator)); - }); + bool UseOdrIndicator = CodeGenOpts.SanitizeAddressUseOdrIndicator; + PB.registerPipelineStartEPCallback( + [Recover, ModuleUseAfterScope, + UseOdrIndicator](ModulePassManager &MPM) { + MPM.addPass(ModuleAddressSanitizerPass( + /*CompileKernel=*/false, Recover, ModuleUseAfterScope, + UseOdrIndicator)); + }); } if (Optional Options = getGCOVOptions(CodeGenOpts)) PB.registerPipelineStartEPCallback([Options](ModulePassManager &MPM) { -- 2.50.1