Tim Shen
d4e1260101
regex_error.h: Remove _S_error_last to follow the standard.
...
2013-09-26 Tim Shen <timshen91@gmail.com>
* regex_error.h: Remove _S_error_last to follow the standard.
* regex_scanner.tcc:
(_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
error_badbrace.
(_Scanner<>::_M_eat_escape_posix): Extended doesn't support
back-reference.
* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
Move here from ../../extended.
* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
Likewise.
From-SVN: r202958
2013-09-26 21:48:04 +00:00
Tim Shen
c2669da93d
Makefile.am: Add regex.tcc.
...
2013-09-24 Tim Shen <timshen91@gmail.com>
* 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.
From-SVN: r202858
2013-09-24 02:05:00 +00:00
Paul Pluzhnikov
9779c871af
Print additional info when various out-of-range conditions are detected.
...
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.
From-SVN: r202818
2013-09-21 19:04:13 -07:00
Jakub Jelinek
bd599dea43
re PR testsuite/57605 (colors break note pruning in the testsuite)
...
PR testsuite/57605
libstdc++-v3/
* testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
-fdiagnostics-color=never to cxxflags.
libmudflap/
* testsuite/lib/libmudflap.exp (libmudflap-init): Append
-fdiagnostics-color=never to cxxflags.
libgomp/
* testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
ALWAYS_CFLAGS.
From-SVN: r202791
2013-09-20 19:52:29 +02:00
Marc Glisse
d15ac9d9a3
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-20 Marc Glisse <marc.glisse@inria.fr>
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.
From-SVN: r202781
2013-09-20 15:50:09 +00:00
Marc Glisse
b4efa80e56
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-18 Marc Glisse <marc.glisse@inria.fr>
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.
From-SVN: r202716
2013-09-18 18:31:01 +00:00
Tim Shen
b21abceec3
regex.h: Add friend classes.
...
2013-09-18 Tim Shen <timshen91@gmail.com>
* 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.
From-SVN: r202706
2013-09-18 15:56:20 +00:00
Paolo Carlini
64bc8861e9
search_n.cc: Fix typo.
...
2013-09-18 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/performance/25_algorithms/search_n.cc: Fix typo.
From-SVN: r202704
2013-09-18 14:49:28 +00:00
Marc Glisse
837bf5116d
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-18 Marc Glisse <marc.glisse@inria.fr>
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.
From-SVN: r202699
2013-09-18 11:21:51 +00:00
Marc Glisse
757b16440b
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
...
2013-09-17 Marc Glisse <marc.glisse@inria.fr>
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.
From-SVN: r202650
2013-09-17 12:23:54 +00:00
Tim Shen
7b86458e38
regex.h (regex_match<>, [...]): Change regex_executor caller.
...
2013-09-14 Tim Shen <timshen91@gmail.com>
* 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.
From-SVN: r202591
2013-09-14 14:23:44 +00:00
Paolo Carlini
4f03875418
re PR libstdc++/58415 (__sso_string_base move constructor does not null terminate local data when moving from empty string)
...
2013-09-13 Paolo Carlini <paolo.carlini@oracle.com>
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.
From-SVN: r202574
2013-09-13 18:32:42 +00:00
Paolo Carlini
274ddab613
re PR libstdc++/58403 (__normal_iterator triggers odr-use)
...
2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
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.
From-SVN: r202531
2013-09-12 15:15:34 +00:00
Mitsuru Kariya
4b47d65500
re PR libstdc++/58358 (search_n has a Complexity violation for random access iterator)
...
2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>
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.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r202510
2013-09-11 22:24:50 +00:00
Ed Smith-Rowland
df7d9dfde3
value.cc: Change template args from char to wchar_t, literals from 'x' to L'x'.
...
2013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net>
* testsuite/28_regex/traits/wchar_t/value.cc: Change template args
from char to wchar_t, literals from 'x' to L'x'.
From-SVN: r202487
2013-09-11 01:27:31 +00:00
Tim Shen
7c812a2a57
regex_automaton.h: Add dummy node type.
...
2013-09-05 Tim Shen <timshen91@gmail.com>
* 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.
From-SVN: r202290
2013-09-05 15:20:39 +00:00
Paolo Carlini
e5fbc9fc72
re PR libstdc++/58302 (compilation error : std::negative_binomial_distribution::operator(e, p))
...
2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
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.
From-SVN: r202208
2013-09-03 10:12:19 +00:00
Tim Shen
e350969184
regex_automaton.h: Rearrange _NFA's layout.
...
2013-09-02 Tim Shen <timshen91@gmail.com>
* 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.
From-SVN: r202189
2013-09-02 22:20:56 +00:00
François Dumont
32bb816a91
re PR libstdc++/58148 (Fails to insert iterator range into sequence container with -D_GLIBCXX_DEBUG when conversion is needed)
...
2013-08-30 François Dumont <fdumont@gcc.gnu.org>
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.
From-SVN: r202121
2013-08-30 20:55:37 +00:00
Tim Shen
9222fb6f08
regex.h (basic_regex<>::assign): Don't lose _M_traits.
...
2013-08-29 Tim Shen <timshen91@gmail.com>
* 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.
From-SVN: r202082
2013-08-29 18:33:07 +00:00
Tim Shen
33fbbb766c
Makefile.am: Add regex_scanner.{h,tcc}.
...
2013-08-26 Tim Shen <timshen91@gmail.com>
* 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.
From-SVN: r202015
2013-08-27 02:49:22 +00:00
Tim Shen
1b488e33b6
regex.h: Executor caller.
...
2013-08-22 Tim Shen <timshen91@gmail.com>
* 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.
From-SVN: r201914
2013-08-22 00:58:28 +00:00
Phil Muldoon
c77efe8f42
re PR libstdc++/53477 (pretty printer fails with: Python Exception <type 'exceptions.IndexError'> list index out of range)
...
2013-08-20 Phil Muldoon <pmuldoon@redhat.com>
PR libstdc++/53477
http://sourceware.org/bugzilla/show_bug.cgi?id=15195
* python/libstdcxx/v6/printers.py (Printer.__call__): If a value
is a reference, fetch referenced value.
(RxPrinter.invoke): Ditto.
* testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
flag. Add referenced value tests.
From-SVN: r201888
2013-08-20 19:20:42 +00:00
Tim Shen
ce645eb091
regex_automaton.h: _S_opcode_backref.
...
2013-08-18 Tim Shen <timshen91@gmail.com>
* 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.
From-SVN: r201825
2013-08-18 13:55:48 +00:00
Paolo Carlini
56b5d3b48b
re PR libstdc++/58163 ([C++11] Pedantic assert on str[str.size()] is wrong in C++11)
...
2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>
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.
From-SVN: r201755
2013-08-15 00:15:12 +00:00
François Dumont
b09bcf83e8
hashtable_policy.h (_Hashtable_alloc): New.
...
2013-08-08 François Dumont <fdumont@gcc.gnu.org>
* 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.
From-SVN: r201592
2013-08-08 09:47:29 +00:00
Tim Shen
6cb784b639
Makefile.am: Adjust to new files.
...
2013-08-07 Tim Shen <timshen91@gmail.com>
* 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.
From-SVN: r201573
2013-08-07 16:27:36 +00:00
Paolo Carlini
a803975d9c
re PR libstdc++/58098 (wrong return value of normal_distribution::min())
...
2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
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.
From-SVN: r201562
2013-08-07 11:41:30 +00:00
Caroline Tice
2077db1be5
Commit the vtable verification feature.
...
Commit the vtable verification feature. This feature is designed to
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.
From-SVN: r201555
2013-08-06 20:38:59 -07:00
Paolo Carlini
6ffd1096cf
2013-08-06 Paolo Carlini <paolo.carlini@oracle.com>
...
Revert the last commit.
From-SVN: r201525
2013-08-06 11:11:07 +00:00
François Dumont
a3d4b3d7db
hashtable_policy.h (_Hashtable_alloc): New.
...
2013-08-06 François Dumont <fdumont@gcc.gnu.org>
* 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.
From-SVN: r201522
2013-08-06 08:38:58 +00:00
Tim Shen
399eeef978
Implement bracket expression.
...
2013-08-03 Tim Shen <timshen91@gmail.com>
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.
From-SVN: r201465
2013-08-03 14:32:54 +00:00
François Dumont
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
2013-08-01 19:54:46 +00:00
Fabien Chêne
fb23b69e14
re PR c++/54537 (undiagnosed using-declaration conflicting with used function)
...
gcc/cp/
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.
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
From-SVN: r201414
2013-08-01 14:24:37 -05:00
Tim Shen
95c7d82816
Thompson matcher refactored.
...
2013-07-31 Tim Shen <timshen91@gmail.com>
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.
From-SVN: r201391
2013-07-31 22:36:11 +00:00
Tim Shen
1151053225
Revert last commit.
...
From-SVN: r201360
2013-07-31 03:36:37 +00:00
Tim Shen
abf1719efe
Thompson matcher refactored.
...
2013-07-31 Tim Shen <timshen91@gmail.com>
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.
From-SVN: r201358
2013-07-31 00:20:06 +00:00
Paolo Carlini
9a92fa8b66
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
...
Revert last commit.
From-SVN: r201349
2013-07-30 18:16:33 +00:00
Paolo Carlini
5034aa2102
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
...
Revert last commit.
From-SVN: r201348
2013-07-30 18:13:15 +00:00
Tim Shen
a6dc77bc3d
Thompson matcher refactored.
...
2013-07-30 Tim Shen <timshen91@gmail.com>
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.
From-SVN: r201334
2013-07-30 12:02:55 +00:00
Nathan Froyd
272827e446
atomic (compare_exchange_weak, [...]): Add call to __cmpexch_failure_order.
...
libstdc++-v3/
* 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.
From-SVN: r201315
2013-07-29 17:13:05 +00:00
Paolo Carlini
4e30cb71f9
complex (pow(const complex<>&, int)): Enable in C++11 mode too.
...
2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/complex (pow(const complex<>&, int)): Enable in
C++11 mode too.
* testsuite/26_numerics/complex/dr844.cc: Adjust.
* doc/xml/manual/intro.xml: Update.
From-SVN: r201253
2013-07-25 21:24:07 +00:00
Tim Shen
105164bb90
Add documents and comments.
...
2013-07-25 Tim Shen <timshen91@gmail.com>
Add documents and comments.
* include/bits/regex.h: Documents and comments.
* include/bits/regex_grep_matcher.h: Likewise.
* include/bits/regex_grep_matcher.tcc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/string_position_01.cc:
New.
From-SVN: r201244
2013-07-25 14:59:43 +00:00
Tim Shen
37c74e2816
Reimplment matcher using Depth-first search(backtracking).
...
2013-07-24 Tim Shen <timshen91@gmail.com>
Reimplment matcher using Depth-first search(backtracking).
PR libstdc++/53622
PR libstdc++/57173
* include/bits/regex.h: regex_match() and regex_search().
* include/bits/regex_cursor.h: Fix _M_set_pos().
* include/bits/regex_grep_matcher.h: add _M_dfs_match().
* include/bits/regex_grep_matcher.tcc: Implement it.
* testsuite/28_regex/algorithms/regex_match/extended/string_group_01.cc:
New.
* testsuite/28_regex/algorithms/regex_match/extended/string_group_02.cc:
New.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
Remove xfail.
From-SVN: r201213
2013-07-24 14:39:54 +00:00
Tim Shen
407a0fa3a4
Implement regex_iterator and regex_token_iterator.
...
2013-07-23 Tim Shen <timshen91@gmail.com>
Implement regex_iterator and regex_token_iterator.
* include/bits/regex.h: regex_iterator and regex_token_iterator.
* testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
New.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
New.
* testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
New.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc:
New.
From-SVN: r201169
2013-07-23 12:31:51 +00:00
Tim Shen
603c431f90
Partially implement regex_search.
...
2013-07-21 Tim Shen <timshen91@gmail.com>
Partially implement regex_search.
* include/bits/regex.h: regex_search.
* include/bits/regex_grep_matcher.h: _M_search_from_first.
* include/bits/regex_grep_matcher.tcc: Implement it.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
From-SVN: r201113
2013-07-21 23:34:02 +00:00
Mike Stump
d76e725e47
Fix.
...
From-SVN: r201103
2013-07-21 16:52:00 +00:00
Tim Shen
b3ebe3d0e0
Implement class regex_traits.
...
2013-07-09 Tim Shen <timshen91@gmail.com>
Implement class regex_traits.
* include/bits/regex.h: Implement lookup_classname and
lookup_collatename; modify isctype; partially implement
transform_primary.
* testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
* testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
* testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
* testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
* testsuite/28_regex/traits/wchar_t/isctype.cc: New.
* testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
* testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
From-SVN: r200818
2013-07-09 13:41:10 +00:00
François Dumont
b3abc9d822
hashtable_policy.h (_ReuseOrAllocNode): Use forward pattern.
...
2013-07-05 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
pattern.
(_MoveReuseOrAllocNode): Remove.
(_Insert_base): Take a functor defining how the node is generated.
* include/bits/hashtable.h: Adapt.
(operator=(initializer_list<value_type>)): Reuse node if any.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.
From-SVN: r200724
2013-07-05 21:21:07 +00:00
Paolo Carlini
8b30e1668e
const_iterator.cc: Tweak, avoid potential undefined behavior.
...
2013-07-05 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
Tweak, avoid potential undefined behavior.
* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/bool/modifiers/insert/
const_iterator.cc: Likewise.
* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
Likewise.
From-SVN: r200703
2013-07-05 10:32:20 +00:00
Veres Lajos
1d77bc548a
codecvt_members.cc: Fix typo.
...
2013-07-04 Veres Lajos <vlajos@gmail.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
* config/locale/generic/codecvt_members.cc: Fix typo.
* configure.host: Likewise.
* doc/html/manual/policy_data_structures_design.html: Likewise.
* doc/xml/manual/policy_data_structures.xml: Likewise.
* include/bits/hashtable.h: Likewise.
* include/bits/random.h: Likewise.
* include/profile/impl/profiler_trace.h: Likewise.
* testsuite/23_containers/deque/cons/2.cc: Likewise.
* testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
* testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
* testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r200681
2013-07-04 22:07:44 +01:00
Paolo Carlini
019fdb7923
stl_list.h (list<>::insert(iterator, size_type, const value_type&), [...]): Adjust C++11 signatures to take const_iterator(s).
...
2013-07-01 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_list.h (list<>::insert(iterator,
size_type, const value_type&), list<>::insert(iterator,
initializer_list<>), list<>::insert(iterator, _InputIterator,
_InputIterator), list<>::splice(iterator, list&&),
list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
iterator), list<>::splice(iterator, list&, iterator),
list<>::splice(iterator, list&&, iterator, iterator),
list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
signatures to take const_iterator(s).
* include/bits/list.tcc (list<>::insert(const_iterator, size_type,
const value_type&), list<>::insert(const_iterator, _InputIterator,
_InputIterator)): Define.
* include/ext/vstring.h (__versa_string<>::insert(iterator,
size_type, _CharT), __versa_string<>::insert(iterator,
_InputIterator, _InputIterator), __versa_string<>::insert(iterator,
std::initializer_list<>), __versa_string<>::replace(iterator,
iterator, _InputIterator, _InputIterator), __versa_string<>::
replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
signatures to take const_iterator(s).
(__versa_string<>::_M_replace_dispatch): Take const_iterators.
* include/ext/vstring.tcc: Likewise.
* include/debug/list: Adjust.
* include/profile/list: Likewise.
* testsuite/23_containers/list/operations/splice/const_iterator.cc:
New.
* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
Extend.
* testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
Likewise.
* 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.
From-SVN: r200580
2013-07-01 16:17:46 +00:00
Paolo Carlini
06eed9f588
stl_deque.h (deque<>::insert(iterator, size_type, const value_type&), [...]): Adjust C++11 signatures to take a const_iterator.
...
2013-06-30 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_deque.h (deque<>::insert(iterator,
size_type, const value_type&), deque<>::insert(iterator,
initializer_list<>), deque<>::insert(iterator, _InputIterator,
_InputIterator)): Adjust C++11 signatures to take a const_iterator.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/debug/deque: Adjust.
* include/debug/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/vector: Likewise.
* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
Extend.
* testsuite/23_containers/vector/bool/modifiers/insert/
const_iterator.cc: Likewise.
* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
Likewise.
* 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/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: r200571
2013-06-30 16:24:30 +00:00
François Dumont
41349aec29
hashtable_policy.h (_Insert_base): Consider hint in insert methods.
...
2013-06-29 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Insert_base): Consider hint in
insert methods.
* include/bits/hashtable.h: Likewise.
* testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
* testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.
* doc/xml/manual/containers.xml: Document hinting in unordered
containers.
From-SVN: r200564
2013-06-29 07:55:12 +00:00
Paolo Carlini
7d9800e39a
*: Move inside testsuite/21_strings/basic_string/operations/data/.
...
2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/21_strings/basic_string/operations/*: Move inside
testsuite/21_strings/basic_string/operations/data/.
* testsuite/21_strings/basic_string/compare/*: Move inside
testsuite/21_strings/basic_string/operations/.
* testsuite/21_strings/basic_string/find/*: Likewise.
* testsuite/21_strings/basic_string/rfind/*: Likewise.
* testsuite/21_strings/basic_string/substr/*: Likewise.
From-SVN: r200537
2013-06-28 16:01:08 +00:00
Paolo Carlini
17ee10dbec
*: Move inside testsuite/21_strings/basic_string/modifiers/.
...
2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/21_strings/basic_string/append/*: Move inside
testsuite/21_strings/basic_string/modifiers/.
* testsuite/21_strings/basic_string/assign/*: Likewise.
* testsuite/21_strings/basic_string/insert/*: Likewise.
* testsuite/21_strings/basic_string/replace/*: Likewise.
* testsuite/21_strings/basic_string/modifiers/pop_back/char/
pop_back.cc: Rename to 1.cc.
* testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
pop_back.cc: Likewise.
* testsuite/ext/vstring/assign/*: Move inside
testsuite/ext/vstring/modifiers/.
From-SVN: r200465
2013-06-27 12:15:34 +00:00
Paolo Carlini
7b61c5a9cb
stl_deque.h (deque<>::insert(iterator, const value_type&), [...]): Adjust C++11 signatures to take a const_iterator.
...
2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_deque.h (deque<>::insert(iterator,
const value_type&), deque<>::insert(iterator, value_type&&),
deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
take a const_iterator.
(deque<>::erase): Simplify.
* include/bits/stl_list.h: Likewise.
(_List_iterator<>::_M_const_cast): Add.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
(_Bit_iterator::_M_const_cast): Add.
* include/bits/deque.tcc: Adjust definitions.
* include/bits/list.tcc: Likewise.
* include/bits/vector.tcc: Likewise.
* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
Define trivial version in C++98 mode.
* include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
__versa_string<>::replace(iterator, iterator, const __versa_string&),
__versa_string<>::replace(iterator, iterator, const _CharT*,
size_type), __versa_string<>::replace(iterator, iterator,
const _CharT*), __versa_string<>::replace(iterator, iterator,
size_type, _CharT)): Adjust C++11 signatures to take a pair of
const_iterators.
* include/debug/deque: Adjust.
* include/debug/list: Likewise.
* include/debug/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/list: Likewise.
* include/profile/vector: Likewise.
(vector<>::emplace): Add.
* testsuite/util/exception/safety.h: Update.
* testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
New.
* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
Likewise.
* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/bool/modifiers/insert/
const_iterator.cc: Likewise.
* testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
Likewise.
* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
Likewise.
* testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
ext/vstring/modifiers/erase/char/.
* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
ext/vstring/modifiers/wchar_t/.
* testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
ext/vstring/modifiers/pop_back/char/.
* testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
* 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.
From-SVN: r200458
2013-06-27 09:51:21 +00:00
Jason Merrill
46812ec24c
typeck2.c (store_init_value): Diagnose a non-constant initializer for in-class static.
...
* typeck2.c (store_init_value): Diagnose a non-constant
initializer for in-class static.
From-SVN: r200450
2013-06-26 22:35:46 -04:00
Paolo Carlini
be768ae0fb
abi_tag.cc: Avoid spurious fails with check-debug.
...
2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
spurious fails with check-debug.
* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
Likewise.
* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
Likewise.
From-SVN: r200411
2013-06-26 00:29:40 +00:00
Paolo Carlini
6cdbb7e8a1
re PR libstdc++/57704 (std::char_traits<char>::lt is not standards-compliant)
...
2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57704
* include/bits/char_traits.h (char_traits<char>::lt): Implement
LWG 467.
* testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
From-SVN: r200392
2013-06-25 08:39:31 +00:00
Paolo Carlini
07bba3b144
re PR libstdc++/57674 (wrong distribution for std::binomial_distribution::operator()(g,param))
...
2013-06-22 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57674
* include/bits/random.h (binomial_distribution<>::_M_waiting):
Add double parameter.
* include/bits/random.tcc (binomial_distribution<>::operator()
(_UniformRandomNumberGenerator&, const param_type&)): Pass
__param._M_q to _M_waiting.
(_M_waiting): Adjust.
* testsuite/26_numerics/random/binomial_distribution/
operators/values.cc: Add tests.
From-SVN: r200341
2013-06-22 21:07:02 +00:00
Paolo Carlini
b0ad3635b6
re PR libstdc++/57666 (valarray<T>::operator= in c++11 mode does not adapt to size)
...
2013-06-21 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57666
* include/std/valarray (valarray<>::operator=(const _Expr<>&)):
Implement correctly C++11 26.6.2.3/1.
* testsuite/26_numerics/valarray/dr630-3.C: New.
From-SVN: r200305
2013-06-21 14:23:15 +00:00
Jonathan Wakely
25e00ab674
re PR libstdc++/57641 (std::timed_mutex.try_lock_until() is broken)
...
PR libstdc++/57641
* include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
functionality to new __timed_mutex_impl mixin. Overload try_lock_until
to handle conversion between different clocks. Replace constrained
__try_lock_for_impl overloads with conditional increment.
* include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
From-SVN: r200180
2013-06-18 23:55:02 +01:00
Jonathan Wakely
f038f5824b
re PR libstdc++/57263 (std::set with user-defined allocator - compile error)
...
PR libstdc++/57263
* include/bits/forward_list.h (_Fwd_list_base): Convert to/from
allocator's pointer type.
* include/bits/hashtable.h (_Hashtable): Likewise.
* testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
* testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
* testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
From-SVN: r200136
2013-06-16 18:13:34 +01:00
Jonathan Wakely
8d2cddc125
shared_mutex: Implement N3659.
...
* include/std/shared_mutex: Implement N3659.
* include/bits/c++14_warning.h: New.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* testsuite/30_threads/shared_lock/cons/1.cc: New.
* testsuite/30_threads/shared_lock/locking/2.cc: New.
* testsuite/30_threads/shared_lock/cons/2.cc: New.
* testsuite/30_threads/shared_lock/locking/3.cc: New.
* testsuite/30_threads/shared_lock/cons/3.cc: New.
* testsuite/30_threads/shared_lock/locking/4.cc: New.
* testsuite/30_threads/shared_lock/cons/4.cc: New.
* testsuite/30_threads/shared_lock/modifiers/1.cc: New.
* testsuite/30_threads/shared_lock/cons/5.cc: New.
* testsuite/30_threads/shared_lock/modifiers/2.cc: New.
* testsuite/30_threads/shared_lock/cons/6.cc: New.
* testsuite/30_threads/shared_lock/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/shared_lock/locking/1.cc: New.
* testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
* testsuite/30_threads/shared_mutex/cons/1.cc: New.
* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
* testsuite/30_threads/shared_mutex/requirements/
standard_layout.cc: New.
* testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
* testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
From-SVN: r200134
2013-06-16 17:35:06 +01:00
Paolo Carlini
95777cb0fb
re PR libstdc++/57619 (std::unordered_map and std::unordered_multimap::insert invoking std::pair move constructor)
...
2013-06-15 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57619
* include/bits/unordered_map.h (unordered_map<>::insert,
unordered_multimap<>::insert): Use std::forward, not std::move.
* testsuite/23_containers/unordered_map/insert/57619.C: New.
* testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
From-SVN: r200111
2013-06-14 23:35:56 +00:00
Daniel Kruegler
8989803415
type_traits (is_function): Support ref-qualified functions.
...
2013-06-13 Daniel Krugler <daniel.kruegler@gmail.com>
* include/std/type_traits (is_function): Support ref-qualified
functions.
(is_copy_constructible, is_move_constructible, is_copy_assignable,
is_move_assignable, is_nothrow_copy_constructible,
is_nothrow_move_constructible, is_nothrow_copy_assignable,
is_nothrow_move_assignable): Implement LWG 2196.
(add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
LWG 2101.
(__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
unused.
* testsuite/20_util/add_lvalue_reference/value.cc: Extend.
* testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_assignable/value.cc: Likewise.
* testsuite/20_util/is_constructible/value-2.cc: Likewise.
* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_function/value.cc: Likewise.
* testsuite/20_util/is_move_assignable/value.cc: Likewise.
* testsuite/20_util/is_move_constructible/value.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r200080
2013-06-13 23:18:27 +00:00
Paolo Carlini
8aaba3a9a7
modified_bessel_func.tcc (__gnu_cxx::__airy_ai(), [...]): Remove.
...
2013-06-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
__gnu_cxx::__airy_bi()): Remove.
* testsuite/tr1/5_numerical_facilities/special_functions/
10_cyl_bessel_k/airy.cc: Fix.
From-SVN: r200060
2013-06-13 08:25:36 +00:00
Ed Smith-Rowland
bcc193bf46
re PR libstdc++/56430 (In __airy: return-statement with a value, in function returning 'void'.)
...
2013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/56430
* include/tr1/modified_bessel_func.tcc (__airy): Remove return
from void function.
(__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
* testsuite/tr1/5_numerical_facilities/special_functions/
10_cyl_bessel_k/airy.cc: New.
From-SVN: r200054
2013-06-13 03:04:58 +00:00
Ed Smith-Rowland
0372af98bd
Fix library literals error involving namespace __detail.
...
2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>
Fix library literals error involving namespace __detail.
* include/std/chrono: Rename __detail to __select_type. Reformat.
* include/bits/basic_string.h: Reformat.
* testsuite/20_util/duration/literals/ns_detail.cc: New.
From-SVN: r199948
2013-06-11 11:00:38 +00:00
Paolo Carlini
899e00ebb2
re PR libstdc++/56019 (max_align_t should be in std namespace)
...
2013-06-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56019
* include/c_global/cstddef (max_align_t): Add to namespace std.
* include/c_std/cstddef: Likewise.
* testsuite/18_support/max_align_t/requirements/1.cc: New.
* testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
From-SVN: r199945
2013-06-11 09:50:55 +00:00
Benjamin Kosnik
3b31a72738
c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
...
2013-06-10 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
* include/bits/stl_map.h (erase): Use abi_tag when C++11.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_tree.h: Same.
* include/std/complex (real, imag): Use macro for abi_tag.
* testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
* testsuite/util/testsuite_containers.h (erase_external): New
declarations.
(erase_external_iterators): Same.
(linkage_check_cxx98_cxx11_erase): Same.
(linkage_check_cxx98_cxx11_erase_iterators): Same.
* testsuite/util/testsuite_shared.cc: Define.
* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
* testsuite/23_containers/map/modifiers/erase/
dr130-linkage-check.cc: New.
* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
* testsuite/23_containers/multimap/modifiers/erase/
dr130-linkage-check.cc: New.
* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
* testsuite/23_containers/multiset/modifiers/erase/
dr130-linkage-check.cc: New.
* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
* testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
New.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
* testsuite/23_containers/map/dr130.cc: Move...
* testsuite/23_containers/map/modifiers/dr130.cc: ...here.
* testsuite/23_containers/multimap/dr130.cc: Move ...
* testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
* testsuite/23_containers/multiset/dr130.cc: Move...
* testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
* testsuite/23_containers/set/dr130.cc: Move...
* testsuite/23_containers/set/modifiers/dr130.cc: ...here.
From-SVN: r199924
2013-06-10 23:11:05 +00:00
Thomas Schwinge
9275f73ae5
forced.C: Extend current handling of Linux-based x86 systems to cover all GNU systems.
...
gcc/testsuite/
* g++.dg/abi/forced.C: Extend current handling of Linux-based x86
systems to cover all GNU systems.
* g++.dg/abi/guard2.C: Likewise.
* g++.dg/cpp0x/constexpr-rom.C: Likewise.
* g++.dg/eh/sighandle.C: Likewise.
* g++.dg/ext/cleanup-10.C: Likewise.
* g++.dg/ext/cleanup-11.C: Likewise.
* g++.dg/ext/cleanup-8.C: Likewise.
* g++.dg/ext/cleanup-9.C: Likewise.
* g++.dg/opt/const5.C: Likewise.
* g++.dg/opt/life1.C: Likewise.
* g++.dg/other/pr39496.C: Likewise.
* g++.old-deja/g++.abi/aggregates.C: Likewise.
* g++.old-deja/g++.abi/align.C: Likewise.
* g++.old-deja/g++.abi/bitfields.C: Likewise.
* g++.old-deja/g++.law/weak.C: Likewise.
* g++.old-deja/g++.pt/asm1.C: Likewise.
* gcc.c-torture/execute/20030125-1.x: Likewise.
* gcc.c-torture/execute/990127-2.x: Likewise.
* gcc.dg/20041106-1.c: Likewise.
* gcc.dg/20050503-1.c: Likewise.
* gcc.dg/builtin-object-size-5.c: Likewise.
* gcc.dg/cleanup-10.c: Likewise.
* gcc.dg/cleanup-11.c: Likewise.
* gcc.dg/cleanup-8.c: Likewise.
* gcc.dg/cleanup-9.c: Likewise.
* gcc.dg/complex-5.c: Likewise.
* gcc.dg/debug/dwarf2/asm-line1.c: Likewise.
* gcc.dg/debug/dwarf2/discriminator.c: Likewise.
* gcc.dg/dfp/convert-dfp-round-thread.c: Likewise.
* gcc.dg/dfp/pr35739.c: Likewise.
* gcc.dg/fdata-sections-1.c: Likewise.
* gcc.dg/lto/20090206-1_0.c: Likewise.
* gcc.dg/lto/20090206-2_0.c: Likewise.
* gcc.dg/pr30360.c: Likewise.
* gcc.dg/pr37303.c: Likewise.
* gcc.dg/pr39323-1.c: Likewise.
* gcc.dg/pr39323-2.c: Likewise.
* gcc.dg/pr39323-3.c: Likewise.
* gcc.dg/pr45416.c: Likewise.
* gcc.dg/setjmp-2.c: Likewise.
* gcc.dg/split-1.c: Likewise.
* gcc.dg/split-3.c: Likewise.
* gcc.dg/split-4.c: Likewise.
* gcc.dg/strlenopt-12g.c: Likewise.
* gcc.dg/strlenopt-14g.c: Likewise.
* gcc.dg/strlenopt-14gf.c: Likewise.
* gcc.dg/strlenopt-16g.c: Likewise.
* gcc.dg/strlenopt-17g.c: Likewise.
* gcc.dg/strlenopt-18g.c: Likewise.
* gcc.dg/strlenopt-1f.c: Likewise.
* gcc.dg/strlenopt-22g.c: Likewise.
* gcc.dg/strlenopt-2f.c: Likewise.
* gcc.dg/strlenopt-4g.c: Likewise.
* gcc.dg/strlenopt-4gf.c: Likewise.
* gcc.dg/struct-ret-3.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-2.c: Likewise.
* gcc.misc-tests/linkage.exp: Likewise.
* gcc.target/i386/20000724-1.c: Likewise.
* gcc.target/i386/align-main-3.c: Likewise.
* gcc.target/i386/cleanup-1.c: Likewise.
* gcc.target/i386/inline-mcpy.c: Likewise.
* gcc.target/i386/pr32268.c: Likewise.
* gcc.target/i386/pr36613.c: Likewise.
* gcc.target/i386/pr39013-1.c: Likewise.
* gcc.target/i386/pr39013-2.c: Likewise.
* gcc.target/i386/pr39496.c: Likewise.
* gcc.target/i386/pr40906-3.c: Likewise.
* gcc.target/i386/pr46084.c: Likewise.
* lib/target-supports.exp (check_effective_target_pie): Likewise.
libgomp/
* testsuite/libgomp.c/icv-2.c: Extend current handling of
Linux-based x86 systems to cover all GNU systems.
* testsuite/libgomp.c/lock-3.c: Likewise.
* testsuite/libgomp.c/pr48591.c: Likewise.
libstdc++-v3/
* testsuite/17_intro/headers/c++1998/49745.cc: Extend current
handling of Linux-based x86 systems to cover all GNU systems.
* testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
* testsuite/18_support/pthread_guard.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
Likewise.
* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
* testsuite/23_containers/list/pthread1.cc: Likewise.
* testsuite/23_containers/list/pthread5.cc: Likewise.
* testsuite/23_containers/map/pthread6.cc: Likewise.
* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
Likewise.
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Likewise.
* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
* testsuite/30_threads/async/42819.cc: Likewise.
* testsuite/30_threads/async/49668.cc: Likewise.
* testsuite/30_threads/async/54297.cc: Likewise.
* testsuite/30_threads/async/any.cc: Likewise.
* testsuite/30_threads/async/async.cc: Likewise.
* testsuite/30_threads/async/launch.cc: Likewise.
* testsuite/30_threads/async/sync.cc: Likewise.
* testsuite/30_threads/call_once/39909.cc: Likewise.
* testsuite/30_threads/call_once/49668.cc: Likewise.
* testsuite/30_threads/call_once/call_once1.cc: Likewise.
* testsuite/30_threads/condition_variable/54185.cc: Likewise.
* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
* testsuite/30_threads/condition_variable/members/53841.cc:
Likewise.
* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable_any/members/1.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/members/2.cc:
Likewise.
* testsuite/30_threads/future/cons/move.cc: Likewise.
* testsuite/30_threads/future/members/45133.cc: Likewise.
* testsuite/30_threads/future/members/get.cc: Likewise.
* testsuite/30_threads/future/members/get2.cc: Likewise.
* testsuite/30_threads/future/members/share.cc: Likewise.
* testsuite/30_threads/future/members/valid.cc: Likewise.
* testsuite/30_threads/future/members/wait.cc: Likewise.
* testsuite/30_threads/future/members/wait_for.cc: Likewise.
* testsuite/30_threads/future/members/wait_until.cc: Likewise.
* testsuite/30_threads/lock/1.cc: Likewise.
* testsuite/30_threads/lock/2.cc: Likewise.
* testsuite/30_threads/lock/3.cc: Likewise.
* testsuite/30_threads/lock/4.cc: Likewise.
* testsuite/30_threads/mutex/cons/1.cc: Likewise.
* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/mutex/lock/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/packaged_task/49668.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/move_assign.cc:
Likewise.
* testsuite/30_threads/packaged_task/members/get_future.cc:
Likewise.
* testsuite/30_threads/packaged_task/members/get_future2.cc:
Likewise.
* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
* testsuite/30_threads/promise/cons/1.cc: Likewise.
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
* testsuite/30_threads/promise/cons/move.cc: Likewise.
* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
* testsuite/30_threads/promise/members/get_future.cc: Likewise.
* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception2.cc:
Likewise.
* testsuite/30_threads/promise/members/set_value.cc: Likewise.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
* testsuite/30_threads/promise/members/swap.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
Likewise.
* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
* testsuite/30_threads/shared_future/members/get.cc: Likewise.
* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_for.cc:
Likewise.
* testsuite/30_threads/shared_future/members/wait_until.cc:
Likewise.
* testsuite/30_threads/this_thread/1.cc: Likewise.
* testsuite/30_threads/this_thread/2.cc: Likewise.
* testsuite/30_threads/this_thread/3.cc: Likewise.
* testsuite/30_threads/this_thread/4.cc: Likewise.
* testsuite/30_threads/thread/cons/1.cc: Likewise.
* testsuite/30_threads/thread/cons/2.cc: Likewise.
* testsuite/30_threads/thread/cons/3.cc: Likewise.
* testsuite/30_threads/thread/cons/4.cc: Likewise.
* testsuite/30_threads/thread/cons/49668.cc: Likewise.
* testsuite/30_threads/thread/cons/5.cc: Likewise.
* testsuite/30_threads/thread/cons/6.cc: Likewise.
* testsuite/30_threads/thread/cons/7.cc: Likewise.
* testsuite/30_threads/thread/cons/8.cc: Likewise.
* testsuite/30_threads/thread/cons/9.cc: Likewise.
* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
* testsuite/30_threads/thread/members/1.cc: Likewise.
* testsuite/30_threads/thread/members/2.cc: Likewise.
* testsuite/30_threads/thread/members/3.cc: Likewise.
* testsuite/30_threads/thread/members/4.cc: Likewise.
* testsuite/30_threads/thread/members/5.cc: Likewise.
* testsuite/30_threads/thread/members/hardware_concurrency.cc:
Likewise.
* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
* testsuite/30_threads/thread/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/thread/swap/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/try_lock/1.cc: Likewise.
* testsuite/30_threads/try_lock/2.cc: Likewise.
* testsuite/30_threads/try_lock/3.cc: Likewise.
* testsuite/30_threads/try_lock/4.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
* testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
* testsuite/ext/profile/mh.cc: Likewise.
* testsuite/ext/rope/pthread7-rope.cc: Likewise.
* testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
Likewise.
* testsuite/util/testsuite_performance.h: Extend current handling
of Linux-based systems to cover all glibc-based systems.
From-SVN: r199880
2013-06-10 09:21:29 +02:00
Jonathan Wakely
bd24ec2de0
mutex (call_once): Remove parentheses to fix error in c++1y and gnu++1y mode.
...
* include/std/mutex (call_once): Remove parentheses to fix error in
c++1y and gnu++1y mode.
* testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
thread to avoid undefined behaviour.
From-SVN: r199875
2013-06-10 00:54:07 +01:00
Ed Smith-Rowland
88c4d6b798
Simplify and clean up library literals.
...
2013-06-07 Ed Smith-Rowland <3dw4rd@verizon.net>
Simplify and clean up library literals.
* include/std/chrono: Simplify namespace and versioning management.
* include/bits/basic_string.h: Ditto.
* testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
* testsuite/20_util/duration/literals/values.cc: Ditto.
* testsuite/21_strings/basic_string/literals/types.cc: Ditto.
* testsuite/21_strings/basic_string/literals/values.cc: Ditto.
From-SVN: r199861
2013-06-08 22:43:18 +00:00
Ed Smith-Rowland
83ac9249c8
Implement N3654 - Quoted Strings Library Proposal
...
2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
Implement N3654 - Quoted Strings Library Proposal
* include/std/iomanip: Add quoted(String, Char delim, Char escape)
manipulators and supporting machinery in c++1y mode.
* testsuite/27_io/manipulators/standard/char/quoted.cc: New.
* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
From-SVN: r199860
2013-06-08 22:37:50 +00:00
Jonathan Wakely
f7fbb0036a
stl_algo.h (is_permutation): Add overloads from N3671.
...
* include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
* include/bits/stl_algobase.h (equal, mismatch): Likewise.
* testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
* testsuite/25_algorithms/equal/2.cc: New.
* testsuite/25_algorithms/equal/check_type2.cc: New.
* testsuite/25_algorithms/is_permutationqual/2.cc: New.
* testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
* testsuite/25_algorithms/mismatch/2.cc: New.
* testsuite/25_algorithms/mismatch/check_type2.cc: New.
* testsuite/util/testsuite_iterators.h: Fix spelling.
From-SVN: r199854
2013-06-08 17:12:13 +01:00
Jonathan Wakely
db113eda6d
type-traits (integral_constant::operator()): Implement N3545.
...
* include/std/type-traits (integral_constant::operator()): Implement
N3545.
* testsuite/20_util/integral_constant/call_operator.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line numbers.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r199853
2013-06-08 17:12:07 +01:00
Tom Tromey
0d471c50a3
* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
...
From-SVN: r199708
2013-06-05 18:58:12 +00:00
Paolo Carlini
2e6491515e
re PR c++/57419 (Access control doesn't stop referring to a deleted function)
...
/gcc/cp
2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57419
* decl2.c (mark_used): Add overload taking a tsubst_flags_t too.
* semantics.c (finish_qualified_id_expr): Use it.
* cp-tree.h: Update.
/gcc/testsuite
2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57419
* g++.dg/cpp0x/sfinae46.C: New.
* g++.dg/cpp0x/defaulted13.C: Adjust.
* g++.dg/cpp0x/defaulted2.C: Likewise.
* g++.dg/cpp0x/defaulted26.C: Likewise.
* g++.dg/cpp0x/defaulted3.C: Likewise.
* g++.dg/cpp0x/error1.C: Likewise.
* g++.dg/cpp0x/implicit1.C: Likewise.
* g++.dg/cpp0x/implicit11.C: Likewise.
* g++.dg/cpp0x/inh-ctor13.C: Likewise.
* g++.dg/cpp0x/initlist47.C: Likewise.
* g++.dg/cpp0x/initlist9.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-errloc.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-errloc2.C: Likewise.
* g++.dg/cpp0x/nsdmi-local.C: Likewise.
* g++.dg/cpp0x/union4.C: Likewise.
* g++.dg/template/crash108.C: Likewise.
* g++.dg/template/crash41.C: Likewise.
* g++.old-deja/g++.jason/local.C: Likewise.
* g++.old-deja/g++.law/visibility3.C: Likewise.
/libstdc++-v3
2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57419
* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
From-SVN: r199626
2013-06-03 20:39:50 +00:00
Ed Smith-Rowland
1c9f675fd9
Implement N3642 - User-defined Literals for Standard Library Types
...
2013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net>
Implement N3642 - User-defined Literals for Standard Library Types
* include/bits/parse_numbers.h: New.
* include/std/chrono: Add duration literal operators.
* include/bits/basic_string.h: Add string literal operators.
* include/Makefile.in: Add parse_numbers.h.
* include/Makefile.am: Ditto.
* testsuite/20_util/duration/literals/values.cc: New.
* testsuite/20_util/duration/literals/types.cc: New.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
* testsuite/21_strings/basic_string/literals/values.cc: New.
* testsuite/21_strings/basic_string/literals/types.cc: New.
From-SVN: r199584
2013-06-01 18:37:47 +00:00
Jakub Jelinek
2e8a9734c0
chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, include unistd.h and sys/syscall.h.
...
* src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X,
don't define system_clock::is_steady, system_clock::now() and
steady_clock::is_steady.
(std::chrono::system_clock::now()): If
_GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
(std::chrono::system_clock::now()): Likewise. Add weak attribute
if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
be non-empty.
* src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
(compatibility-chrono.lo, compatibility-chrono.o): New goals.
* src/c++11/compatibility-chrono.cc: New file.
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
* testsuite/util/testsuite_abi.cc (check_version): Add
GLIBCXX_3.4.20 version and make it the latest.
* config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to
@@GLIBCXX_3.4.20 instead.
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
Regenerated.
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
Regenerated.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
Regenerated.
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
Regenerated.
* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
* config.h.in: Regenerated.
* src/Makefile.in: Regenerated.
* configure: Regenerated.
From-SVN: r199307
2013-05-24 20:08:42 +02:00
Jonathan Wakely
bf5f6aa9be
re PR libstdc++/57336 (Cannot INVOKE a reference_wrapper around an abstract type)
...
PR libstdc++/57336
* include/std/functional (__invoke): Do not form function types with
abstract return type.
* testsuite/20_util/reference_wrapper/invoke-3.cc: New.
From-SVN: r199136
2013-05-21 09:15:13 +01:00
Jonathan Wakely
b5a8fed6f1
tuple (get): Implement N3670.
...
* include/std/tuple (get): Implement N3670.
* include/std/utility (get): Likewise.
* testsuite/20_util/pair/get.cc: Move to ...
* testsuite/20_util/pair/astuple/get.cc: Here.
* testsuite/20_util/pair/astuple/astuple.cc: New.
* testsuite/20_util/pair/astuple/constexpr_get.cc: New.
* testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
* testsuite/20_util/pair/astuple/get_by_type.cc: New.
* testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
* testsuite/20_util/pair/astuple/get_neg.cc: New.
* testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
* testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
* testsuite/20_util/tuple/element_access/get_by_type.cc: New.
From-SVN: r199082
2013-05-19 14:31:36 +01:00
Jonathan Wakely
05a4261b10
unique_ptr.h (make_unique): Declare inline.
...
* include/bits/unique_ptr.h (make_unique): Declare inline.
(unique_ptr<T[],D>::reset()): Combine two overloads into one.
(default_delete, unique_ptr): Add doxygen comments.
* include/bits/shared_ptr_base.h: Improve doxygen comments.
* include/bits/shared_ptr.h: Likewise.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
number.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
From-SVN: r199069
2013-05-18 21:18:55 +01:00
Jonathan Wakely
c98b05982b
utility (exchange): Define.
...
* include/std/utility (exchange): Define.
* testsuite/20_util/exchange/1.cc: New.
From-SVN: r199061
2013-05-18 17:18:35 +01:00
Jonathan Wakely
a9769eb0d9
unique_ptr.h (make_unique): Define.
...
* include/bits/unique_ptr.h (make_unique): Define.
* testsuite/20_util/unique_ptr/creation/single.cc: New.
* testsuite/20_util/unique_ptr/creation/array.cc: New.
* testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
From-SVN: r199057
2013-05-18 16:07:02 +01:00
François Dumont
4722d00530
printers.py (Tr1HashtableIterator): Fix rendering of std::tr1 unordered containers iterator.
...
2013-05-15 François Dumont <fdumont@gcc.gnu.org>
* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
rendering of std::tr1 unordered containers iterator.
(StdHashtableIterator): New, render std unordered containers iterator.
* testsuite/libstdc++-prettyprinters/tr1.cc: New.
From-SVN: r198947
2013-05-15 19:39:18 +00:00
Paolo Carlini
94938aec1a
re PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of const_iterator)
...
2013-05-10 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/54577
* include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
(_Deque_iterator<>::_M_const_cast): Add.
(deque<>::_M_erase): Declare.
* include/bits/deque.tcc: ... and define.
* include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
(_List_const_iterator<>::_M_const_cast): Add.
* include/bits/list.tcc (erase (iterator)): Fix.
* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
Add; include <ext/cast.h>.
* include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
(vector<>::_M_erase): Declare.
* include/bits/stl_bvector.h: Likewise.
* include/bits/vector.tcc (vector<>::_M_erase): Define.
* include/ext/vstring.h (erase): Fix signatures in C++11 mode.
* include/debug/deque: Adjust.
* include/debug/list: Likewise.
* include/debug/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/list: Likewise.
* include/profile/vector: Likewise.
* testsuite/util/exception/safety.h (erase_base<deque>,
erase_base<deque>, erase_base<vector>): Remove.
(erase_base<__versa_string>): Update.
* testsuite/ext/vstring/modifiers/char/54577.cc: New.
* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
* testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
* testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
* testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
Likewise.
* testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* 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.
From-SVN: r198790
2013-05-10 15:18:33 +00:00
Uros Bizjak
fb7f649d71
testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
...
* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
From-SVN: r198768
2013-05-10 09:54:22 +02:00
François Dumont
703f140fb8
unordered_base.h: New.
...
2013-05-07 François Dumont <fdumont@gcc.gnu.org>
* include/profile/unordered_base.h: New.
* include/Makefile.am: Add new profile header.
* include/Makefile.in: Regenerate.
* include/profile/impl/profiler.h
(__profcxx_inefficient_hash_is_on): New macro.
* include/profile/unordered_map (std::profile::unordered_map<>):
Use new _Unordered_profile base class. Use default implementations
for special functions.
(std::profile::unordered_multimap<>): Likewise.
* include/profile/unordered_set (std::profile::unordered_set<>):
Likewise.
(std::profile::unordered_multiset<>): Likewise.
* testsuite/23_containers/unordered_multiset/55043.cc: Fix
MoveOnly equality operator signature.
From-SVN: r198698
2013-05-07 20:26:15 +00:00
Paolo Carlini
b273e79b19
constexpr_data.cc: Move...
...
2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
constexpr_data.cc: Move...
* testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
... here.
* testsuite/20_util/integral_constant/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/integral_constant/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/static_definition.cc: Likewise.
* testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
* testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
From-SVN: r198521
2013-05-02 12:03:30 +00:00
Paolo Carlini
aa940ab5d5
type_traits (is_null_pointer): Add.
...
2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (is_null_pointer): Add.
(__is_nullptr_t): Implement in terms of the latter.
(is_fundamental, is_scalar): Adjust.
* testsuite/20_util/is_null_pointer/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_null_pointer/value.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r198516
2013-05-02 11:00:26 +00:00
Jonathan Wakely
fe807059aa
re PR libstdc++/51365 (cannot use final empty class in std::tuple)
...
PR libstdc++/51365
* include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
implement EBO safely.
(_Sp_counted_base::_M_get_deleter): Add noexcept.
(_Sp_counter_ptr): Use noexcept instead of comments.
(_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
(_Sp_counted_ptr_inplace): Likewise.
* testsuite/20_util/shared_ptr/cons/51365.cc: New.
* testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
custom allocator and test construction with custom allocator.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
line number.
From-SVN: r198367
2013-04-28 12:38:21 +01:00
Paolo Carlini
0433be867c
move_range.cc: Adjust dialect to -std=gnu++11.
...
2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
dialect to -std=gnu++11.
From-SVN: r198347
2013-04-26 21:20:00 +00:00
François Dumont
d2f2f2e38c
2013-04-26 François Dumont <fdumont@gcc.gnu.org>
...
* include/bits/hashtable_policy.h
(_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
* testsuite/23_containers/unordered_set/insert/move_range.cc: New.
From-SVN: r198346
2013-04-26 20:13:41 +00:00
Paolo Carlini
acd1cc4b29
cstdio (gets): Provide only in C++98 and C++11.
...
2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_global/cstdio (gets): Provide only in C++98 and C++11.
* include/c_std/cstdio (gets): Likewise.
* testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
From-SVN: r198335
2013-04-26 11:32:49 +00:00
Jonathan Wakely
ec98d01014
re PR libstdc++/56905 ([C++11][DR 1130] std::copy_exception should be removed or no longer be used)
...
PR libstdc++/56905
* libsupc++/exception_ptr.h (copy_exception): Deprecate and
move implementation to make_exception_ptr.
* include/std/future (_State_base::_M_break_promise): Replace
copy_exception with make_exception_ptr.
* testsuite/18_support/exception_ptr/move.cc: Likewise.
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
* testsuite/30_threads/future/members/get2.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
From-SVN: r198265
2013-04-24 23:00:16 +01:00
Jason Merrill
3579964bee
pt.c (fn_type_unification): Push tinst level around type_unification_real if we aren't explaining.
...
gcc/cp/
* pt.c (fn_type_unification): Push tinst level around
type_unification_real if we aren't explaining.
* cp-tree.h (TFF_NO_TEMPLATE_BINDINGS): New.
* error.c (dump_function_decl): Respect it.
(subst_to_string): Pass it.
libstdc++-v3/
* testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
substitution" lines.
From-SVN: r198161
2013-04-22 16:40:54 -04:00
Jason Merrill
80f7a782fd
re PR c++/48665 (type of const member function)
...
PR c++/48665
* rtti.c (get_typeid): Diagnose qualified function type.
* pt.c (tsubst) [POINTER_TYPE]: Likewise.
From-SVN: r198160
2013-04-22 16:35:58 -04:00
François Dumont
0462b6aa20
hashtable_policy.h: Add C++11 allocator support.
...
2013-04-22 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h: Add C++11 allocator support.
* include/bits/hashtable.h: Likewise.
* include/bits/unordered_set.h: Likewise.
* include/bits/unordered_map.h: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/unordered_map: Likewise.
* include/std/unordered_set: Remove bits/algobase.h
include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
* include/std/unordered_map: Likewise.
* include/ext/throw_allocator.h: Add checks on calls to allocator
construct/destroy.
(std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
(std::hash<__gnu_cxx::throw_value_random>): Likewise.
* testsuite/util/regression/rand/priority_queue
/container_rand_regression_test.tcc: Adapt.
* testsuite/util/regression/rand/assoc
/container_rand_regression_test.tcc: Likewise.
* testsuite/util/testsuite_counter_type.h: Add count of destructors.
* testsuite/23_containers/unordered_set
/not_default_constructible_hash_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/allocator/copy.cc: New.
* testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
* testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
* testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
* testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
* testsuite/23_containers/unordered_set/allocator/swap.cc: New.
* testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
* testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
New.
* testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
* testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
New.
* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
* testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
* testsuite/23_containers/unordered_map/allocator/copy.cc: New.
* testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
* testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
* testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
New.
* testsuite/23_containers/unordered_map/allocator/swap.cc: New.
* testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
* testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
New.
* testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
* testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
New.
* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
* testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
From-SVN: r198158
2013-04-22 20:22:07 +00:00
Paolo Carlini
6a4b1a00fa
type_traits (is_signed): Simplify.
...
2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (is_signed): Simplify.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r198144
2013-04-22 15:27:54 +00:00
Paolo Carlini
177d2b74b5
re PR libstdc++/57010 ([c++0x] priority_queue<>::pop() calls self-move-assignment operator)
...
2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57010
* include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
* testsuite/25_algorithms/pop_heap/57010.cc: New.
From-SVN: r198125
2013-04-22 10:07:31 +00:00
Paolo Carlini
d6222d4ef0
cxx11.cc: Include <memory>.
...
2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
From-SVN: r197594
2013-04-08 16:47:02 +00:00
Jonathan Wakely
f2e2de5f85
Makefile.am: Add ext/aligned_buffer.h
...
* include/Makefile.am: Add ext/aligned_buffer.h
* include/Makefile.in: Regenerate.
* include/ext/aligned_buffer.h: New.
* include/std/future (_Result): Use __aligned_buffer.
* include/bits/forward_list.h (_Fwd_list_node): Likewise.
* include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
number.
From-SVN: r197554
2013-04-07 17:44:40 +01:00
François Dumont
82b12c4b24
functional (_Derives_from_unary_function): Remove.
...
2013-04-04 François Dumont <fdumont@gcc.gnu.org>
* include/std/functional (_Derives_from_unary_function): Remove.
(_Derives_from_binary_function): Remove.
* include/std/type_traits (__sfinae_types): Remove.
(__is_assignable_helper): Adapt.
(__is_convertible_helper): Adapt.
(_GLIBCXX_HAS_NESTED_TYPE): Adapt.
Remove several explicit instantiations of integral_constant.
* testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adapt dg-error line number.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
* testsuite/20_util/bind/ref_neg.cc: Likewise.
From-SVN: r197551
2013-04-07 10:42:51 +00:00
Jonathan Wakely
2d50082803
* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
...
From-SVN: r197472
2013-04-04 09:56:09 +01:00
Paolo Carlini
169a7e85f0
re PR libstdc++/56834 (Errors in <array> with --enable-symvers=gnu-versioned-namespace and -D_GLIBCXX_DEBUG)
...
2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56834
* include/debug/array (tuple_size, tuple_element): Do not declare.
* include/profile/array: Likewise.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Adjust dg-error line number.
From-SVN: r197415
2013-04-03 15:07:12 +00:00
Jonathan Wakely
dca77a8a1b
exception (get_terminate(), [...]): Declare.
...
* libsupc++/exception (get_terminate(), get_unexpected()): Declare.
* libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
Define.
(set_terminate(terminate_handler)): Set atomically.
(set_unexpected(terminate_handler)): Likewise.
* libsupc++/new (get_new_handler()): Declare.
* libsupc++/new_handler.cc (get_new_handler()): Define.
(set_new_handler(new_handler)): Set atomically.
(__new_handler): Use internal linkage.
* libsupc++/new_op.cc (operator new): Use get_new_handler().
* libsupc++/new_opnt.cc (operator new): Likewise.
* acinclude.m4: Bump libtool_VERSION to 6:19:0.
* configure: Regenerate.
* libsupc++/Makefile.am: Compile above files with -std=gnu++11.
* libsupc++/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add new exports.
* doc/xml/manual/status_cxx2011.xml: Update.
* testsuite/18_support/headers/exception/synopsis.cc: Check accessors
for handlers.
* testsuite/18_support/headers/new/synopsis.cc: Likewise.
* testsuite/18_support/new_handler.cc: New.
* testsuite/18_support/terminate_handler.cc: New.
* testsuite/18_support/unexpected_handler.cc: New.
From-SVN: r197380
2013-04-03 01:08:54 +01:00
Kai Tietz
c0f6f2b4f2
50594.cc: For mingw-targets use only static libstdc++-version.
...
* testsuite/18_support/50594.cc: For mingw-targets use only static
libstdc++-version.
* testsuite/19_diagnostics/error_category/operators/equal.cc
* testsuite/19_diagnostics/error_code/cons/1.cc
* testsuite/19_diagnostics/error_code/operators/bool.cc
* testsuite/19_diagnostics/error_code/operators/equal.cc
* testsuite/19_diagnostics/error_code/operators/not_equal.cc
* testsuite/19_diagnostics/error_condition/cons/1.cc
* testsuite/19_diagnostics/error_condition/operators/bool.cc
* testsuite/19_diagnostics/error_condition/operators/equal.cc
* testsuite/19_diagnostics/error_condition/operators/not_equal.cc
* testsuite/23_containers/set/requirements/exception/basic.cc
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
* testsuite/lib/dg-options.exp (dg-additional-options): New option.
From-SVN: r197032
2013-03-25 11:47:39 +01:00
Jonathan Wakely
95a83503a0
re PR libstdc++/56170 (Extension debug_allocator seems non-compliant w.r.t. rebind)
...
PR libstdc++/56170
* include/ext/debug_allocator.h (debug_allocator): Add missing members
to meet allocator requirements.
* testsuite/ext/debug_allocator/56170.cc: New.
From-SVN: r197023
2013-03-24 22:10:29 +00:00
Paolo Carlini
ad6fdc1976
PR libstdc++/55977 (partial, std::vector and std::deque bits)
...
2013-03-18 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/55977 (partial, std::vector and std::deque bits)
* include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
_InputIterator, std::input_iterator_tag)): Use emplace_back.
* include/bits/deque.tcc (_M_range_initialize(_InputIterator,
_InputIterator, std::input_iterator_tag)): Likewise.
* testsuite/23_containers/vector/cons/55977.cc: New.
* testsuite/23_containers/deque/cons/55977.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r196774
2013-03-18 10:15:56 +00:00
Paolo Carlini
b4904956fa
re PR libstdc++/55979 ([C++11] std::list range construction imposes unnecessary conversion constraints)
...
2013-03-17 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/55979
* include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
_InputIterator, __false_type)): Use emplace_back.
* testsuite/23_containers/list/cons/55979.cc: New.
* testsuite/23_containers/list/modifiers/1.h: Adjust.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
From-SVN: r196755
2013-03-17 18:27:52 +00:00
Jason Merrill
5275b2c7d7
re PR c++/55017 ([DR 1051] [C++11] Rvalue-reference member should cause copy constructor to be deleted, but still declared)
...
PR c++/55017
* method.c (walk_field_subobs): Disallow copy of rvalue ref.
From-SVN: r196728
2013-03-16 22:35:01 -04:00
Jonathan Wakely
3442f18d26
re PR libstdc++/56002 ([C++11] allow generic locks to be used without requiring plattform support for threads)
...
PR libstdc++/56002
* include/std/mutex (lock_guard, unique_lock, lock): Define without
depending on _GLIBCXX_HAS_GTHREADS.
* testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
From-SVN: r196706
2013-03-16 19:45:53 +00:00
Jonathan Wakely
aaad548e18
re PR libstdc++/56492 (std::packaged_task requires CopyConstructible stored task)
...
PR libstdc++/56492
* include/std/future (__future_base::_Result): Add result_type
typedef.
(__future_base::_S_allocate_result): Overload for std::allocator.
(__future_base::_Task_setter): Use _Result::result_type instead of
deducing the type from the task.
(__future_base::_Task_state): Store allocator to allow shared state
to be reset. Replace std::function with member of target object type
accessed via ...
(__future_base::_Task_state_base): New abstract base class.
(__future_base::_Task_state_base::_M_run): New virtual function to
invoke type-erased target object.
(__future_base::_Task_state_base::_M_reset): New virtual function to
create new shared_state using same target object and allocator.
(__future_base::__create_task_state): Allocate a new _Task_state.
(packaged_task::packaged_task): Use __create_task_state.
(packaged_task::reset): Use _Task_state_base::_M_reset.
* testsuite/30_threads/packaged_task/cons/56492.cc: New.
From-SVN: r196695
2013-03-16 02:48:06 +00:00
Jonathan Wakely
1f069142c7
re PR libstdc++/56613 (map::operator[](key_type&&) fails with custom allocator)
...
PR libstdc++/56613
* include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
allocator_traits instead of calling construct directly.
* testsuite/23_containers/map/56613.cc: New.
From-SVN: r196666
2013-03-14 23:28:11 +00:00
Paolo Carlini
8a38ebb653
re PR libstdc++/56609 ([C++11] Several type traits give incorrect results for std::nullptr_t)
...
2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56609
* include/std/type_traits (is_fundamental): Add std::nullptr_t.
* testsuite/20_util/is_fundamental/value.cc: Extend.
* testsuite/20_util/is_compound/value.cc: Likewise.
From-SVN: r196630
2013-03-13 11:15:45 +00:00
Paolo Carlini
03a42414ab
55463.cc: Avoid -Wunused warnings.
...
2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
-Wunused warnings.
From-SVN: r196572
2013-03-09 11:45:48 +00:00
François Dumont
68d047cb48
vector.tcc (vector<>operator=(const vector<>&): Reset pointers after deallocation when memory can be reused.
...
2013-03-08 François Dumont <fdumont@gcc.gnu.org>
* include/bits/vector.tcc (vector<>operator=(const vector<>&):
Reset pointers after deallocation when memory can be reused.
* testsuite/23_containers/vector/allocator/minimal.cc: Insert
elements to really challenge C++11 allocator integration.
* testsuite/23_containers/vector/allocator/copy.cc: Likewise.
* testsuite/23_containers/vector/allocator/copy_assign.cc:
Likewise.
* testsuite/23_containers/vector/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/vector/allocator/swap.cc: Likewise and
swap vector back before checks on memory/personality mapping are
performed.
* testsuite/23_containers/forward_list/allocator/minimal.cc:
Insert element to really challenge C++11 allocator integration.
* testsuite/23_containers/forward_list/allocator/copy.cc:
Likewise.
* testsuite/23_containers/forward_list/allocator/copy_assign.cc:
Likewise.
* testsuite/23_containers/forward_list/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
and swap forward_list back before checks on memory/personality
mapping are performed.
From-SVN: r196557
2013-03-08 20:08:20 +00:00
Ulrich Drepper
d233c23756
Add math constants and triangular and von Mises distributions.
...
From-SVN: r196407
2013-03-03 00:12:28 +00:00
Jonathan Wakely
a26f0501b4
re PR libstdc++/56012 ([C++11] Narrowing conversion in atomic_flag)
...
PR libstdc++/56012
* include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
* testsuite/29_atomics/atomic/operators/56012.cc: New.
PR libstdc++/56011
* include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
missing overload.
* testsuite/29_atomics/atomic/operators/56011.cc: New.
From-SVN: r196296
2013-02-26 23:46:21 +00:00
Jonathan Wakely
4731c96644
55043.cc: Add missing namespace qualification.
...
* testsuite/23_containers/unordered_set/55043.cc: Add missing
namespace qualification.
* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
From-SVN: r196183
2013-02-20 21:23:44 +00:00
Benjamin Kosnik
c0ffa2badb
user.cfg.in: Set __cplusplus to 201103L.
...
2013-02-19 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
_GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
* include/bits/stl_pair.h: Add to utilities group.
* include/std/tuple: Same.
* include/std/typeindex: Same.
* include/bits/stringfwd.h: Fix markup.
* include/std/limits: Same.
* include/std/type_traits: Same.
* include/tr1/memory: Same.
* include/tr1/regex: Same.
* scripts/run_doxygen: Comment.
* testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
From-SVN: r196162
2013-02-20 01:52:36 +00:00
Jason Merrill
5b858a6cc3
quick_exit.cc: #if out the whole test if unsupported.
...
* testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
test if unsupported.
From-SVN: r196066
2013-02-14 20:26:54 -05:00
Marc Glisse
1c259e8b49
re PR libstdc++/56111 ({float,double,long double} complex not accepted anymore)
...
2013-02-13 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/56111
* include/std/complex (complex): Undefine.
* include/c_compatibility/complex.h (complex): Only undefine if
<complex> has been included.
* testsuite/26_numerics/complex/56111.cc: New testcase.
From-SVN: r196034
2013-02-13 21:58:53 +00:00
Julian Brown
1590a83511
38081-1.cc (test01): Don't expect dots after abbreviated weekday names for ru_RU for glibc versions...
...
libstdc++-v3/
* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
Don't expect dots after abbreviated weekday names for ru_RU for
glibc versions >= 2.17.
* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
Likewise.
From-SVN: r195971
2013-02-12 10:32:01 +00:00
Paolo Carlini
42906f7940
cstdlib (at_quick_exit, quick_exit): Do not declare.
...
2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
* include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
in C++11 mode and if available in the underlying C library.
* testsuite/18_support/quick_exit/quick_exit.cc: Compile with
-std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
_GLIBCXX_HAVE_QUICK_EXIT.
From-SVN: r195961
2013-02-11 23:42:43 +00:00
Jason Merrill
cc999d0300
linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
...
* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
(GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
* include/c_std/cstdlib: Add atexit and at_quick_exit.
* include/c_global/cstdlib: Add atexit and at_quick_exit.
* testsuite/18_support/quick_exit/quick_exit.cc: New.
From-SVN: r195948
2013-02-11 12:50:13 -05:00
Paolo Carlini
3b424b30be
re PR libstdc++/56282 (std::basic_ios<char> broken with -std=c++11 (undefined reference))
...
2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56282
Revert:
2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/56193
* include/bits/basic_ios.h: Replace operator void*() const
with explicit operator bool() const in C++11 and greater.
* testsuite/27_io/basic_ios/pr56193.cc: New file.
From-SVN: r195939
2013-02-11 10:30:43 +00:00
Jonathan Wakely
dfed5434f3
re PR libstdc++/56267 (unordered containers require Assignable hash function)
...
PR libstdc++/56267
* include/bits/hashtable.h (__cache_default): Check if hash function
is copy assignable.
* testsuite/23_containers/unordered_set/56267.cc: New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.
From-SVN: r195936
2013-02-11 00:19:29 +00:00
Jonathan Wakely
a9b68b8289
re PR libstdc++/56278 (unordered containers fail static assertion)
...
PR libstdc++/56278
* include/bits/hashtable_policy.h (_Hash_code_base): Make default
constructor public.
* testsuite/23_containers/unordered_set/56278.cc: New.
From-SVN: r195935
2013-02-11 00:19:14 +00:00
Edward Smith-Rowland
be59c9322a
re PR libstdc++/56216 (TR1 bessel functions bomb at x == 0!)
...
PR libstdc++/56216
From-SVN: r195886
2013-02-08 14:10:48 +00:00
Paolo Carlini
54353978a4
pr56193.cc: Tweak.
...
2013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/27_io/basic_ios/pr56193.cc: Tweak.
From-SVN: r195852
2013-02-07 15:20:58 +00:00
Edward Smith-Rowland
b31317e44f
Add the full Copyright blurb on the PR56193 test.
...
From-SVN: r195851
2013-02-07 15:11:11 +00:00
Edward Smith-Rowland
fcf0430bda
PR56193 - Wrong test operator for basic_ios in C++11.
...
From-SVN: r195849
2013-02-07 14:27:45 +00:00
François Dumont
4df047dd34
functional_hash.h (std::__is_fast_hash<>): New.
...
2013-02-04 François Dumont <fdumont@gcc.gnu.org>
* include/bits/functional_hash.h (std::__is_fast_hash<>): New.
* include/bits/basic_string.h: Specialize previous to mark
std::hash for string types as slow.
* include/bits/hashtable.h (__cache_default): Replace is_integral
with __is_fast_hash.
* src/c++11/hash_c++0x.cc: Add type_traits include.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adapt dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.
From-SVN: r195738
2013-02-04 21:14:07 +00:00
Richard Sandiford
405feeb871
Update copyright in libstdc++-v3.
...
From-SVN: r195701
2013-02-03 17:54:05 +00:00
Jonathan Wakely
0addb273c5
re PR libstdc++/56112 (cannot create unordered_map from range of types convertible to value_type)
...
PR libstdc++/56112
* include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
to construct value_type explicitly before trying to extract the key.
* testsuite/23_containers/unordered_map/cons/56112.cc: New.
From-SVN: r195520
2013-01-28 23:07:35 +00:00
François Dumont
5b3be7cf99
hashtable_policy.h (_Local_iterator_base): Use _Hashtable_ebo_helper to embed functors into the local_iterator when necessary.
...
2013-01-28 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Local_iterator_base): Use
_Hashtable_ebo_helper to embed functors into the local_iterator
when necessary. Pass information about functors involved in hash
code by copy.
* include/bits/hashtable.h (__cache_default): Do not cache for
builtin integral types unless the hash functor is not noexcept
qualified or is not default constructible. Adapt static assertions
and local iterator instantiations.
* include/debug/unordered_set
(std::__debug::unordered_set<>::erase): Detect local iterators to
invalidate using contained node rather than generating a dummy
local_iterator instance.
(std::__debug::unordered_multiset<>::erase): Likewise.
* include/debug/unordered_map
(std::__debug::unordered_map<>::erase): Likewise.
(std::__debug::unordered_multimap<>::erase): Likewise.
* testsuite/performance/23_containers/insert_erase/41975.cc: Test
std::tr1 and std versions of unordered_set regardless of any
macro. Add test on default cache behavior.
* testsuite/performance/23_containers/insert/54075.cc: Likewise.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adapt line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: New.
* testsuite/23_containers/unordered_set/buckets/swap.cc: New.
From-SVN: r195517
2013-01-28 20:52:13 +00:00
Jakub Jelinek
0a18c815f9
explicit-hle.cc: Tightten scan-assembler-times regexps...
...
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Tightten scan-assembler-times regexps, add dg-additional-options for
ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
dg-options.
From-SVN: r195383
2013-01-22 18:15:47 +01:00
Andi Kleen
d76b6ea417
libstdc++: Add mem_order_hle_acquire/release to atomic.h v2
...
The underlying compiler supports additional __ATOMIC_HLE_ACQUIRE/RELEASE
memmodel flags for TSX, but this was not exposed to the C++ wrapper.
Handle it there.
These are additional flags, so some of assert checks need to mask
off the flags before checking the memory model type.
libstdc++-v3/:
2013-01-12 Andi Kleen <ak@linux.intel.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/55223
* include/bits/atomic_base.h (__memory_order_modifier): Add
__memory_order_mask, __memory_order_modifier_mask,
__memory_order_hle_acquire, __memory_order_hle_release.
(operator|,operator&): Add.
(__cmpexch_failure_order): Rename to __cmpexch_failure_order2.
(__cmpexch_failure_order): Add.
(clear, store, load, compare_exchange_weak, compare_exchange_strong):
Handle flags.
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Add.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r195321
2013-01-20 19:03:22 +00:00
Jonathan Wakely
c93fa3ca7e
re PR libstdc++/55861 ([C++11] `std::shared_future::get' is not const-qualified)
...
PR libstdc++/55861
* include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
Fix return type.
(__basic_future::_M_get_result()): Const qualify.
(shared_future::get()): Likewise.
* testsuite/30_threads/shared_future/members/get.cc: Use const
objects.
From-SVN: r195314
2013-01-19 23:42:55 +00:00
Jonathan Wakely
b7202baf14
PR libstdc++/55043 (again)
...
PR libstdc++/55043 (again)
* include/bits/alloc_traits.h (allocator_traits::construct): Disable
unless construction would be well-formed.
(__allow_copy_cons, __check_copy_constructible): Define.
* include/bits/unordered_map.h (__check_copy_constructible): Use as
base class so copy constructor will be deleted if appropriate.
(is_copy_constructible): Remove specialization.
* include/bits/unordered_set.h: Likewise.
* include/debug/unordered_map.h: Undo previous commit. Default copy
and move constructors.
* include/debug/unordered_set.h: Likewise.
* include/profile/unordered_map.h: Undo previous commit.
* include/profile/unordered_set.h: Likewise.
* testsuite/23_containers/unordered_map/55043.cc: Fix test.
* testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
* testsuite/23_containers/unordered_set/55043.cc: Likewise.
* testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
cannot support incomplete types.
* testsuite/23_containers/unordered_multimap/requirements/53339.cc:
Likewise.
From-SVN: r195253
2013-01-16 23:56:00 +00:00
Jonathan Wakely
8175e9866c
re PR libstdc++/55043 (issue with nesting unordered_map containing unique_ptr into vector)
...
PR libstdc++/55043
* include/std/unordered_map: Include alloc_traits.h
* include/std/unordered_set: Likewise.
* include/bits/alloc_traits.h: Define __is_copy_insertable.
* include/bits/unordered_map.h: Use it.
* include/bits/unordered_set.h: Likewise.
* include/debug/unordered_map.h: Likewise.
* include/debug/unordered_set.h: Likewise.
* include/profile/unordered_map.h: Likewise.
* include/profile/unordered_set.h: Likewise.
* include/bits/hashtable.h: Fix comment typos.
* testsuite/23_containers/unordered_map/55043.cc: New.
* testsuite/23_containers/unordered_multimap/55043.cc: New.
* testsuite/23_containers/unordered_multiset/55043.cc: New.
* testsuite/23_containers/unordered_set/55043.cc: New.
From-SVN: r195231
2013-01-16 09:20:34 +00:00
Steve Ellcey
5a0727d990
vector.cc: Shrink memory usage under simulator.
...
2013-01-14 Steve Ellcey <sellcey@mips.com>
* testsuite/libstdc++-v3/testsuite/23_containers/vector/profile/vector.cc:
Shrink memory usage under simulator.
* testsuite/libstdc++-v3/testsuite/26_numerics/valarray/28277.cc: Ditto.
* testsuite/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
Ditto.
* testsuite/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc:
Ditto.
* testsuite/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc:
Ditto.
* testsuite/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-1.cc:
Ditto.
* testsuite/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-2.cc:
Ditto.
* testsuite/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc:
Ditto.
* testsuite/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc:
Ditto.
From-SVN: r195177
2013-01-14 20:57:58 +00:00
Janis Johnson
93b2c9a52e
gdb-test.exp (gdb_batch_check): Catch error running gdb command.
...
* testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
gdb command.
From-SVN: r195115
2013-01-11 20:11:36 +00:00
Jonathan Wakely
890e166507
re PR c++/55908 (Problem binding a const member function to a const object)
...
PR libstdc++/55908
* include/std/functional (_Mem_fn::operator()): Fix constraints to
avoid ambiguity.
* testsuite/20_util/function_objects/mem_fn/55908.cc: New.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
From-SVN: r195035
2013-01-08 21:01:14 +00:00
Jonathan Wakely
78aff33680
re PR libstdc++/55847 (mistake bad_weak_ptr::what() message)
...
PR libstdc++/55847
* src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
string.
PR libstdc++/55728
* include/std/functional (bad_function_call::what()): Declare.
* src/c++11/functional.cc (bad_function_call::what()): Define.
* config/abi/pre/gnu.ver (bad_function_call::what()): Export.
* testsuite/20_util/bad_function_call/what.cc: New.
From-SVN: r194958
2013-01-07 00:50:16 +00:00
Richard Sandiford
adf8bb4f07
insert_fn_imps.hpp: Fix typo in copyright years.
...
libstdc++-v3/
* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
in copyright years.
* testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
From-SVN: r194941
2013-01-06 11:53:01 +00:00
Jakub Jelinek
90d04a445c
Update Copyright years for files modified in 2011 and/or 2012.
...
From-SVN: r194903
2013-01-04 13:49:55 +01:00
Jonathan Wakely
23df853421
functional (_Require): Move to ...
...
* include/std/functional (_Require): Move to ...
* include/std/type_traits (_Require): ... here.
* include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
Handle unique_ptr for arrays or with custom pointer types.
(__shared_ptr::__shared_ptr(unique_ptr<_Tp1, _Del>&&): Likewise.
* include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Use
_Dp::pointer if defined. Implement proposed resolution of LWG 2118.
* testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: New.
* testsuite/20_util/unique_ptr/assign/cv_qual.cc: New.
* testsuite/20_util/unique_ptr/cons/array_convertible_neg.cc: New.
* testsuite/20_util/unique_ptr/cons/convertible_neg.cc: New.
* testsuite/20_util/unique_ptr/cons/cv_qual.cc: New.
* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: New.
* testsuite/20_util/unique_ptr/requirements/pointer_type_array.cc: New.
* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Adjust comments.
* testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc:
Likewise.
* testsuite/20_util/unique_ptr/requirements/pointer_type.cc: Likewise.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line number.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
* testsuite/20_util/default_delete/48631_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust
dg-error text.
* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Use
different instantiations so static_assert fails for each.
From-SVN: r194651
2012-12-20 21:02:33 +00:00
Jonathan Wakely
5f2862cf63
thread.cc (execute_native_thread_routine): Do not swallow __forced_unwind exceptions.
...
* src/c++11/thread.cc (execute_native_thread_routine): Do not swallow
__forced_unwind exceptions.
* testsuite/30_threads/thread/native_handle/cancel.cc: New.
From-SVN: r194539
2012-12-16 20:52:47 +00:00
Steve Ellcey
2993114da5
3.cc: Shrink memory usage under simulator.
...
2012-12-14 Steve Ellcey <sellcey@mips.com>
* testsuite/21_strings/basic_string/append/wchar_t/3.cc: Shrink
memory usage under simulator.
* testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Ditto.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
Ditto.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
Ditto.
From-SVN: r194510
2012-12-14 22:03:40 +00:00
Steve Ellcey
01f4c82194
18654.cc: Shrink memory usage under simulator.
...
2012-12-13 Steve Ellcey <sellcey@mips.com>
* testsuite/21_strings/basic_string/capacity/char/18654.cc: Shrink
memory usage under simulator.
* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Ditto.
* testsuite/22_locale/collate/transform/char/28277.cc: Ditto.
* testsuite/22_locale/collate/transform/wchar_t/28277.cc: Ditto.
From-SVN: r194488
2012-12-13 19:55:13 +00:00
Andreas Schwab
9ddad47136
libstdc++.exp (dg-test): Unset testname_with_flags after running the test.
...
* testsuite/lib/libstdc++.exp (dg-test): Unset testname_with_flags
after running the test.
From-SVN: r194330
2012-12-09 14:31:27 +00:00
John David Anglin
27ba7cea69
re PR libstdc++/55503 (FAIL: 30_threads/condition_variable/members/53841.cc (test for excess errors))
...
PR libstdc++/55503
* testsuite/30_threads/condition_variable/members/53841.cc: Add
hppa*-hp-hpux11* to -pthread dg-options.
From-SVN: r194021
2012-12-01 18:25:11 +00:00
Andrew Pinski
5d99894e65
re PR other/54279 (first stage build with g++ fails with "." as the first component of $PATH)
...
2012-11-28 Andrew Pinski <apinski@cavium.com>
PR bootstrap/54279
* configure.ac (CXX_FOR_TARGET): Change over to use xg++.
* configure: Regenerate.
* Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Change over to use xg++.
* Makefile.in: Regenerate.
2012-11-28 Andrew Pinski <apinski@cavium.com>
PR bootstrap/54279
* Makefile.in (${QMTEST_DIR}/context): Use xg++ instead of g++.
2012-11-28 Andrew Pinski <apinski@cavium.com>
PR bootstrap/54279
* Make-lang.in (g++$(exeext)): Rename to
(xg++$(exeext)): This.
(g++-cross$(exeext)): Use xg++$(exeext) instead of g++$(exeext).
(c++.start.encap): Likewise.
(c++.install-common): Likewise.
2012-11-28 Andrew Pinski <apinski@cavium.com>
PR bootstrap/54279
* lib/g++.exp (g++_init): Search for xg++ instead of g++ in the build
directories.
* lib/obj-c++.exp (obj-c++_init): Likewise.
2012-11-28 Andrew Pinski <apinski@cavium.com>
PR bootstrap/54279
* scripts/testsuite_flags.in (--build-cxx): Use xg++ instead of g++.
* testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
From-SVN: r193910
2012-11-28 14:11:29 -08:00
Jonathan Wakely
b1c2b51b66
functional (_Mem_fn): Constrain function call operators to avoid ambiguities.
...
* include/std/functional (_Mem_fn): Constrain function call operators
to avoid ambiguities. Use perfect forwarding.
* testsuite/20_util/function_objects/mem_fn/55463.cc: Additional
tests.
* testsuite/20_util/function_objects/mem_fn/forward.cc: New.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
From-SVN: r193879
2012-11-28 01:42:25 +00:00
Jonathan Wakely
5127244e4b
re PR libstdc++/55463 (Result of std::mem_fn doesn't accept rvalues)
...
PR libstdc++/55463
* include/std/functional (_Mem_fn): Handle rvalue objects. Add
noexcept-specifications.
* testsuite/20_util/function_objects/mem_fn/55463.cc: New.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
From-SVN: r193831
2012-11-26 23:53:29 +00:00
Jonathan Wakely
aa66b299c8
re PR libstdc++/52680 (std::this_thread::sleep_for #ifdef'd out by _GLIBCXX_USE_NANOSLEEP)
...
PR libstdc++/52680
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for usleep and
sleep if nanosleep is not available. Bump libtool revision.
* config.h.in: Regenerate.
* configure: Likewise.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.18): Add __sleep_for.
* include/std/thread (this_thread::__sleep_for): Add.
(this_thread::yield, this_thread::sleep_until, this_thread::sleep_for):
Declare unconditionally.
* src/c++11/thread.cc (this_thread::__sleep_for): Define.
* testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Rename to
check_v3_target_sleep.
* testsuite/lib/dg-options.exp (dg-require-nanosleep): Rename to
dg-require-sleep.
* testsuite/30_threads/condition_variable_any/53830.cc: Update.
* testsuite/30_threads/this_thread/2.cc: Likewise.
* testsuite/30_threads/this_thread/3.cc: Likewise.
* testsuite/30_threads/this_thread/4.cc: Likewise.
* testsuite/30_threads/async/54297.cc: Likewise.
From-SVN: r193769
2012-11-23 22:11:23 +00:00
Paolo Carlini
25caa91e99
re PR libstdc++/55413 ([LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized])
...
2012-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/55413
* include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
__bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
From-SVN: r193663
2012-11-20 14:54:11 +00:00
Jonathan Wakely
0e8330d91d
typedefs.cc: Check rebind and improve propagate_on_container_move_assignment check.
...
* testsuite/20_util/allocator/requirements/typedefs.cc: Check rebind
and improve propagate_on_container_move_assignment check.
From-SVN: r193639
2012-11-19 22:35:11 +00:00
Jonathan Wakely
1b5dc776ca
stl_algo.h (reverse_copy): Update comment per DR 2074.
...
* include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
* include/bits/unordered_map.h: Apply DR 2005 resolution.
* doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
* include/bits/allocator.h (allocator): Apply DR 2103 resolution.
* include/ext/array_allocator.h: Likewise.
* include/ext/bitmap_allocator.h: Likewise.
* include/ext/malloc_allocator.h: Likewise.
* include/ext/mt_allocator.h: Likewise.
* include/ext/new_allocator.h: Likewise.
* include/ext/pool_allocator.h: Likewise.
* include/ext/throw_allocator.h: Likewise.
* include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
additional specializations.
* include/std/functional: Add comment about DR resolution.
* include/std/future: Likewise.
* include/std/scoped_allocator: Likewise.
* include/std/thread: Likewise.
* testsuite/20_util/allocator/requirements/typedefs.cc: New.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
From-SVN: r193638
2012-11-19 22:28:00 +00:00
Paolo Carlini
741aacafff
re PR libstdc++/55363 (tuple_size is not a class template)
...
2012-11-17 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/55363
* include/std/array (tuple_size, tuple_element): Move out
NAMESPACE_CONTAINER.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
From-SVN: r193584
2012-11-17 12:09:58 +00:00
François Dumont
d4a7f7a15c
hashtable_policy.h (_Prime_rehash_policy): Remove automatic shrink.
...
2012-11-16 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
automatic shrink.
(_Prime_rehash_policy::_M_bkt_for_elements): Do not call
_M_next_bkt anymore.
(_Prime_rehash_policy::_M_next_bkt): Move usage of
_S_growth_factor ...
(_Prime_rehash_policy::_M_need_rehash): ... here.
* include/bits/hashtable.h (_Hashtable<>): Adapt.
* testsuite/performance/23_containers/insert_erase/41975.cc: Add
_USE_TR1 to force build using std::tr1 container.
* testsuite/performance/23_containers/insert/unordered_set.cc:
Likewise.
* testsuite/performance/23_containers/insert/54075.cc: New.
From-SVN: r193576
2012-11-16 21:28:44 +00:00
Tom Tromey
50605a7f19
whatis.cc: New file.
...
* testsuite/libstdc++-prettyprinters/whatis.cc: New file.
* testsuite/lib/gdb-test.exp (whatis-test): New proc.
(gdb-test): Handle 'whatis' tests.
(gdb_batch_check): New proc.
(gdb_version_check): Rewrite to use gdb_batch_check.
* python/libstdcxx/v6/printers.py: Import gdb.types.
(FilteringTypePrinter): New class.
(add_one_type_printer, register_type_printers): New functions.
(register_libstdcxx_printers): Call register_type_printers.
From-SVN: r193573
2012-11-16 18:17:25 +00:00
Jason Merrill
4fce678f8a
re PR c++/55275 (abi_tag attribute doesn't work on explicit specializations of class templates)
...
PR c++/55275
* pt.c (maybe_process_partial_specialization): Update
DECL_SOURCE_LOCATION for new specializations.
From-SVN: r193524
2012-11-14 20:53:23 -05:00
Jonathan Wakely
c25639b1a3
re PR libstdc++/53841 ([C++11] condition_variable::wait_until() fails with high resolution clocks)
...
PR libstdc++/53841
* include/std/condition_variable (condition_variable::wait_until):
Handle clocks with higher resolution than __clock_t.
(condition_variable::__wait_until_impl): Remove unnecessary _Clock
parameter.
* testsuite/30_threads/condition_variable/members/53841.cc: New.
From-SVN: r193523
2012-11-15 01:38:17 +00:00
Jonathan Wakely
99ace34a31
re PR libstdc++/55320 (Invalid delete with throwing copy-c'tor passed to std::function)
...
PR libstdc++/55320
* include/std/functional (function::function(F)): Set _M_manager after
operations that could throw.
(_Function_base::_Ref_manager::_M_init_functor): Use addressof.
* include/tr1/functional
(_Function_base::_Ref_manager::_M_init_functor): Use addressof.
(_Function_base::_Base_manager::_M_get_pointer): Likewise.
* testsuite/20_util/function/cons/55320.cc: New.
* testsuite/20_util/function/cons/addressof.cc: New.
* testsuite/20_util/function/cons/callable.cc: Remove header.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
* testsuite/tr1/3_function_objects/function/10.cc: New.
From-SVN: r193514
2012-11-14 23:33:01 +00:00
Uros Bizjak
0c9afb50c4
abi_tag.cc: Adjust expected demangling for 128bit long-double targets.
...
* testsuite/26_numerics/complex/abi_tag.cc: Adjust expected
demangling for 128bit long-double targets.
From-SVN: r193509
2012-11-14 23:23:51 +01:00
Jason Merrill
7a3a9e6821
* include/std/complex (real, imag): Add ABI tag in C++11 mode.
...
From-SVN: r193445
2012-11-12 12:51:26 -05:00
Jason Merrill
734f50238f
* many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
...
From-SVN: r193392
2012-11-10 12:27:22 -05:00
François Dumont
ecf07a67d0
re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
...
2012-11-08 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/54075
* include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash
policy state if no rehash.
* testsuite/23_containers/unordered_set/modifiers/reserve.cc
(test02): New.
From-SVN: r193339
2012-11-08 20:16:04 +00:00
Paolo Carlini
271a8a1651
55028-debug.cc: Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
...
2012-11-08 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
From-SVN: r193327
2012-11-08 13:40:53 +00:00
Florian Weimer
6aaa880639
cxa_vec.C: Fix typo in comment.
...
* g++.old-deja/g++.abi/cxa_vec.C: Fix typo in comment.
* testsuite/18_support/cxa_vec.cc: Fix typo in comment.
From-SVN: r193326
2012-11-08 10:54:04 +01:00
Paolo Carlini
54ba39f599
array (_GLIBCXX_THROW_OR_ABORT): Move...
...
2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move...
* include/bits/c++config: ... here.
* include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it.
* include/ext/pb_ds/exception.hpp: Likewise.
* include/ext/throw_allocator.h (__throw_forced_error): Likewise.
* include/ext/concurrence.h (__throw_concurrence_lock_error,
__throw_concurrence_unlock_error, __throw_concurrence_broadcast_error,
__throw_concurrence_wait_error): Likewise.
* include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise.
* include/tr1/functional (function<_Res(_ArgTypes...)>::operator()
(_ArgTypes...)): Likewise.
* libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast,
__cxxabiv1::__cxa_bad_typeid): Likewise.
* libsupc++/vec.cc (compute_size): Likewise.
* libsupc++/new_op.cc (operator new (std::size_t)): Likewise.
* src/c++11/functexcept.cc: Likewise.
* testsuite/util/io/illegal_input_error.hpp
(__throw_illegal_input_error): Likewise.
* libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
numbers.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
From-SVN: r193295
2012-11-07 13:20:33 +00:00
Jonathan Wakely
d720a22b6e
stl_vector.h (vector(size_type)): Add missing allocator parameter.
...
* include/bits/stl_vector.h (vector(size_type)): Add missing allocator
parameter.
* include/bits/stl_bvector.h: Likewise.
* include/debug/vector (vector(size_type)): Likewise.
* include/profile/vector (vector(size_type)): Likewise. Pass allocator
to base constructor.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* 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: r193284
2012-11-07 09:17:42 +00:00
Paolo Carlini
0611ce440a
re PR libstdc++/51850 (debug mode for std::array and tr1::array)
...
2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51850
* include/debug/array: New, debug-mode implementation.
* include/profile/array: New.
* include/std/array: Adjust.
* include/std/tuple: Just include <array>.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* testsuite/23_containers/array/debug/front1_neg.cc: New.
* testsuite/23_containers/array/debug/
square_brackets_operator1_neg.cc: Likewise.
* testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
* testsuite/23_containers/array/debug/
square_brackets_operator2_neg.cc: Likewise.
* testsuite/23_containers/array/debug/back1_neg.cc: Likewise.
* testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Tweak
to run only in normal-mode.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: New.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
From-SVN: r193278
2012-11-07 00:42:19 +00:00
Jonathan Wakely
b142d8a2b5
55123.cc: Remove duplicate include.
...
* testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
include.
From-SVN: r193263
2012-11-06 22:53:16 +00:00
Jonathan Wakely
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
2012-11-05 21:10:27 +00:00
Benjamin Kosnik
684592672f
re PR libstdc++/55028 (_GLIBCXX_DEBUG is broken when using v7 namespace)
...
2012-11-05 Benjamin Kosnik <bkoz@redhat.com>
Oleg Smolsky <oleg@smolsky.net>
PR libstdc++/55028
* config/abi/pre/gnu-versioned-namespace.ver: Add symbols.
* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New.
Co-Authored-By: Oleg Smolsky <oleg@smolsky.net>
From-SVN: r193185
2012-11-05 21:01:08 +00:00
François Dumont
51bf1e805e
throw_allocator.h (__throw_value_base): Add move semantic, not throwing.
...
2012-10-05 François Dumont <fdumont@gcc.gnu.org>
* include/ext/throw_allocator.h (__throw_value_base): Add move
semantic, not throwing.
(__throw_value_limit): Likewise.
(__throw_value_random): Likewise.
* testsuite/util/exception/safety.h: Add validation of C++11
methods emplace/emplace_front/emplace_back/emplace_hint.
* testsuite/util/testsuite_container_traits.h: Signal emplace
support on deque, forward_list, list and vector.
* testsuite/23_containers/deque/requirements/exception/
propagation_consistent.cc: Remove dg-do run fail.
From-SVN: r193184
2012-11-05 20:58:35 +00:00
Paolo Carlini
935ec36fdd
re PR libstdc++/55215 (Constructor seeding is broken for Mersenne twister)
...
2012-11-05 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/55215
* include/bits/random.tcc (mersenne_twister_engine<>::seed(_Sseq&)):
Assign state_size to _M_p.
* testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
New.
* testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
55215.cc: Likewise.
* testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/cons/
55215.cc: Likewise.
From-SVN: r193181
2012-11-05 19:25:20 +00:00
Florian Weimer
6d0ae0359c
Detect overflow in size calculations in __cxa_vec_new{2,3}
...
2012-11-03 Florian Weimer <fweimer@redhat.com>
* libsupc++/vec.cc (compute_size): New.
(__cxa_vec_new2, __cxa_vec_new3): Use it.
* testsuite/18_support/cxa_vec.cc: New.
From-SVN: r193174
2012-11-05 18:48:46 +01:00
Jonathan Wakely
50799846a5
forward_list.h (forward_list(size_type)): Add missing allocator parameter.
...
* include/bits/forward_list.h (forward_list(size_type)): Add missing
allocator parameter.
(_Fwd_list_node_base): Use NSDMI and define constructor as defaulted.
(_Fwd_list_node::_M_value): Replace with uninitialized storage.
(_Fwd_list_node::_M_valptr()): Define functions to access storage.
(_Fwd_list_iterator, _Fwd_list_const_iterator): Use _M_valptr.
(_Fwd_list_base::_M_create_node): Only use allocator to construct the
element not the node.
* include/bits/forward_list.tcc (_Fwd_list_base::_M_erase_after): Only
use allocator to destroy the element not the node.
* testsuite/23_containers/forward_list/cons/11.cc: Remove unused
headers.
* testsuite/23_containers/forward_list/cons/12.cc: Likewise.
* testsuite/23_containers/forward_list/cons/13.cc: New.
* testsuite/23_containers/forward_list/cons/14.cc: New.
From-SVN: r193086
2012-11-02 01:29:00 +00:00
Jonathan Wakely
2328b1de5e
range_access.cc: Fix copying permission statement.
...
* testsuite/18_support/initializer_list/range_access.cc: Fix copying
permission statement.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
808590.cc: Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
move_iterators/1.cc: Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
move_iterators/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
Likewise.
* testsuite/21_strings/basic_string/range_access/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
Likewise.
* testsuite/23_containers/array/element_access/at_neg.cc: Likewise.
* testsuite/23_containers/array/range_access.cc: Likewise.
* testsuite/23_containers/deque/capacity/29134-2.cc: Likewise.
* testsuite/23_containers/deque/capacity/29134.cc: Likewise.
* testsuite/23_containers/deque/capacity/shrink_to_fit.cc: Likewise.
* testsuite/23_containers/deque/range_access.cc: Likewise.
* testsuite/23_containers/deque/requirements/do_the_right_thing.cc:
Likewise.
* testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
* testsuite/23_containers/forward_list/cons/1.cc: Likewise.
* testsuite/23_containers/forward_list/cons/10.cc: Likewise.
* testsuite/23_containers/forward_list/cons/11.cc: Likewise.
* testsuite/23_containers/forward_list/cons/12.cc: Likewise.
* testsuite/23_containers/forward_list/cons/2.cc: Likewise.
* testsuite/23_containers/forward_list/cons/3.cc: Likewise.
* testsuite/23_containers/forward_list/cons/4.cc: Likewise.
* testsuite/23_containers/forward_list/cons/5.cc: Likewise.
* testsuite/23_containers/forward_list/cons/6.cc: Likewise.
* testsuite/23_containers/forward_list/cons/7.cc: Likewise.
* testsuite/23_containers/forward_list/cons/8.cc: Likewise.
* testsuite/23_containers/forward_list/cons/9.cc: Likewise.
* testsuite/23_containers/forward_list/debug/clear.cc: Likewise.
* testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/move_constructor.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after.cc: Likewise.
* testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/swap.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/1.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/6.cc: Likewise.
* testsuite/23_containers/forward_list/operations/1.cc: Likewise.
* testsuite/23_containers/forward_list/operations/2.cc: Likewise.
* testsuite/23_containers/forward_list/operations/3.cc: Likewise.
* testsuite/23_containers/forward_list/operations/4.cc: Likewise.
* testsuite/23_containers/forward_list/operations/5.cc: Likewise.
* testsuite/23_containers/forward_list/operations/6.cc: Likewise.
* testsuite/23_containers/forward_list/operations/7.cc: Likewise.
* testsuite/23_containers/forward_list/range_access.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/
do_the_right_thing.cc: Likewise.
* testsuite/23_containers/list/capacity/1.cc: Likewise.
* testsuite/23_containers/list/capacity/1.h: Likewise.
* testsuite/23_containers/list/capacity/29134.cc: Likewise.
* testsuite/23_containers/list/modifiers/1.cc: Likewise.
* testsuite/23_containers/list/modifiers/1.h: Likewise.
* testsuite/23_containers/list/modifiers/1_c++0x.cc: Likewise.
* testsuite/23_containers/list/modifiers/2.cc: Likewise.
* testsuite/23_containers/list/modifiers/2.h: Likewise.
* testsuite/23_containers/list/modifiers/3.cc: Likewise.
* testsuite/23_containers/list/modifiers/3.h: Likewise.
* testsuite/23_containers/list/modifiers/insert/25288.cc: Likewise.
* testsuite/23_containers/list/modifiers/insert/25288.h: Likewise.
* testsuite/23_containers/list/operations/1.cc: Likewise.
* testsuite/23_containers/list/operations/1.h: Likewise.
* testsuite/23_containers/list/operations/2.cc: Likewise.
* testsuite/23_containers/list/operations/2.h: Likewise.
* testsuite/23_containers/list/operations/2_c++0x.cc: Likewise.
* testsuite/23_containers/list/operations/3.cc: Likewise.
* testsuite/23_containers/list/operations/3.h: Likewise.
* testsuite/23_containers/list/operations/3_c++0x.cc: Likewise.
* testsuite/23_containers/list/operations/4.cc: Likewise.
* testsuite/23_containers/list/operations/4.h: Likewise.
* testsuite/23_containers/list/operations/42352.cc: Likewise.
* testsuite/23_containers/list/operations/5.cc: Likewise.
* testsuite/23_containers/list/operations/5.h: Likewise.
* testsuite/23_containers/list/range_access.cc: Likewise.
* testsuite/23_containers/list/requirements/do_the_right_thing.cc:
Likewise.
* testsuite/23_containers/map/capacity/29134.cc: Likewise.
* testsuite/23_containers/map/range_access.cc: Likewise.
* testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
* testsuite/23_containers/multimap/range_access.cc: Likewise.
* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
* testsuite/23_containers/multiset/range_access.cc: Likewise.
* testsuite/23_containers/set/capacity/29134.cc: Likewise.
* testsuite/23_containers/set/range_access.cc: Likewise.
* testsuite/23_containers/unordered_map/final_hash.cc: Likewise.
* testsuite/23_containers/unordered_map/observers.cc: Likewise.
* testsuite/23_containers/unordered_map/range_access.cc: Likewise.
* testsuite/23_containers/unordered_map/requirements/52942.cc:
Likewise.
* testsuite/23_containers/unordered_map/requirements/53067.cc:
Likewise.
* testsuite/23_containers/unordered_map/requirements/53339.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/final_hash.cc: Likewise.
* testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
* testsuite/23_containers/unordered_multimap/range_access.cc: Likewise.
* testsuite/23_containers/unordered_multimap/requirements/53339.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/final_hash.cc: Likewise.
* testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
* testsuite/23_containers/unordered_multiset/range_access.cc: Likewise.
* testsuite/23_containers/unordered_set/final_hash.cc: Likewise.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/observers.cc: Likewise.
* testsuite/23_containers/unordered_set/range_access.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/52942.cc:
Likewise.
* testsuite/23_containers/unordered_set/requirements/53067.cc:
Likewise.
* testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
Likewise.
* testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
* testsuite/23_containers/vector/capacity/29134.cc: Likewise.
* testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
* testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: Likewise.
* testsuite/23_containers/vector/range_access.cc: Likewise.
* testsuite/23_containers/vector/requirements/do_the_right_thing.cc:
Likewise.
* testsuite/24_iterators/range_access.cc: Likewise.
* testsuite/25_algorithms/copy/1.cc: Likewise.
* testsuite/25_algorithms/copy/2.cc: Likewise.
* testsuite/25_algorithms/copy/3.cc: Likewise.
* testsuite/25_algorithms/copy/34595.cc: Likewise.
* testsuite/25_algorithms/copy/4.cc: Likewise.
* testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
Likewise.
* testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
Likewise.
* testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/2.cc: Likewise.
* testsuite/25_algorithms/copy_n/3.cc: Likewise.
* testsuite/25_algorithms/copy_n/4.cc: Likewise.
* testsuite/25_algorithms/copy_n/50119.cc: Likewise.
* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/fill/4.cc: Likewise.
* testsuite/25_algorithms/fill_n/1.cc: Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc:
Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc:
Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
Likewise.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
Likewise.
* testsuite/25_algorithms/heap/1.cc: Likewise.
* testsuite/25_algorithms/heap/moveable.cc: Likewise.
* testsuite/25_algorithms/heap/moveable2.cc: Likewise.
* testsuite/25_algorithms/is_heap/1.cc: Likewise.
* testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
* testsuite/25_algorithms/is_sorted/1.cc: Likewise.
* testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
* testsuite/25_algorithms/move/1.cc: Likewise.
* testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
* testsuite/25_algorithms/partition/1.cc: Likewise.
* testsuite/25_algorithms/partition/moveable.cc: Likewise.
* testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
* testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
* testsuite/25_algorithms/stable_partition/1.cc: Likewise.
* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_partition/pr52822.cc: Likewise.
* testsuite/26_numerics/valarray/range_access.cc: Likewise.
* testsuite/28_regex/range_access.cc: Likewise.
* testsuite/ext/vstring/capacity/29134.cc: Likewise.
* testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
* testsuite/ext/vstring/hash/char/1.cc: Likewise.
* testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
* testsuite/ext/vstring/range_access.cc: Likewise.
* testsuite/ext/vstring/requirements/do_the_right_thing.cc: Likewise.
* testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc:
Likewise.
* testsuite/performance/25_algorithms/copy_deque_iterators.cc:
Likewise.
* testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
Likewise.
* testsuite/tr1/6_containers/unordered_multimap/capacity/
29134-multimap.cc: Likewise.
* testsuite/tr1/6_containers/unordered_multiset/capacity/
29134-multiset.cc: Likewise.
* testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
Likewise.
From-SVN: r193076
2012-11-01 23:20:37 +00:00
Jonathan Wakely
362261e71f
forward_list.h (forward_list::assign): Dispatch to new functions based on assignability of elements.
...
* include/bits/forward_list.h (forward_list::assign): Dispatch to new
functions based on assignability of elements.
(forward_list::_M_assign): Add overloaded functions for assigning
via assignment or via clearing and insertion.
(forward_list::_M_assign_val): Likewise.
(forward_list::_M_move_assign(forward_list&&, false_type)): Do not
erase elements that are not moved.
* include/bits/forward_list.tcc (forward_list::operator=): Call
assign() to copy elements.
* testsuite/23_containers/forward_list/cons/10.cc: New.
* testsuite/23_containers/forward_list/cons/11.cc: New.
* testsuite/23_containers/forward_list/cons/12.cc: New.
From-SVN: r193057
2012-11-01 01:30:34 +00:00
Jonathan Wakely
1ea58d3499
re PR libstdc++/55123 ([C++11] Construction of shared_ptr<const T> from unique_ptr<const T> fails)
...
PR libstdc++/55123
* include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
Do not instantiate allocator with element_type.
* testsuite/20_util/shared_ptr/cons/55123.cc: New.
From-SVN: r192964
2012-10-29 21:49:19 +00:00
Daniel Kruegler
6c5173c05f
type_traits (common_type): Implement LWG 2141.
...
2012-10-24 Daniel Krugler <daniel.kruegler@gmail.com>
* include/std/type_traits (common_type): Implement LWG 2141.
* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
Update.
* testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Likewise.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Likewise.
* testsuite/20_util/common_type/requirements/typedefs-2.cc: Likewise.
From-SVN: r192780
2012-10-24 20:37:05 +00:00
Hans-Peter Nilsson
836e938574
45713.cc: Skip for mmix-*-*.
...
* testsuite/23_containers/bitset/45713.cc: Skip for mmix-*-*.
Tweak sizetype-related comment.
From-SVN: r192647
2012-10-21 04:52:54 +00:00
Jonathan Wakely
644b2e4c0d
scoped_allocator (__outermost_alloc_traits): Define.
...
* include/std/scoped_allocator (__outermost_alloc_traits): Define.
(scoped_allocator_adaptor::destroy): Use it.
(scoped_allocator_adaptor::construct): Likewise. Overload for
piecewise construction of std::pair objects.
* testsuite/20_util/scoped_allocator/2.cc: New.
* doc/xml/manual/status_cxx2011.xml: Update.
From-SVN: r192613
2012-10-19 17:16:11 +01:00
Jonathan Wakely
7aad1ae2b2
forward_list.h: Add C++11 allocator support.
...
* include/bits/forward_list.h: Add C++11 allocator support.
* include/bits/forward_list.tcc: Likewise.
* doc/xml/manual/status_cxx2011.xml: Update.
* testsuite/23_containers/forward_list/allocator/copy.cc: New.
* testsuite/23_containers/forward_list/allocator/copy_assign.cc: New.
* testsuite/23_containers/forward_list/allocator/minimal.cc: New.
* testsuite/23_containers/forward_list/allocator/move_assign.cc: New.
* testsuite/23_containers/forward_list/allocator/noexcept.cc: New.
* testsuite/23_containers/forward_list/allocator/swap.cc: New.
From-SVN: r192588
2012-10-18 22:06:21 +01:00
François Dumont
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
2012-10-18 19:50:37 +00:00
Benjamin Kosnik
a9ba8ba56c
move.h (move_if_noexcept): Mark constexpr.
...
2012-10-17 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/move.h (move_if_noexcept): Mark constexpr.
* include/std/array (front, back): Same.
* include/std/chrono: Add comment.
* include/std/tuple (__tuple_compare): Mark __eq, __less constexpr.
(operator ==, <, >, !=, <=, >=): Same.
* testsuite/20_util/forward/c_neg.cc: Adjust line numbers.
* testsuite/20_util/forward/f_neg.cc: Same.
* testsuite/20_util/move_if_noexcept/constexpr.cc: New.
* testsuite/20_util/tuple/comparison_operators/constexpr.cc: New.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Add.
* testsuite/23_containers/array/element_access/
constexpr_element_access.cc: Same.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Same.
* testsuite/20_util/tuple/comparison_operators/35480_neg.cc:
Temporarily add dg-excess-errors.
From-SVN: r192556
2012-10-18 08:36:06 +00:00
François Dumont
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
2012-10-16 19:57:03 +00:00
Matthias Klose
9945a87681
config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
...
gcc/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
* doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
gcc/testsuite/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* lib/target-supports.exp (check_profiling_available): Match
arm*-*-linux-* for ARM Linux/GNU.
* g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU.
* gfortran.dg/enum_10.f90: Likewise.
* gfortran.dg/enum_9.f90: Likewise.
* gcc.target/arm/synchronize.c: Likewise.
* g++.old-deja/g++.jason/enum6.C: Likewise.
* g++.old-deja/g++.other/enum4.C: Likewise.
* g++.old-deja/g++.law/enum9.C: Likewise.
gcc/ada/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
ARM Linux/GNU.
libgcc/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* config.host: Match arm*-*-linux-* for ARM Linux/GNU.
libstdc++-v3/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
libjava/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
* configure: Regenerate.
From-SVN: r192475
2012-10-15 21:12:23 +00:00
Pavel Chupin
1183dc2cd8
gthr.m4: New.
...
* config/gthr.m4: New. Define GCC_AC_THREAD_HEADER.
* libgcc/configure: Regenerate.
* libgcc/configure.ac: Replace code with GCC_AC_THREAD_HEADER use.
* libstdc++-v3/Makefile.in: Regenerate.
* libstdc++-v3/acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use.
* libstdc++-v3/configure: Regenerate.
* libstdc++-v3/doc/Makefile.in: Regenerate.
* libstdc++-v3/include/Makefile.am: Regenerate.
* libstdc++-v3/include/Makefile.in: Rename variable.
* libstdc++-v3/libsupc++/Makefile.in: Regenerate.
* libstdc++-v3/po/Makefile.in: Regenerate.
* libstdc++-v3/python/Makefile.in: Regenerate.
* libstdc++-v3/src/Makefile.in: Regenerate.
* libstdc++-v3/src/c++11/Makefile.in: Regenerate.
* libstdc++-v3/src/c++98/Makefile.in: Regenerate.
* libstdc++-v3/testsuite/Makefile.in: Regenerate.
From-SVN: r192458
2012-10-15 13:10:30 +00:00
Edward Smith-Rowland
500602220a
dd the Hoyt and the arcsine distributions as extensions.
...
From-SVN: r192403
2012-10-12 15:15:21 +00:00
Kirill Yukhin
3b06f98418
Revert r192297.
...
From-SVN: r192394
2012-10-12 10:57:06 +00:00
Paolo Carlini
56355dc970
45713.cc: Tweak.
...
2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/bitset/45713.cc: Tweak.
From-SVN: r192357
2012-10-11 13:23:33 +00:00
Hans-Peter Nilsson
1e2a71c8bf
re PR testsuite/54897 (23_containers/bitset/45713.cc (test for excess errors))
...
PR testsuite/54897
* testsuite/23_containers/bitset/45713.cc: Skip for avr*-*-*
cris*-*-* h8300*-*-* mcore*-*-* moxie*-*-*.
From-SVN: r192354
2012-10-11 11:36:39 +00:00
Daniel Krugler
770e9be943
sfinae_friendly_1.cc: Update / extend.
...
2012-10-11 Daniel Krugler <daniel.kruegler@googlemail.com>
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Update / extend.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Likewise.
* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
Likewise.
From-SVN: r192352
2012-10-11 10:27:45 +00:00
Paolo Carlini
fe4e4e3bf4
type_traits (__do_common_type_impl): Revert for now LWG 2141-related change.
...
2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (__do_common_type_impl): Revert for now
LWG 2141-related change.
* testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Adjust.
From-SVN: r192308
2012-10-10 12:02:05 +00:00
Pavel Chupin
e80f7f1767
Fix missing gthr-default.h issue on separate libstdc++ configure
...
Fix missing gthr-default.h issue on separate libstdc++ configure
* libstdc++-v3/acinclude.m4: Define glibcxx_thread_h.
* libstdc++-v3/include/Makefile.am: Use glibcxx_thread_h.
* libstdc++-v3/Makefile.in: Regenerate.
* libstdc++-v3/configure: Regenerate.
* libstdc++-v3/doc/Makefile.in: Regenerate.
* libstdc++-v3/include/Makefile.in: Regenerate.
* libstdc++-v3/libsupc++/Makefile.in: Regenerate.
* libstdc++-v3/po/Makefile.in: Regenerate.
* libstdc++-v3/python/Makefile.in: Regenerate.
* libstdc++-v3/src/Makefile.in: Regenerate.
* libstdc++-v3/src/c++11/Makefile.in: Regenerate.
* libstdc++-v3/src/c++98/Makefile.in: Regenerate.
* libstdc++-v3/testsuite/Makefile.in: Regenerate.
From-SVN: r192297
2012-10-10 10:02:44 +00:00
Daniel Krugler
b3618b7167
type_traits (common_time): Provide "SFINAE-friendly" implementation.
...
2012-10-09 Daniel Krugler <daniel.kruegler@googlemail.com>
* include/std/type_traits (common_time): Provide "SFINAE-friendly"
implementation.
(__success_type, __failure_type): Fix.
* include/std/chrono (common_type): Likewise for the chrono::time_point
specialization.
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc: New.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Likewise.
* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
Likewise.
* testsuite/20_util/common_type/requirements/typedefs-1.cc: Adjust wrt
LWG 2141.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
dg-error line numbers.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
* testsuite/20_util/result_of/sfinae_friendly_1.cc: Trivial stylistic
tweaks.
* testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
From-SVN: r192276
2012-10-09 22:31:44 +00:00
Benjamin Kosnik
1a61077e0e
808590.cc: Fix constant value.
...
2012-10-09 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc:
Fix constant value.
From-SVN: r192265
2012-10-09 16:21:27 +00:00
Paolo Carlini
eeeef8f4f9
re PR libstdc++/54869 (ext/random/simd_fast_mersenne_twister_engine/cons/default.cc FAILs)
...
2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/54869
* include/ext/random (simd_fast_mersenne_twister_engine): Provide
only for little endian targets.
* include/ext/random.tcc: Likewise.
* config/cpu/i486/opt/ext/opt_random.h: Likewise.
* testsuite/lib/libstdc++.exp (check_v3_target_little_endian): Add.
* testsuite/lib/dg-options.exp (dg-require-little-endian): Add.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
operators/equal.cc: Use the latter.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
operators/serialize.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
operators/inequal.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/copy.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/seed1.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/seed2.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/default.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/seed_seq.cc: Likewise.
From-SVN: r192256
2012-10-09 14:50:19 +00:00
Uros Bizjak
f5220359f4
testsuite_abi.cc (check_version): Add CXXABI_1.3.7.
...
* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.7.
From-SVN: r192237
2012-10-09 08:15:15 +02:00
Benjamin Kosnik
d2edfb151d
match: Rename to...
...
2012-10-05 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/28_regex/algorithms/match: Rename to...
* testsuite/28_regex/algorithms/regex_match: ...this.
* testsuite/28_regex/basic_regex/regex.cc: Rename to...
* testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
* testsuite/util/testsuite_regex.h: New.
* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.
From-SVN: r192146
2012-10-05 21:18:54 +00:00
Jakub Jelinek
0d23cf7a4f
cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
...
cp/
* cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
* tree.c (cp_tree_equal): Handle SIZEOF_EXPR with
SIZEOF_EXPR_TYPE_P.
* mangle.c (write_expression): Likewise.
* cxx-pretty-print.c (pp_cxx_unary_expression): Likewise.
* error.c (dump_expr): Likewise.
* parser.c (cp_parser_unary_expression): For sizeof call
cxx_sizeof_or_alignof_{type,expr} just for diagnostics and
return SIZEOF_EXPR with the operand.
* pt.c (tsubst_copy, tsubst_copy_and_build): For SIZEOF_EXPR,
call cxx_sizeof_or_alignof_{type,expr} for diagnostics, but
return SIZEOF_EXPR with tsubsted operand.
(value_dependent_expression_p): Handle SIZEOF_EXPR with
SIZEOF_EXPR_TYPE_P.
(instantiation_dependent_r): Likewise.
* call.c (null_ptr_cst_p): Call maybe_constant_value for C++98.
* semantics.c (finish_call_expr): Call
sizeof_pointer_memaccess_warning if needed.
(cxx_eval_constant_expression): Handle SIZEOF_EXPR.
(potential_constant_expression_1): Remove early exit for
C++98. Handle PROPERTY_REF.
* decl.c (duplicate_decls): When redeclaring a builtin function,
keep the merged decl builtin also if newdecl is a gnu_inline
inline definition.
(fold_sizeof_expr_r): New function.
(compute_array_index_type): Fold SIZEOF_EXPRs in itype.
* cp-gimplify.c (cp_genericize_r): Fold SIZEOF_EXPR.
* typeck.c (cp_build_binary_op): For warn_for_sign_compare
try harder using maybe_constant_value to get INTEGER_CSTs.
* decl.c (stabilize_vla_size): Call pointer_set_destroy
at the end.
testsuite/
* g++.dg/torture/Wsizeof-pointer-memaccess1.C: New test.
* g++.dg/torture/Wsizeof-pointer-memaccess2.C: New test.
* g++.dg/warn/Wsign-compare-5.C: New test.
* g++.dg/warn/Wsizeof-pointer-memaccess-1.C: New test.
* g++.dg/warn/Wnull-conversion-1.C: For c++11 add dg-error.
* g++.dg/ext/builtin30.C: New test.
* g++.dg/ext/vla12.C: New test.
* gcc.dg/builtins-85.c: New test.
libstdc++-v3/
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
numbers.
From-SVN: r192141
2012-10-05 21:30:39 +02:00
Marc Glisse
8f2b580aeb
re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent)
...
2012-10-05 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/54686
* include/c_std/cstdlib (abs(long long)): Define with
__builtin_llabs when we have long long.
(abs(long)): Use __builtin_labs.
(abs(__int128)): Define when we have __int128.
* testsuite/26_numerics/headers/cstdlib/54686.c: New file.
From-SVN: r192132
2012-10-05 16:20:44 +00:00
Paolo Carlini
90f9c94e02
re PR libstdc++/53248 (std::array<T,0> doesn't work when T is not default-constructible)
...
2012-10-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53248
* include/std/array (__array_traits<>): Add.
(array<>): Allow for zero-size arrays of non default-constructible
elements.
* testsuite/23_containers/array/requirements/
non_default_constructible.cc: New.
* testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
Adjust.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
From-SVN: r192056
2012-10-04 00:02:29 +00:00
Daniel Krugler
83ddb39f04
type_traits (result_of): Provide "SFINAE-friendly" (see N3436) implementation.
...
2012-10-01 Daniel Krugler <daniel.kruegler@googlemail.com>
* include/std/type_traits (result_of): Provide "SFINAE-friendly"
(see N3436) implementation.
* testsuite/20_util/result_of/sfinae_friendly_1.cc: New.
* testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Tweak
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r191930
2012-10-01 16:02:57 +00:00
Jonathan Wakely
b4ca0e1a10
ropeimpl.h (__uninitialized_fill_n_a): Fix using declaration.
...
* include/ext/ropeimpl.h (__uninitialized_fill_n_a): Fix using
declaration.
* testsuite/ext/rope/5.cc: New.
From-SVN: r191869
2012-09-30 16:36:18 +01:00
Benjamin Kosnik
b1d6986c94
fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
...
2012-09-28 Benjamin Kosnik <bkoz@redhat.com>
* fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
* libsupc++/Makefile.am (LTCXXCOMPILE): Add EXTRA_CXX_FLAGS here.
* src/Makefile.am: Same.
* src/c++98/Makefile.am: Same.
* src/c++11/Makefile.am: Same.
* Makefile.in: Regenerated.
* src/Makefile.am: Same.
* src/c++11/Makefile.in: Same.
* src/c++98/Makefile.in: Same.
* include/Makefile.in: Same.
* po/Makefile.in: Same.
* python/Makefile.in: Same.
* testsuite/Makefile.in: Same.
2012-09-28 Benjamin Kosnik <bkoz@redhat.com>
* src/c++98/Makefile.am: Fixup PARALLEL_FLAGS.
From-SVN: r191847
2012-09-29 04:08:17 +00:00
Benjamin Kosnik
495de4f4cb
acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
...
2012-09-28 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
* include/Makefile.am: Same.
* src/c++98/Makefile.am: Same.
* src/Makefile.am: Same.
* Makefile.in: Regenerated.
* aclocal.m4: Same.
* configure: Same.
* doc/Makefile.in: Same.
* include/Makefile.in: Same.
* libsupc++/Makefile.in: Same.
* po/Makefile.in: Same.
* python/Makefile.in: Same.
* src/Makefile.in: Same.
* testsuite/Makefile.in: Same.
* src/c++11/Makefile.in: Same.
* src/c++98/Makefile.in: Same.
* src/c++98/compatibility-debug_list-2.cc: Update comments.
* src/c++98/compatibility-debug_list.cc: Same.
* src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc
* src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc
* src/c++98/compatibility-parallel_list-2.cc: Renamed to
src/c++98/list_associated-2.cc.
* src/c++98/compatibility-parallel_list.cc: Renamed to
src/c++98/list_associated.cc.
From-SVN: r191837
2012-09-28 19:48:27 +00:00
Ulrich Drepper
48c7b524c1
Optimize bulk mode for normal_distribution<double> for SSE3.
...
2012-09-26 Ulrich Drepper <drepper@gmail.com>
Optimize bulk mode for normal_distribution<double> for SSE3.
* configure.host: Define cpu_opt_bits_random.
* configure.ac: Substitute CPU_OPT_BITS_RANDOM.
* include/Makefile.am (bits_headers): Add ${bits_host_headers}.
(bits_host_headers): Define.
* include/bits/random.tcc: Move __details::_Power_of_2 to...
* include/bits/random.h: ...here.
* include/std/random: Include <bits/opt_random.h>.
* config/cpu/i486/opt/bits/opt_random.h: New file.
* config/cpu/generic/opt/bits/opt_random.h: New file.
* configure: Regenerated.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* doc/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* libsupc++/Makefile.in: Regenerated.
* po/Makefile.in: Regenerated.
* python/Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
* src/c++11/Makefile.in: Regenerated.
* src/c++98/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* config/cpu/generic/opt/ext/opt_random.h: Fix comment.
From-SVN: r191758
2012-09-26 13:10:26 +00:00
Edward Smith-Rowland
21a8ccc02f
Implement the K-distribution as an extension.
...
From-SVN: r191688
2012-09-25 03:26:36 +00:00
François Dumont
55826ab6d1
re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
...
2012-09-24 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/44436
* include/bits/stl_tree.h
(_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
_Const_Base_ptr.
(_Rb_tree<>::_M_insert_node): New.
(_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
_M_insert_unique method.
(_Rb_tree<>::_M_insert_unique): Use latter.
(_Rb_tree<>::_M_emplace_unique): New, likewise.
(_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
_M_insert_equal method.
(_Rb_tree<>::_M_insert_equal): Use latter.
(_Rb_tree<>::_M_emplace_equal): New, likewise.
(_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
_M_insert_unique_ method.
(_Rb_tree<>::_M_insert_unique_): Use latter.
(_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
(_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
_M_insert_equal_ method.
(_Rb_tree<>::_M_insert_equal_): Use latter.
(_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
(_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
useless as always null.
* include/bits/stl_map.h: Include <tuple> in C++11.
(map<>::operator[](const key_type&)): Use
_Rb_tree<>::_M_emplace_hint_unique in C++11.
(map<>::operator[](key_type&&)): Likewise.
(map<>::emplace): New.
(map<>::emplace_hint): New.
* include/bits/stl_multimap.h (multimap<>::emplace): New.
(multimap<>::emplace_hint): New.
* include/bits/stl_set.h (set<>::emplace): New.
(set<>::emplace_hint): New.
* include/bits/stl_multiset.h (multiset<>::emplace): New.
(multiset<>::emplace_hint): New.
* include/debug/map.h (std::__debug::map<>::emplace): New.
(std::__debug::map<>::emplace_hint): New.
* include/debug/multimap.h (std::__debug::multimap<>::emplace):
New.
(std::__debug::multimap<>::emplace_hint): New.
* include/debug/set.h (std::__debug::set<>::emplace): New.
(std::__debug::set<>::emplace_hint): New.
* include/debug/multiset.h (std::__debug::multiset<>::emplace):
New.
(std::__debug::multiset<>::emplace_hint): New.
* include/profile/map.h (std::__profile::map<>::emplace): New.
(std::__profile::map<>::emplace_hint): New.
* include/profile/multimap.h (std::__profile::multimap<>::emplace):
New.
(std::__profile::multimap<>::emplace_hint): New.
* include/profile/set.h (std::__profile::set<>::emplace): New.
(std::__profile::set<>::emplace_hint): New.
* include/profile/multiset.h (std::__profile::multiset<>::emplace):
New.
(std::__profile::multiset<>::emplace_hint): New.
* testsuite/util/testsuite_container_traits.h: Signal that emplace
and emplace_hint are available on std::map, std::multimap,
std::set and std::multiset in C++11.
* testsuite/23_containers/map/operators/2.cc: New.
* testsuite/23_containers/map/modifiers/emplace/1.cc: New.
* testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
* testsuite/23_containers/set/modifiers/emplace/1.cc: New.
* testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.
From-SVN: r191679
2012-09-24 19:53:36 +00:00
François Dumont
e6fa043b2d
41975.cc: Use __uset_hashtable rather than removed __unordered_set.
...
2012-09-24 François Dumont <fdumont@gcc.gnu.org>
* testsuite/performance/23_containers/insert_erase/41975.cc: Use
__uset_hashtable rather than removed __unordered_set.
From-SVN: r191678
2012-09-24 19:48:06 +00:00
Edward Smith-Rowland
0c105b723d
Implement the Pareto distribution as an extension.
...
From-SVN: r191612
2012-09-21 12:33:20 +00:00
Benjamin Kosnik
ac6d1200be
re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++)
...
2012-09-18 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/28811
PR libstdc++/54482
* configure.ac (glibcxx_lt_pic_flag,
glibcxx_compiler_pic_flag,
glibcxx_compiler_shared_flag): New. Use them.
(lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
(pic_mode): Set to default.
(PIC_CXXFLAGS): Remove.
* Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
* libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
glibcxx_compiler_shared_flag. Comment.
* src/c++11/Makefile.am: Same.
* src/c++98/Makefile.am: Same.
* src/Makefile.am: Use glibcxx_compiler_pic_flag.
* Makefile.in: Regenerated.
* aclocal.m4: Same.
* configure: Same.
* doc/Makefile.in: Same.
* include/Makefile.in: Same.
* libsupc++/Makefile.in: Same.
* po/Makefile.in: Same.
* python/Makefile.in: Same.
* src/Makefile.in: Same.
* src/c++11/Makefile.in: Same.
* src/c++98/Makefile.in: Same.
* testsuite/Makefile.in: Same.
* src/c++11/compatibility-atomic-c++0x.cc: Use
_GLIBCXX_SHARED instead of PIC to designate shared-only
code blocks.
* src/c++11/compatibility-c++0x.cc: Same.
* src/c++11/compatibility-thread-c++0x.cc: Same.
* src/c++98/compatibility-list-2.cc: Same.
* src/c++98/compatibility.cc: : Same.
* testsuite/17_intro/shared_with_static_deps.cc: New.
* doc/xml/manual/build_hacking.xml: Separate configure from
make/build issues, add build details.
From-SVN: r191509
2012-09-20 02:10:22 +00:00
Edward Smith-Rowland
19ece7ec02
Implement the Nakagami statistical distribution as an extension.
...
From-SVN: r191434
2012-09-18 16:14:09 +00:00
Ulrich Drepper
9bf714c23f
configure.ac: Substitute CPU_OPT_EXT_RANDOM.
...
* configure.ac: Substitute CPU_OPT_EXT_RANDOM.
* configure.host: Define cpu_opt_ext_random to location of the
optimized version of <ext/random>.
* include/Makefile.am (ext_headers): Add ${ext_host_headers}.
(ext_host_headers): Define.
* include/ext/random (simd_fast_mersenne_twister_engine<>
::operator==): Don't define function here.
* include/ext/random.tcc (simd_fast_mersenne_twister_engine): Don't
define code using SSE2 here. Define generic code only if
_GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ is not defined.
(simd_fast_mersenne_twister_engine<>
::operator==): Define here if
_GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL is not defined.
* config/cpu/generic/opt/ext/opt_random.h: New file.
* config/cpu/i486/opt/ext/opt_random.h: New file.
* libsupc++/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* po/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* doc/Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* python/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* src/c++98/Makefile.in: Regenerated.
* src/c++11/Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
From-SVN: r191384
2012-09-17 13:02:39 +00:00
Paolo Carlini
d9d69f64b1
random (rice_distribution<>::operator==): Change inline friend definition to non-template.
...
2012-09-16 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/random (rice_distribution<>::operator==): Change
inline friend definition to non-template.
* testsuite/ext/random/rice_distribution/requirements/
explicit_instantiation/1.cc: New.
* testsuite/26_numerics/random/normal_mv_distribution: Move...
* testsuite/ext/random/normal_mv_distribution: ... here.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
Move...
* testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
* testsuite/26_numerics/random/beta_distribution: Move...
* testsuite/ext/random/beta_distribution: ... here.
* testsuite/26_numerics/random/rice_distribution: Move...
* testsuite/ext/random/rice_distribution: ... here.
From-SVN: r191367
2012-09-16 22:28:21 +00:00
Edward Smith-Rowland
283126182e
Add the rice distribution as an extension.
...
From-SVN: r191362
2012-09-16 17:36:56 +00:00
Rainer Orth
9520425b6b
Clear hardware capabilities on libstdc++.so with Sun as
...
* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
* configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
* fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
* configure: Regenerate.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* src/c++11/Makefile.in: Regenerate.
* src/c++98/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
From-SVN: r191218
2012-09-12 12:38:15 +00:00
Jonathan Wakely
885e812159
re PR libstdc++/54388 (std::array.at() const results in undefined behaviour)
...
PR libstdc++/54388
* include/std/array (array::at() const): Ensure lvalue result.
* testsuite/23_containers/array/element_access/54388.cc: New.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
From-SVN: r191114
2012-09-09 18:56:51 +01:00
François Dumont
3157879227
re PR libstdc++/54296 (using the object in the map to erase element from the map crashes)
...
2012-09-05 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/54296
* include/bits/hashtable.h (_M_erase(size_type, __node_base*,
__node_type*)): New.
(erase(const_iterator)): Use latter.
(_M_erase(std::true_type, const key_type&)): New, likewise.
(_M_erase(std::false_type, const key_type&)): New. Find all nodes
matching the key before deallocating them so that the key doesn't
get invalidated.
(erase(const key_type&)): Use the new member functions.
* testsuite/23_containers/unordered_map/erase/54296.cc: New.
* testsuite/23_containers/unordered_multimap/erase/54296.cc: New.
From-SVN: r190991
2012-09-05 19:41:16 +00:00
Ulrich Drepper
bf30f22962
random: Add __gnu_cxx:normal_mv_distribution<> class.
...
* include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
* include/ext/random.tccAdd out-of-line functions for
__gnu_cxx::normal_mv_distribution<>.
* testsuite/26_numerics/random/normal_mv_distribution/
operators/equal.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
operators/serialize.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
operators/inequal.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
cons/default.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
cons/parms.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
requirements/explicit_instantiation/1.cc: New file.
* testsuite/26_numerics/random/normal_mv_distribution/
requirements/typedefs.cc: New file.
From-SVN: r190960
2012-09-05 04:06:24 +00:00
Ulrich Drepper
d4d348a9fe
random: Add __gnu_cxx::beta_distribution<> class.
...
* libstdc++-v3/include/ext/random: Add __gnu_cxx::beta_distribution<>
class.
* libstdc++-v3/include/ext/random.tcc: Add out-of-line functions for
__gnu_cxx::beta_distribution<>.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
operators/equal.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
operators/serialize.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
operators/inequal.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
cons/parms.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
cons/default.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
requirements/typedefs.cc: New file.
* libstdc++-v3/testsuite/26_numerics/random/beta_distribution/
requirements/explicit_instantiation/1.cc: New file.
From-SVN: r190954
2012-09-04 22:57:09 +00:00
Benjamin Kosnik
90a75549c3
testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
...
2012-08-30 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
From-SVN: r190805
2012-08-30 15:58:52 +00:00
Ulrich Drepper
1860430ab5
Add simd_fast_mersenne_twister_engine class.
...
* include/ext/random: New file.
* include/ext/random.tcc: New file.
* include/Makefile.am (ext_headers): Add random and random.tcc.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
operators/inequal.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
operators/equal.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
operators/serialize.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/seed2.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/default.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/seed_seq.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/copy.cc: New file.
* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
cons/seed1.cc: New file.
From-SVN: r190783
2012-08-29 18:43:08 +00:00
Marc Glisse
a30e18c147
re PR libstdc++/54376 (incorrect complaint about redefinition)
...
2012-08-26 Marc Glisse <marc.glisse@inria.fr>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/54376
* include/bits/random.h (lognormal_distribution<>::operator==,
gamma_distribution<>::operator==,
chi_squared_distribution<>::operator==,
fisher_f_distribution<>::operator==,
student_t_distribution<>::operator==,
binomial_distribution<>::operator==,
negative_binomial_distribution<>::operator==,
poisson_distribution<>::operator==): Change inline friend definition
to non-template.
* testsuite/26_numerics/random/binomial_distribution/requirements/
explicit_instantiation/1.cc: New.
* testsuite/26_numerics/random/cauchy_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/discrete_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/exponential_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/gamma_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/geometric_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/lognormal_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/normal_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/poisson_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/student_t_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/weibull_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r190694
2012-08-26 17:22:43 +00:00
Jonathan Wakely
ae1fab9c83
* testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
...
From-SVN: r190691
2012-08-26 15:59:20 +01:00
Jonathan Wakely
6d79ba303c
re PR libstdc++/54351 (~unique_ptr() should not set stored pointer to null)
...
PR libstdc++/54351
* include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
reset().
(unique_ptr<T[]>::~unique_ptr()): Likewise.
* testsuite/20_util/unique_ptr/54351.cc: New.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
line numbers.
From-SVN: r190676
2012-08-26 01:12:40 +01:00
Jonathan Wakely
277f43d2d0
re PR libstdc++/54297 ([C++11] Segmentation fault with std::async and released shared state)
...
PR libstdc++/54297
* include/std/future (~_Async_state_impl): Join thread before
derived class members are destroyed.
(~_Async_state_common): Only define non-trivial destructor when
included from future.cc for ABI compatibility reasons.
* src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
* testsuite/30_threads/async/54297.cc: New.
From-SVN: r190672
2012-08-26 00:01:40 +01:00
Jason Merrill
03b8c9bf9a
pt.c (tsubst_default_argument): Indicate where the default argument is being instantiated for.
...
* pt.c (tsubst_default_argument): Indicate where the default
argument is being instantiated for.
(tsubst_expr): Restore previous location.
(tsubst_copy_and_build): Set and restore location.
* call.c (build_new_method_call_1): Remember location of call.
* semantics.c (finish_call_expr): Here too.
* parser.c (cp_parser_omp_for_loop): Remember the location of the
increment expression.
From-SVN: r190662
2012-08-24 22:27:27 -04:00
Tom Tromey
c4269a634c
cxx11.cc (struct datum): New.
...
* testsuite/libstdc++-prettyprinters/cxx11.cc (struct datum):
New.
(global): New global.
(main): Add test for unique_ptr.
* python/libstdcxx/v6/printers.py
(UniquePointerPrinter.to_string): Extract the pointer and also
print its type.
From-SVN: r190417
2012-08-15 18:37:30 +00:00
David Adler
2942db6337
re PR libstdc++/54185 (condition_variable not properly destructed)
...
2012-08-13 David Adler <d.adler.s@gmail.com>
PR libstdc++/54185
* src/c++11/condition_variable.cc (condition_variable): Always
destroy native type in destructor.
* testsuite/30_threads/condition_variable/54185.cc: New.
From-SVN: r190356
2012-08-13 20:56:50 +01:00
François Dumont
181a5a136f
2012-08-10 François Dumont <fdumont@gcc.gnu.org>
...
Ollie Wild <aaw@google.com>
* include/bits/hashtable.h
(_Hashtable<>_M_insert_multi_node(hash_code, node_type*)): New.
(_Hashtable<>_M_insert(_Args&&, false_type)): Use latter.
(_Hashtable<>::_M_emplace(false_type, _Args&&...)): Likewise.
(_Hashtable<>::_M_insert_bucket): Replace by ...
(_Hashtable<>::_M_insert_unique_node(size_type, hash_code, node_type*)):
... this, new.
(_Hashtable<>::_M_insert(_Args&&, true_type)): Use latter.
(_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
* include/bits/hashtable_policy.h (_Map_base<>::operator[]): Use
latter, emplace the value_type rather than insert.
* include/std/unordered_map: Include tuple.
* include/std/unordered_set: Likewise.
* testsuite/util/testsuite_counter_type.h: New.
* testsuite/23_containers/unordered_map/operators/2.cc: New.
Co-Authored-By: Ollie Wild <aaw@google.com>
From-SVN: r190355
2012-08-13 19:43:19 +00:00
Marc Glisse
6a9573cc7b
re PR libstdc++/54112 (including complex.h and complex fails in C++03)
...
2012-08-13 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/54112
* include/c_compatibility/complex.h: Undefine complex, always
include system's complex.h if present.
* testsuite/26_numerics/complex/c99.cc: New testcase.
* testsuite/17_intro/headers/c++1998/complex.cc: Likewise.
* doc/xml/manual/numerics.xml: Document it.
From-SVN: r190340
2012-08-13 11:55:00 +00:00
Paolo Carlini
ef859c9d3c
[multiple changes]
...
2012-08-06 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/decimal/mixed-mode-cmp_neg.cc: Add test variable; minor
tweaks.
* testsuite/decimal/unary-arith.cc: Likewise.
* testsuite/decimal/ctor.cc: Likewise.
* testsuite/decimal/conversion-to-integral.cc: Likewise.
* testsuite/decimal/make-decimal.cc: Likewise.
* testsuite/decimal/comparison.cc: Likewise.
* testsuite/decimal/incdec-memfunc.cc: Likewise.
* testsuite/decimal/conversion-to-generic-float.cc: Likewise.
* testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
* testsuite/decimal/cast_neg.cc: Likewise.
* testsuite/decimal/incdec.cc: Likewise.
* testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
* testsuite/decimal/binary-arith.cc: Likewise.
* testsuite/decimal/conversion-from-float.cc: Likewise.
* testsuite/decimal/conversion-from-integral.cc: Likewise.
* testsuite/decimal/compound-assignment.cc: Likewise.
2012-08-06 Peter Bergner <bergner@vnet.ibm.com>
PR libstdc++/54036
* include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
a unary operator.
* testsuite/decimal/pr54036-1.cc: New test.
* testsuite/decimal/pr54036-2.cc: Likewise.
* testsuite/decimal/pr54036-3.cc: Likewise.
From-SVN: r190186
2012-08-06 18:06:42 +00:00
Paolo Carlini
75235f0597
revert: stl_map.h (operator[](key_type&&)): Replace std::make_pair with value_type.
...
2012-08-04 Paolo Carlini <paolo.carlini@oracle.com>
Revert:
2012-08-03 Ollie Wild <aaw@google.com>
Richard Smith <richardsmith@google.com>
* include/bits/stl_map.h (operator[](key_type&&)): Replace
std::make_pair with value_type.
* testsuite/23_containers/map/operators/2.cc: New test.
From-SVN: r190142
2012-08-04 11:44:28 +00:00
Ollie Wild
2222df9f39
stl_map.h (operator[](key_type&&)): Replace std::make_pair with value_type.
...
2012-08-03 Ollie Wild <aaw@google.com>
Richard Smith <richardsmith@google.com>
* include/bits/stl_map.h (operator[](key_type&&)): Replace
std::make_pair with value_type.
* testsuite/23_containers/map/operators/2.cc: New test.
Co-Authored-By: Richard Smith <richardsmith@google.com>
From-SVN: r190128
2012-08-03 15:26:36 +00:00
Jonathan Wakely
6e48db73ed
memory: Include auto_ptr.h later.
...
* include/std/memory: Include auto_ptr.h later.
* include/bits/shared_ptr.h (shared_ptr(auto_ptr<_Up>&&): Remove
definition.
* include/bits/shared_ptr_base.h (__shared_ptr(auto_ptr<_Up>&&):
Likewise.
* include/bits/unique_ptr.h (unique_ptr(auto_ptr<_Up>&&): Likewise.
* include/backward/auto_ptr.h (unique_ptr(auto_ptr<_Up>&&): Define.
(shared_ptr(auto_ptr<_Up>&&, __shared_ptr(auto_ptr<_Up>&&): Likewise.
* include/std/future: Reduce header dependencies.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
numbers.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
From-SVN: r190109
2012-08-03 01:27:48 +01:00
François Dumont
78aa145d9e
re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
...
2012-07-29 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/54075
* include/bits/hashtable_policy.h
(_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
to boost growth in the number of buckets.
* testsuite/performance/23_containers/insert/unordered_set.cc: New.
From-SVN: r189938
2012-07-29 16:44:18 +00:00
François Dumont
2514d7f1ff
re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
...
2012-07-25 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/54075
* include/bits/hashtable.h
(_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
size_type, ...): Remove std::max usage to guarantee that hashtable
state is consistent with hash policy state.
(_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
the hashtable to be shrinking on next insertion.
* testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
* testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
* testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
* testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
From-SVN: r189863
2012-07-25 19:32:48 +00:00
Chip Salzenberg
d069a690ee
re PR libstdc++/54025 (atomic<chrono::duration> won't compile: chrono::duration::duration() is not C++11 compliant)
...
2012-07-20 Chip Salzenberg <chip@pobox.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/54025
* include/std/chrono (duration<>::duration): Fix per C++11.
* testsuite/20_util/duration/cons/54025.cc: New.
* testsuite/20_util/duration/cons/constexpr.cc: Adjust.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r189711
2012-07-20 09:48:57 +00:00
Paolo Carlini
d1870ff1bc
adl.cc: Add missing dg-requires.
...
2012-07-20 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
From-SVN: r189709
2012-07-20 09:44:15 +00:00
Paolo Carlini
0e69fdf016
DR 1170 PR c++/51213
...
DR 1170
PR c++/51213
* semantics.c (perform_access_checks): Add complain parm, return bool.
(perform_deferred_access_checks): Likewise.
(perform_or_defer_access_check): Likewise.
(speculative_access_check): Remove.
* call.c (enforce_access): Add complain parm, return bool.
* decl.c, friend.c, class.c, init.c, parser.c: Adjust callers.
* search.c: Adjust callers.
* cp-tree.h (TINFO_RECHECK_ACCESS_P): New macro.
(FNDECL_RECHECK_ACCESS_P): New macro.
* method.c (synthesized_method_walk): Stop deferring access checks.
* pt.c (recheck_decl_substitution): New.
(instantiate_template_1): Set and check FNDECL_RECHECK_ACCESS_P.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r189639
2012-07-18 21:36:50 -04:00
Paolo Carlini
f8b54112b5
re PR libstdc++/53872 ([C++11] ADL bug in std::thread)
...
2012-07-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53872
* include/std/thread (thread::_M_make_routine): Qualify make_shared
to prevent ADL.
* testsuite/30_threads/thread/adl.cc: New.
From-SVN: r189329
2012-07-06 13:55:58 +00:00
Jonathan Wakely
7f426c93a7
re PR libstdc++/53830 (condition_variable_any - deadlock issue)
...
PR libstdc++/53830
* include/std/condition_variable (condition_variable_any::wait):
Move _Unlock type to class scope.
(condition_variable_any::wait_until): Reuse it.
* testsuite/30_threads/condition_variable_any/53830.cc: New.
From-SVN: r189268
2012-07-04 23:17:18 +01:00
Paolo Carlini
c128d2031e
re PR libstdc++/53840 ([C++11] DR 921. Rational Arithmetic should use template aliases)
...
2012-07-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53840
* include/std/ratio (ratio_multiply, ratio_divide, ratio_add,
ratio_subtract): Use template aliases.
* include/std/chrono (duration<>::duration(const duration<>&),
duration_cast): Adjust.
* testsuite/20_util/ratio/operations/53840.cc: New.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
From-SVN: r189239
2012-07-03 19:24:07 +00:00
Paolo Carlini
d695f91575
revert: re PR libstdc++/49561 ([C++0x] std::list::size complexity)
...
2012-07-02 Paolo Carlini <paolo.carlini@oracle.com>
Revert:
2011-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/49561
* include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
Add in C++0x mode.
(_List_base<>::_List_impl, _List_base<>::_M_get_node,
_List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
list<>::size, list<>::swap, list<>::splice): Use it.
(operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
* include/bits/list.tcc (list<>::erase): Likewise.
(list<>::merge): Adjust in C++0x mode.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/list/requirements/dr438/insert_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.
From-SVN: r189185
2012-07-03 00:47:17 +00:00
Benjamin Kosnik
e07b233d2e
c++config: Remove __regex nested namespace.
...
2012-06-27 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config: Remove __regex nested namespace.
* include/bits/regex_compiler.h: Change __regex to
__detail. Adjust doxygen markup, add regex-details group.
* include/bits/regex_constants.h: Same.
* include/bits/regex_cursor.h: Same.
* include/bits/regex_error.h: Same.
* include/bits/regex_grep_matcher.h: Same.
* include/bits/regex_grep_matcher.tcc: Same.
* include/bits/regex_nfa.h: Same.
* include/bits/regex_nfa.tcc: Same.
* include/bits/regex.h: Same. Remove static from global constants.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
* include/bits/locale_classes.tcc: Add use_facet, has_facet to
locales group.
From-SVN: r189039
2012-06-28 07:50:34 +00:00
Benjamin Kosnik
511e47fc2f
02_match: To...
...
2012-06-24 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/28_regex/algorithms/02_match: To...
* testsuite/28_regex/algorithms/match: ...this.
* testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
duplicate.
From-SVN: r188923
2012-06-25 06:01:13 +00:00
Jörg Sonnenberger
843f0d3c88
re PR libstdc++/53678 (namespace pollution on NetBSD)
...
2012-06-18 Jörg Sonnenberger <joerg@britannica.bec.de>
Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/53678
* config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
* testsuite/22_locale/ctype_base/53678.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r188755
2012-06-18 22:43:58 +01:00
Jonathan Wakely
5c8dd62a1b
re PR libstdc++/53648 ([C++11] nested empty tuples)
...
PR libstdc++/53648
* include/std/tuple (__empty_not_final): Do not use EBO for tuples.
* testsuite/20_util/tuple/53648.cc: New.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line
number.
From-SVN: r188636
2012-06-14 23:07:33 +01:00
François Dumont
80a009e565
2012-05-29 François Dumont <fdumont@gcc.gnu.org>
...
* include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
(__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
with iterator returning rvalue.
* testsuite/25_algorithms/stable_sort/3.cc: New.
From-SVN: r187985
2012-05-29 19:29:29 +00:00
Paolo Carlini
5d497b05fe
re PR c++/53503 ([C++0x] unexpected AST of kind ltgt_expr)
...
gcc/cp
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53503
* semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
libstdc++-v3
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53503
* testsuite/26_numerics/headers/cmath/53503.cc: New.
From-SVN: r187928
2012-05-28 12:09:01 +00:00
Paolo Carlini
d847ec803d
9780-2.cc: Avoid -Wall warnings.
...
2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
* testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
* Likewise.
* testsuite/23_containers/unordered_map/observers.cc: Likewise.
* testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
* testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
* testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
* testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
* testsuite/23_containers/unordered_set/observers.cc: Likewise.
* testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
* testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
* Likewise.
* testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
From-SVN: r187751
2012-05-21 23:40:55 +00:00
Paolo Carlini
041f207220
re PR c++/53361 (Could not convert ‘{0, 0, 0}’ from ‘<brace-enclosed initializer list>’ to ‘std::array<unsigned int, 3ul>’)
...
2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53361
* testsuite/23_containers/array/cons/53361.cc: New.
From-SVN: r187746
2012-05-21 22:17:54 +00:00
Paolo Carlini
f330f5991e
re PR c++/44516 (improve error message when no matching operator)
...
gcc/cp
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44516
* typeck.c (build_x_array_ref, build_x_conditional_expr,
build_x_compound_expr, build_x_modify_expr): Add location_t parameter.
(finish_class_member_access_expr, build_x_indirect_ref,
build_x_binary_op, build_x_compound_expr_from_list,
build_x_compound_expr_from_vec): Adjust callers.
* tree.c (build_min_nt_loc): New.
(build_min_nt): Remove.
* typeck2.c (build_x_arrow): Adjust callers.
* pt.c (tsubst_qualified_id, tsubst_omp_for_iterator,
tsubst_copy_and_build): Likewise.
* semantics.c (finish_mem_initializers, handle_omp_for_class_iterator,
finish_omp_atomic): Likewise.
* decl2.c (grok_array_decl, build_anon_union_vars): Adjust.
* parser.c (cp_parser_question_colon_clause,
cp_parser_assignment_expression, cp_parser_expression,
cp_parser_template_id, cp_parser_omp_for_loop): Likewise.
* cp-tree.h: Update.
gcc/testsuite
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44516
* g++.dg/parse/error48.C: New.
* g++.dg/template/crash89.C: Adjust dg-error line numbers.
* g++.old-deja/g++.robertl/eb109.C: Add column info to dg-error string.
libstdc++
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44516
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
dg-error line number.
From-SVN: r187627
2012-05-17 10:29:46 +00:00
Paolo Carlini
a2f6dee8a9
cons_overflow_neg.cc: Revert unintended commit.
...
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Revert
unintended commit.
From-SVN: r187516
2012-05-15 10:03:00 +00:00
Paolo Carlini
5ac4e73a1d
re PR libstdc++/53339 (unordered_map::iterator requires Value to be complete type)
...
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53339
* include/bits/hashtable_policy.h (__detail::_Identity,
__detail::_Select1st): Add.
(_Map_base, _Hashtable_base): Use the latter, adjust parameters.
* include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
* include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
Likewise.
* include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
Likewise.
* include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
Unconditionally derive from unary_function.
* include/ext/functional (identity, select1st, select2nd): Remove
#ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
* testsuite/23_containers/unordered_map/requirements/53339.cc: New.
* testsuite/23_containers/unordered_multimap/requirements/
53339.cc: Likewise.
From-SVN: r187515
2012-05-15 10:00:19 +00:00
Benjamin Kosnik
d632488ae0
re PR libstdc++/44015 (template parameters not documented)
...
2012-05-02 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/44015
* include/bits/basic_ios.h: Add tparam markup for
* doxygen. include/bits/basic_string.h: Same.
* include/bits/forward_list.h: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_list.h: Same. include/bits/stl_map.h:
* Same. include/bits/stl_multimap.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_pair.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/unordered_map.h: Same.
* include/bits/unordered_set.h: Same. include/std/array:
* Same. include/std/atomic: Same. include/std/fstream:
* Same. include/std/istream: Same. include/std/ostream:
* Same. include/std/sstream: Same.
* include/std/streambuf: Same.
* testsuite/23_containers/deque/requirements/dr438/*:
Adjust line numbers.
* testsuite/23_containers/list/requirements/dr438/*: Same.
* testsuite/23_containers/vector/requirements/dr438/*: Same.
From-SVN: r187066
2012-05-02 22:25:28 +00:00
François Dumont
b7a9facb2c
re PR libstdc++/53115 (_Hashtable::_M_rehash_aux(false_type) is broken)
...
2012-05-01 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/53115
* include/bits/hashtable.h
(_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets
after insertion of several equivalent elements.
* testsuite/23_containers/unordered_multiset/insert/53115.cc: New.
* testsuite/23_containers/unordered_multimap/insert/53115.cc: New.
From-SVN: r187025
2012-05-01 20:29:16 +00:00
Marc Glisse
cf48c25519
re PR libstdc++/51795 (linear_congruential_engine doesn't work correctly)
...
2012-04-29 Marc Glisse <marc.glisse@inria.fr>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51795
* include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
(__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
__lg(long long), __lg(unsigned long long)): Define constexpr.
* include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
limitations.
(__mod): Adjust.
(linear_congruential): Remove FIXME static_assert.
* include/bits/random.tcc (_Mod<>): Adjust.
* testsuite/26_numerics/random/linear_congruential_engine/operators/
51795.cc: New.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r186948
2012-04-29 23:36:09 +00:00
Jonathan Wakely
143a1ce16c
functional (function::function(F)): LWG 2132: Disable constructor if argument isn't callable.
...
* include/std/functional (function::function(F)): LWG 2132: Disable
constructor if argument isn't callable.
* testsuite/20_util/function/cons/callable.cc: New.
From-SVN: r186947
2012-04-29 23:59:37 +01:00
Benjamin Kosnik
6d0f7cacc0
re PR libstdc++/52689 (static linking with libstdc++ fails)
...
2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/52689
* testsuite/17_intro/static.cc: Fix.
* testsuite/lib/dg-options.exp (dg-require-static-libstdcxx): New.
From-SVN: r186845
2012-04-25 22:47:52 +00:00
Jonathan Wakely
862023d77a
scoped_allocator (scoped_allocator::__outermost): Do not pass non-POD to varargs function.
...
* include/std/scoped_allocator (scoped_allocator::__outermost): Do
not pass non-POD to varargs function.
* testsuite/20_util/scoped_allocator/1.cc: Fix test.
From-SVN: r186836
2012-04-25 19:03:03 +01:00
Benjamin Kosnik
3b34ddb8e0
re PR libstdc++/52689 (static linking with libstdc++ fails)
...
2012-04-24 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/52689
* testsuite/17_intro/static.cc: New.
From-SVN: r186794
2012-04-25 01:17:57 +00:00
Daniel Krugler
62fa805ffa
type_traits (is_nothrow_destructible): Implement.
...
2012-04-23 Daniel Krugler <daniel.kruegler@googlemail.com>
* include/std/type_traits (is_nothrow_destructible): Implement.
(is_destructible): Implement LWG 2049.
* testsuite/util/testsuite_tr1.h: Add tests.
* testsuite/20_util/is_nothrow_destructible/value.cc: New.
* testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc:
* testsuite/20_util/is_nothrow_destructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_destructible/value.cc: Adjust and extend.
* testsuite/20_util/is_default_constructible/value.cc: Tweak.
* testsuite/20_util/is_constructible/value-2.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r186726
2012-04-23 21:34:06 +00:00
Paolo Carlini
9771644a91
re PR libstdc++/53080 (tuple interface to std::array doesn't check bounds)
...
2012-04-23 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53080
* include/std/array (tuple_element, get): static_assert I < N.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
New.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element.cc: Fix.
From-SVN: r186702
2012-04-23 12:26:43 +00:00
Chris Jefferson
ff5be0e34e
re PR testsuite/53046 (New libstdc++ test failures)
...
2012-04-23 Chris Jefferson <chris@bubblescope.net>
PR testsuite/53046
* testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
of array A.
* testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
From-SVN: r186701
2012-04-23 11:17:28 +00:00
Paolo Carlini
970aa0b9a9
re PR c++/53067 (c++0x GCC 4.7.0 Regression std::ref with unordered sets)
...
2012-04-22 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53067
* include/bits/hashtable_policy.h: Change inheritances to public.
* testsuite/23_containers/unordered_map/requirements/53067.cc: New.
* testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.
From-SVN: r186676
2012-04-22 17:37:57 +00:00
Jonathan Wakely
fcf6e948d1
ptr_traits.h (pointer_traits::rebind): Make public.
...
* include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
* testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
rebind works.
From-SVN: r186670
2012-04-22 14:42:38 +01:00
Jonathan Wakely
7c688aded4
forward_list (forward_list::splice_after): Check allocators are equal.
...
* include/debug/forward_list (forward_list::splice_after): Check
allocators are equal.
* src/c++11/debug.cc: Fix spelling.
* testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
Likewise.
From-SVN: r186669
2012-04-22 14:27:16 +01:00
Paolo Carlini
aa5889c373
re PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of <type_traits> header)
...
2012-04-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53052
* include/std/type_traits (is_explicitly_convertible): Remove.
* testsuite/20_util/is_explicitly_convertible: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r186618
2012-04-20 09:39:29 +00:00
Paolo Carlini
b4989a1af9
re PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of <type_traits> header)
...
2012-04-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/53052
* include/std/type_traits (is_explicitly_convertible): Remove.
* testsuite/20_util/is_explicitly_convertible: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r186617
2012-04-20 09:39:17 +00:00
Benjamin Kosnik
ac9ce934ed
808590.cc: New.
...
2012-04-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
808590.cc: New.
From-SVN: r186539
2012-04-17 16:41:40 +00:00
Rainer Orth
332781bba5
Fix merging default libstdc++.log
...
* testsuite/util/testsuite_abi.cc (compare_symbols): Change
summary header to avoid confusion with DejaGnu header.
From-SVN: r186524
2012-04-17 10:21:25 +00:00
Paolo Carlini
6a9ecd3492
re PR libstdc++/52702 ([C++11] std::is_trivially_destructible is missing)
...
2012-04-15 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52702
* include/std/type_traits (is_trivially_destructible): Add.
(has_trivial_destructor): Remove.
* testsuite/util/testsuite_common_types.h: Adjust.
* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
* testsuite/20_util/pair/requirements/dr801.cc: Likewise.
* testsuite/20_util/is_trivially_destructible/value.cc: New.
* testsuite/20_util/is_trivially_destructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_destructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r186474
2012-04-15 23:35:27 +00:00
Paolo Carlini
6a9218cc9c
51083.cc: Move...
...
2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/26_numerics/cmath/51083.cc: Move...
* testsuite/26_numerics/headers/cmath/51083.cc: ... here.
From-SVN: r186445
2012-04-14 01:34:00 +00:00
Paolo Carlini
079c74f3fc
safe_iterator.h (_BeforeBeginHelper<>:: _S_Is_Beginnest): Add.
...
2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/safe_iterator.h (_BeforeBeginHelper<>::
_S_Is_Beginnest): Add.
* include/debug/forward_list (_BeforeBeginHelper<>::
_S_Is_Beginnest): Likewise.
(_Safe_iterator<>::_M_is_beginnest): Add.
* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
Use the latter.
* testsuite/23_containers/forward_list/debug/splice_after.cc:
Add test.
From-SVN: r186411
2012-04-13 10:43:28 +00:00
Benjamin Kosnik
4dad8b49ee
unordered_map.h (__unordered_map): Remove.
...
2012-04-12 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/unordered_map.h (__unordered_map): Remove.
(__unordered_multimap): Remove.
Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
__ummap_hashtable.
(unordered_map): Derive from __umap_hashtable.
(unordered_multimap): Derive from __ummap_hashtable.
* include/bits/unordered_set.h (__unordered_set): Remove.
(__unordered_multiset): Remove.
Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
__umset_hashtable.
(unordered_set): Derive from __uset_hashtable.
(unordered_multiset): Derive from __umset_hashtable.
* include/bits/hashtable.h (__cache_default): New, consolidated
cache defaults for _Hashtable. Adjust comments for doxygen.
(_Hashtable): Consolidate bool template parameters into new,
_Traits class. Inherited base classes synthesize _Hashtable in
CRTP via original 10 parameters. Prefer using declarations to
typedefs, add __node_type, __bucket_type, etc. Push many nested
types down hierarchy to _Hashtable_base. Add constructors
necessary for top-level unordered_containers. Consolidate insert
member functions and logic in new base class, __detail::_Insert
and __detail::_Insert_base.
(_Hashtable::operator=(initializer_list)): Add.
* include/bits/hashtable_policy.h: Convert to doxygen markup.
(_Hashtable_traits) New. Consolidate bool template parameters here.
(_Insert, _Insert_base): New, consolidated insert member functions.
(_Map_base, _Equality, _Rehash_base): Adjust template parameters,
use base types.
(_Hashtable_base): Move type declarations useful to other base
classes into this class.
* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adjust traits, line numbers.
From-SVN: r186403
2012-04-13 00:33:10 +00:00
Jeffrey Yasskin
2fc9b37dd0
Fix PR52822 (stable_partition move-assigns object to itself) by scanning for...
...
Fix PR52822 (stable_partition move-assigns object to itself) by
scanning for the first value that doesn't match the predicate before
starting to rearrange values.
2012-04-03 Jeffrey Yasskin <jyasskin@google.com>
PR libstdc++/52822
* include/bits/stl_algo.h (__find_if_not): Expose in
C++98 mode.
(__find_if_not_n): Like __find_if_not, but works on and updates a
counted range instead of a bounded range.
(stable_partition): Guarantee !__pred(*__first) in call to
__stable_partition_adaptive() or __inplace_stable_partition().
(__stable_partition_adaptive): Use new precondition to avoid
moving/copying objects onto themselves. Guarantee new
precondition to recursive calls.
(__inplace_stable_partition): Use new precondition to simplify
base case, remove __last parameter. Guarantee new precondition to
recursive calls.
* testsuite/25_algorithms/stable_partition/moveable.cc (test02):
Test a sequence that starts with a value matching the predicate.
* testsuite/25_algorithms/stable_partition/pr52822.cc:
Test vectors, which have a destructive self-move-assignment.
From-SVN: r186391
2012-04-12 20:59:09 +00:00
Andreas Schwab
a2547fd0d6
Makefile.am (check_DEJAGNUnormal0): Run prettyprinters.exp.
...
* testsuite/Makefile.am (check_DEJAGNUnormal0): Run
prettyprinters.exp.
* testsuite/Makefile.in: Regenerated.
From-SVN: r186389
2012-04-12 20:20:01 +00:00
Paolo Carlini
b9b0921497
re PR libstdc++/52942 (using std::ref with a std::unordered_map fails to compile)
...
2012-04-12 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52942
* include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
In C++11 mode do not derive from std::unary_function.
* include/ext/functional (identity, select1st, select2nd): Adjust.
* testsuite/23_containers/unordered_map/requirements/52942.cc: New.
* testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
From-SVN: r186375
2012-04-12 12:18:06 +00:00
Jonathan Wakely
a00cc15e3d
re PR c++/52924 (Using an std::function object as deleter of shared_ptr in C++0x mode does not compile)
...
PR libstdc++/52924
* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
user-defined destructor.
(_Sp_counted_inplace): Likewise.
* testsuite/20_util/shared_ptr/cons/52924.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
line numbers.
From-SVN: r186363
2012-04-11 23:54:53 +01:00
Jonathan Wakely
6cc5558fe8
* testsuite/performance/30_threads/future/polling.cc: Adjust.
...
From-SVN: r186354
2012-04-11 21:31:06 +01:00
Paolo Carlini
7826329699
forward_list.h (splice_after(const_iterator, forward_list&), [...]): Add per C++11 as published (and LWG 1310).
...
2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (splice_after(const_iterator,
forward_list&), splice_after(const_iterator, forward_list&,
consst_iterator), splice_after(const_iterator, forward_list&,
const_iterator, const_iterator), merge(forward_list&),
merge(forward_list&, _Comp)): Add per C++11 as published (and
LWG 1310).
* include/debug/forward_list: Adjust.
* include/bits/forward_list.h (splice_after(const_iterator,
forward_list&&, const_iterator)): Only declare.
(_M_transfer_after): Remove.
(_M_splice_after(const_iterator, forward_list&&)): Change signature.
(splice_after(const_iterator, forward_list&&, const_iterator,
const_iterator)): Use the latter.
* include/bits/forward_list.tcc (splice_after(const_iterator,
forward_list&&, const_iterator)): Define here.
(_M_splice_after): Define, use throughout.
* include/bits/forward_list.h (insert_after(const_iterator,
std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
_InputIterator, _InputIterator).
* include/bits/forward_list.tcc: Remove definition.
* testsuite/23_containers/forward_list/modifiers/6.cc: New.
* testsuite/23_containers/forward_list/operations/1.cc: Adjust.
From-SVN: r186338
2012-04-11 17:31:57 +00:00
Paolo Carlini
b16212bd3c
re PR libstdc++/52931 (std::hash shouldn't be defined for unknown types)
...
2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52931
* include/bits/functional_hash.h (struct hash): Remove definition.
* testsuite/20_util/hash/52931.cc: New.
From-SVN: r186310
2012-04-11 11:27:50 +00:00
Manuel López-Ibáñez
9fec00429d
re PR c++/24985 (caret diagnostics)
...
2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 24985
gcc/
* diagnostic.h (show_caret): Declare.
(caret_max_width): Declare.
(diagnostic_show_locus): Declare.
* diagnostic.c (diagnostic_initialize): Initialize to false.
(diagnostic_show_locus): New.
(diagnostic_report_diagnostic): Call it.
(getenv_columns): New.
(adjust_line): New.
(diagnostic_set_caret_max_width): New.
* input.c (read_line): New.
(location_get_source_line): New.
* input.h (location_get_source_line): Declare.
* toplev.c (general_init): Initialize show_caret from options.
* dwarf2out.c (gen_producer_string): Handle fdiagnostics-show-caret.
* opts.c (common_handle_option): Likewise.
* pretty-print.h (pp_get_prefix): New.
(pp_base_get_prefix): New.
* common.opt (fdiagnostics-show-caret): New option.
* doc/invoke.texi (fdiagnostics-show-caret): Document it.
testsuite/
* lib/prune.exp: Add -fno-diagnostics-show-caret.
libstdc++-v3/
* testsuite/lib/prune.exp: Handle caret.
libmudflap/
* testsuite/lib/libmudflap.exp: Handle caret.
From-SVN: r186305
2012-04-11 09:26:48 +00:00
Jonathan Wakely
ea2c1a6d67
re PR libstdc++/52591 ([C++0x] [4.7 Regression] moving std::vector relies on movable elements)
...
PR libstdc++/52591
* include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch
to _M_move_assign depending on whether allocator is moved.
(vector::_M_move_assign): Add overloaded functions.
* testsuite/23_containers/vector/52591.cc: New.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error 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.
From-SVN: r186057
2012-04-01 23:04:54 +01:00
Jonathan Wakely
181c9de2a6
functional (__callable_functor): Overload for volatile-qualified pointers.
...
* include/std/functional (__callable_functor): Overload for
volatile-qualified pointers.
* testsuite/20_util/function/10.cc: New.
From-SVN: r186055
2012-04-01 18:10:57 +01:00
Jeffrey Yasskin
195940adc0
re PR libstdc++/52799 (deque::emplace(iterator, ...) tries to call push_front(...), which doesn't exist)
...
2012-03-30 Jeffrey Yasskin <jyasskin@gcc.gnu.org>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52799
* include/bits/deque.tcc (emplace): Fix thinko, replace push_front
-> emplace_front, and likewise for *_back.
* testsuite/23_containers/deque/modifiers/emplace/52799.cc: New.
* testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise.
* testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r186035
2012-03-31 01:56:55 +00:00
Terry Guo
0805e111c7
Makefile.am (TEST_GCC_EXEC_PREFIX): New.
...
libstdc++-v3:
* testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
* testsuite/Makefile.in: Regenerated.
From-SVN: r185903
2012-03-28 01:34:07 +00:00