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. */
7extern 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. */
12extern 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. */
18extern 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
23rtld_hidden_proto (__assert_fail)
24rtld_hidden_proto (__assert_perror_fail)
25libc_hidden_proto (__assert_perror_fail)
26
27
28# if IS_IN (libc)
29/* Redirect to the internal version which does not use stderr. */
30extern _Noreturn __typeof (__assert_fail) __libc_assert_fail attribute_hidden;
31# define __assert_fail __libc_assert_fail
32# endif
33#endif
34

source code of glibc/include/assert.h