summaryrefslogtreecommitdiffstats
path: root/src/test/ui/proc-macro/macros-in-extern.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/proc-macro/macros-in-extern.rs')
-rw-r--r--src/test/ui/proc-macro/macros-in-extern.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/proc-macro/macros-in-extern.rs b/src/test/ui/proc-macro/macros-in-extern.rs
new file mode 100644
index 000000000..57e2066d8
--- /dev/null
+++ b/src/test/ui/proc-macro/macros-in-extern.rs
@@ -0,0 +1,24 @@
+// run-pass
+// aux-build:test-macros.rs
+// ignore-wasm32
+
+#[macro_use]
+extern crate test_macros;
+
+fn main() {
+ assert_eq!(unsafe { rust_get_test_int() }, 1);
+ assert_eq!(unsafe { rust_dbg_extern_identity_u32(0xDEADBEEF) }, 0xDEADBEEF);
+}
+
+#[link(name = "rust_test_helpers", kind = "static")]
+extern "C" {
+ #[empty_attr]
+ fn some_definitely_unknown_symbol_which_should_be_removed();
+
+ #[identity_attr]
+ fn rust_get_test_int() -> isize;
+
+ identity!(
+ fn rust_dbg_extern_identity_u32(arg: u32) -> u32;
+ );
+}