aboutsummaryrefslogtreecommitdiff
path: root/ctr-std/src/panicking.rs
diff options
context:
space:
mode:
authorFenrir <[email protected]>2017-07-24 19:48:21 -0600
committerFenrir <[email protected]>2017-07-24 19:48:21 -0600
commit59b0b6de00ea8212e9db455b588d0ff102680e3e (patch)
tree91a000f90cd5194d6bdca7da565b7297ad39c43e /ctr-std/src/panicking.rs
parentFix missing stability attribute (diff)
downloadarchived-ctru-rs-59b0b6de00ea8212e9db455b588d0ff102680e3e.tar.xz
archived-ctru-rs-59b0b6de00ea8212e9db455b588d0ff102680e3e.zip
Update to new panic ABI
Diffstat (limited to 'ctr-std/src/panicking.rs')
-rw-r--r--ctr-std/src/panicking.rs17
1 files changed, 9 insertions, 8 deletions
diff --git a/ctr-std/src/panicking.rs b/ctr-std/src/panicking.rs
index 57aa563..422eef7 100644
--- a/ctr-std/src/panicking.rs
+++ b/ctr-std/src/panicking.rs
@@ -33,8 +33,11 @@ pub extern fn eh_personality() {}
/// Entry point of panic from the libcore crate.
#[lang = "panic_fmt"]
-pub extern fn rust_begin_panic(msg: fmt::Arguments, file: &'static str, line: u32) -> ! {
- begin_panic_fmt(&msg, &(file, line))
+pub extern fn rust_begin_panic(msg: fmt::Arguments,
+ file: &'static str,
+ line: u32,
+ col: u32) -> ! {
+ begin_panic_fmt(&msg, &(file, line, col))
}
/// The entry point for panicking with a formatted message.
@@ -47,12 +50,12 @@ pub extern fn rust_begin_panic(msg: fmt::Arguments, file: &'static str, line: u3
reason = "used by the panic! macro",
issue = "0")]
#[inline(never)] #[cold]
-pub fn begin_panic_fmt(msg: &fmt::Arguments, file_line: &(&'static str, u32)) -> ! {
+pub fn begin_panic_fmt(msg: &fmt::Arguments, file_line_col: &(&'static str, u32, u32)) -> ! {
use fmt::Write;
let mut s = String::new();
let _ = s.write_fmt(*msg);
- begin_panic(s, file_line);
+ begin_panic(s, file_line_col);
}
/// We don't have stack unwinding, so all we do is print the panic message
@@ -61,11 +64,9 @@ pub fn begin_panic_fmt(msg: &fmt::Arguments, file_line: &(&'static str, u32)) ->
reason = "used by the panic! macro",
issue = "0")]
#[inline(never)] #[cold]
-#[inline(never)]
-#[cold]
-pub fn begin_panic<M: Any + Send + Display>(msg: M, file_line: &(&'static str, u32)) -> ! {
+pub fn begin_panic<M: Any + Send + Display>(msg: M, file_line_col: &(&'static str, u32, u32)) -> ! {
let msg = Box::new(msg);
- let (file, line) = *file_line;
+ let (file, line, col) = *file_line_col;
use libctru::consoleInit;
use libctru::gfxScreen_t;