| // In Rust programs where the standard library is unavailable (#![no_std]), we may be interested | |
| // in customizing how panics are handled. Here, the provider specifies that panics should be handled | |
| // by entering an infinite loop. This test checks that this panic implementation can be transitively | |
| // provided by an external crate. | |
| // --emit=llvm-ir is used to avoid running the linker, as linking will fail due to the lack of main | |
| // function in the crate. | |
| // See https://github.com/rust-lang/rust/pull/50338 | |
| use run_make_support::rustc; | |
| fn main() { | |
| rustc().input("panic-impl-provider.rs").run(); | |
| rustc().input("panic-impl-consumer.rs").panic("abort").emit("llvm-ir").run(); | |
| } |