@@ -885,15 +885,18 @@ LLVMRustOptimizeWithNewPassManager(
885885 OptimizerLastEPCallbacks.push_back (
886886 [SanitizerOptions](ModulePassManager &MPM, OptimizationLevel Level) {
887887 MPM.addPass (RequireAnalysisPass<ASanGlobalsMetadataAnalysis, Module>());
888- MPM.addPass (ModuleAddressSanitizerPass (
889- /* CompileKernel=*/ false , SanitizerOptions->SanitizeAddressRecover ));
890888#if LLVM_VERSION_GE(14, 0)
891- AddressSanitizerOptions opts (/* CompileKernel=*/ false ,
892- SanitizerOptions->SanitizeAddressRecover ,
893- /* UseAfterScope=*/ true ,
894- AsanDetectStackUseAfterReturnMode::Runtime);
889+ AddressSanitizerOptions opts = AddressSanitizerOptions{
890+ /* CompileKernel=*/ false ,
891+ SanitizerOptions->SanitizeAddressRecover ,
892+ /* UseAfterScope=*/ false ,
893+ AsanDetectStackUseAfterReturnMode::Runtime,
894+ };
895+ MPM.addPass (ModuleAddressSanitizerPass (opts));
895896 MPM.addPass (createModuleToFunctionPassAdaptor (AddressSanitizerPass (opts)));
896897#else
898+ MPM.addPass (ModuleAddressSanitizerPass (
899+ /* CompileKernel=*/ false , SanitizerOptions->SanitizeAddressRecover ));
897900 MPM.addPass (createModuleToFunctionPassAdaptor (AddressSanitizerPass (
898901 /* CompileKernel=*/ false , SanitizerOptions->SanitizeAddressRecover ,
899902 /* UseAfterScope=*/ true )));
0 commit comments