1 | #include <assert/assert.h> |
2 | |
3 | #ifndef _ISOMAC |
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__)); |
10 | |
11 | /* Likewise, but prints the error text for ERRNUM. */ |
12 | extern void __assert_perror_fail (int __errnum, const char *__file, |
13 | unsigned int __line, |
14 | const char *__function) |
15 | __THROW __attribute__ ((__noreturn__)); |
16 | |
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, |
20 | const char *function) |
21 | __THROW __attribute__ ((__noreturn__)) attribute_hidden; |
22 | |
23 | rtld_hidden_proto (__assert_fail) |
24 | rtld_hidden_proto (__assert_perror_fail) |
25 | libc_hidden_proto (__assert_perror_fail) |
26 | |
27 | |
28 | # if IS_IN (libc) |
29 | /* Redirect to the internal version which does not use stderr. */ |
30 | extern _Noreturn __typeof (__assert_fail) __libc_assert_fail attribute_hidden; |
31 | # define __assert_fail __libc_assert_fail |
32 | # endif |
33 | #endif |
34 | |