mirror of
https://github.com/openRuyi-Project/gcc.git
synced 2026-09-06 22:11:37 +00:00
master
67
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
254a858ae7 | Update copyright years. | ||
|
|
2fd6f42c17 |
libstdc++: Make debug iterator pointer sequence const [PR116369]
In revision
|
||
|
|
6441eb6dc0 | Update copyright years. | ||
|
|
17db5742a5 |
libstdc++: Add cold attribute to assertion failure functions [PR117650]
This helps the compiler to split the cold path into a separate clone, so that the hot path is a smaller function that uses less icache, and the cold path is only fetched into the icache if actually executed. libstdc++-v3/ChangeLog: PR libstdc++/117650 * include/bits/c++config (__glibcxx_assert_fail): Add cold attribute. * include/debug/formatter.h (_Error_formatter::_M_error): Likewise. |
||
|
|
a945c346f5 | Update copyright years. | ||
|
|
83ffe9cde7 | Update copyright years. | ||
|
|
3ad0f470c1 |
libstdc++: Pass error handler to libbacktrace functions
Also pass threaded=1 to __glibcxx_backtrace_create_state and remove some of the namespace scope declarations in the header. Co-authored-by: François Dumont <frs.dumont@gmail.com> libstdc++-v3/ChangeLog: * include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE] (_Error_formatter::_Error_formatter): Pass error handler to __glibcxx_backtrace_create_state. Pass 1 for threaded argument. (_Error_formatter::_S_err): Define empty function. * src/c++11/debug.cc (_Error_formatter::_M_error): Pass error handler to __glibcxx_backtrace_full. |
||
|
|
5ad435f2a0 |
libstdc++: Do not use nullptr in C++03-compatible code
This has to be valid as C++98/C++03. libstdc++-v3/ChangeLog: * include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE] (_Error_formatter): Use 0 as null pointer constant. |
||
|
|
4d5660907c |
libstdc++: [_GLIBCXX_DEBUG] Add backtrace generation on demand
Add _GLIBCXX_DEBUG_BACKTRACE macro to activate backtrace generation on _GLIBCXX_DEBUG assertions. Prerequisite is to have configure the lib with: --enable-libstdcxx-backtrace=yes libstdc++-v3/ChangeLog: * include/debug/formatter.h [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_state): Declare. [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_create_state): Declare. [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_callback): Define. [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_error_callback): Define. [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_func): Define. [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full): Declare. [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_state): New. [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_full): New. * src/c++11/debug.cc [_GLIBCXX_HAVE_STACKTRACE](print_backtrace): New. (_Error_formatter::_M_error()): Adapt. * src/libbacktrace/Makefile.am: Add backtrace.c. * src/libbacktrace/Makefile.in: Regenerate. * src/libbacktrace/backtrace-rename.h (backtrace_full): New. * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: New test. * doc/xml/manual/debug_mode.xml: Document _GLIBCXX_DEBUG_BACKTRACE. * doc/xml/manual/using.xml: Likewise. |
||
|
|
01b1afdc35 |
libstdc++: [_GLIBCXX_DEBUG] Do not consider detached iterators as value-initialized
An attach iterator has its _M_version set to something != 0, the container version. This value shall be preserved when detaching it so that the iterator does not look like a value-initialized one. libstdc++-v3/ChangeLog: * include/debug/formatter.h (__singular_value_init): New _Iterator_state enum entry. (_Parameter<>(const _Safe_iterator<>&, const char*, _Is_iterator)): Check if iterator parameter is value-initialized. (_Parameter<>(const _Safe_local_iterator<>&, const char*, _Is_iterator)): Likewise. * include/debug/safe_iterator.h (_Safe_iterator<>::_M_value_initialized()): New. Adapt checks. * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_M_value_initialized()): New. Adapt checks. * src/c++11/debug.cc (_Safe_iterator_base::_M_reset): Do not reset _M_version. (print_field(PrintContext&, const _Parameter&, const char*)): Adapt state_names. * testsuite/23_containers/deque/debug/iterator1_neg.cc: New test. * testsuite/23_containers/deque/debug/iterator2_neg.cc: New test. * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: New test. * testsuite/23_containers/forward_list/debug/iterator2_neg.cc: New test. * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: New test. |
||
|
|
7adcbafe45 | Update copyright years. | ||
|
|
a42220f016 |
libstdc++: [_GLIBCXX_DEBUG] Enhance rendering of assert message
Avoid building an intermediate buffer to print to stderr, push directly to stderr. libstdc++-v3/ChangeLog: * include/debug/formatter.h (_Error_formatter::_Parameter::_Named): New. (_Error_formatter::_Parameter::_Type): Inherit latter. (_Error_formatter::_Parameter::_M_integer): Likewise. (_Error_formatter::_Parameter::_M_string): Likewise. * src/c++11/debug.cc: Include <cstring>. (_Print_func_t): New. (print_raw(PrintContext&, const char*, ptrdiff_t)): New. (print_word): Use '%.*s' format in fprintf to render only expected number of chars. (pretty_print(PrintContext&, const char*, _Print_func_t)): New. (print_type): Rename in... (print_type_info): ...this. Use pretty_print. (print_address, print_integer): New. (print_named_name, print_iterator_constness, print_iterator_state): New. (print_iterator_seq_type): New. (print_named_field, print_type_field, print_instance_field, print_iterator_field): New. (print_field): Use latters. (print_quoted_named_name, print_type_type, print_type, print_instance): New. (print_string(PrintContext&, const char*, const _Parameter*, size_t)): Change signature to... (print_string(PrintContext&, const char*, ptrdiff_t, const _Parameter*, size_t)): ...this and adapt. Remove intermediate buffer to render input string. (print_string(PrintContext&, const char*, ptrdiff_t)): New. |
||
|
|
99dee82307 | Update copyright years. | ||
|
|
38b17c27ce |
libstdc++: Make _GLIBCXX_DEBUG checks constexpr compatible
libstdc++-v3/ChangeLog: * include/debug/assertions.h (__glibcxx_requires_non_empty_range): Remove __builtin_expect. (__glibcxx_requires_subscript): Likewise. (__glibcxx_requires_nonempty): Likewise. * include/debug/formatter.h (__check_singular): Add C++11 constexpr qualification. * include/debug/helper_functions.h (__check_singular): Likewise. Skip check if constant evaluated. (__valid_range): Do not skip check if constant evaluated. * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Add __builtin_expect. (_GLIBCXX_DEBUG_VERIFY_AT_F): Use __glibcxx_assert_1. * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: New test. * testsuite/21_strings/basic_string_view/element_access/char/constexpr.cc: New test. * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: New test. * testsuite/21_strings/basic_string_view/element_access/char/front_back_constexpr.cc: New test. * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: New test. * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: New test. * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr.cc: New test. * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: New test. * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: New test. * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: New test. * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: New test. * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: New test. * testsuite/25_algorithms/lower_bound/debug/partitioned_neg.cc: New test. * testsuite/25_algorithms/lower_bound/debug/partitioned_pred_neg.cc: New test. * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: New test. * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: New test. * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: New test. * testsuite/25_algorithms/upper_bound/debug/partitioned_neg.cc: New test. * testsuite/25_algorithms/upper_bound/debug/partitioned_pred_neg.cc: New test. |
||
|
|
c2fb0a1a2e |
libstdc++: Make self-move well-defined for containers [PR 85828]
The C++ LWG recently confirmed that self-move assignment should not have undefined behaviour for standard containers (see the proposed resolution of LWG 2839). The result should be a valid but unspecified value, just like other times when a container is moved from. Our std::list, std::__cxx11::basic_string and unordered containers all have bugs which result in undefined behaviour. For std::list the problem is that we clear the previous contents using _M_clear() instead of clear(). This means the _M_next, _M_prev and _M_size members are not zeroed, and so after we "update" them (with their existing values), we are left with dangling pointers and a non-zero size, but no elements. For the unordered containers the problem is similar. _Hashtable first deallocates the existing contents, then takes ownership of the pointers from the RHS object (which has just had its contents deallocated so the pointers are dangling). For std::basic_string it's a little more subtle. When the string is local (i.e. fits in the SSO buffer) we use char_traits::copy to copy the contents from this->data() to __rhs.data(). When &__rhs == this that copy violates the precondition that the ranges don't overlap. We only need to check for self-move for this case where it's local, because the only other case that can be true for self-move is that it's non-local but the allocators compare equal. In that case the data pointer is neither deallocated nor leaked, so the result is well-defined. This patch also makes a small optimization for std::deque move assignment, to use the efficient move when is_always_equal is false, but the allocators compare equal at runtime. Finally, we need to remove all the Debug Mode checks which abort the program when a self-move is detected, because it's not undefined to do that. Before PR 85828 can be closed we should also look into fixing std::shuffle so it doesn't do any redundant self-swaps. libstdc++-v3/ChangeLog: PR libstdc++/85828 * include/bits/basic_string.h (operator=(basic_string&&)): Check for self-move before copying with char_traits::copy. * include/bits/hashtable.h (operator=(_Hashtable&&)): Check for self-move. * include/bits/stl_deque.h (_M_move_assign1(deque&&, false_type)): Check for equal allocators. * include/bits/stl_list.h (_M_move_assign(list&&, true_type)): Call clear() instead of _M_clear(). * include/debug/formatter.h (__msg_self_move_assign): Change comment. * include/debug/macros.h (__glibcxx_check_self_move_assign): (_GLIBCXX_DEBUG_VERIFY): Remove. * include/debug/safe_container.h (operator=(_Safe_container&&)): Remove assertion check for safe move and make it well-defined. * include/debug/safe_iterator.h (operator=(_Safe_iterator&&)): Remove assertion check for self-move. * include/debug/safe_local_iterator.h (operator=(_Safe_local_iterator&&)): Likewise. * testsuite/21_strings/basic_string/cons/char/self_move.cc: New test. * testsuite/23_containers/deque/cons/self_move.cc: New test. * testsuite/23_containers/forward_list/cons/self_move.cc: New test. * testsuite/23_containers/list/cons/self_move.cc: New test. * testsuite/23_containers/set/cons/self_move.cc: New test. * testsuite/23_containers/unordered_set/cons/self_move.cc: New test. * testsuite/23_containers/vector/cons/self_move.cc: New test. |
||
|
|
a2c0fa35d0 |
libstdc++: Fix redundant assignment (PR 94629)
This appears to be a copy&paste error, which cppcheck diagnoses. PR other/94629 * include/debug/formatter.h (_Error_formatter::_Parameter): Fix redundant assignment in constructor. |
||
|
|
8d9254fc8a |
Update copyright years.
From-SVN: r279813 |
||
|
|
a554497024 |
Update copyright years.
From-SVN: r267494 |
||
|
|
e9afbed0d6 |
re PR libstdc++/68222 (_Safe_iterator provides operators the wrapped iterator can't actually support)
2018-08-22 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/68222 * include/debug/safe_iterator.h (_Safe_iterator<_It, _Sq, _Cat>): Add category template parameter. (_Safe_iterator<>::_Const_iterator): Remove. (_Safe_iterator<>::_IsConstant): New. (_Safe_iterator<>::_OtherIterator): New. (_Safe_iterator<_It, _Sq, _Cat>::_Safe_iterator<_MutIte>( const _Safe_iterator<_MutIte, _Sq, _Cat>&)): Add _IsConstant::__value in __gnu_cxx::__enable_if condition. (_Safe_iterator<_It, _Sq, _Cat>::_M_get_distance_to): New. (_Safe_iterator<_It, _Sq, _Cat>::_M_get_distance_from_begin): New. (_Safe_iterator<_It, _Sq, _Cat>::_M_get_distance_to_end): New. (_Safe_iterator<_It, _Sq, std::bidirectional_iterator_tag>): New. (_Safe_iterator<_It, _Sq, _Cat>::operator--()): Move... (_Safe_iterator<_It, _Sq, std::bidirectional_iterator_tag> ::operator--()): ...here. (_Safe_iterator<_It, _Sq, _Cat>::operator--(int)): Move... (_Safe_iterator<_It, _Sq, std::bidirectional_iterator_tag> ::operator--(int)): ...here. (_Safe_iterator<_It, _Sq, _Cat>::_M_decrementable()): Move... (_Safe_iterator<_It, _Sq, std::bidirectional_iterator_tag> ::_M_decrementable()): ...here. (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag>): New. (_Safe_iterator<_It, _Sq, _Cat>::operator[](const difference_type&)): Move... (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag> ::operator[](const difference_type&)): ...here. (_Safe_iterator<_It, _Sq, _Cat>::operator+=(const difference_type&)): Move... (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag> ::operator+=(const difference_type&)): ...here. (_Safe_iterator<_It, _Sq, _Cat>::operator+(const difference_type&)): Move... (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag> ::operator+(const difference_type&)): ...here. (_Safe_iterator<_It, _Sq, _Cat>::operator-=(const difference_type&)): Move... (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag> ::operator-=(const difference_type&)): ...here. (_Safe_iterator<_It, _Sq, _Cat>::operator-(const difference_type&)): Move... (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag> ::operator-(const difference_type&)): ...here. (operator<(const _Safe_iterator<>&, const _Safe_iterator<>&)): Constraint to random access iterators. (operator<=(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator>(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator>=(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator-(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator+(const difference_type&, const _Safe_iterator<>&)): Likewise. (__check_dereferenceable(const _Safe_iterator<>&)): Remove. (__get_distance): Remove. (__get_distance_from_begin): Remove. (__get_distance_to_end): Remove. (struct __is_safe_random_iterator<_Safe_iterator<>>): Remove partial specialization. (__base(const _Safe_iterator<>&, std::input_iterator_tag)): Remove. (__base(const _Safe_iterator<>&, std::random_access_iterator_tag)): Remove. (__base(const _Safe_iterator<>&)): Constraint to random access iterator. * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_get_distance_from_begin()): New. (_Safe_iterator<>::_M_get_distance_to_end()): New. (_Safe_iterator<>::_M_get_distance_to(const _Safe_iterator<>&)): New. (_Safe_iterator<_It, _Seq, std::random_access_iterator_tag> ::_M_valid_range): New. * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Const_local_iterator): Remove. (_Safe_local_iterator<>::_IsConstant): New. (_Safe_local_iterator<>::_OtherIterator): New. (_Safe_local_iterator<_It, _Cont>::_Safe_local_iterator<_MutIte, _Cont>( const _Safe_local_iterator<_MutIte, _Seq>&)): Add _IsConstant::__value in __gnu_cxx::__enable_if condition. If singular compare base iterator with _MutIte rather than _It. (_Safe_local_iterator<>::_S_constant): Make constexpr. (_Safe_local_iterator<>::_M_get_distance_to): New. (__check_dereferenceable(const _Safe_local_iterator<>&)): Remove. (__get_distance(const _Safe_local_iterator<>&, const _Safe_local_iterator<>&, std::input_iterator_tag)): Remove. (__valid_range(const _Safe_local_iterator<>&, const _Safe_local_iterator<>&)): New. * include/debug/safe_local_iterator.tcc (_Safe_local_iterator<>::_M_get_distance_to): New. * include/debug/deque (std::__debug::deque<>): Add ::__gnu_debug::_Safe_iterator<> friend declaration. * include/debug/forward_list (std::__debug::forward_list<>): Likewise. * include/debug/list (std::__debug::list<>): Likewise. * include/debug/map.h (std::__debug::map<>): Likewise. * include/debug/multimap.h (std::__debug::multimap<>): Likewise. * include/debug/set.h (std::__debug::set<>): Likewise. * include/debug/multiset.h (std::__debug::multiset<>): Likewise. * include/debug/string (std::__debug::basic_string<>): Likewise. * include/debug/unordered_map (std::__debug::unordered_map<>): Likewise and add ::__gnu_debug::_Safe_local_iterator<> friend declaration. (std::__debug::unordered_multimap<>): Likewise. * include/debug/unordered_set (std::__debug::unordered_set<>): Likewise. (std::__debug::unordered_multiset<>): Likewise. * include/debug/formatter.h: Adapt. * include/debug/helper_functions.h (__gnu_debug::_Safe_local_iterator<>): Add declaration. (__get_distance<_Ite>(_Ite, _Ite, std::random_access_iterator_tag): Pass parameter by copy. (__get_distance<_Ite>(_Ite, _Ite, std::input_iterator_tag): Likewise. (__get_distance<_Ite>(_Ite, _Ite): Likewise. (__valid_range_aux<_Integral>): Pass _Integral by copy. (__valid_range<_InputIterator>): Pass _InputIterator by copy. (__valid_range<>(const _Safe_iterator<>&, const _Safe_iterator<>&, typename _Distance_traits<>::__type&)): Declare. (__valid_range(const _Safe_local_iterator<>&, const _Safe_local_iterator<>&, typename _Distance_traits<>::__type&)): Declare. (__valid_range<>(const _Safe_iterator<>&, const _Safe_iterator<>&)): Declare. (__valid_range(const _Safe_local_iterator<>&, const _Safe_local_iterator<>&)): Declare. (__can_advance): Adapt. (struct __is_safe_random_iterator<>): Remove. (struct _SIter_base<>): Remove. * include/debug/functions.h: Include <bits/stl_iterator.h>. (__check_dereferenceable): Remove. (__foreign_iterator_aux4, __foreign_iterator_aux3): Adapt. (__foreign_iterator_aux2, __foreign_iterator_aux): Adapt. (__foreign_iterator): Adapt. * include/debug/stl_iterator.h (__is_safe_random_iterator<std::reverse_iterator<>>): Remove. (__base(const std::reverse_iterator<_Safe_iterator<_It, _Sq>)): Constraint for random access iterators. (__niter_base): Adapt. * testsuite/util/testsuite_containers.h: Include <bits/boost_concept_check.h>. (iterator_concept_checks<_It, _Mutable, _Category>): New. (citerator<_Cont>::forward_members::forward_members()): Instantiate latter for container iterator and const_iterator. * testsuite/23_containers/list/68222_neg.cc: New. * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: Adapt line number. * testsuite/23_containers/unordered_set/debug/debug_functions.cc: (test01): Remove. * testsuite/23_containers/vector/debug/debug_functions.cc (test01): Remove. From-SVN: r263786 |
||
|
|
6c882d0fdc |
safe_iterator.h (_Safe_iterator<>::_M_constant()): Rename in...
2018-05-09 François Dumont <fdumont@gcc.gnu.org> * include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()): Rename in... (_Safe_iterator<>::_S_constant()): ...that. * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_M_constant()): Rename in... (_Safe_local_iterator<>::_S_constant()): ...that. * include/debug/formatter.h: Remove bits/cpp_type_traits.h include. (_Iterator_state::__rbegin): New. (_Iterator_state::__rmiddle): New. (_Iterator_state::__rend): New. (_Parameter::_Parameter(const _Safe_iterator<>&, const char*, _Is_iterator)): Use _Safe_iterator<>::_S_constant. Grab normal underlying iterator type. (_Parameter::_Parameter(const _Safe_local_iterator<>&, const char*, _Is_iterator)): Likewise. (_Parameter::_S_reverse_state(_Iterator_state)): New. (_Parameter(__gnu_cxx::__normal_iterator<> const&, const char*, _Is_iterator)): New. (_Parameter(std::reverse_iterator<> const&, const char*, _Is_iterator)): New. (_Parameter(std::reverse_iterator<_Safe_iterator<>> const&, const char*, _Is_iterator)): New. (_Parameter(std::move_iterator<> const&, const char*, _Is_iterator): New. (_Parameter(std::move_iterator<_Safe_iterator<>> const&, const char*, _Is_iterator)): New. * testsuite/24_iterators/move_iterator/debug_neg.cc: New. * testsuite/24_iterators/normal_iterator/debug_neg.cc: New. * testsuite/24_iterators/reverse_iterator/debug_neg.cc: New. From-SVN: r260093 |
||
|
|
a5277405c8 |
formatter.h (_Error_formatter::_M_function): New.
2018-05-08 François Dumont <fdumont@gcc.gnu.org> * include/debug/formatter.h (_Error_formatter::_M_function): New. (_Error_formatter(const char*, unsigned int)): Adapt. (_Error_formatter::_M_at): Rename in... (_Error_formatter::_S_at): ...that and adapt. * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): New. (_GLIBCXX_DEBUG_VERIFY_AT, _GLIBCXX_DEBUG_VERIFY): Adapt. * src/c++11/debug.cc (_Error_formatter::_M_error): Render _M_function when available. From-SVN: r260052 |
||
|
|
85ec4feb11 |
Update copyright years.
From-SVN: r256169 |
||
|
|
dc4dd7f63f |
2017-05-11 François Dumont <fdumont@gcc.gnu.org>
* include/debug/formatter.h [_GLIBCXX_INLINE_VERSION] (__gnu_debug::_Error_formatter::_Parameter::_M_print_field): Remove. (__gnu_debug::_Error_formatter::_Parameter::_M_print_description): Remove. (__gnu_debug::_Error_formatter::_M_format_word): Remove. (__gnu_debug::_Error_formatter::_M_print_word): Remove. (__gnu_debug::_Error_formatter::_M_print_string): Remove. (__gnu_debug::_Error_formatter::_M_get_max_length): Remove. * src/c++11/debug.cc: Adapt. * config/abi/pre/gnu-versioned-namespace.ver: Adapt. From-SVN: r247925 |
||
|
|
cbe34bb5ed |
Update copyright years.
From-SVN: r243994 |
||
|
|
818ab71a41 |
Update copyright years.
From-SVN: r232055 |
||
|
|
814e52ca21 |
2015-09-17 François Dumont <fdumont@gcc.gnu.org>
* include/debug/formatter.h (_Error_formatter::_Parameter::_M_print_field): Deprecate. (_Error_formatter::_Parameter::_M_print_description): Likewise. (_Error_formatter::_M_format_word): Likewise. (_Error_formatter::_M_print_word): Likewise. (_Error_formatter::_M_print_string): Likewise. (_Error_formatter::_M_get_max_length): Likewise. (_Error_formatter::_M_max_length): Delete. (_Error_formatter::_M_indent): Likewise. (_Error_formatter::_M_column): Likewise. (_Error_formatter::_M_first_line): Likewise. (_Error_formatter::_M_wordwrap): Likewise. * src/c++11/debug.cc: Adapt. From-SVN: r227885 |
||
|
|
630a286ab6 |
re PR libstdc++/60519 (Debug mode should check comparators for irreflexivity)
2015-08-24 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/60519 * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry. * include/debug/functions.h (_Irreflexive_checker): New. (__is_irreflexive, __is_irreflexive_pred): New. * include/debug/macros.h (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New macros. (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New macros limited to post-C++11 mode. * include/debug/debug.h (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred): New macros, use latter. (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2): Likewise. * include/bits/stl_algo.h (partial_sort_copy): Add irreflexive debug check. (partial_sort_copy): Likewise. (lower_bound): Likewise. (upper_bound): Likewise. (equal_range): Likewise. (binary_search): Likewise. (inplace_merge): Likewise. (includes): Likewise. (next_permutation): Likewise. (prev_permutation): Likewise. (is_sorted_until): Likewise. (minmax_element): Likewise. (partial_sort): Likewise. (nth_element): Likewise. (sort): Likewise. (merge): Likewise. (stable_sort): Likewise. (set_union): Likewise. (set_intersection): Likewise. (set_difference): Likewise. (set_symmetric_difference): Likewise. (min_element): Likewise. (max_element): Likewise. * include/bits/stl_algobase.h (lower_bound): Likewise. (lexicographical_compare): Likewise. * include/bits/stl_heap.h (push_heap): Likewise. (pop_heap): Likewise. (make_heap): Likewise. (sort_heap): Likewise. (is_heap_until): Likewise. * testsuite/25_algorithms/lexicographical_compare/debug/ irreflexive_neg.cc: New. * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New. * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: New. From-SVN: r227189 |
||
|
|
25c65938c8 |
Revert my change to commit with PR reference again.
From-SVN: r227187 |
||
|
|
41e4e5edce |
formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry.
2015-08-24 François Dumont <fdumont@gcc.gnu.org> * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry. * include/debug/functions.h (_Irreflexive_checker): New. (__is_irreflexive, __is_irreflexive_pred): New. * include/debug/macros.h (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New macros. (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New macros limited to post-C++11 mode. * include/debug/debug.h (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred): New macros, use latter. (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2): Likewise. * include/bits/stl_algo.h (partial_sort_copy): Add irreflexive debug check. (partial_sort_copy): Likewise. (lower_bound): Likewise. (upper_bound): Likewise. (equal_range): Likewise. (binary_search): Likewise. (inplace_merge): Likewise. (includes): Likewise. (next_permutation): Likewise. (prev_permutation): Likewise. (is_sorted_until): Likewise. (minmax_element): Likewise. (partial_sort): Likewise. (nth_element): Likewise. (sort): Likewise. (merge): Likewise. (stable_sort): Likewise. (set_union): Likewise. (set_intersection): Likewise. (set_difference): Likewise. (set_symmetric_difference): Likewise. (min_element): Likewise. (max_element): Likewise. * include/bits/stl_algobase.h (lower_bound): Likewise. (lexicographical_compare): Likewise. * include/bits/stl_heap.h (push_heap): Likewise. (pop_heap): Likewise. (make_heap): Likewise. (sort_heap): Likewise. (is_heap_until): Likewise. * testsuite/25_algorithms/lexicographical_compare/debug/ irreflexive_neg.cc: New. * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New. * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: New. From-SVN: r227147 |
||
|
|
200fcd3398 |
list.tcc (list::operator=(const list&), [...]): Use __addressof instead of operator&.
* include/bits/list.tcc (list::operator=(const list&), list::merge): Use __addressof instead of operator&. (list::sort): Use array-to-pointer decay instead of operator&. * include/bits/stl_list.h (list::splice): Use __addressof instead of operator&. * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter): Likewise. * include/debug/functions.h (__check_singular): Likewise. * include/debug/list (list::splice, list::merge): Likewise. * testsuite/23_containers/list/modifiers/addressof.cc: New. From-SVN: r224539 |
||
|
|
adad2a7d90 |
2015-05-29 François Dumont fdumont@gcc.gnu.org>
* include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT, _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition... * include/debug/assertions.h: ...here, new. * include/debug/formatter.h (_Error_formatter::_Is_iterator_value_type): New. (_Error_formatter::_Is_instance): New. (_Error_formatter::_Parameter): Make public and not friend anymore. (_Error_formatter::_Parameter::__instance): New _M_kind enum entry. (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum entry. (_Error_formatter::_Parameter::_Type): New. (_Error_formatter::_Parameter::_Instance): New, inherit from latter. (union _Error_formatter::_Parameter::_M_variant): Reorganize. (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all overloads take iterator through a const reference. (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)): New. (_Parameter(const _Type&, const char*, _Is_instance)): New. (_Error_formatter::_M_print_type): Delete. (_Error_formatter::_M_iterator_value_type): New. (_Error_formatter::_M_instance): New. * include/Makefile.am: Add new above debug file. * include/Makefile.in: Regenerate. * include/debug/functions.h (__check_dereferenceable(const _Safe_iterator<>&), __valid_range(const _Safe_iterator<>&), __is_safe_random_iterator<_Safe_iterator<>>): Move... * include/debug/safe_iterator.h: ... here. Replace debug.h include with assertions.h. (__check_singular_aux): Move... * include/debug/safe_base.h: ... here. * include/debug/functions.h (__check_dereferenceable(const _Safe_local_iterator<>&), __valid_range(const _Safe_local_iterator<>&): Move... * include/debug/safe_local_iterator.h: ...here. * include/debug/safe_sequence.h: Replace debug.h with assertions.h. Remove _Safe_iterator declaration. * include/debug/safe_unordered_container.h: Replace debug.h with assertions.h. * include/debug/array: Replace safe_sequence.h include with formatter.h and macros.h. * include/debug/deque: Include functions.tcc. * include/debug/forward_list: Likewise. * include/debug/list: Likewise. * include/debug/string: Likewise. * include/debug/vector: Likewise. * include/bits/unique_ptr.h: Replace debug.h include with new assertions.h. * include/bits/stl_iterator_base_funcs.h: Likewise. * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust dg-error line number. * testsuite/23_containers/array/tuple_interface/ tuple_element_debug_neg.cc: Likewise. * src/c++11/debug.cc: Adapt. From-SVN: r223877 |
||
|
|
fa5cc2db54 |
formatter.h (_GLIBCXX_TYPEID): New macro to simplify usage of typeid.
2015-05-20 François Dumont <fdumont@gcc.gnu.org> * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify usage of typeid. (_Error_formatter::_M_print_type): New. * src/c++11/debug.cc (_Error_formatter::_Parameter::_M_print_field): Use latter. (_Error_formatter::_M_print_type): Implement latter using __cxaabiv1::__cxa_demangle to print demangled type name. From-SVN: r223455 |
||
|
|
5624e564d2 |
Update copyright years.
From-SVN: r219188 |
||
|
|
0f3d27f01a |
re PR libstdc++/64276 (would be better to use __cpp_exceptions rather than __EXCEPTIONS to determine whether exceptions are available)
PR libstdc++/64276 * doc/doxygen/user.cfg.in: Define __cpp_exceptions and __cpp_rtti. * doc/html/manual/using_exceptions.html: Regenerate. * doc/xml/manual/using_exceptions.xml: Use SD-6 feature-testing macros, __cpp_exceptions and __cpp_rtti, instead of __EXCEPTIONS and __GXX_RTTI. * include/bits/c++config: Likewise. * include/bits/locale_classes.tcc: Likewise. * include/bits/shared_ptr.h: Likewise. * include/bits/shared_ptr_base.h: Likewise. * include/debug/formatter.h: Likewise. * include/experimental/any: Likewise. * include/ext/rope: Likewise. * include/ext/ropeimpl.h: Likewise. * include/std/functional: Likewise. * include/tr1/functional: Likewise. * include/tr1/shared_ptr.h: Likewise. * libsupc++/eh_call.cc: Likewise. * libsupc++/eh_personality.cc: Likewise. * libsupc++/exception_defines.h: Likewise. * libsupc++/exception_ptr.h: Likewise. * libsupc++/guard.cc: Likewise. * libsupc++/pbase_type_info.cc: Likewise. * libsupc++/pointer_type_info.cc: Likewise. * libsupc++/vterminate.cc: Likewise. * src/c++11/thread.cc: Likewise. From-SVN: r218679 |
||
|
|
aa118a03c4 |
Update copyright years in libstdc++-v3/
From-SVN: r206301 |
||
|
|
3ff4317f1c |
formatter.h (__check_singular): Add const on iterator reference.
2013-10-25 François Dumont <fdumont@gcc.gnu.org> * include/debug/formatter.h (__check_singular): Add const on iterator reference. * include/debug/functions.h (__check_singular): Likewise. (__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete. (__check_dereferenceable(const _Ite&)): Add const on iterator reference. (__check_dereferenceable(const _Safe_local_iterator<>&)): New. * include/debug/safe_iterator.h (__check_singular_aux): Review comment. * testsuite/23_containers/vector/debug/debug_functions.cc: New. * testsuite/23_containers/unordered_set/debug/debug_functions.cc: New. From-SVN: r204075 |
||
|
|
5720787ada |
re PR libstdc++/57779 (vector insert fails to diagnose iterators pointing into *this in debug mode)
2013-08-01 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/57779 * include/debug/formatter.h (_Debug_msg_id): Add __msg_insert_itself_range entry. * include/debug/functions.h (_Insert_range_from_self_is_safe<>): New, indicate container types supporting self range insertion in GNU implementation. (__foreign_iterator): New, check if an iterator points to a given sequence. * include/debug/macros.h (__glibcxx_check_insert_range): Add check using __foreign_iterator. (__gibcxx_check_insert_range_after): Likewise. * include/debug/string (_Insert_range_from_self_is_safe<>): Partially specialized to mark __gnu_debug::basic_string<> as supporting self range insert. * include/debug/list (_Insert_range_from_self_is_safe<>): Partially specialized to mark std::list as supporting self range insert if _GLIBCXX_DEBUG_PEDANTIC is not defined. * include/debug/forward_list (_Insert_range_from_self_is_safe<>): Likewise. * src/c++11/debug.cc (_S_debug_messages): Add __msg_insert_itself_range_entry message. (_Error_formatter::_Parameter::_M_print_description): Display iterator sequence address rather than sequence address when the parameter type is an iterator. (_Error_formatter::_M_print_word): Enhance behavior when displaying a word with an appended '\n'. * testsuite/util/debug/checks.h (check_insert4<>): New. * testsuite/23_containers/deque/debug/insert5_neg.cc: New. * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise. * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: Likewise. From-SVN: r201416 |
||
|
|
405feeb871 |
Update copyright in libstdc++-v3.
From-SVN: r195701 |
||
|
|
e77c9aedcd |
forward_list: Update to meet allocator-aware requirements.
* include/profile/forward_list: Update to meet allocator-aware requirements. * include/debug/forward_list: Likewise. * include/debug/vector: Verify allocators are swapped or equal. * include/debug/macros.h (__glibcxx_check_equal_allocs): Define. * include/debug/formatter.h: Add new debug message. * src/c++11/debug.cc: Likewise. * testsuite/23_containers/forward_list/allocator/swap.cc: Do not swap containers with non-propagating, non-equal allocators. * testsuite/23_containers/vector/allocator/swap.cc: Likewise. From-SVN: r193186 |
||
|
|
14cbb5d84c |
formatter.h (_Debug_msg_id): Add __msg_valid_load_factor.
2012-10-18 François Dumont <fdumont@gcc.gnu.org> * include/debug/formatter.h (_Debug_msg_id): Add __msg_valid_load_factor. * include/debug/macros.h (__glibcxx_check_max_load_factor): New. * include/debug/unordered_set (unordered_set<>::max_load_factor(float)): Check max load factor is positive. (unordered_multiset<>::max_load_factor(float)): Likewise. * include/debug/unordered_map (unordered_map<>::max_load_factor(float)): Likewise. (unordered_multimap<>::max_load_factor(float)): Likewise. * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/ max_load_factor_neg.cc: New. * testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/ max_load_factor_neg.cc: New. From-SVN: r192575 |
||
|
|
7181e991b5 |
formatter.h (_Debug_msg_id): Add __msg_bucket_index_oob.
2012-10-16 François Dumont <fdumont@gcc.gnu.org> * include/debug/formatter.h (_Debug_msg_id): Add __msg_bucket_index_oob. * include/debug/macros.h (__glibcxx_check_bucket_index): New. * include/debug/unordered_set (unordered_set<>::begin(size_type)): Add check on bucket index. (unordered_set<>::begin(size_type) const): Likewise. (unordered_set<>::cbegin(size_type) const): Likewise. (unordered_set<>::end(size_type)): Likewise. (unordered_set<>::end(size_type) const): Likewise. (unordered_set<>::cend(size_type) const): Likewise. (unordered_set<>::bucket_size(size_type)): Likewise. (unordered_multiset<>::begin(size_type)): Likewise. (unordered_multiset<>::begin(size_type) const): Likewise. (unordered_multiset<>::cbegin(size_type) const): Likewise. (unordered_multiset<>::end(size_type)): Likewise. (unordered_multiset<>::end(size_type) const): Likewise. (unordered_multiset<>::cend(size_type) const): Likewise. (unordered_multiset<>::bucket_size(size_type)): Likewise. * include/debug/unordered_map (unordered_map<>::begin(size_type)): Likewise. (unordered_map<>::begin(size_type) const): Likewise. (unordered_map<>::cbegin(size_type) const): Likewise. (unordered_map<>::end(size_type)): Likewise. (unordered_map<>::end(size_type) const): Likewise. (unordered_map<>::cend(size_type) const): Likewise. (unordered_map<>::bucket_size(size_type)): Likewise. (unordered_multimap<>::begin(size_type)): Likewise. (unordered_multimap<>::begin(size_type) const): Likewise. (unordered_multimap<>::cbegin(size_type) const): Likewise. (unordered_multimap<>::end(size_type)): Likewise. (unordered_multimap<>::end(size_type) const): Likewise. (unordered_multimap<>::cend(size_type) const): Likewise. (unordered_multimap<>::bucket_size(size_type)): Likewise. * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc: New. * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: New. * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: New. * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: New. * testsuite/23_containers/unordered_map/debug/end1_neg.cc: New. * testsuite/23_containers/unordered_map/debug/end2_neg.cc: New. * testsuite/23_containers/unordered_map/debug/cend_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: New. * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc: New. * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: New. * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: New. * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: New. * testsuite/23_containers/unordered_set/debug/end1_neg.cc: New. * testsuite/23_containers/unordered_set/debug/end2_neg.cc: New. * testsuite/23_containers/unordered_set/debug/cend_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: New. From-SVN: r192512 |
||
|
|
739fd6a6b3 |
formatter.h (enum _Debug_msg_id): Add __msg_self_move_assign.
2012-03-09 Paolo Carlini <paolo.carlini@oracle.com> * include/debug/formatter.h (enum _Debug_msg_id): Add __msg_self_move_assign. * include/debug/macros.h (__glibcxx_check_self_move_assign): Add. * src/c++11/debug.cc (_S_debug_messages): Update. * include/debug/safe_iterator.h (_Safe_iterator<>::operator= (_Safe_iterator&&)): Add check for self move assignment. * include/debug/set.h: Likewise. * include/debug/unordered_map: Likewise. * include/debug/multiset.h: Likewise. * include/debug/forward_list: Likewise. * include/debug/unordered_set: Likewise. * include/debug/vector: Likewise. * include/debug/map.h: Likewise. * include/debug/deque: Likewise. * include/debug/string: Likewise. * include/debug/list: Likewise. * include/debug/multimap.h: Likewise. * testsuite/21_strings/debug/self_move_assign_neg.cc: New. * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/ self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/ self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/ iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc: Likewise. From-SVN: r185134 |
||
|
|
a8028a3ee8 |
macros.h (__glibcxx_check_non_empty_range): Define.
* include/debug/macros.h (__glibcxx_check_non_empty_range): Define. * include/debug/debug.h (__glibcxx_requires_non_empty_range): Define. * include/debug/formatter.h (__msg_non_empty_range): Add. * src/debug.cc: Message text for __msg_non_empty_range. * include/bits/stl_heap.h (pop_heap): Check for non-empty range. * testsuite/25_algorithms/pop_heap/empty_neg.cc: New. From-SVN: r181970 |
||
|
|
77e0bf4e07 |
safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators.
2011-07-19 François Dumont <francois.cppdevs@free.fr> * include/debug/safe_unordered_base.h, safe_unordered_sequence.h, safe_unordered_sequence.tcc, safe_local_iterator.h, safe_local_iterator.tcc: New, support for unordered sequence safe local iterators. * include/Makefile.am: Add previous files. * include/Makefile.in: Regenerate. * include/debug/unordered_map, unordered_set: Implement _Safe_unordered_sequence and expose _Safe_local_iterator. * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor _Safe_iterator::_M_get_distance static method to expose it as __get_distance function and use it in _Safe_local_iterator type. * include/debug/formatter.h: Add __msg_local_iter_compare_bad _Debug_msg_id enum entry to notify invalid comparison between local iterators from different buckets. Add _Parameter constructor from _Safe_local_iterator. * include/debug/functions.h: Add __valid_range overload for _Safe_local_iterator. * src/debug.cc: Add _Safe_unordered_sequence_base and _Safe_local_iterator_base methods implementations. * config/abi/pre/gnu.ver: Add export of some _Safe_unordered_sequence_base and _Safe_local_iterator_base methods. * testsuite/util/debug/checks.h: Add use_invalid_iterator function to simulate use of a singular iterator. * testsuite/util/debug/unordered_checks.h: New, several functions to simulate classic invalid usage of unordered sequence local iterators. * testsuite/23_containers/unordered_map/debug/ use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc, use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc, invalid_local_iterator_compare_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/ use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc, use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc, invalid_local_iterator_compare_neg.cc: New. * testsuite/23_containers/unordered_set/debug/ use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc, use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc, invalid_local_iterator_compare_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/ use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc, use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc, invalid_local_iterator_compare_neg.cc: New. From-SVN: r176487 |
||
|
|
d652f226fc |
Update Copyright years for files modified in 2010.
From-SVN: r168438 |
||
|
|
67c495be79 |
formatter.h (__truth): Remove, unused.
2010-11-18 Paolo Carlini <paolo.carlini@oracle.com> * include/debug/formatter.h (__truth): Remove, unused. (__is_same): Remove, include cpp_type_traits.h instead. (_Parameter::_Parameter(const _Safe_iterator<>&, const char*, _Is_iterator)): Adjust. * include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant): Likewise. From-SVN: r166900 |
||
|
|
b8b4301eec |
[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 |
||
|
|
1f5ca1a15c |
[multiple changes]
2010-08-29 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/23_containers/bitset/invalidation: Move... * testsuite/23_containers/bitset/debug/invalidation: ... here. * testsuite/23_containers/deque/invalidation: Move... * testsuite/23_containers/deque/debug/invalidation: ... here. * testsuite/23_containers/list/invalidation: Move... * testsuite/23_containers/list/debug/invalidation: ... here. * testsuite/23_containers/map/invalidation: Move... * testsuite/23_containers/map/debug/invalidation: ... here. * testsuite/23_containers/multimap/invalidation: Move... * testsuite/23_containers/multimap/debug/invalidation: ... here. * testsuite/23_containers/set/invalidation: Move... * testsuite/23_containers/set/debug/invalidation: ... here. * testsuite/23_containers/multiset/invalidation: Move... * testsuite/23_containers/multiset/debug/invalidation: ... here. * testsuite/23_containers/vector/invalidation: Move... * testsuite/23_containers/vector/debug/invalidation: ... here. 2010-08-29 François Dumont <francois.cppdevs@free.fr> * include/bits/stl_algobase.h (_Iter_base): Move... * include/bits/stl_iterator_base_types.h: ...here. * include/debug/functions.h (__check_valid_range, __check_string, __check_sorted): Fix to not depend on _GLIBCXX_DEBUG; include formatter.h and use formatting macros for a consistent debug result. * include/debug/formatter.h (__check_singular): Declare; do not include debug.h. * include/debug/debug.h: Do not include formatter.h. * include/debug/safe_iterator.h (_Safe_iterator::_Base_Iterator) rename to iterator_type. (__gnu_debug::__base): Add. * include/debug/set.h: Use everywhere __gnu_debug::__base once iterator range valided. * include/debug/unordered_map: Likewise. * include/debug/multiset.h: Likewise. * include/debug/vector: Likewise. * include/debug/unordered_set: Likewise. * include/debug/deque: Likewise. * include/debug/map.h: Likewise. * include/debug/string: Likewise. * include/debug/list: Likewise. * include/debug/multimap.h: Likewise. * testsuite/23_containers/util/debug/assign_neg.h: New test cases on debug checks performed on container assign operation. * testsuite/23_containers/util/debug/construct_neg.h: New test cases on debug checks on constructors. * testsuite/23_containers/util/debug/insert_neg.h: New test cases on debug checks performed on container insert operations. * testsuite/23_containers/unordered_map/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: New. * testsuite/23_containers/multimap/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/set/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/map/debug/cont_traits.h, debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/vector/debug/cont_traits.h, debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc, assign4_neg.cc, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/deque/debug/cont_traits.h, debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc, assign4_neg.cc, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/23_containers/list/debug/cont_traits.h, debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc, assign4_neg.cc, construct1_neg.cc, construct2_neg.cc, construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc, insert3_neg.cc, insert4_neg.cc: Likewise. * testsuite/performance/23_containers/range_construct/ list_construct1.cc: New, validate performance impact of the patch on the debug mode. * testsuite/performance/23_containers/range_construct/ list_construct2.cc: Likewise. * testsuite/performance/23_containers/range_construct/ vector_construct.cc: Likewise. * testsuite/performance/23_containers/range_construct/ deque_construct.cc: Likewise. From-SVN: r163628 |
||
|
|
8fc810787b |
c++config (std::size_t, [...]): Provide typedefs.
2010-06-03 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/c++config (std::size_t, std::ptrdiff_t, std::nullptr_t): Provide typedefs. * include/c_std/cstddef: Don't provide std::size_t and std::ptrdiff_t here. * include/c_global/cstddef: Likewise. * src/condition_variable.cc: Don't include <cstddef>, don't use NULL, use std::size_t and std::ptrdiff_t. * src/mt_allocator.cc: Likewise. * src/localename.cc: Likewise. * src/chrono.cc: Likewise. * src/thread.cc: Likewise. * include/debug/formatter.h: Likewise. * include/debug/functions.h: Likewise. * include/std/valarray: Likewise. * include/std/thread: Likewise. * include/std/type_traits: Likewise. * include/std/atomic: Likewise. * include/std/iterator: Likewise. * include/std/bitset: Likewise. * include/std/fstream: Likewise. * include/std/mutex: Likewise. * include/c_std/cstdlib: Likewise. * include/c_std/cstdio: Likewise. * include/c_std/ctime: Likewise. * include/c_std/cwchar: Likewise. * include/c_std/cstring: Likewise. * include/parallel/multiway_merge.h: Likewise. * include/parallel/multiseq_selection.h: Likewise. * include/parallel/base.h: Likewise. * include/parallel/basic_iterator.h: Likewise. * include/parallel/multiway_mergesort.h * include/parallel/partition.h: Likewise. * include/ext/string_conversions.h: Likewise. * include/ext/pb_ds/assoc_container.hpp: Likewise. * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Likewise. * include/ext/pb_ds/detail/resize_policy/ hash_prime_size_policy_imp.hpp: Likewise. * include/ext/pb_ds/detail/resize_policy/ sample_resize_policy.hpp: Likewise. * include/ext/pb_ds/detail/resize_policy/ sample_resize_trigger.hpp: Likewise. * include/ext/pb_ds/detail/binomial_heap_base_/ erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/binomial_heap_base_/ find_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/binomial_heap_base_/ insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/binomial_heap_base_/ constructors_destructor_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/binomial_heap_base_/ debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/binomial_heap_base_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ erase_store_hash_fn_imps.hpp: Likewise. * include/ext/pb_ds/d: Likewise.etail/cc_hash_table_map_/ insert_no_store_hash_fn_imps.hpp * include/ext/pb_ds/detail/cc_hash_table_map_/ cmp_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ find_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ insert_store_hash_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ info_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ entry_list_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ trace_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ cc_ht_map_.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ resize_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ constructor_destructor_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/cc_hash_table_map_/ erase_no_store_hash_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/unordered_iterator/ iterator.hpp: Likewise. * include/ext/pb_ds/detail/unordered_iterator/ const_iterator.hpp: Likewise. * include/ext/pb_ds/detail/unordered_iterator/ point_iterator.hpp: Likewise. * include/ext/pb_ds/detail/unordered_iterator/ const_point_iterator.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/ insert_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/ constructors_destructor_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/ const_child_iterator.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Likewise. * include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ find_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ r_erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ constructors_destructor_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ rotate_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ node_iterators.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ point_iterators.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/bin_search_tree_/ iterators_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/gp_hash_table_map_/ find_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/gp_hash_table_map_/ gp_ht_map_.hpp: Likewise. * include/ext/pb_ds/detail/gp_hash_table_map_/ resize_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/gp_hash_table_map_/ standard_policies.hpp: Likewise. * include/ext/pb_ds/detail/tree_policy/ sample_tree_node_update.hpp: Likewise. * include/ext/pb_ds/detail/basic_tree_policy/ null_node_metadata.hpp: Likewise. * include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Likewise. * include/ext/pb_ds/detail/binary_heap_/ const_point_iterator.hpp: Likewise. * include/ext/pb_ds/detail/binary_heap_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/trie_policy/ sample_trie_node_update.hpp: Likewise. * include/ext/pb_ds/detail/trie_policy/ sample_trie_e_access_traits.hpp: Likewise. * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/pairing_heap_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/list_update_policy/ counter_lu_metadata.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ trace_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ null_metadata.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ const_iterator.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ constructors_destructor_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ iterators_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/left_child_next_sibling_heap_/ const_point_iterator.hpp: Likewise. * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/thin_heap_/ constructors_destructor_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/thin_heap_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/ov_tree_map_/ constructors_destructor_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Likewise. * include/ext/pb_ds/detail/ov_tree_map_/ iterators_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Likewise. * include/ext/pb_ds/detail/hash_fn/ sample_ranged_probe_fn.hpp: Likewise. * include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Likewise. * include/ext/pb_ds/detail/hash_fn/ sample_ranged_hash_fn.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/list_update_map_/ trace_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/list_update_map_/ erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/list_update_map_/ find_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Likewise. * include/ext/pb_ds/detail/list_update_map_/ constructor_destructor_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/list_update_map_/ insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/list_update_map_/ info_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/list_update_map_/ iterators_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/rc_binomial_heap_/ erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/rc_binomial_heap_/ insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/rc_binomial_heap_/ debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/rb_tree_map_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Likewise. * include/ext/pb_ds/list_update_policy.hpp: Likewise. * include/ext/pb_ds/exception.hpp: Likewise. * include/ext/pb_ds/tree_policy.hpp: Likewise. * include/ext/pb_ds/tag_and_trait.hpp: Likewise. * include/ext/pb_ds/hash_policy.hpp: Likewise. * include/ext/pb_ds/trie_policy.hpp: Likewise. * include/ext/pb_ds/priority_queue.hpp: Likewise. * include/ext/throw_allocator.h: Likewis: Likewise.e. * include/ext/bitmap_allocator.h * include/ext/rc_string_base.h: Likewise. * include/ext/new_allocator.h: Likewise. * include/ext/codecvt_specializations.h: Likewise. * include/ext/functional: Likewise.: Likewise. * include/ext/array_allocator.h: Likewise. * include/ext/mt_allocator.h: Likewise. * include/ext/sso_string_base.h: Likewise. * include/profile/impl/profiler_trace.h: Likewise. * include/profile/impl/profiler_node.h: Likewise. * include/bits/stl_algobase.h: Likewise. * include/bits/functional_hash.h: Likewise. * include/bits/locale_facets.tcc: Likewise. * include/bits/locale_facets.h: Likewise. * include/bits/stl_iterator_base_types.h: Likewise. * include/bits/move.h: Likewise. * include/bits/boost_concept_check.h: Likewise. * include/bits/basic_string.tcc: Likewise. * include/bits/locale_facets_nonio.tcc: Likewise. * include/bits/fstream.tcc: Likewise. * include/bits/locale_facets_nonio.h: Likewise. * include/c_global/cstdlib: Likewise. * include/c_global/cstdio: Likewise. * include/c_global/ctime: Likewise. * include/c_global/cwchar: Likewise. * include/c_global/cstring * include/tr1/type_traits: Likewise. * include/backward/hash_fun.h: Likewise. * libsupc++/new: Likewise. * libsupc++/initializer_list: Likewise. * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise. * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc: Likewise. * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise. * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise. * testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise. * testsuite/27_io/basic_streambuf/sputc/char/1057.cc: Likewise. * testsuite/27_io/objects/wchar_t/5268.cc: Likewise. * testsuite/27_io/objects/char/9661-1.cc: Likewise. * testsuite/27_io/objects/char/5268.cc: Likewise. * testsuite/27_io/objects/char/10.cc: Likewise. * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise. * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise. * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise. * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise. * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputc/char/1057.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc: Likewise. * testsuite/27_io/basic_stringbuf/sputn/char/1057.cc: Likewise. * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/get/char/1.cc: Likewise. * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise. * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise. * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/ exceptions_null.cc * testsuite/27_io/basic_istream/extractors_other/wchar_t/ 1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise. * testsuite/27_io/basic_istream/cons/3.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/ wchar_t/01.cc: Likewise. * testsuite/27_io/basic_istream/extractors_arithmetic/ char/01.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/ wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/ wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/ wchar_t/3.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/ char/1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/ char/2.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/ char/3.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/ char/9826.cc: Likewise. * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/read/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ 1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/ exceptions_null.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise. * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise. * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ wchar_t/8.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/ char/8.cc: Likewise. * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/sputc/char/1057.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise. * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise. * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise. * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise. * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise. * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/sputn/char/1057.cc: Likewise. * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise. * testsuite/18_support/bad_exception/23591_thread-1.c * testsuite/18_support/new_delete_placement.cc: Likewise. * testsuite/18_support/pthread_guard.cc: Likewise. * testsuite/21_strings/basic_string/operations/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string/operations/char/1.cc: Likewise. * testsuite/21_strings/basic_string/pthread4.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise. * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise. * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise. * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise. * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise. * testsuite/30_threads/mutex/cons/assign_neg.cc: Likewise. * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise. * testsuite/30_threads/thread/cons/assign_neg.cc: Likewise. * testsuite/30_threads/thread/cons/copy_neg.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/cons/ assign_neg.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/cons/ copy_neg.cc: Likewise. * testsuite/ext/mt_allocator/22309_thread.cc: Likewise. * testsuite/ext/slist/23781.cc: Likewise. * testsuite/ext/rope/pthread7-rope.cc: Likewise. * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise. * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise. * testsuite/22_locale/ctype/is/char/1.cc: Likewise. * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise. * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise. * testsuite/22_locale/locale/cons/2.cc: Likewise. * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. * testsuite/22_locale/locale/cons/29217.cc: Likewise. * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise. * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise. * testsuite/tr1/6_containers/unordered_multimap/ requirements/iterator_null_neg.cc: Likewise. * testsuite/tr1/6_containers/unordered_multiset/ requirements/iterator_null_neg.cc: Likewise. * testsuite/29_atomics/atomic_address/cons/single_value.cc: Likewise. * testsuite/29_atomics/atomic_address/cons/aggregate.cc: Likewise. * testsuite/23_containers/multimap/23781.cc: Likewise. * testsuite/23_containers/set/23781.cc: Likewise. * testsuite/23_containers/multiset/23781.cc: Likewise. * testsuite/23_containers/list/pthread1.cc: Likewise. * testsuite/23_containers/list/23781.cc: Likewise. * testsuite/23_containers/map/pthread6.cc: Likewise. * testsuite/23_containers/map/23781.cc: Likewise. * testsuite/util/regression/rand/priority_queue/ rand_regression_test.hpp: Likewise. * testsuite/util/regression/rand/priority_queue/ container_rand_regression_test.tcc: Likewise. * testsuite/util/regression/rand/assoc/ rand_regression_test.hpp: Likewise. * testsuite/util/regression/rand/assoc/ container_rand_regression_test.tcc: Likewise. * testsuite/util/testsuite_hooks.cc: Likewise. * testsuite/util/testsuite_io.h: Likewise. * testsuite/util/testsuite_iterators.h: Likewise. * testsuite/util/replacement_memory_operators.h: Likewise. * testsuite/util/testsuite_allocator.h: Likewise. * testsuite/util/testsuite_performance.h: Likewise. From-SVN: r160231 |
||
|
|
0f136367bc |
re PR libstdc++/40160 (-fno-rtti vs _GLIBCXX_DEBUG)
2009-05-15 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/40160 * include/debug/formatter.h (_Parameter::_Parameter): Don't use typeid when __GXX_RTTI is undefined. * src/debug.cc (_Error_formatter::_Parameter::_M_print_field): Adjust for null _M_variant._M_iterator._M_type, _M_variant._M_iterator._M_seq_type, _M_variant._M_sequence._M_type. * testsuite/21_strings/basic_string/40160.cc: New. From-SVN: r147599 |