d9dcda6f48
PR libstdc++/58764 (again) * include/bits/stl_list.h (list): Make default constructor's exception specification conditional. * include/bits/stl_vector.h (vector): Likewise. * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept to default constructor. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. From-SVN: r206946
369 lines
16 KiB
Plaintext
369 lines
16 KiB
Plaintext
2014-01-22 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_deque.h (_Deque_impl): Move comment.
|
||
|
||
PR libstdc++/58764
|
||
* include/bits/stl_deque.h (deque::deque(const allocator_type&):
|
||
Split into separate default constructor and constructor taking
|
||
allocator.
|
||
* include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
|
||
* include/bits/stl_vector.h (vector::vector(const allocator_type&):
|
||
Likewise.
|
||
* include/debug/deque (deque::deque(const allocator_type&)): Likewise.
|
||
* include/debug/list (list::list(const _Allocator&)): Likewise.
|
||
* include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
|
||
Likewise.
|
||
* include/debug/multimap.h
|
||
(multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
|
||
* include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
|
||
Likewise.
|
||
* include/debug/multiset.h
|
||
(multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
|
||
* include/debug/vector (vector::vector(const allocator_type&)):
|
||
Likewise.
|
||
* include/profile/deque (deque::deque(const _Allocator&)): Likewise.
|
||
* include/profile/list (list::list(const _Allocator&)): Likewise.
|
||
* include/profile/map.h
|
||
(map::map(const _Compare&, const _Allocator&)): Likewise.
|
||
* include/profile/multimap.h
|
||
(multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
|
||
* include/profile/set.h
|
||
(set::set(const _Compare&, const _Allocator&)): Likewise.
|
||
* include/profile/multiset.h
|
||
(multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
|
||
* include/profile/vector (vector::vector(const _Allocator&)):
|
||
Likewise.
|
||
* testsuite/23_containers/deque/58764.cc: New.
|
||
* testsuite/23_containers/list/58764.cc: New.
|
||
* testsuite/23_containers/map/58764.cc: New.
|
||
* testsuite/23_containers/multimap/58764.cc: New.
|
||
* testsuite/23_containers/set/58764.cc: New.
|
||
* testsuite/23_containers/multiset/58764.cc: New.
|
||
* testsuite/23_containers/vector/58764.cc: New.
|
||
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
|
||
Adjust dg-error line number.
|
||
* testsuite/23_containers/deque/requirements/dr438/
|
||
constructor_1_neg.cc: Likewise.
|
||
* testsuite/23_containers/deque/requirements/dr438/
|
||
constructor_2_neg.cc: Likewise.
|
||
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/
|
||
constructor_1_neg.cc: Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/
|
||
constructor_2_neg.cc: Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
|
||
PR libstdc++/58764 (again)
|
||
* include/bits/stl_list.h (list): Make default constructor's exception
|
||
specification conditional.
|
||
* include/bits/stl_vector.h (vector): Likewise.
|
||
* testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
|
||
to default constructor.
|
||
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
|
||
Adjust dg-error line number.
|
||
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/
|
||
constructor_1_neg.cc: Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/
|
||
constructor_2_neg.cc: Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
|
||
2014-01-21 Tim Shen <timshen91@gmail.com>
|
||
|
||
* include/bits/regex.tcc: Remove incorrect `nosubs` handling.
|
||
* include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
|
||
* testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
|
||
|
||
2014-01-21 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/56267
|
||
* include/bits/hashtable.h (__cache_default): Do not depend on
|
||
whether the hash function is DefaultConstructible or CopyAssignable.
|
||
(_Hashtable): Adjust static assertions.
|
||
* doc/xml/manual/containers.xml (containers.unordered.cache): Update.
|
||
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
|
||
dg-error line number.
|
||
* testsuite/23_containers/unordered_set/
|
||
not_default_constructible_hash_neg.cc: Remove.
|
||
|
||
2014-01-20 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* scripts/create_testsuite_files: Add testsuite/experimental in
|
||
the list of folders to search for tests.
|
||
* include/experimental/string_view
|
||
(basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
|
||
incompatible with constexpr qualifier.
|
||
(basic_string_view<>::front()): Likewise.
|
||
(basic_string_view<>::back()): Likewise.
|
||
* testsuite/experimental/string_view/element_access/wchar_t/2.cc:
|
||
Merge dg-options directives into one.
|
||
* testsuite/experimental/string_view/element_access/char/2.cc:
|
||
Likewise. Remove invalid experimental namespace scope on
|
||
string_view_type.
|
||
|
||
2014-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/56267
|
||
* include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
|
||
friendship to _Local_iterator_base<..., false>.
|
||
(_Local_iterator_base): Give protected access to all existing members.
|
||
(_Local_iterator_base::_M_curr()): New public accessor.
|
||
(_Local_iterator_base::_M_get_bucket()): New public accessor.
|
||
(_Local_iterator_base<..., false>::_M_init()): New function to manage
|
||
the lifetime of the _Hash_code_base explicitly.
|
||
(_Local_iterator_base<..., false>::_M_destroy()): Likewise.
|
||
(_Local_iterator_base<..., false>): Define copy constructor and copy
|
||
assignment operator that use new functions to manage _Hash_code_base.
|
||
(operator==(const _Local_iterator_base&, const _Local_iterator_base&),
|
||
operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
|
||
Use public API for _Local_iterator_base.
|
||
* include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
|
||
* include/debug/unordered_map (__debug::unordered_map::erase(),
|
||
__debug::unordered_multimap::erase()): Likewise.
|
||
* include/debug/unordered_set (__debug::unordered_set::erase(),
|
||
__debug::unordered_multiset::erase()): Likewise.
|
||
* testsuite/23_containers/unordered_set/56267-2.cc: New test.
|
||
|
||
2014-01-19 Tim Shen <timshen91@gmail.com>
|
||
|
||
* include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
|
||
Fix parse error of multiple consecutive quantifiers like "a**".
|
||
* include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
|
||
Likewise.
|
||
* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
|
||
|
||
2014-01-17 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/profile/set.h (set): Implement C++11 allocator-aware
|
||
container requirements.
|
||
* include/profile/map.h (map): Likewise.
|
||
* include/profile/multiset.h (multiset): Likewise.
|
||
* include/profile/multimap.h (multimap): Likewise.
|
||
* include/profile/set.h
|
||
(set::operator=(const set&)): Define as default in C++11 mode.
|
||
(set::operator=(set&&)): Likewise.
|
||
* include/profile/map.h
|
||
(map::operator=(const map&)): Likewise.
|
||
(map::operator=(map&&)): Likewise.
|
||
* include/profile/multiset.h
|
||
(multiset::operator=(const multiset&)): Likewise.
|
||
(multiset::operator=(multiset&&)): Likewise.
|
||
* include/profile/multimap.h
|
||
(multimap::operator=(const multimap&)): Likewise.
|
||
(multimap::operator=(multimap&&)): Likewise.
|
||
* include/profile/set.h (set::operator=(std::initializer_list<>)):
|
||
Rely on the same operator from normal mode.
|
||
* include/profile/map.h (map::operator=(std::initializer_list<>)):
|
||
Likewise.
|
||
* include/profile/multiset.h
|
||
(multiset::operator=(std::initializer_list<>)): Likewise.
|
||
* include/profile/multimap.h
|
||
(multimap::operator=(std::initializer_list<>)): Likewise.
|
||
* include/profile/set.h (set::swap(set&)): Add noexcept
|
||
specification.
|
||
* include/profile/map.h (map::swap(map&)): Likewise.
|
||
* include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
|
||
* include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
|
||
|
||
2014-01-17 Tim Shen <timshen91@gmail.com>
|
||
|
||
* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
|
||
use std::map.
|
||
* include/bits/regex_automaton.h: Do not use std::set.
|
||
* include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
|
||
_BracketMatcher<>::_M_add_collating_element(),
|
||
_BracketMatcher<>::_M_add_equivalence_class(),
|
||
_BracketMatcher<>::_M_make_range()): Likewise.
|
||
* include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
|
||
Likewise.
|
||
* include/bits/regex_executor.h: Do not use std::queue.
|
||
* include/bits/regex_executor.tcc (_Executor<>::_M_main(),
|
||
_Executor<>::_M_dfs()): Likewise.
|
||
* include/std/regex: Remove <map>, <set> and <queue>.
|
||
|
||
2014-01-17 Tim Shen <timshen91@gmail.com>
|
||
|
||
* include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
|
||
basic_regex<>::assign()): Change __compile_nfa to accept
|
||
const _CharT* only.
|
||
* include/bits/regex_compiler.h: Change _Compiler's template
|
||
argument from <_FwdIter, _TraitsT> to <_TraitsT>.
|
||
* include/bits/regex_compiler.tcc: Likewise.
|
||
|
||
2014-01-17 Tim Shen <timshen91@gmail.com>
|
||
|
||
* include/bits/regex_compiler.h: Change _ScannerT into char-type
|
||
templated.
|
||
* include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
|
||
_ScannerBase from _Scanner; Change _Scanner's template argument from
|
||
_FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
|
||
instead.
|
||
* include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
|
||
_Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
|
||
_Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
|
||
Likewise.
|
||
* include/std/regex: Add <cstring> for using strchr.
|
||
|
||
2014-01-17 Tim Shen <timshen91@gmail.com>
|
||
|
||
* bits/regex_automaton.tcc: Indentation fix.
|
||
* bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
|
||
_RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
|
||
_BracketMatcher<>): Add bool option template parameters and
|
||
specializations to make matching more efficient and space saving.
|
||
* bits/regex_compiler.tcc: Likewise.
|
||
|
||
2014-01-15 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
PR libstdc++/59712
|
||
* include/bits/hashtable_policy.h: Fix some long lines.
|
||
* include/bits/hashtable.h (__hash_code_base_access): Define and
|
||
use it to check its _M_bucket_index noexcept qualification. Use
|
||
also in place of...
|
||
(__access_protected_ctor): ...this.
|
||
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
|
||
Adapt line number.
|
||
* testsuite/23_containers/unordered_set/
|
||
not_default_constructible_hash_neg.cc: Likewise.
|
||
|
||
2014-01-13 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/debug/set.h (set): Implement C++11 allocator-aware
|
||
container requirements.
|
||
* include/debug/map.h (map): Likewise.
|
||
* include/debug/multiset.h (multiset): Likewise.
|
||
* include/debug/multimap.h (multimap): Likewise.
|
||
* include/debug/set.h (set::operator=(set&&)): Add noexcept and
|
||
fix implementation regarding management of safe iterators.
|
||
* include/debug/map.h (map::operator=(map&&)): Likewise.
|
||
* include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
|
||
* include/debug/multimap.h (multimap::operator=(multimap&&)):
|
||
Likewise.
|
||
* include/debug/set.h (set::operator=(std::initializer_list<>)):
|
||
Rely on the same operator from normal mode.
|
||
* include/debug/map.h (map::operator=(std::initializer_list<>)):
|
||
Likewise.
|
||
* include/debug/multiset.h
|
||
(multiset::operator=(std::initializer_list<>)): Likewise.
|
||
* include/debug/multimap.h
|
||
(multimap::operator=(std::initializer_list<>)): Likewise.
|
||
* include/debug/set.h (set::swap(set&)): Add noexcept
|
||
specification, add allocator equality check.
|
||
* include/debug/map.h (map::swap(map&)): Likewise.
|
||
* include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
|
||
* include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
|
||
|
||
2014-01-10 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/59698
|
||
* doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
|
||
and stylistic improvements.
|
||
* doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
|
||
and update for C++11.
|
||
* doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
|
||
|
||
PR libstdc++/59687
|
||
* doc/xml/manual/backwards_compatibility.xml
|
||
(backwards.third.nocreate_noreplace): Correct and expand.
|
||
|
||
PR libstdc++/59699
|
||
* doc/xml/manual/support.xml (std.support.types.null): Update links.
|
||
|
||
2014-01-09 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/59738
|
||
* include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
|
||
support for non-Movable types.
|
||
|
||
PR libstdc++/59680
|
||
* src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
|
||
|
||
2014-01-08 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
|
||
*this allocator instance when building temporary vector instance
|
||
so that *this allocator does not get moved.
|
||
* include/debug/safe_base.h
|
||
(_Safe_sequence_base(_Safe_sequence_base&&)): New.
|
||
* include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
|
||
move constructor from _Safe_sequence_base.
|
||
(__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
|
||
safe iterators if the instance is moved.
|
||
(__gnu_debug::vector<>::operator=(vector&&)): Likewise.
|
||
* testsuite/23_containers/vector/allocator/move.cc (test01): Add
|
||
check on a vector iterator.
|
||
* testsuite/23_containers/vector/allocator/move_assign.cc
|
||
(test02): Likewise.
|
||
(test03): New, test with a non-propagating allocator.
|
||
* testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
|
||
|
||
2014-01-07 Tim Shen <timshen91@gmail.com>
|
||
|
||
* include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
|
||
_AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
|
||
_CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
|
||
_BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
|
||
_BracketMatcher<>::_M_add_char(),
|
||
_BracketMatcher<>::_M_add_collating_element(),
|
||
_BracketMatcher<>::_M_add_equivalence_class(),
|
||
_BracketMatcher<>::_M_add_character_class(),
|
||
_BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
|
||
_BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
|
||
Fix _AnyMatcher behavior of POSIX style and move _M_flags
|
||
to template parameter; Add cache for _BracketMatcher. Adjust
|
||
declarations from here...
|
||
* include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
|
||
imbuing a regex will trigger a recompilation to rebuild the cache.
|
||
* include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
|
||
_Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
|
||
different template bool parameters.
|
||
* include/bits/regex_executor.h: Remove unnecessary declarations.
|
||
* include/std/regex: Adjust including orders.
|
||
* testsuite/28_regex/traits/char/user_defined.cc: New.
|
||
* testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
|
||
|
||
2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
|
||
* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
|
||
* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
|
||
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
|
||
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
|
||
|
||
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
Update copyright years
|
||
|
||
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* testsuite/18_support/new_handler.cc,
|
||
testsuite/18_support/terminate_handler.cc,
|
||
testsuite/18_support/unexpected_handler.cc: Use the standard form for
|
||
the copyright notice.
|
||
|
||
Copyright (C) 2014 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|