update from main archive 961030
[kopensolaris-gnu/glibc.git] / assert / assert.h
index a45c871..c670a66 100644 (file)
@@ -1,23 +1,23 @@
-/* Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 92, 94, 95, 96 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
 
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
 
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
 
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
 /*
- *     ANSI Standard: 4.2 DIAGNOSTICS  <assert.h>
+ *     ISO C Standard: 4.2 DIAGNOSTICS <assert.h>
  */
 
 #ifdef _ASSERT_H
@@ -56,28 +56,31 @@ Cambridge, MA 02139, USA.  */
 __BEGIN_DECLS
 
 /* This prints an "Assertion failed" message and aborts.  */
-extern __NORETURN int __assert_fail __P ((__const char *__assertion,
-                                         __const char *__file,
-                                         unsigned int __line,
-                                         __const char *__function));
+extern void __assert_fail __P ((__const char *__assertion,
+                               __const char *__file,
+                               unsigned int __line,
+                               __const char *__function))
+     __attribute__ ((__noreturn__));
 
 /* Likewise, but prints the error text for ERRNUM.  */
-extern __NORETURN int __assert_perror_fail __P ((int __errnum,
-                                                __const char *__file,
-                                                unsigned int __line,
-                                                __const char *__function));
+extern void __assert_perror_fail __P ((int __errnum,
+                                      __const char *__file,
+                                      unsigned int __line,
+                                      __const char *__function))
+     __attribute__ ((__noreturn__));
 
 __END_DECLS
 
-#define        assert(expr)                                                          \
-  ((void) ((expr) || __assert_fail (__STRING(expr),                          \
-                                   __FILE__, __LINE__, __ASSERT_FUNCTION)))
+#define        assert(expr)                                                          \
+  ((void) ((expr) ||                                                         \
+          (__assert_fail (__STRING(expr),                                    \
+                          __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
 
 #ifdef __USE_GNU
 #define assert_perror(errnum)                                                \
-  ((void) ((errnum) && __assert_perror_fail ((errnum),                       \
-                                            __FILE__, __LINE__,              \
-                                            __ASSERT_FUNCTION)))
+  ((void) ((errnum) && (__assert_perror_fail ((errnum),                              \
+                                             __FILE__, __LINE__,             \
+                                             __ASSERT_FUNCTION), 0)))
 #endif
 
 /* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__'
@@ -92,4 +95,3 @@ __END_DECLS
 
 
 #endif /* NDEBUG.  */
-