diff options
| author | Alan Egerton <eggyal@gmail.com> | 2021-06-17 12:11:40 +0100 |
|---|---|---|
| committer | Alan Egerton <eggyal@gmail.com> | 2021-06-17 12:11:40 +0100 |
| commit | 872839eb494e2ed6b2e7c9ba28ec3450c399d935 (patch) | |
| tree | ccab2cf6a3e90afa5d144f139a90efae156c2241 /compiler/rustc_metadata/src | |
| parent | 93c636211ca4b0b7745d6d4ca82587a27ddc59a8 (diff) | |
| download | rust-872839eb494e2ed6b2e7c9ba28ec3450c399d935.tar.gz rust-872839eb494e2ed6b2e7c9ba28ec3450c399d935.zip | |
Early return from `inject_profiler_runtime`
Diffstat (limited to 'compiler/rustc_metadata/src')
| -rw-r--r-- | compiler/rustc_metadata/src/creader.rs | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/compiler/rustc_metadata/src/creader.rs b/compiler/rustc_metadata/src/creader.rs index 8108470e3d3..dbf36c5d397 100644 --- a/compiler/rustc_metadata/src/creader.rs +++ b/compiler/rustc_metadata/src/creader.rs @@ -769,32 +769,32 @@ impl<'a> CrateLoader<'a> { } fn inject_profiler_runtime(&mut self, krate: &ast::Crate) { - if self.sess.instrument_coverage() - || self.sess.opts.debugging_opts.profile - || self.sess.opts.cg.profile_generate.enabled() + let profiler_runtime = &self.sess.opts.debugging_opts.profiler_runtime; + + if !(profiler_runtime.is_some() + && (self.sess.instrument_coverage() + || self.sess.opts.debugging_opts.profile + || self.sess.opts.cg.profile_generate.enabled())) { - if let Some(name) = - self.sess.opts.debugging_opts.profiler_runtime.as_deref().map(Symbol::intern) - { - info!("loading profiler"); - - if name == sym::profiler_builtins - && self.sess.contains_name(&krate.attrs, sym::no_core) - { - self.sess.err( - "`profiler_builtins` crate (required by compiler options) \ - is not compatible with crate attribute `#![no_core]`", - ); - } + return; + } - let cnum = self.resolve_crate(name, DUMMY_SP, CrateDepKind::Implicit, None); - let data = self.cstore.get_crate_data(cnum); + info!("loading profiler"); - // Sanity check the loaded crate to ensure it is indeed a profiler runtime - if !data.is_profiler_runtime() { - self.sess.err(&format!("the crate `{}` is not a profiler runtime", name)); - } - } + let name = Symbol::intern(profiler_runtime.as_ref().unwrap()); + if name == sym::profiler_builtins && self.sess.contains_name(&krate.attrs, sym::no_core) { + self.sess.err( + "`profiler_builtins` crate (required by compiler options) \ + is not compatible with crate attribute `#![no_core]`", + ); + } + + let cnum = self.resolve_crate(name, DUMMY_SP, CrateDepKind::Implicit, None); + let data = self.cstore.get_crate_data(cnum); + + // Sanity check the loaded crate to ensure it is indeed a profiler runtime + if !data.is_profiler_runtime() { + self.sess.err(&format!("the crate `{}` is not a profiler runtime", name)); } } |
