diff options
Diffstat (limited to 'assert')
-rw-r--r-- | assert/assert.h | 24 |
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. */ |