common: Define panic handler using the #[panic_handler] attribute.
authorTilman Sauerbeck <tilman@code-monkey.de>
Mon, 24 Jun 2019 04:23:00 +0000 (06:23 +0200)
committerTilman Sauerbeck <tilman@code-monkey.de>
Sun, 7 Jul 2019 18:34:52 +0000 (20:34 +0200)
This means we now require rust 1.30 for the build.

src/common/lib.rs

index c262abda5fba6f16037d012d4d9d97866689b40e..34522e8f968518a2c3a3e930f02d36433c177dbe 100644 (file)
 #![no_std]
 #![crate_name="common"]
 #![crate_type="rlib"]
-#![feature(lang_items)]
 
 pub mod register;
 pub mod nvic;
 pub mod clock;
 pub mod usb_serial;
 
-#[lang="eh_personality"]
-extern fn eh_personality() {
-}
+use core::panic::PanicInfo;
 
-#[lang="panic_fmt"]
-#[no_mangle]
-pub fn rust_begin_unwind(_fmt: &core::fmt::Arguments, _file_line: &(&'static str, usize)) -> ! {
+#[inline(never)]
+#[panic_handler]
+fn panic(_info: &PanicInfo) -> ! {
     loop {
     }
 }