diff options
| author | Vadim Chugunov <vadimcn@gmail.com> | 2016-11-23 16:09:51 -0800 |
|---|---|---|
| committer | Vadim Chugunov <vadimcn@gmail.com> | 2016-12-01 16:22:04 -0800 |
| commit | bc019dfb39bab6979009bb89ecc2d3af460b3c37 (patch) | |
| tree | d00f24808d658366cbfcb0e978e8565c3fe9e767 /src/librustc/middle | |
| parent | 908dba0c9477b7dd022a236cb1514ddfca9369f2 (diff) | |
| download | rust-bc019dfb39bab6979009bb89ecc2d3af460b3c37.tar.gz rust-bc019dfb39bab6979009bb89ecc2d3af460b3c37.zip | |
Emit 'dllimport' attribute for dylib foreign items on Windows.
Diffstat (limited to 'src/librustc/middle')
| -rw-r--r-- | src/librustc/middle/cstore.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/librustc/middle/cstore.rs b/src/librustc/middle/cstore.rs index 484e2f1535e..9275c01c8b1 100644 --- a/src/librustc/middle/cstore.rs +++ b/src/librustc/middle/cstore.rs @@ -131,6 +131,7 @@ pub struct NativeLibrary { pub kind: NativeLibraryKind, pub name: Symbol, pub cfg: Option<ast::MetaItem>, + pub foreign_items: Vec<DefIndex>, } /// The data we save and restore about an inlined item or method. This is not @@ -305,7 +306,8 @@ pub trait CrateStore<'tcx> { fn is_defaulted_trait(&self, did: DefId) -> bool; fn is_default_impl(&self, impl_did: DefId) -> bool; fn is_foreign_item(&self, did: DefId) -> bool; - fn is_statically_included_foreign_item(&self, id: ast::NodeId) -> bool; + fn is_dllimport_foreign_item(&self, def: DefId) -> bool; + fn is_statically_included_foreign_item(&self, def_id: DefId) -> bool; // crate metadata fn dylib_dependency_formats(&self, cnum: CrateNum) @@ -462,7 +464,8 @@ impl<'tcx> CrateStore<'tcx> for DummyCrateStore { fn is_defaulted_trait(&self, did: DefId) -> bool { bug!("is_defaulted_trait") } fn is_default_impl(&self, impl_did: DefId) -> bool { bug!("is_default_impl") } fn is_foreign_item(&self, did: DefId) -> bool { bug!("is_foreign_item") } - fn is_statically_included_foreign_item(&self, id: ast::NodeId) -> bool { false } + fn is_dllimport_foreign_item(&self, id: DefId) -> bool { false } + fn is_statically_included_foreign_item(&self, def_id: DefId) -> bool { false } // crate metadata fn dylib_dependency_formats(&self, cnum: CrateNum) @@ -526,9 +529,7 @@ impl<'tcx> CrateStore<'tcx> for DummyCrateStore { // This is basically a 1-based range of ints, which is a little // silly - I may fix that. fn crates(&self) -> Vec<CrateNum> { vec![] } - fn used_libraries(&self) -> Vec<NativeLibrary> { - vec![] - } + fn used_libraries(&self) -> Vec<NativeLibrary> { vec![] } fn used_link_args(&self) -> Vec<String> { vec![] } // utility functions |
