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![];
for attr in attrs {
// FIXME(varkor): the stability attribute might be behind a `#[cfg]` attribute.
// Find a stability attribute (i.e. `#[stable (..)]`, `#[unstable (..)]`,
// `#[rustc_const_unstable (..)]`).
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());
}
let declared_lang_features = &tcx.features().declared_lang_features;
let mut lang_features = FxHashSet();
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());
}
// FIXME(varkor): we don't properly handle lib features behind `cfg` attributes yet,
// but it happens just to affect `libc`, so we're just going to hard-code it for now.
// `stdbuild` has special handling for `libc`, so we need to
// recognise the feature when building std.
// FIXME: only remove `libc` when `stdbuild` is active.
remaining_lib_features.remove(&Symbol::intern("libc"));
for (feature, stable) in tcx.lib_features().iter() {

View file

@ -321,7 +321,6 @@ declare_features! (
// `extern "x86-interrupt" fn()`
(active, abi_x86_interrupt, "1.17.0", Some(40180), None),
// Allows the `catch {...}` expression
(active, catch_expr, "1.17.0", Some(31436), Some(Edition::Edition2018)),