packaging: remove nis/ nss
[platform/upstream/glibc.git] / include / assert.h
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