/* Copyright (c) 2022 Nordic Semiconductor ASA * SPDX-License-Identifier: Apache-2.0 */ #include #if defined(CONFIG_BT_ASSERT_VERBOSE) #define BT_ASSERT_PRINT(test) __ASSERT_LOC(test) #define BT_ASSERT_PRINT_MSG(fmt, ...) __ASSERT_MSG_INFO(fmt, ##__VA_ARGS__) #else #define BT_ASSERT_PRINT(test) #define BT_ASSERT_PRINT_MSG(fmt, ...) #endif /* CONFIG_BT_ASSERT_VERBOSE */ #if defined(CONFIG_BT_ASSERT_PANIC) #define BT_ASSERT_DIE k_panic #else #define BT_ASSERT_DIE k_oops #endif /* CONFIG_BT_ASSERT_PANIC */ #if defined(CONFIG_BT_ASSERT) #define BT_ASSERT(cond) \ do { \ if (!(cond)) { \ BT_ASSERT_PRINT(cond); \ BT_ASSERT_DIE(); \ } \ } while (0) #define BT_ASSERT_MSG(cond, fmt, ...) \ do { \ if (!(cond)) { \ BT_ASSERT_PRINT(cond); \ BT_ASSERT_PRINT_MSG(fmt, ##__VA_ARGS__); \ BT_ASSERT_DIE(); \ } \ } while (0) #else #define BT_ASSERT(cond) __ASSERT_NO_MSG(cond) #define BT_ASSERT_MSG(cond, msg, ...) __ASSERT(cond, msg, ##__VA_ARGS__) #endif /* CONFIG_BT_ASSERT*/