blob: 3693b00dfd93cbfb990301d917ac2744aae9c8c6 [file] [log] [blame]
// Wrappers around hprint(ln) that get disabled during release builds. This prevents us from
// getting stuck in an hprint when a debugger is detached.
#[cfg(debug_assertions)]
#[macro_export]
macro_rules! hprint {
($s:expr) => {
cortex_m_semihosting::export::hstdout_str($s)
};
($($tt:tt)*) => {
cortex_m_semihosting::export::hstdout_fmt(format_args!($($tt)*))
};
}
#[cfg(debug_assertions)]
#[macro_export]
macro_rules! hprintln {
() => {
cortex_m_semihosting::export::hstdout_str("\n")
};
($s:expr) => {
cortex_m_semihosting::export::hstdout_str(concat!($s, "\n"))
};
($s:expr, $($tt:tt)*) => {
cortex_m_semihosting::export::hstdout_fmt(format_args!(concat!($s, "\n"), $($tt)*))
};
}
#[cfg(not(debug_assertions))]
#[macro_export]
macro_rules! hprint {
() => { Result::<(), ()>::Ok(()) };
($s:expr, $($tt:tt)*) => { Result::<(), ()>::Ok(()) };
}
#[cfg(not(debug_assertions))]
#[macro_export]
macro_rules! hprintln {
() => { Result::<(), ()>::Ok(()) };
($s:expr) => { Result::<(), ()>::Ok(()) };
($s:expr, $($tt:tt)*) => { Result::<(), ()>::Ok(()) };
}