aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Edwards <pme@gcc.gnu.org>2003-02-20 00:11:43 +0000
committerPhil Edwards <pme@gcc.gnu.org>2003-02-20 00:11:43 +0000
commit41662dbb4e25ef5e9d1a272dc7f401c56dfe6fe3 (patch)
treec72dcc546d3cafe8c4ac8adad9e544eb18ab6f38
parent274aef32d98ae86d38243f785226d3f261f14a4a (diff)
downloadgcc-41662dbb4e25ef5e9d1a272dc7f401c56dfe6fe3.zip
gcc-41662dbb4e25ef5e9d1a272dc7f401c56dfe6fe3.tar.gz
gcc-41662dbb4e25ef5e9d1a272dc7f401c56dfe6fe3.tar.bz2
re PR libstdc++/9582 (ODR violation in std::allocator)
2003-02-19 Phil Edwards <pme@gcc.gnu.org> PR libstdc++/9582 * include/bits/stl_alloc.h: Remove all traces of assert(). From-SVN: r63136
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/stl_alloc.h9
2 files changed, 8 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7860617..469f36d 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-19 Phil Edwards <pme@gcc.gnu.org>
+
+ PR libstdc++/9582
+ * include/bits/stl_alloc.h: Remove all traces of assert().
+
2003-02-18 Paolo Carlini <pcarlini@unitus.it>
* include/std/std_sstream.h (str()): the size of the
diff --git a/libstdc++-v3/include/bits/stl_alloc.h b/libstdc++-v3/include/bits/stl_alloc.h
index 92029ea..fae53bd 100644
--- a/libstdc++-v3/include/bits/stl_alloc.h
+++ b/libstdc++-v3/include/bits/stl_alloc.h
@@ -81,7 +81,6 @@
#include <cstddef>
#include <cstdlib>
#include <cstring>
-#include <cassert>
#include <bits/functexcept.h> // For __throw_bad_alloc
#include <bits/stl_threads.h>
@@ -217,10 +216,7 @@ namespace std
/**
* @if maint
* An adaptor for an underlying allocator (_Alloc) to check the size
- * arguments for debugging. Errors are reported using assert; these
- * checks can be disabled via NDEBUG, but the space penalty is still
- * paid, therefore it is far better to just use the underlying allocator
- * by itelf when no checking is desired.
+ * arguments for debugging.
*
* "There is some evidence that this can confuse Purify." - SGI comment
*
@@ -249,7 +245,8 @@ namespace std
deallocate(void* __p, size_t __n)
{
char* __real_p = (char*)__p - (int) _S_extra;
- assert(*(size_t*)__real_p == __n);
+ if (*(size_t*)__real_p != __n)
+ abort();
_Alloc::deallocate(__real_p, __n + (int) _S_extra);
}
};