1
Fork 0

Add special support for libc

This commit is contained in:
varkor 2018-07-24 00:56:00 +01:00
parent 53add5d7d3
commit f91d7baaa4
3 changed files with 3 additions and 6 deletions

View file

@ -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| {

View file

@ -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() {

View file

@ -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)),