PR libstdc++/20534 (contd)

2005-08-26  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/20534 (contd)
	* src/debug.cc (__gnu_debug): Remove __fancy_abort definition.
	Remove cstdio and cstdlib includes.
	* include/debug/debug.h: Define inline here. Remove
	_GLIBCXX_DEBUG_ABORT.
	* include/debug/macros.h: Remove __fancy_abort declaration,
	_GLIBXX_DEBUG_ABORT definition.
	* config/linker-map.gnu: Remove export.

From-SVN: r103535
This commit is contained in:
Benjamin Kosnik 2005-08-26 21:10:59 +00:00 committed by Benjamin Kosnik
parent 327d749cf8
commit 277d42e27f
5 changed files with 38 additions and 25 deletions

View File

@ -1,3 +1,14 @@
2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/20534 (contd)
* src/debug.cc (__gnu_debug): Remove __fancy_abort definition.
Remove cstdio and cstdlib includes.
* include/debug/debug.h: Define inline here. Remove
_GLIBCXX_DEBUG_ABORT.
* include/debug/macros.h: Remove __fancy_abort declaration,
_GLIBXX_DEBUG_ABORT definition.
* config/linker-map.gnu: Remove export.
2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
* scripts/check_compile (UNIQUE_ID): New. Use to name output files.

View File

@ -566,7 +566,6 @@ GLIBCXX_3.4.6 {
_ZNSt8ios_base17_M_call_callbacksENS_5eventE;
_ZNSt8ios_base20_M_dispose_callbacksEv;
_ZNSt6locale5facet13_S_get_c_nameEv;
_ZN11__gnu_debug13__fancy_abortEPKciS1_S1_;
_ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE9showmanycEv;

View File

@ -40,11 +40,35 @@
*/
#ifdef _GLIBCXX_DEBUG
# include <debug/macros.h>
# define _GLIBCXX_DEBUG_ASSERT(_Condition) _GLIBCXX_DEBUG_ABORT(_Condition)
# include <debug/macros.h>
# include <cstdlib>
# include <cstdio>
// Avoid the use of assert, because we're trying to keep the <cassert>
// include out of the mix.
namespace __gnu_debug
{
inline void
__replacement_assert(const char* __file, int __line, const char* __function,
const char* __condition)
{
std::printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line,
__function, __condition);
std::abort();
}
}
#define _GLIBCXX_DEBUG_ASSERT(_Condition) \
do { \
if (! (_Condition)) \
::__gnu_debug::__replacement_assert(__FILE__, __LINE__, \
__PRETTY_FUNCTION__, \
#_Condition); \
} while (false)
# ifdef _GLIBCXX_DEBUG_PEDANTIC
# define _GLIBCXX_DEBUG_PEDASSERT(_Condition) _GLIBCXX_DEBUG_ABORT(_Condition)
# define _GLIBCXX_DEBUG_PEDASSERT(_Condition) _GLIBCXX_DEBUG_ASSERT(_Condition)
# else
# define _GLIBCXX_DEBUG_PEDASSERT(_Condition)
# endif

View File

@ -40,16 +40,6 @@
* the user error and where the error is reported.
*
*/
namespace __gnu_debug
{ void __fancy_abort(const char*, int, const char*, const char*); }
#define _GLIBCXX_DEBUG_ABORT(_Condition) \
do { \
if (! (_Condition)) \
::__gnu_debug::__fancy_abort(__FILE__, __LINE__, \
__PRETTY_FUNCTION__, \
#_Condition); \
} while (false)
#define _GLIBCXX_DEBUG_VERIFY(_Condition,_ErrorMessage) \
do { \
if (! (_Condition)) \

View File

@ -32,10 +32,8 @@
#include <debug/safe_sequence.h>
#include <debug/safe_iterator.h>
#include <algorithm>
#include <cstdlib>
#include <cassert>
#include <cstring>
#include <cstdio>
#include <cctype>
#include <bits/concurrence.h>
@ -48,15 +46,6 @@ namespace __gnu_internal
namespace __gnu_debug
{
void
__fancy_abort(const char* __file, int __line, const char* __function,
const char* __condition)
{
printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line,
__function, __condition);
abort();
}
const char* _S_debug_messages[] =
{
"function requires a valid iterator range [%1.name;, %2.name;)",