diff options
| author | 12101111 <w12101111@gmail.com> | 2020-11-18 10:33:07 +0800 |
|---|---|---|
| committer | 12101111 <w12101111@gmail.com> | 2020-11-18 10:33:07 +0800 |
| commit | 36972b0d63ad4af65bb7bef6a05df4e1c726fbf0 (patch) | |
| tree | 5b0584cf50a7407819e289c5d93f0f679d20fd43 | |
| parent | b5c37e86ff1782923e3abfbf5491dd383fcf827d (diff) | |
| download | rust-36972b0d63ad4af65bb7bef6a05df4e1c726fbf0.tar.gz rust-36972b0d63ad4af65bb7bef6a05df4e1c726fbf0.zip | |
fix handling the default config for profiler and sanitizers
| -rw-r--r-- | src/bootstrap/config.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index 94319a6d1e9..2c2efaa9eb4 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -280,8 +280,8 @@ pub struct Target { pub ranlib: Option<PathBuf>, pub linker: Option<PathBuf>, pub ndk: Option<PathBuf>, - pub sanitizers: bool, - pub profiler: bool, + pub sanitizers: Option<bool>, + pub profiler: Option<bool>, pub crt_static: Option<bool>, pub musl_root: Option<PathBuf>, pub musl_libdir: Option<PathBuf>, @@ -896,8 +896,8 @@ impl Config { target.musl_libdir = cfg.musl_libdir.map(PathBuf::from); target.wasi_root = cfg.wasi_root.map(PathBuf::from); target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from); - target.sanitizers = cfg.sanitizers.unwrap_or(build.sanitizers.unwrap_or_default()); - target.profiler = cfg.profiler.unwrap_or(build.profiler.unwrap_or_default()); + target.sanitizers = cfg.sanitizers; + target.profiler = cfg.profiler; config.target_config.insert(TargetSelection::from_user(&triple), target); } @@ -1008,19 +1008,19 @@ impl Config { } pub fn sanitizers_enabled(&self, target: TargetSelection) -> bool { - self.target_config.get(&target).map(|t| t.sanitizers).unwrap_or(self.sanitizers) + self.target_config.get(&target).map(|t| t.sanitizers).flatten().unwrap_or(self.sanitizers) } pub fn any_sanitizers_enabled(&self) -> bool { - self.target_config.values().any(|t| t.sanitizers) || self.sanitizers + self.target_config.values().any(|t| t.sanitizers == Some(true)) || self.sanitizers } pub fn profiler_enabled(&self, target: TargetSelection) -> bool { - self.target_config.get(&target).map(|t| t.profiler).unwrap_or(self.profiler) + self.target_config.get(&target).map(|t| t.profiler).flatten().unwrap_or(self.profiler) } pub fn any_profiler_enabled(&self) -> bool { - self.target_config.values().any(|t| t.profiler) || self.profiler + self.target_config.values().any(|t| t.profiler == Some(true)) || self.profiler } pub fn llvm_enabled(&self) -> bool { |
