diff options
author | Phil Edwards <pme@gcc.gnu.org> | 2003-02-20 00:11:43 +0000 |
---|---|---|
committer | Phil Edwards <pme@gcc.gnu.org> | 2003-02-20 00:11:43 +0000 |
commit | 41662dbb4e25ef5e9d1a272dc7f401c56dfe6fe3 (patch) | |
tree | c72dcc546d3cafe8c4ac8adad9e544eb18ab6f38 | |
parent | 274aef32d98ae86d38243f785226d3f261f14a4a (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_alloc.h | 9 |
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); } }; |