1 #include <assert/assert.h>
4 /* This prints an "Assertion failed" message and aborts.
5 In installed assert.h this is only conditionally declared,
6 so it has to be repeated here. */
7 extern void __assert_fail (const char *__assertion
, const char *__file
,
8 unsigned int __line
, const char *__function
)
9 __THROW
__attribute__ ((__noreturn__
));
11 /* Likewise, but prints the error text for ERRNUM. */
12 extern void __assert_perror_fail (int __errnum
, const char *__file
,
14 const char *__function
)
15 __THROW
__attribute__ ((__noreturn__
));
17 /* The real implementation of the two functions above. */
18 extern void __assert_fail_base (const char *fmt
, const char *assertion
,
19 const char *file
, unsigned int line
,
21 __THROW
__attribute__ ((__noreturn__
)) attribute_hidden
;
23 # if IS_IN (libc) || (IS_IN (rtld) && !defined NO_RTLD_HIDDEN)
24 hidden_proto (__assert_fail
)
25 hidden_proto (__assert_perror_fail
)