1
0
Fork 0

Permit allocations in debug and tracing messages

Otherwise debugging becomes a lot more difficult when using the
assert_no_alloc feature.
This commit is contained in:
Robbert van der Helm 2022-04-24 15:42:27 +02:00
parent ac69e3ef54
commit 532ffca768

View file

@ -20,7 +20,7 @@ macro_rules! nih_log {
#[macro_export] #[macro_export]
macro_rules! nih_trace { macro_rules! nih_trace {
($($args:tt)*) => ( ($($args:tt)*) => (
$crate::log::trace!($($args)*) $crate::util::permit_alloc(|| $crate::log::trace!($($args)*))
); );
} }
@ -32,12 +32,12 @@ macro_rules! nih_trace {
macro_rules! nih_debug_assert { macro_rules! nih_debug_assert {
($cond:expr $(,)?) => ( ($cond:expr $(,)?) => (
if cfg!(debug_assertions) && !$cond { if cfg!(debug_assertions) && !$cond {
$crate::log::debug!(concat!("Debug assertion failed: ", stringify!($cond))); $crate::util::permit_alloc(|| $crate::log::debug!(concat!("Debug assertion failed: ", stringify!($cond))));
} }
); );
($cond:expr, $format:expr $(, $($args:tt)*)?) => ( ($cond:expr, $format:expr $(, $($args:tt)*)?) => (
if cfg!(debug_assertions) && !$cond { if cfg!(debug_assertions) && !$cond {
$crate::log::debug!(concat!("Debug assertion failed: ", stringify!($cond), ", ", $format), $($($args)*)?); $crate::util::permit_alloc(|| $crate::log::debug!(concat!("Debug assertion failed: ", stringify!($cond), ", ", $format), $($($args)*)?));
} }
); );
} }
@ -48,12 +48,12 @@ macro_rules! nih_debug_assert {
macro_rules! nih_debug_assert_failure { macro_rules! nih_debug_assert_failure {
() => ( () => (
if cfg!(debug_assertions) { if cfg!(debug_assertions) {
$crate::log::debug!("Debug assertion failed"); $crate::util::permit_alloc(|| $crate::log::debug!("Debug assertion failed"));
} }
); );
($format:expr $(, $($args:tt)*)?) => ( ($format:expr $(, $($args:tt)*)?) => (
if cfg!(debug_assertions) { if cfg!(debug_assertions) {
$crate::log::debug!(concat!("Debug assertion failed: ", $format), $($($args)*)?); $crate::util::permit_alloc(|| $crate::log::debug!(concat!("Debug assertion failed: ", $format), $($($args)*)?));
} }
); );
} }
@ -64,12 +64,12 @@ macro_rules! nih_debug_assert_failure {
macro_rules! nih_debug_assert_eq { macro_rules! nih_debug_assert_eq {
($left:expr, $right:expr $(,)?) => ( ($left:expr, $right:expr $(,)?) => (
if cfg!(debug_assertions) && $left != $right { if cfg!(debug_assertions) && $left != $right {
$crate::log::debug!(concat!("Debug assertion failed: ", stringify!($left), " != ", stringify!($right))); $crate::util::permit_alloc(|| $crate::log::debug!(concat!("Debug assertion failed: ", stringify!($left), " != ", stringify!($right))));
} }
); );
($left:expr, $right:expr, $format:expr $(, $($args:tt)*)?) => ( ($left:expr, $right:expr, $format:expr $(, $($args:tt)*)?) => (
if cfg!(debug_assertions) && $left != $right { if cfg!(debug_assertions) && $left != $right {
$crate::log::debug!(concat!("Debug assertion failed: ", stringify!($left), " != ", stringify!($right), ", ", $format), $($($args)*)?); $crate::util::permit_alloc(|| $crate::log::debug!(concat!("Debug assertion failed: ", stringify!($left), " != ", stringify!($right), ", ", $format), $($($args)*)?));
} }
); );
} }
@ -80,12 +80,12 @@ macro_rules! nih_debug_assert_eq {
macro_rules! nih_debug_assert_ne { macro_rules! nih_debug_assert_ne {
($left:expr, $right:expr $(,)?) => ( ($left:expr, $right:expr $(,)?) => (
if cfg!(debug_assertions) && $left == $right { if cfg!(debug_assertions) && $left == $right {
$crate::log::debug!(concat!("Debug assertion failed: ", stringify!($left), " == ", stringify!($right))); $crate::util::permit_alloc(|| $crate::log::debug!(concat!("Debug assertion failed: ", stringify!($left), " == ", stringify!($right))));
} }
); );
($left:expr, $right:expr, $format:expr $(, $($args:tt)*)?) => ( ($left:expr, $right:expr, $format:expr $(, $($args:tt)*)?) => (
if cfg!(debug_assertions) && $left == $right { if cfg!(debug_assertions) && $left == $right {
$crate::log::debug!(concat!("Debug assertion failed: ", stringify!($left), " == ", stringify!($right), ", ", $format), $($($args)*)?); $crate::util::permit_alloc(|| $crate::log::debug!(concat!("Debug assertion failed: ", stringify!($left), " == ", stringify!($right), ", ", $format), $($($args)*)?));
} }
); );
} }