diff options
Diffstat (limited to 'tests/run-make/wasm-symbols-not-exported/bar.rs')
-rw-r--r-- | tests/run-make/wasm-symbols-not-exported/bar.rs | 35 |
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 {} +} |