summaryrefslogtreecommitdiffstats
path: root/tests/run-make/wasm-symbols-not-exported/bar.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/wasm-symbols-not-exported/bar.rs')
-rw-r--r--tests/run-make/wasm-symbols-not-exported/bar.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/run-make/wasm-symbols-not-exported/bar.rs b/tests/run-make/wasm-symbols-not-exported/bar.rs
new file mode 100644
index 000000000..6ffbd3ec6
--- /dev/null
+++ b/tests/run-make/wasm-symbols-not-exported/bar.rs
@@ -0,0 +1,35 @@
+#![feature(panic_handler, alloc_error_handler)]
+#![crate_type = "cdylib"]
+#![no_std]
+
+use core::alloc::*;
+
+struct B;
+
+unsafe impl GlobalAlloc for B {
+ unsafe fn alloc(&self, x: Layout) -> *mut u8 {
+ 1 as *mut u8
+ }
+
+ unsafe fn dealloc(&self, ptr: *mut u8, x: Layout) {
+ }
+}
+
+#[global_allocator]
+static A: B = B;
+
+#[no_mangle]
+pub extern fn foo(a: u32) -> u32 {
+ assert_eq!(a, 3);
+ a * 2
+}
+
+#[alloc_error_handler]
+fn a(_: core::alloc::Layout) -> ! {
+ loop {}
+}
+
+#[panic_handler]
+fn b(_: &core::panic::PanicInfo) -> ! {
+ loop {}
+}