Add special support for libc
This commit is contained in:
parent
53add5d7d3
commit
f91d7baaa4
3 changed files with 3 additions and 6 deletions
|
@ -62,8 +62,6 @@ impl<'a, 'tcx> LibFeatureCollector<'a, 'tcx> {
|
||||||
let mut features = vec![];
|
let mut features = vec![];
|
||||||
|
|
||||||
for attr in attrs {
|
for attr in attrs {
|
||||||
// FIXME(varkor): the stability attribute might be behind a `#[cfg]` attribute.
|
|
||||||
|
|
||||||
// Find a stability attribute (i.e. `#[stable (..)]`, `#[unstable (..)]`,
|
// Find a stability attribute (i.e. `#[stable (..)]`, `#[unstable (..)]`,
|
||||||
// `#[rustc_const_unstable (..)]`).
|
// `#[rustc_const_unstable (..)]`).
|
||||||
if let Some(stab_attr) = stab_attrs.iter().find(|stab_attr| {
|
if let Some(stab_attr) = stab_attrs.iter().find(|stab_attr| {
|
||||||
|
|
|
@ -813,7 +813,6 @@ pub fn check_unused_or_stable_features<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) {
|
||||||
krate.visit_all_item_likes(&mut missing.as_deep_visitor());
|
krate.visit_all_item_likes(&mut missing.as_deep_visitor());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
let declared_lang_features = &tcx.features().declared_lang_features;
|
let declared_lang_features = &tcx.features().declared_lang_features;
|
||||||
let mut lang_features = FxHashSet();
|
let mut lang_features = FxHashSet();
|
||||||
for &(feature, span, since) in declared_lang_features {
|
for &(feature, span, since) in declared_lang_features {
|
||||||
|
@ -837,8 +836,9 @@ pub fn check_unused_or_stable_features<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) {
|
||||||
}
|
}
|
||||||
remaining_lib_features.insert(feature, span.clone());
|
remaining_lib_features.insert(feature, span.clone());
|
||||||
}
|
}
|
||||||
// FIXME(varkor): we don't properly handle lib features behind `cfg` attributes yet,
|
// `stdbuild` has special handling for `libc`, so we need to
|
||||||
// but it happens just to affect `libc`, so we're just going to hard-code it for now.
|
// recognise the feature when building std.
|
||||||
|
// FIXME: only remove `libc` when `stdbuild` is active.
|
||||||
remaining_lib_features.remove(&Symbol::intern("libc"));
|
remaining_lib_features.remove(&Symbol::intern("libc"));
|
||||||
|
|
||||||
for (feature, stable) in tcx.lib_features().iter() {
|
for (feature, stable) in tcx.lib_features().iter() {
|
||||||
|
|
|
@ -321,7 +321,6 @@ declare_features! (
|
||||||
// `extern "x86-interrupt" fn()`
|
// `extern "x86-interrupt" fn()`
|
||||||
(active, abi_x86_interrupt, "1.17.0", Some(40180), None),
|
(active, abi_x86_interrupt, "1.17.0", Some(40180), None),
|
||||||
|
|
||||||
|
|
||||||
// Allows the `catch {...}` expression
|
// Allows the `catch {...}` expression
|
||||||
(active, catch_expr, "1.17.0", Some(31436), Some(Edition::Edition2018)),
|
(active, catch_expr, "1.17.0", Some(31436), Some(Edition::Edition2018)),
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue