diff options
| author | Igor Matuszewski <Xanewok@gmail.com> | 2019-01-13 13:06:26 +0100 |
|---|---|---|
| committer | Igor Matuszewski <Xanewok@gmail.com> | 2019-01-15 11:10:51 +0100 |
| commit | ff19a53ef07566aa30860023f6eac6e75ffaf900 (patch) | |
| tree | a929931a30157db943e9f92a40188c227c48338a /src/librustc/ty/query | |
| parent | 33e6df4b62237af312bf6e3f40a97f5bdc94949a (diff) | |
| download | rust-ff19a53ef07566aa30860023f6eac6e75ffaf900.tar.gz rust-ff19a53ef07566aa30860023f6eac6e75ffaf900.zip | |
Querify entry_fn
Diffstat (limited to 'src/librustc/ty/query')
| -rw-r--r-- | src/librustc/ty/query/config.rs | 6 | ||||
| -rw-r--r-- | src/librustc/ty/query/mod.rs | 4 | ||||
| -rw-r--r-- | src/librustc/ty/query/plumbing.rs | 1 |
3 files changed, 10 insertions, 1 deletions
diff --git a/src/librustc/ty/query/config.rs b/src/librustc/ty/query/config.rs index ca5d1f6bd32..38e90d6d823 100644 --- a/src/librustc/ty/query/config.rs +++ b/src/librustc/ty/query/config.rs @@ -629,6 +629,12 @@ impl<'tcx> QueryDescription<'tcx> for queries::foreign_modules<'tcx> { } } +impl<'tcx> QueryDescription<'tcx> for queries::entry_fn<'tcx> { + fn describe(_tcx: TyCtxt<'_, '_, '_>, _: CrateNum) -> Cow<'static, str> { + "looking up the entry function of a crate".into() + } +} + impl<'tcx> QueryDescription<'tcx> for queries::plugin_registrar_fn<'tcx> { fn describe(_tcx: TyCtxt<'_, '_, '_>, _: CrateNum) -> Cow<'static, str> { "looking up the plugin registrar for a crate".into() diff --git a/src/librustc/ty/query/mod.rs b/src/librustc/ty/query/mod.rs index 39d76ceed95..ef5a98e6ecb 100644 --- a/src/librustc/ty/query/mod.rs +++ b/src/librustc/ty/query/mod.rs @@ -22,7 +22,7 @@ use mir::mono::CodegenUnit; use mir; use mir::interpret::GlobalId; use session::{CompileResult, CrateDisambiguator}; -use session::config::OutputFilenames; +use session::config::{EntryFnType, OutputFilenames}; use traits::{self, Vtable}; use traits::query::{ CanonicalPredicateGoal, CanonicalProjectionGoal, @@ -476,6 +476,8 @@ define_queries! { <'tcx> [] fn foreign_modules: ForeignModules(CrateNum) -> Lrc<Vec<ForeignModule>>, + // For a library crate, this is always none + [] fn entry_fn: EntryFn(CrateNum) -> Option<(DefId, EntryFnType)>, [] fn plugin_registrar_fn: PluginRegistrarFn(CrateNum) -> Option<DefId>, [] fn proc_macro_decls_static: ProcMacroDeclsStatic(CrateNum) -> Option<DefId>, [] fn crate_disambiguator: CrateDisambiguator(CrateNum) -> CrateDisambiguator, diff --git a/src/librustc/ty/query/plumbing.rs b/src/librustc/ty/query/plumbing.rs index 562cd75a75f..bb47d9a9db9 100644 --- a/src/librustc/ty/query/plumbing.rs +++ b/src/librustc/ty/query/plumbing.rs @@ -1362,6 +1362,7 @@ pub fn force_from_dep_node<'a, 'gcx, 'lcx>(tcx: TyCtxt<'a, 'gcx, 'lcx>, DepKind::CheckImplItemWellFormed => { force!(check_impl_item_well_formed, def_id!()); } DepKind::ReachableNonGenerics => { force!(reachable_non_generics, krate!()); } DepKind::NativeLibraries => { force!(native_libraries, krate!()); } + DepKind::EntryFn => { force!(entry_fn, krate!()); } DepKind::PluginRegistrarFn => { force!(plugin_registrar_fn, krate!()); } DepKind::ProcMacroDeclsStatic => { force!(proc_macro_decls_static, krate!()); } DepKind::CrateDisambiguator => { force!(crate_disambiguator, krate!()); } |
