diff options
| author | varkor <github@varkor.com> | 2018-07-24 00:56:00 +0100 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2018-08-05 15:54:49 +0100 |
| commit | f91d7baaa47efc6c8c2d8a1e6e2c79c3bef2f70d (patch) | |
| tree | 9caed265df8183aea38a07342cef223c26c4fe1b /src | |
| parent | 53add5d7d3d4f0ad2cc8b3a965c1886478d94c55 (diff) | |
| download | rust-f91d7baaa47efc6c8c2d8a1e6e2c79c3bef2f70d.tar.gz rust-f91d7baaa47efc6c8c2d8a1e6e2c79c3bef2f70d.zip | |
Add special support for libc
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/middle/lib_features.rs | 2 | ||||
| -rw-r--r-- | src/librustc/middle/stability.rs | 6 | ||||
| -rw-r--r-- | src/libsyntax/feature_gate.rs | 1 |
3 files changed, 3 insertions, 6 deletions
diff --git a/src/librustc/middle/lib_features.rs b/src/librustc/middle/lib_features.rs index 365fe1e6b5a..b30341103e4 100644 --- a/src/librustc/middle/lib_features.rs +++ b/src/librustc/middle/lib_features.rs @@ -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| { diff --git a/src/librustc/middle/stability.rs b/src/librustc/middle/stability.rs index 98c2eaaeb61..f2296c04acc 100644 --- a/src/librustc/middle/stability.rs +++ b/src/librustc/middle/stability.rs @@ -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() { diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index 4aafe8bba58..833b6953dcd 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -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)), |
