diff options
| author | Vadim Chugunov <vadimcn@gmail.com> | 2016-12-05 10:15:14 -0800 |
|---|---|---|
| committer | Vadim Chugunov <vadimcn@gmail.com> | 2016-12-05 16:44:27 -0800 |
| commit | 7d05d1e7f0add9e5151d48d51d92b6fb5885e257 (patch) | |
| tree | 96d6ce1c413c605d8c1b4d1121283171cc41767d /src/librustc_metadata/decoder.rs | |
| parent | b700dd35e7fe9f3a987cca47a00ac0bdd1cfd425 (diff) | |
| download | rust-7d05d1e7f0add9e5151d48d51d92b6fb5885e257.tar.gz rust-7d05d1e7f0add9e5151d48d51d92b6fb5885e257.zip | |
Consider only libs that aren't excluded by #[link(cfg=...)]
Diffstat (limited to 'src/librustc_metadata/decoder.rs')
| -rw-r--r-- | src/librustc_metadata/decoder.rs | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/src/librustc_metadata/decoder.rs b/src/librustc_metadata/decoder.rs index f8f80a60c16..5bd1dea1d79 100644 --- a/src/librustc_metadata/decoder.rs +++ b/src/librustc_metadata/decoder.rs @@ -11,13 +11,13 @@ // Decoding metadata from a single crate's metadata use astencode::decode_inlined_item; -use cstore::{self, CrateMetadata, MetadataBlob, NativeLibrary, NativeLibraryKind}; +use cstore::{self, CrateMetadata, MetadataBlob, NativeLibrary}; use index::Index; use schema::*; use rustc::hir::map as hir_map; use rustc::hir::map::{DefKey, DefPathData}; -use rustc::util::nodemap::{FxHashMap, FxHashSet}; +use rustc::util::nodemap::FxHashMap; use rustc::hir; use rustc::hir::intravisit::IdRange; @@ -36,7 +36,6 @@ use rustc::mir::Mir; use std::borrow::Cow; use std::cell::Ref; use std::io; -use std::iter::FromIterator; use std::mem; use std::str; use std::u32; @@ -1089,15 +1088,7 @@ impl<'a, 'tcx> CrateMetadata { } pub fn is_dllimport_foreign_item(&self, id: DefIndex) -> bool { - if self.dllimport_foreign_items.borrow().is_none() { - *self.dllimport_foreign_items.borrow_mut() = Some(FxHashSet::from_iter( - self.get_native_libraries().iter() - .filter(|lib| lib.kind == NativeLibraryKind::NativeUnknown) - .flat_map(|lib| &lib.foreign_items) - .map(|id| *id) - )); - } - self.dllimport_foreign_items.borrow().as_ref().unwrap().contains(&id) + self.dllimport_foreign_items.contains(&id) } pub fn is_defaulted_trait(&self, trait_id: DefIndex) -> bool { |
