aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/src
diff options
context:
space:
mode:
authorPaolo Carlini <paolo@gcc.gnu.org>2010-09-29 11:56:34 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2010-09-29 11:56:34 +0000
commitb8b4301eecf88d5f727f729a479b8020afe60fdc (patch)
tree83bdb10f8d357c1745bb3b46f210b83062e71171 /libstdc++-v3/src
parent38df2baf3f40af1c1af065993cf86e0254b765df (diff)
downloadgcc-b8b4301eecf88d5f727f729a479b8020afe60fdc.tar.gz
gcc-b8b4301eecf88d5f727f729a479b8020afe60fdc.tar.bz2
gcc-b8b4301eecf88d5f727f729a479b8020afe60fdc.zip
[multiple changes]
2010-09-29 Paolo Carlini <paolo.carlini@oracle.com> * include/Makefile.am: Add debug/forward_list. * include/Makefile.in: Regenerate. * testsuite/util/testsuite_container_traits.h (traits_base): Add has_erase_after and hash_insert_after typedefs. (traits<forward_list<>>): Adjust. * testsuite/util/exception/safety.h (erase_point, erase_range, insert_point): Deal correctly with forward_list. * include/Makefile.am: Add. 2010-09-29 François Dumont <francois.cppdevs@free.fr> * src/debug.cc: Add forward_list specific debug messages. * include/debug/forward_list: New. * include/debug/formatter.h: Add debug message ids and before begin iterator state. * include/debug/macros.h (__glibcxx_check_insert_after, __glibcxx_check_insert_range_after, __glibcxx_check_erase_after, __glibcxx_check_erase_range_after): Add. * include/debug/safe_iterator.h (_BeforeBeginHelper): Add. (_Safe_iterator<>::_M_before_dereferenceable, _Safe_iterator<>::_M_is_before_begin): Add. (_Safe_iterator<>::_M_dereferenceable, _Safe_iterator<>::_M_is_end, _Safe_iterator<>::_M_incrementable): Adjust. * include/std/forward_list: Include debug/forward when _GLIBCXX_DEBUG defined. * include/bits/forward_list.h, forward_list.tcc: Put in std::__norm when debug mode is active. * testsuite/23_containers/forward_list/capacity/1.cc: Fix to compile even in debug mode. * testsuite/23_containers/forward_list/debug/erase_after1.cc, erase_after2.cc, erase_after3.cc, erase_after4.cc, erase_after5.cc, insert_after1.cc,erase_after6.cc, erase_after7.cc, insert_after2.cc, erase_after8.cc, insert_after3.cc, erase_after9.cc: New. From-SVN: r164717
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r--libstdc++-v3/src/debug.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/libstdc++-v3/src/debug.cc b/libstdc++-v3/src/debug.cc
index bb0aebe433a..3deb527568b 100644
--- a/libstdc++-v3/src/debug.cc
+++ b/libstdc++-v3/src/debug.cc
@@ -1,6 +1,6 @@
// Debugging mode support code -*- C++ -*-
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -105,7 +105,12 @@ namespace __gnu_debug
"attempt to output via an ostream_iterator with no associated stream",
"attempt to dereference an end-of-stream istreambuf_iterator"
" (this is a GNU extension)",
- "attempt to increment an end-of-stream istreambuf_iterator"
+ "attempt to increment an end-of-stream istreambuf_iterator",
+ "attempt to insert into container after an end iterator",
+ "attempt to erase from container after a %2.state; iterator not followed"
+ " by a dereferenceable one",
+ "function requires a valid iterator range (%1.name;, %2.name;)"
+ ", %1.name; shall not be equal to %2.name;"
};
void
@@ -325,7 +330,8 @@ namespace __gnu_debug
"singular",
"dereferenceable (start-of-sequence)",
"dereferenceable",
- "past-the-end"
+ "past-the-end",
+ "before begin"
};
__formatter->_M_print_word(__state_names[_M_variant.
_M_iterator._M_state]);