about summary refs log tree commit diff
path: root/src/librustc
diff options
context:
space:
mode:
authorTomasz Miąsko <tomasz.miasko@gmail.com>2019-10-13 00:00:00 +0000
committerTomasz Miąsko <tomasz.miasko@gmail.com>2019-10-13 12:10:35 +0200
commitd488500812424061264a69c9ecfe0247bc00d1af (patch)
treef66e36c5ca1fb3991d4472a333ee4c10ea71ca47 /src/librustc
parent3da6836cc9fd654fa204fe7e113973f7b5b3e5f6 (diff)
downloadrust-d488500812424061264a69c9ecfe0247bc00d1af.tar.gz
rust-d488500812424061264a69c9ecfe0247bc00d1af.zip
Don't discard value names when using address or memory sanitizer
The value names are used when reporting issues found by address
sanitizer or memory sanitizer. Avoid discarding names when those
sanitizers are enabled, unless explicitly requested to do otherwise.
Diffstat (limited to 'src/librustc')
-rw-r--r--src/librustc/session/mod.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs
index 9d60221fa3d..fa2902e4f0e 100644
--- a/src/librustc/session/mod.rs
+++ b/src/librustc/session/mod.rs
@@ -7,7 +7,7 @@ use rustc_data_structures::fingerprint::Fingerprint;
 
 use crate::lint;
 use crate::lint::builtin::BuiltinLintDiagnostics;
-use crate::session::config::{OutputType, PrintRequest, SwitchWithOptPath};
+use crate::session::config::{OutputType, PrintRequest, Sanitizer, SwitchWithOptPath};
 use crate::session::search_paths::{PathKind, SearchPath};
 use crate::util::nodemap::{FxHashMap, FxHashSet};
 use crate::util::common::{duration_to_secs_str, ErrorReported};
@@ -626,6 +626,14 @@ impl Session {
             .output_types
             .contains_key(&OutputType::LlvmAssembly)
             || self.opts.output_types.contains_key(&OutputType::Bitcode);
+
+        // Address sanitizer and memory sanitizer use alloca name when reporting an issue.
+        let more_names = match self.opts.debugging_opts.sanitizer {
+            Some(Sanitizer::Address) => true,
+            Some(Sanitizer::Memory) => true,
+            _ => more_names,
+        };
+
         self.opts.debugging_opts.fewer_names || !more_names
     }