about summary refs log tree commit diff
path: root/tests/ui/proc-macro/macros-in-extern.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/proc-macro/macros-in-extern.rs')
-rw-r--r--tests/ui/proc-macro/macros-in-extern.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/proc-macro/macros-in-extern.rs b/tests/ui/proc-macro/macros-in-extern.rs
new file mode 100644
index 00000000000..57e2066d83c
--- /dev/null
+++ b/tests/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;
+    );
+}