summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include
Commit message (Collapse)AuthorAgeFilesLines
...
* 2013-09-25 Marc Glisse <marc.glisse@inria.fr>glisse2013-09-254-79/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/58338 * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after): Mark as noexcept. (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->, operator++, operator==, operator!=, _M_next]: Likewise. (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*, operator->, operator++, operator==, operator!=, _M_next]: Likewise. (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&), operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)): Likewise. * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base, _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base, _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&, const _Node_iterator_base&), operator!=(const _Node_iterator_base&, const _Node_iterator_base&)): Likewise. (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]: Likewise. (_Node_const_iterator) [_Node_const_iterator, operator*, operator->, operator++]: Likewise. * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator, operator=, operator*, operator->, operator++, operator--, operator[], operator+=, operator+, operator-=, operator-, base, operator _Iterator]: Likewise. (operator==(const _Safe_iterator&, const _Safe_iterator&), operator!=(const _Safe_iterator&, const _Safe_iterator&), operator<(const _Safe_iterator&, const _Safe_iterator&), operator<=(const _Safe_iterator&, const _Safe_iterator&), operator>(const _Safe_iterator&, const _Safe_iterator&), operator>=(const _Safe_iterator&, const _Safe_iterator&), operator-(const _Safe_iterator&, const _Safe_iterator&), operator+(difference_type, const _Safe_iterator&)): Likewise. * include/profile/iterator_tracker.h (__iterator_tracker) [__iterator_tracker, base, operator _Iterator, operator->, operator++, operator--, operator=, operator*, operator[], operator+=, operator+, operator-=, operator-]: Likewise. (operator==(const __iterator_tracker&, const __iterator_tracker&), operator!=(const __iterator_tracker&, const __iterator_tracker&), operator<(const __iterator_tracker&, const __iterator_tracker&), operator<=(const __iterator_tracker&, const __iterator_tracker&), operator>(const __iterator_tracker&, const __iterator_tracker&), operator>=(const __iterator_tracker&, const __iterator_tracker&), operator-(const __iterator_tracker&, const __iterator_tracker&), operator+(difference_type, const __iterator_tracker&)): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202924 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-24 Marc Glisse <marc.glisse@inria.fr>glisse2013-09-242-16/+21
| | | | | | | | | | | | | | | | | PR libstdc++/58338 PR libstdc++/56166 * include/bits/basic_string.h (basic_string) [basic_string(basic_string&&)]: Make the noexcept conditional. [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265. [begin(), end(), rbegin(), rend(), clear]: Remove noexcept. [pop_back]: Comment on the lack of noexcept. * include/debug/string (basic_string) [basic_string(const _Allocator&), basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear, operator[](size_type), pop_back]: Comment out noexcept, until vstring replaces basic_string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202861 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-24 Tim Shen <timshen91@gmail.com>timshen2013-09-248-595/+912
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/Makefile.am: Add regex.tcc. * include/Makefile.in: Regenerate. * include/bits/regex.h: Remove definitions to regex.tcc. * include/bits/regex.tcc: New. (match_results::format, regex_replace): Implement; * include/bits/regex_compiler.h: Move _M_flags to the top of class member list, because other members' initialization depend on it. * include/bits/regex_compiler.tcc (_Compiler<>::_Compiler): Adjust member initializations. (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier. * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes. In the future, all regex classes may refactor to *Impl style. * include/bits/regex_executor.tcc (_Executor::_M_set_results): Merge identical code from _*Executor classes. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase caller for new __get_executors interface. * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc: New. * testsuite/28_regex/match_results/format.cc: New. * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph testcase. * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202858 138bc75d-0d04-0410-961f-82ee72b054a4
* Print additional info when various out-of-range conditions are detected.ppluzhnikov2013-09-2210-32/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com> * include/bits/functexcept.h (__throw_out_of_range_fmt): New. * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New. * src/c++11/snprintf_lite.cc: New. * src/c++11/Makefile.am: Add snprintf_lite.cc. * src/c++11/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz. * include/std/array (at): Use __throw_out_of_range_fmt. * include/debug/array (at): Likewise. * include/profile/array (at): Likewise. * include/std/bitset (_M_check_initial_position, _M_check): New. (bitset::bitset): Use _M_check_initial_position. (set, reset, flip, test): Use _M_check. * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt. * include/bits/stl_vector.h (_M_range_check): Likewise. * include/bits/stl_bvector.h (_M_range_check): Likewise. * include/bits/stl_deque.h (_M_range_check): Likewise. * include/bits/basic_string.h (_M_check, at): Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust. * testsuite/23_containers/vector/requirements/dr438/insert_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/deque/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * 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/array/tuple_interface/tuple_element_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise. * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202818 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-20 Marc Glisse <marc.glisse@inria.fr>glisse2013-09-205-111/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/58338 * include/bits/allocator.h (__alloc_swap::_S_do_it, __shrink_to_fit_aux::_S_do_it): Mark as noexcept. * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep, _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable, _M_set_length_and_sharable, _M_dispose]: Likewise. (basic_string::_Alloc_hider::_Alloc_hider): Likewise. (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit, _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare, _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]: Likewise. [clear]: Link to PR 56166. [swap]: Link to PR 58265. * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size, _Deque_iterator, _M_const_cast, operator*, operator->, operator++, operator--, operator+=, operator+, operator-=, operator-, operator[], _M_set_node]: Mark as noexcept. (operator==(const _Deque_iterator&, const _Deque_iterator&), operator!=(const _Deque_iterator&, const _Deque_iterator&), operator<(const _Deque_iterator&, const _Deque_iterator&), operator>(const _Deque_iterator&, const _Deque_iterator&), operator<=(const _Deque_iterator&, const _Deque_iterator&), operator>=(const _Deque_iterator&, const _Deque_iterator&), operator-(const _Deque_iterator&, const _Deque_iterator&), operator+(ptrdiff_t, const _Deque_iterator&)): Likewise. (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to _M_initialize_map. [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]: Mark as noexcept. (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&), _Deque_impl(_Tp_alloc_type&&)]: Likewise. (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[], front, back, pop_front, pop_back, swap]: Likewise. [deque(), deque(const allocator_type&)]: Merge. * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit, operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept. * include/profile/deque (deque) [operator=(deque&&), operator[], front, back, pop_front, pop_back, swap]: Likewise. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202781 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-19 Marc Glisse <marc.glisse@inria.fr>glisse2013-09-193-73/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/58338 * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]: Mark as noexcept. (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->, operator++, operator--, operator==, operator!=]: Likewise. (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast, operator*, operator->, operator++, operator--, operator==, operator!=]: Likewise. (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&), operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)): Likewise. (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost, _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum, _S_maximum]: Likewise. * include/debug/string (basic_string) [basic_string(const _Allocator&), shrink_to_fit, operator[], pop_back]: Likewise. * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct, _M_ibegin, _M_iend, __versa_string(const _Alloc&), operator=(__versa_string&&), shrink_to_fit, operator[], front, back, assign(__versa_string&&), swap]: Likewise. (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]: Merge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202737 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-18 Marc Glisse <marc.glisse@inria.fr>glisse2013-09-187-51/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/58338 * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator, _M_const_cast, operator*, operator->, operator++, operator--, operator[], operator+=, operator+, operator-=, operator-, base]: Mark as noexcept. (operator==(const __normal_iterator&, const __normal_iterator&), operator!=(const __normal_iterator&, const __normal_iterator&), operator<(const __normal_iterator&, const __normal_iterator&), operator>(const __normal_iterator&, const __normal_iterator&), operator<=(const __normal_iterator&, const __normal_iterator&), operator>=(const __normal_iterator&, const __normal_iterator&), operator-(const __normal_iterator&, const __normal_iterator&), operator+(difference_type, const __normal_iterator&)): Likewise. * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]: Likewise. (list::_M_check_equal_allocators): Abort instead of throwing. * include/debug/array (array) [operator[], front, back]: Mark as noexcept. * include/profile/array (array) [operator[], front, back]: Likewise. * include/std/array (array) [operator[], front, back]: Likewise. * include/debug/list (list::splice): Likewise. * include/profile/list (list::splice): Likewise. * testsuite/23_containers/list/operations/5.cc: Remove file. * testsuite/23_containers/list/operations/5.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202716 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-18 Tim Shen <timshen91@gmail.com>timshen2013-09-187-382/+504
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/regex.h: Add friend classes. (match_results<>::position, regex_iterator<>::operator++): Implement position specification in regex_iterator. (regex_match<>, regex_search<>): Move match_results initializations to these function. Remove `todo`. * include/bits/regex_compiler.tcc: (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching. * include/bits/regex_constants.h: Fix indentation. Change match_flag_type to enum type. * include/bits/regex_executor.h: Merge identical code to the base class _Executor. Support flags in regex_constants. * include/bits/regex_executor.tcc: Likewise. * include/bits/regex_scanner.h: Add comments. * include/bits/regex_scanner.tcc: Same. * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Add a testcase. * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New. * testsuite/28_regex/iterators/regex_iterator/char/ string_position_01.cc: Remove `xfail`. * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: Remove `xfail` and make the case really work. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202706 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-18 Marc Glisse <marc.glisse@inria.fr>glisse2013-09-184-68/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/58338 * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as noexcept. * include/bits/stl_list.h (_List_iterator) [_List_iterator, _M_const_cast, operator*, operator->, operator++, operator--, operator==, operator!=]: Likewise. (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*, operator->, operator++, operator--, operator==, operator!=]: Likewise. (operator==(const _List_iterator&, const _List_const_iterator&), operator!=(const _List_iterator&, const _List_const_iterator&)): Likewise. (_List_impl) [_List_impl(const _Node_alloc_type&), _List_impl(_Node_alloc_type&&)]: Likewise. (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&), _List_base(_List_base&&), _M_clear, _M_init]: Likewise. (list) [list(), list(const allocator_type&)]: Merge. (list) [list(const allocator_type&), front, back, pop_front, pop_back, erase, _M_erase]: Mark as noexcept. * include/debug/list (list) [list(const _Allocator&), front, back, pop_front, pop_back, _M_erase, erase]: Likewise. * include/profile/list (list) [list(const _Allocator&), front, back, pop_front, pop_back, erase]: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202699 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-17 Marc Glisse <marc.glisse@inria.fr>glisse2013-09-173-41/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/58338 * include/bits/stl_vector.h (vector::vector(), vector::vector(const allocator_type&)): Merge. (_Vector_impl::_Vector_impl(_Tp_alloc_type const&), _Vector_impl::_Vector_impl(_Tp_alloc_type&&), _Vector_impl::_M_swap_data, _Vector_base::_Vector_base(const allocator_type&), _Vector_base::_Vector_base(allocator_type&&), _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base, vector::vector(const allocator_type&), vector::operator[], vector::operator[] const, vector::front, vector::front const, vector::back, vector::back const, vector::pop_back, vector::_M_erase_at_end): Mark as noexcept. * include/debug/vector (vector::vector(const _Allocator&), vector::operator[], vector::operator[] const, vector::front, vector::front const, vector::back, vector::back const, vector::pop_back, _M_requires_reallocation, _M_update_guaranteed_capacity, _M_invalidate_after_nth): Mark as noexcept. * include/profile/vector (vector::vector(const _Allocator&), vector::operator[], vector::operator[] const, vector::front, vector::front const, vector::back, vector::back const): Mark as noexcept. (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust line number. * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202650 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-14 Tim Shen <timshen91@gmail.com>timshen2013-09-1410-306/+592
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/regex.h (regex_match<>, regex_search<>): Change regex_executor caller. Now use their return value instead of checking __m[0].matched to find out if it's successful. (regex_search<>): Move the search logic to regex_executor. * include/bits/regex_automaton.h: Add some new _Opcode. Refactor _NFA::_M_insert_*. * include/bits/regex_automaton.tcc: Add DEBUG dump for new _Opcode. Refactor _NFA::_M_insert_*. * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa): Use make_shared instead of construct by hand. * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion. * include/bits/regex_constants.h: Fix indentation and line breaking. * include/bits/regex_executor.h: Add _ResultsEntry to support greedy/ungreedy mode. Move regex_search logic here. * include/bits/regex_executor.tcc: Implement assertions and greedy/ungreedy matching. * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy. * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy. * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New. * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New. * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Fix comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202591 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-13 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-09-131-2/+2
| | | | | | | | | | | | PR libstdc++/58415 * include/ext/sso_string_base.h (__sso_string_base<>:: __sso_string_base(__sso_string_base&&)): Fix thinkos about _M_length vs _M_set_length. * testsuite/ext/vstring/cons/58415-1.cc: New. * testsuite/ext/vstring/cons/58415-2.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202574 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-09-121-5/+5
| | | | | | | | | | | PR libstdc++/58403 * include/bits/stl_iterator.h (__normal_iterator<>::operator[], operator+=, operator+, operator-=, operator-): Take the argument by value. * testsuite/24_iterators/normal_iterator/58403.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202531 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>paolo2013-09-111-52/+22
| | | | | | | | | | | | | Chris Jefferson <chris@bubblescope.net> PR libstdc++/58358 * include/bits/stl_algo.h (search_n): Fix to guarantee a number of comparisons <= number of elements in the range. * testsuite/25_algorithms/search_n/58358.cc: New. * testsuite/25_algorithms/search_n/iterator.cc: Extend. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202510 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-09-071-1/+1
| | | | | | | | | PR libstdc++/58341 * include/bits/stl_algobase.h (copy_backward): Fix documentation per DR 1206. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202357 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-05 Tim Shen <timshen91@gmail.com>timshen2013-09-056-250/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/regex_automaton.h: Add dummy node type. Rewrite _StateSeq. * include/bits/regex_automaton.tcc: Implement them. * include/bits/regex_compiler.h: Rewrite _Compiler to use new _StateSeq interfaces. * include/bits/regex_compiler.tcc: Implement them. * include/bits/regex_scanner.h: Add word boundry assertion token. * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma): Support word boundry. * testsuite/28_regex/algorithms/regex_match/basic/ string_range_02_03.cc: Remove "xfail". * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_02_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ cstring_questionmark.cc: Remove xfail and get correct length of c-string. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_00_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: New. * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc: New. * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202290 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-09-031-1/+1
| | | | | | | | | | | | PR libstdc++/58302 * include/bits/random.tcc (negative_binomial_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&): Fix typo in template argument. * testsuite/26_numerics/random/negative_binomial_distribution/ operators/58302.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202208 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-02 Tim Shen <timshen91@gmail.com>timshen2013-09-023-55/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | * regex_automaton.h: Rearrange _NFA's layout. * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher. Rearrange _BracketMatcher's layout. (_BracketMatcher<>::_M_add_char): Use set instead of vector for _M_char_set. (_BracketMatcher<>::_M_add_collating_element): Likewise. (_BracketMatcher<>::_M_make_range): Likewise. * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use apropriate constructors of matchers above. * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202189 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-30 François Dumont <fdumont@gcc.gnu.org>fdumont2013-08-301-18/+21
| | | | | | | | | | | | PR libstdc++/58148 * include/debug/functions.h (__foreign_iterator_aux4): Use sequence const_pointer as common type to compare pointers. Add a fallback overload in case pointers cannot be cast to sequence const_pointer. * testsuite/23_containers/vector/modifiers/insert/58148.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202121 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-30 François Dumont <fdumont@gcc.gnu.org>fdumont2013-08-302-143/+34
| | | | | | | | | | | | | | | | | | | | | PR libstdc++/58191 * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add __gnu_debug::__base calls on iterators passed to internal debug check. (__glibcxx_check_partitioned_lower_pred): Likewise. (__glibcxx_check_partitioned_upper): Likewise. (__glibcxx_check_partitioned_upper_pred): Likewise. (__glibcxx_check_sorted): Likewise. (__glibcxx_check_sorted_pred): Likewise. (__glibcxx_check_sorted_set): Likewise. (__glibcxx_check_sorted_set_pred): Likewise. * include/debug/functions.h (__check_partitioned_lower): Remove code to detect safe iterators. (__check_partitioned_upper): Likewise. (__check_sorted): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202119 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-29 Tim Shen <timshen91@gmail.com>timshen2013-08-294-17/+24
| | | | | | | | | | | | | | | | | | | | | * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits. (regex_iterator<>::regex_iterator): Return nullptr when regex_search failed. (regex_token_iterator<>::_M_end_of_seq): Should be defined true when _M_result is(not isn't) nullptr. * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference instead of by value. * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add _M_traits to _DFSExecutor. * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to _DFSExecutor too. * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: New. * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ wstring_02.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202082 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-26 Tim Shen <timshen91@gmail.com>timshen2013-08-279-790/+1020
| | | | | | | | | | | | | | | | | | | | | | * include/Makefile.am: Add regex_scanner.{h,tcc}. * include/Makefile.in: Regenerate. * include/bits/regex.h (match_search): Handle the `__first == __last` situation correctly. * include/bits/regex_compiler.h: Move _Scanner... * include/bits/regex_scanner.h: ...to here. New. * include/bits/regex_compiler.tcc: Move _Scanner... * include/bits/regex_scanner.tcc: ...to here, too. New. * include/bits/regex_executor.tcc: Use value instead of reference for submatch. * include/std/regex: Add regex_scanner.h * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New. * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New. * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202015 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-22 Tim Shen <timshen91@gmail.com>timshen2013-08-228-949/+949
| | | | | | | | | | | | | | * include/bits/regex.h: Replace 8 spaces in indentation with a tab. * include/bits/regex_automaton.h: Same. * include/bits/regex_automaton.tcc: Same. * include/bits/regex_compiler.h: Same. * include/bits/regex_compiler.tcc: Same. * include/bits/regex_constants.h: Same. * include/bits/regex_executor.h: Same. * include/bits/regex_executor.tcc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201916 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-22 Tim Shen <timshen91@gmail.com>timshen2013-08-223-89/+169
| | | | | | | | | | | | * include/bits/regex.h: Executor caller. * include/bits/regex_executor.h: Fix empty grouping problem. * include/bits/regex_executor.tcc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201914 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-20 Tim Shen <timshen91@gmail.com>timshen2013-08-201-1/+1
| | | | | | | | * include/bits/regex_constants.h: Add underlying `unsigned int` for enum syntax_option_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201872 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-18 Tim Shen <timshen91@gmail.com>timshen2013-08-185-28/+94
| | | | | | | | | | | | * include/bits/regex_automaton.h: _S_opcode_backref. * include/bits/regex_automaton.tcc: Backref automaton support. * include/bits/regex_compiler.tcc: Parsing support. * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor. * include/bits/regex_executor.tcc: Add _S_opcode_backref support. * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201825 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-16 Tim Shen <timshen91@gmail.com>paolo2013-08-161-14/+7
| | | | | | | | * include/bits/regex.h (regex_traits<>::transform_primary): Avoid past-the-end dereferences. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201783 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-152-6/+9
| | | | | | | | | | | | | | | | PR libstdc++/58163 * include/bits/basic_string.h (basic_string<>::operator[]): Fix _GLIBCXX_DEBUG_PEDASSERT check vs C++11. * include/ext/vstring.h: Likewise. * testsuite/21_strings/basic_string/element_access/char/58163.cc: New. * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc: Likewise. * testsuite/ext/vstring/element_access/char/58163.cc: Likewise. * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201755 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-09 Tim Shen <timshen91@gmail.com>timshen2013-08-091-80/+118
| | | | | | | | * include/bits/regex_constants.h: Change syntax_option_type to enum type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201621 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't use _B etc. in libstdc++ro2013-08-081-12/+12
| | | | | | | * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201596 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-08 François Dumont <fdumont@gcc.gnu.org>fdumont2013-08-082-311/+287
| | | | | | | | | | | | | | | | | | | * include/bits/hashtable_policy.h (_Hashtable_alloc): New. (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than _Hashtable. (_Before_begin<>): Remove. * include/bits/hashtable.h (_Hashtable): Inherit from _Hashtable_alloc and adapt. Restore _M_before_begin field. * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include. * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt access to hashtable before begin. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Adapt dg-error line number. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201592 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-07 Tim Shen <timshen91@gmail.com>timshen2013-08-0717-2339/+2107
| | | | | | | | | | | | | | | | | | | | * include/Makefile.am: Adjust to new files. * include/Makefile.in: Regenerate. * include/bits/regex.h: Adjust to new interfaces. * include/bits/regex_automaton.h: New. * include/bits/regex_automaton.tcc: New. * include/bits/regex_compiler.h: Adjust to new files. * include/bits/regex_compiler.tcc: New. * include/bits/regex_constants.h: Tail spaces. * include/bits/regex_error.h: Likewise. * include/bits/regex_executor.h: New. * include/bits/regex_executor.tcc: New. * include/std/regex: Adjust to new files. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: Adjust to new interfaces. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201573 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-071-0/+2
| | | | | | | * include/ext/atomicity.h: Add #pragma GCC system_header. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201567 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-072-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/58098 * include/bits/random.h (cauchy_distribution<>::min, extreme_value_distribution<>::min, normal_distribution<>::min, student_t_distribution<>::min): Fix. * include/ext/random (normal_mv_distribution<>::min): Likewise. * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: Adjust. testsuite/26_numerics/random/cauchy_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/cons/ parms.cc: Likewise. testsuite/26_numerics/random/extreme_value_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/cons/default.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: Minor tweak. * testsuite/26_numerics/random/exponential_distribution/cons/default.cc: Likewise. * testsuite/ext/von_mises_distribution/*: Move to... * testsuite/ext/random/von_mises_distribution/*: ... here. * testsuite/ext/triangular_distribution/*: Move to... * testsuite/ext/random/triangular_distribution/*: ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201562 138bc75d-0d04-0410-961f-82ee72b054a4
* Commit the vtable verification feature. This feature is designed toctice2013-08-072-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | detect, at run time, if/when the vtable pointer in a C++ object has been corrupted, before allowing virtual calls through that pointer. If pointer corruption is detected, execution of the program is halted. libstdc++-v3 ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * fragment.am: Add XTEMPLATE_FLAGS. * configure.ac: Add definitions for --enable-vtable-verify. * acinclude.m4: Add --enable-vtable-verify and --disable-vtable-verify; define --enable-vtable-verify; define VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS. * config/abi/pre/gnu.ver: Export symbols for vtable verification. * libsupc++/Makefile.am: Define vtv_sources and add it to libsupc___la_SOURCES and libsupc__convenience_la_SOURCES. * libsupc++/vtv_stubs.cc: New file. * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS. * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add VTV_CXXLINKFLAGS to CXXLINK. * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK. * src/C++11/Makefile.am: Ditto. * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify. * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS. * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate libvtv if --enable-vtable-verify was used; set cxxvtvflags; add cxxvtvflags to cxx_final. * testsuite/18_support/bad_exception/23591_thread-1.c: Add -fvtable-verify=none to compiler flags. * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none to compiler flags. * configure: Regenerated. * Makefile.in: Regenerated. * python/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * libsupc++/Makefile.in: Regenerated. * config.h.in: Regenerated. * po/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. * src/c++98/Makefile.in: Regenerated. * src/c++11/Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. top level ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * configure.ac: Add target-libvtv to target_libraries; disable libvtv on non-linux systems; add target-libvtv to noconfigdirs; add libsupc++/.libs to C++ library search paths. * configure: Regenerated. * Makefile.def: Add libvtv to target_modules; make libvtv depend on libstdc++ and libgcc. * Makefile.in: Regenerated. include/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * vtv-change-permission.h: New file. contrib/ChangeLog: 2013-08-06 Caroline Tice4 <cmtice@google.com> * gcc_update: Add libvtv files. libgcc/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> config.host (extra_parts): Add vtv_start.o, vtv_end.o vtv_start_preinit.o and vtv_end_preinit.o. configure.ac: Add code to check/set enable_vtable_verify. Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is true. vtv_start_preinit.c: New file. vtv_end_preinit.c: New file. vtv_start.c: New file. vtv_end.c: New file. configure: Regenerated. gcc/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * gcc.c (VTABLE_VERIFICATION_SPEC): New definition. (LINK_COMMAND_SPEC): Add VTABLE_VERIFICATION_SPEC. * tree-pass.h: Add pass_vtable_verify. * varasm.c (assemble_variable): Add code to properly set the comdat section and name for the .vtable_map_vars section. (assemble_vtyv_preinit_initializer): New function. (default_sectin_type_flags): Make sure .vtable_map_vars section has LINK_ONCE flag. * output.h: Add function decl for assemble_vtv_preinit_initializer. * vtable-verify.c: New file. * vtable-verify.h: New file. * flag-types.h (enum vtv_priority): Defintions for flag_vtable_verify initialiation levels. * timevar.def (TV_VTABLE_VERIFICATION): New definition. * passes.def: Insert pass_vtable_verify. * aclocal.m4: Reorder includes. * doc/invoke.texi: Add documentation for the flags -fvtable-verify=, -fvtv-debug and -fvtv-counts. * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add vtv_start*.o, as appropriate, if -fvtable-verify=... is used. (GNU_USER_TARGET_ENDFILE_SPEC): Add vtv_end*.o as appropriate, if -fvtable-verify=... is used. * Makefile.in (OBJS): Add vtable-verify.o to list. (vtable-verify.o): Add new build rule. (GTFILES): Add vtable-verify.c to list. * common.opt (fvtable-verify=): New flag. (vtv_priority): Values for fvtable-verify= flag. (fvtv-counts): New flag. (fvtv-debug): New flag. * tree.h (save_vtable_map_decl): New extern function decl. gcc/cp/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * Make-lang.in (*CXX_AND_OBJCXX_OBJS): Add vtable-class-hierarchy.o to list. (vtable-class-hierarchy.o): Add build rule. * cp-tree.h (vtv_start_verification_constructor_init_function): New extern function decl. (vtv_finish_verification_constructor_init_function): New extern function decl. (build_vtbl_address): New extern function decl. (get_mangled_vtable_map_var_name): New extern function decl. (vtv_compute_class_hierarchy_transitive_closure): New extern function decl. (vtv_generate_init_routine): New extern function decl. (vtv_save_class_info): New extern function decl. (vtv_recover_class_info): New extern function decl. (vtv_build_vtable_verify_fndecl): New extern function decl. * class.c (finish_struct_1): Add call to vtv_save_class_info if flag_vtable_verify is true. * config-lang.in: Add vtable-class-hierarchy.c to gtfiles list. * vtable-class-hierarchy.c: New file. * mangle.c (get_mangled_vtable_map_var_name): New function. * decl2.c (start_objects): Update function comment. (cp_write_global_declarations): Call vtv_recover_class_info, vtv_compute_class_hierarchy_transitive_closure and vtv_build_vtable_verify_fndecl, before calling finalize_compilation_unit, and call vtv_generate_init_rount after, IFF flag_vtable_verify is true. (vtv_start_verification_constructor_init_function): New function. (vtv_finish_verification_constructor_init_function): New function. * init.c (build_vtbl_address): Remove static qualifier from function. libvtv/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> Initial check-in of new vtable verification feature. * configure.ac : New file. * acinclude.m4 : New file. * Makefile.am : New file. * aclocal.m4 : New file. * configure.tgt : New file. * configure: New file (generated). * Makefile.in: New file (generated). * vtv_set.h : New file. * vtv_utils.cc : New file. * vtv_utils.h : New file. * vtv_malloc.cc : New file. * vtv_rts.cc : New file. * vtv_malloc.h : New file. * vtv_rts.h : New file. * vtv_fail.cc : New file. * vtv_fail.h : New file. * vtv_map.h : New file. * scripts/run-testsuite.sh : New file. * scripts/sum-vtv-counts.c : New file. * testsuite/parts-test-main.h : New file. * testusite/dataentry.cc : New file. * testsuite/temp_deriv.cc : New file. * testsuite/register_pair.cc : New file. * testsuite/virtual_inheritance.cc : New file. * testsuite/field-test.cc : New file. * testsuite/nested_vcall_test.cc : New file. * testsuite/template-list-iostream.cc : New file. * testsuite/register_pair_inserts.cc : New file. * testsuite/register_pair_inserts_mt.cc : New file. * testsuite/event.list : New file. * testsuite/parts-test-extra-parts-views.cc : New file. * testsuite/parts-test-extra-parts-views.h : New file. * testsuite/environment-fail-32.s : New file. * testsuite/parts-test-extra-parts.h : New file. * testsuite/temp_deriv2.cc : New file. * testsuite/dlopen_mt.cc : New file. * testsuite/event.h : New file. * testsuite/template-list.cc : New file. * testsuite/replace-fail.cc : New file. * testsuite/Makefile.am : New file. * testsuite/Makefile.in: New file (generated). * testsuite/mempool_negative.c : New file. * testsuite/parts-test-main.cc : New file. * testsuite/event-private.cc : New file. * testsuite/thunk.cc : New file. * testsuite/event-defintiions.cc : New file. * testsuite/event-private.h : New file. * testsuite/parts-test.list : New file. * testusite/register_pair_mt.cc : New file. * testsuite/povray-derived.cc : New file. * testsuite/event-main.cc : New file. * testsuite/environment.cc : New file. * testsuite/template-list2.cc : New file. * testsuite/thunk_vtable_map_attack.cc : New file. * testsuite/parts-test-extra-parts.cc : New file. * testsuite/environment-fail-64.s : New file. * testsuite/dlopen.cc : New file. * testsuite/so.cc : New file. * testsuite/temp_deriv3.cc : New file. * testsuite/const_vtable.cc : New file. * testsuite/mempool_positive.c : New file. * testsuite/dup_name.cc : New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201555 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-06 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-062-287/+311
| | | | | | | Revert the last commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201525 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-06 François Dumont <fdumont@gcc.gnu.org>fdumont2013-08-062-311/+287
| | | | | | | | | | | | | | | | | | * include/bits/hashtable_policy.h (_Hashtable_alloc): New. (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than _Hashtable. (_Before_begin<>): Remove. * include/bits/hashtable.h (_Hashtable): Inherit from _Hashtable_alloc and adapt. Restore _M_before_begin field. * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt access to hashtable before begin. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Adapt dg-error line number. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201522 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-03 Tim Shen <timshen91@gmail.com>timshen2013-08-034-190/+250
| | | | | | | | | | | | | | | | Implement bracket expression. * include/bits/regex.h: Remove constexpr from "|=", etc. * include/bits/regex_compiler.h: Parse bracket expression. * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old _RangeMatcher). * include/bits/regex_nfa.tcc: Implement them. * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: from regex_search to regex_match. * testsuite/28_regex/algorithms/regex_match/extended/ cstring_bracket_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201465 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-021-2/+2
| | | | | | | | * include/debug/functions.h (__foreign_iterator_aux4): Initialize __l and __ge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201428 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-021-2/+2
| | | | | | | | * include/debug/functions.h (__foreign_iterator_aux4): Initialize __l and __ge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201426 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-023-26/+24
| | | | | | | | | | | | | | PR libstdc++/58049 * include/debug/functions.h: Include <bits/move.h>; minor formatting changes. (__foreign_iterator_aux4): Declare __l and __ge constexpr. * include/debug/safe_iterator.h (_Safe_iterator<>::operator->): Use __addressof. * include/debug/safe_local_iterator.h (_Safe_local_iterator<>:: operator->): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201424 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-01 François Dumont <fdumont@gcc.gnu.org>fdumont2013-08-016-12/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201416 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/bergner2013-08-011-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | PR c++/54537 * cp-tree.h: Check OVL_USED with OVERLOAD_CHECK. * name-lookup.c (do_nonmember_using_decl): Make sure we have an OVERLOAD before calling OVL_USED. Call diagnose_name_conflict instead of issuing an error without mentioning the conflicting declaration. libstdc++-v3/ PR c++/54537 * include/tr1/cmath: Remove pow(double,double) overload, remove a duplicated comment about DR 550. Add a comment to explain the issue. * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New. gcc/testsuite/ PR c++/54537 * g++.dg/overload/using3.C: New. * g++.dg/overload/using2.C: Adjust. * g++.dg/lookup/using9.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201414 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-31 Tim Shen <timshen91@gmail.com>timshen2013-07-316-184/+299
| | | | | | | | | | | | | | | | | | | | Thompson matcher refactored. Fix grouping problem. * include/bits/regex.h: Use a dispatcher _M_get_matcher(). * include/bits/regex_compiler.h: Tweak for auto switching. * include/bits/regex_grep_matcher.h: Class structure. * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson matcher) refactoring. * include/bits/regex_nfa.h: Change _Results's interfaces. * include/std/regex: Includes <map> and <queue>. * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201391 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-07-312-2/+2
| | | | | | | | | | | PR libstdc++/56627 * include/bits/stl_bvector.h: Use friend struct hash intead of friend class hash to work around useless warnings produced by some compilers. * include/std/bitset: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201377 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert last commit.timshen2013-07-316-299/+184
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201360 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-31 Tim Shen <timshen91@gmail.com>timshen2013-07-316-184/+299
| | | | | | | | | | | | | | | | | | | | Thompson matcher refactored. Fix grouping problem. * include/bits/regex.h: Use a dispatcher _M_get_matcher(). * include/bits/regex_compiler.h: Tweak for auto switching. * include/bits/regex_grep_matcher.h: Class structure. * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson matcher) refactoring. * include/bits/regex_nfa.h: Change _Results's interfaces. * include/std/regex: Includes <map> and <queue>. * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201358 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-07-306-289/+184
| | | | | | | Revert last commit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201348 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-07-30 Tim Shen <timshen91@gmail.com>timshen2013-07-306-184/+289
| | | | | | | | | | | | | | | | | | | | Thompson matcher refactored. Fix grouping problem. * include/bits/regex.h: Use a dispatcher _M_get_matcher(). * include/bits/regex_compiler.h: Tweak for auto switching. * include/bits/regex_grep_matcher.h: Class structure. * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson matcher) refactoring. * include/bits/regex_nfa.h: Change _Results's interfaces. * include/std/regex: Includes <map> and <queue>. * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/string_dispatch_01.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201334 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++-v3/froydnj2013-07-291-4/+8
| | | | | | | | | | | | | * include/std/atomic (compare_exchange_weak, compare_exchange_strong): Add call to __cmpexch_failure_order. * testsuite/util/testsuite_common_types.h (compare_exchange_order_lowering): New generator. * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201315 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud