diff options
| author | bors <bors@rust-lang.org> | 2020-02-13 22:20:58 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-02-13 22:20:58 +0000 |
| commit | 10104085e4f9f52f405fa1cc5e5e18c4c4cc72d1 (patch) | |
| tree | e454e1e75dff88439e15462a257cb669b1d4c10d /src/rustllvm/PassWrapper.cpp | |
| parent | 5d04ce67fd14538d03fa47a2598f80d49fd564c6 (diff) | |
| parent | 7704e590ece52ef265e0ca16bce1180930b69330 (diff) | |
| download | rust-10104085e4f9f52f405fa1cc5e5e18c4c4cc72d1.tar.gz rust-10104085e4f9f52f405fa1cc5e5e18c4c4cc72d1.zip | |
Auto merge of #69144 - Dylan-DPC:rollup-apt6zjj, r=Dylan-DPC
Rollup of 9 pull requests Successful merges: - #68728 (parse: merge `fn` syntax + cleanup item parsing) - #68938 (fix lifetime shadowing check in GATs) - #69057 (expand: misc cleanups and simplifications) - #69108 (Use HirId in TraitCandidate.) - #69125 (Add comment to SGX entry code) - #69126 (miri: fix exact_div) - #69127 (Enable use after scope detection in the new LLVM pass manager) - #69135 (Spelling error "represening" to "representing") - #69141 (Don't error on network failures) Failed merges: r? @ghost
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
| -rw-r--r-- | src/rustllvm/PassWrapper.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index 2c283149be8..65071c3ed86 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -824,14 +824,14 @@ LLVMRustOptimizeWithNewPassManager( } if (SanitizerOptions->SanitizeAddress) { - // FIXME: Rust does not expose the UseAfterScope option. PipelineStartEPCallbacks.push_back([&](ModulePassManager &MPM) { MPM.addPass(RequireAnalysisPass<ASanGlobalsMetadataAnalysis, Module>()); }); OptimizerLastEPCallbacks.push_back( [SanitizerOptions](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) { FPM.addPass(AddressSanitizerPass( - /*CompileKernel=*/false, SanitizerOptions->SanitizeRecover)); + /*CompileKernel=*/false, SanitizerOptions->SanitizeRecover, + /*UseAfterScope=*/true)); } ); PipelineStartEPCallbacks.push_back( |
