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 # if IS_IN (libc) || (IS_IN (rtld) && !defined NO_RTLD_HIDDEN)
24 hidden_proto (__assert_fail)
25 hidden_proto (__assert_perror_fail)
26 # endif
27 #endif
28