about summary refs log tree commit diff
path: root/assert
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-05-18 08:37:39 +0000
committerUlrich Drepper <drepper@redhat.com>1999-05-18 08:37:39 +0000
commit05cc5bd9dca91dfad3eec076b1bfdfef868f0987 (patch)
tree4a8942bb0c29d63c99e0848686f89c7e23b3de9a /assert
parent73334e85faf2faf44479c4e5d8367d07cca7059f (diff)
downloadglibc-05cc5bd9dca91dfad3eec076b1bfdfef868f0987.tar.gz
glibc-05cc5bd9dca91dfad3eec076b1bfdfef868f0987.tar.xz
glibc-05cc5bd9dca91dfad3eec076b1bfdfef868f0987.zip
Update.
1999-05-04  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* argp/argp.h, assert/assert.h, misc/sys/cdefs.h,
	posix/sys/types.h: Handle the case of __GNUC__=3,
	__GNUC_MINOR__=(anything).
Diffstat (limited to 'assert')
-rw-r--r--assert/assert.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/assert/assert.h b/assert/assert.h
index ec54f64c05..bbff9417f4 100644
--- a/assert/assert.h
+++ b/assert/assert.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,94,95,96,97,98,99 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
@@ -87,13 +87,23 @@ __END_DECLS
 
 /* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__'
    which contains the name of the function currently being defined.
-   This is broken in G++ before version 2.6.  */
-# if (!defined __GNUC__ || __GNUC__ < 2 || \
-     __GNUC_MINOR__ < (defined __cplusplus ? 6 : 4))
-#  define __ASSERT_FUNCTION	((__const char *) 0)
-# else
 #  define __ASSERT_FUNCTION	__PRETTY_FUNCTION__
+   This is broken in G++ before version 2.6.
+   C9x has a similar variable called __func__, but prefer the GCC one since
+   it demangles C++ function names.  */
+# ifdef __GNUC__
+#  if __GNUC__ > 2 || (__GNUC__ == 2 \
+		       && __GNUC_MINOR__ >= (defined __cplusplus ? 6 : 4))
+#   define __ASSERT_FUNCTION	__PRETTY_FUNCTION__
+#  else
+#   define __ASSERT_FUNCTION	((__const char *) 0)
+#  endif
+# else
+#  if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#   define __ASSERT_FUNCTION	__func__
+#  else
+#   define __ASSERT_FUNCTION	((__const char *) 0)
+#  endif
 # endif
 
-
 #endif /* NDEBUG.  */