diff options
| author | Michael Woerister <michaelwoerister@posteo> | 2017-11-07 16:41:42 +0100 |
|---|---|---|
| committer | Michael Woerister <michaelwoerister@posteo> | 2017-11-07 16:41:42 +0100 |
| commit | d141abfda7edb3db1613c0f9efd0b1382f5eeb84 (patch) | |
| tree | 017d3eb99b3da853a0be84fed8a0f5567a3ade0d | |
| parent | 8fcf3e33e4f27fa56ac3c9dee150f6eb4a91f213 (diff) | |
| download | rust-d141abfda7edb3db1613c0f9efd0b1382f5eeb84.tar.gz rust-d141abfda7edb3db1613c0f9efd0b1382f5eeb84.zip | |
Always treat #[rustc_std_internal_symbol]s as root TransItems.
| -rw-r--r-- | src/librustc_trans_utils/collector.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/librustc_trans_utils/collector.rs b/src/librustc_trans_utils/collector.rs index 918c97774bc..429471221c6 100644 --- a/src/librustc_trans_utils/collector.rs +++ b/src/librustc_trans_utils/collector.rs @@ -211,6 +211,8 @@ use trans_item::{TransItemExt, DefPathBasedNames, InstantiationMode}; use rustc_data_structures::bitvec::BitVector; +use syntax::attr; + #[derive(PartialEq, Eq, Hash, Clone, Copy, Debug)] pub enum TransItemCollectionMode { Eager, @@ -981,7 +983,9 @@ impl<'b, 'a, 'v> RootCollector<'b, 'a, 'v> { } TransItemCollectionMode::Lazy => { self.entry_fn == Some(def_id) || - self.tcx.is_exported_symbol(def_id) + self.tcx.is_exported_symbol(def_id) || + attr::contains_name(&self.tcx.get_attrs(def_id), + "rustc_std_internal_symbol") } } } |
