about summary refs log tree commit diff
diff options
context:
space:
mode:
author12101111 <w12101111@gmail.com>2021-08-28 14:40:17 +0800
committer12101111 <w12101111@gmail.com>2021-08-28 14:40:17 +0800
commit9a53d59b97951635e2b157a29f2dc3b61e8f393a (patch)
tree7161112971ad6ad9476308db8eaa3a7f8c08c6c6
parent4c9896f279357896d31d811fddc2025d72259498 (diff)
downloadrust-9a53d59b97951635e2b157a29f2dc3b61e8f393a.tar.gz
rust-9a53d59b97951635e2b157a29f2dc3b61e8f393a.zip
fix evaluation of target_feature = "crt-static"
-rw-r--r--src/test/ui/proc-macro/crt-static.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/test/ui/proc-macro/crt-static.rs b/src/test/ui/proc-macro/crt-static.rs
index 4f11f81b00b..8c1a9dc8026 100644
--- a/src/test/ui/proc-macro/crt-static.rs
+++ b/src/test/ui/proc-macro/crt-static.rs
@@ -1,12 +1,19 @@
 // Test proc-macro crate can be built without additional RUSTFLAGS
 // on musl target
 // override -Ctarget-feature=-crt-static from compiletest
-// compile-flags: -Ctarget-feature=
+// compile-flags: --crate-type proc-macro -Ctarget-feature=
 // ignore-wasm32
 // ignore-sgx no support for proc-macro crate type
 // build-pass
 #![crate_type = "proc-macro"]
 
+// FIXME: This don't work when crate-type is specified by attribute
+// `#![crate_type = "proc-macro"]`, not by `--crate-type=proc-macro`
+// command line flag. This is beacuse the list of `cfg` symbols is generated
+// before attributes are parsed. See rustc_interface::util::add_configuration
+#[cfg(target_feature = "crt-static")]
+compile_error!("crt-static is enabled");
+
 extern crate proc_macro;
 
 use proc_macro::TokenStream;