提交 f91d7baa 编写于 作者: V varkor

Add special support for libc

上级 53add5d7
......@@ -62,8 +62,6 @@ fn extract(&self, attrs: &[Attribute]) -> Vec<(Symbol, Option<Symbol>, Span)> {
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| {
......
......@@ -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() {
......
......@@ -321,7 +321,6 @@ pub fn use_extern_macros(&self) -> bool {
// `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)),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册