mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-09-06 09:04:55 +00:00
Revert "std-aux: drop assertion and function name from assert() in release mode"
glibc defines __assert_fail as: extern void __assert_fail (const char *__assertion, const char *__file, unsigned int __line, const char *__function) __THROW __attribute__ ((__noreturn__)); but musl as: _Noreturn void __assert_fail (const char *, const char *, int, const char *); (note the difference in the type for the line argument). This cannot be made to work, unless we would detect the used type at configure time, which seems too much effort. Drop this again. This reverts commit1ce29e120b
. Fixes:1ce29e120b
('std-aux: drop assertion and function name from assert() in release mode')
This commit is contained in:
parent
861fc6854c
commit
a29eb970c8
|
@ -219,25 +219,6 @@ typedef uint64_t _nm_bitwise nm_be64_t;
|
|||
#define NM_MORE_ASSERTS 0
|
||||
#endif
|
||||
|
||||
#if NM_MORE_ASSERTS == 0
|
||||
/* The string with the assertion check and the function name blows up the
|
||||
* binary size. In production mode, let's drop those, similar to
|
||||
* g_assertion_message_expr.
|
||||
*
|
||||
* Note that <assert.h> can be included multiple times. We can thus
|
||||
* not redefine __assert_fail(...). Instead, just redefine the name
|
||||
* __assert_fail. */
|
||||
_nm_noreturn static inline void
|
||||
_nm_assert_fail_internal(const char *assertion,
|
||||
const char *file,
|
||||
unsigned int line,
|
||||
const char *function)
|
||||
{
|
||||
__assert_fail("<dropped>", file, line, "<unknown-fcn>");
|
||||
}
|
||||
#define __assert_fail _nm_assert_fail_internal
|
||||
#endif
|
||||
|
||||
#ifndef NDEBUG
|
||||
#define _NM_ASSERT_FAIL_ENABLED 1
|
||||
#define _nm_assert_fail(msg) __assert_fail((msg), __FILE__, __LINE__, __func__)
|
||||
|
|
Loading…
Reference in a new issue