@@ -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