3079bd96b9
With the exception of `tests/run-make/translation/test.rs`, which has a syntax error. The expected output in `rustdoc-error-lines/rmake.rs`'s required slight tweaking. The two `reproducible-build.rs` files need `// ignore-tidy-linelength` because rustfmt produces lines longer than 100 chars, which tidy doesn't like, yuk.
35 lines
559 B
Rust
35 lines
559 B
Rust
#![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 "C" 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 {}
|
|
}
|