Ulrich Drepper
5c8efaf2fb
random.tcc: Fix operator>> and operator<< for uniform_on_sphere_distribution.
...
* include/ext/random.tcc: Fix operator>> and operator<< for
uniform_on_sphere_distribution.
From-SVN: r212496
2014-07-13 16:43:01 +00:00
Ulrich Drepper
863a2c7ecc
random: Add uniform_on_sphere_distribution definition.
...
2014-07-12 Ulrich Drepper <drepper@gmail.com>
* include/ext/random: Add uniform_on_sphere_distribution definition.
* include/ext/random.tcc: Add out-of-band member function definitions
for uniform_on_sphere_distribution.
* testsuite/ext/random/uniform_on_sphere_distribution/
cons/default.cc: New file.
* testsuite/ext/random/uniform_on_sphere_distribution/
operators/equal.cc: New file.
* testsuite/ext/random/uniform_on_sphere_distribution/
operators/inequal.cc: New file.
* testsuite/ext/random/uniform_on_sphere_distribution/
operators/serialize.cc: New file.
From-SVN: r212492
2014-07-13 11:07:44 +00:00
Edward Smith-Rowland
8daac7749f
Add the logistic_distribution as an extension.
...
2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
Add the logistic_distribution as an extension.
* include/ext/random: Add the logistic_distribution.
* include/ext/random.tcc: Add the logistic_distribution.
* testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
* testsuite/ext/random/logistic_distribution/cons/default.cc: New.
* testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
New.
* testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
* testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
* testsuite/ext/random/logistic_distribution/operators/serialize.cc:
New.
From-SVN: r212476
2014-07-12 01:32:20 +00:00
Jonathan Wakely
7757d79bfc
any (any::_Manager_alloc::_Data): Reorder tuple members to simplify pretty printing.
...
* include/experimental/any (any::_Manager_alloc::_Data): Reorder
tuple members to simplify pretty printing.
(any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
construction.
* testsuite/experimental/any/cons/4.cc: New.
From-SVN: r212435
2014-07-10 19:08:35 +01:00
Jonathan Wakely
b3771d3f6f
allocated_ptr.h (__allocated_ptr::operator=): Add missing return.
...
* include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
missing return.
* include/experimental/any: Remove unused header.
* include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
* testsuite/util/testsuite_regex.h: Move include guard.
From-SVN: r212360
2014-07-08 14:22:14 +01:00
Tim Shen
5bcb66dffa
re PR testsuite/61061 (FAIL: g++.dg/inherit/covariant7.C)
...
PR libstdc++/61061
PR libstdc++/61582
* include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
a NFA state limit. If it's exceeded, regex_constants::error_space
will be throwed.
* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
map (which is sparse) instead of vector. This reduce n times clones'
cost from O(n^2) to O(n).
* include/std/regex: Add map dependency.
* testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
testcase.
From-SVN: r212185
2014-07-01 03:05:45 +00:00
Tim Shen
ad9ec7b3c5
re PR libstdc++/61424 (std::regex matches right to left, not leftmost longest)
...
PR libstdc++/61424
* include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
not just regex containing back-references.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
exchange _M_next and _M_alt for alternative operator,
making matching from left to right.
* include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
Add position tracking fom DFS.
* include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
_Executor<>::_M_dfs): Likewise.
* include/bits/regex_scanner.h: Remove unused enum entry.
* testsuite/28_regex/algorithms/regex_search/61424.cc: New
testcase from PR.
From-SVN: r212184
2014-07-01 02:10:31 +00:00
Jonathan Wakely
906314419f
shared_ptr_base.h (__shared_ptr::_Deleter): Fix parameter type.
...
* include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
parameter type.
From-SVN: r212027
2014-06-26 13:43:59 +01:00
Jonathan Wakely
b925bf594a
Makefile.am: Add new header.
...
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
New RAII utilities for working with allocators.
* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
__allocator_type typedef and use new __allocated_ptr type.
(_Sp_counted_ptr_inplace): Likewise.
(__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
__allocate_guarded to to simplify exception handling.
* include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
* include/std/future (_Result_alloc::_M_destroy): Likewise.
(_Result_alloc::_S_allocate_result): Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
* testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
with fancy pointer.
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
From-SVN: r211996
2014-06-25 21:54:46 +01:00
Jonathan Wakely
484dc5996f
alloc_traits.h (__alloc_rebind): Define alias template.
...
* include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
* include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
* include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
Likewise.
* include/ext/alloc_traits.h: Fix comment.
From-SVN: r211995
2014-06-25 21:54:34 +01:00
Jonathan Wakely
3fa591d4b4
functexcept.h (__throw_out_of_range_fmt): Change attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
...
* include/bits/functexcept.h (__throw_out_of_range_fmt): Change
attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
* include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
Remove unused typedef.
(time_get::do_get_monthname): Likewise.
* include/bits/stl_tree.h: Add system_header pragma.
* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
redundant const-qualifier.
* include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
instead of _GLIBCXX_USE_CONSTEXPR.
From-SVN: r211951
2014-06-24 16:44:17 +01:00
Jonathan Wakely
7ce56fc845
any (any_v1): Rename namespace to fundamentals_v1.
...
* include/experimental/any (any_v1): Rename namespace to
fundamentals_v1. Change string returned by bad_any_cast::what().
* include/experimental/optional (fundamentals_v1): Add namespace.
* include/experimental/string_view (fundamentals_v1): Likewise.
* testsuite/experimental/any/typedefs.cc: New.
* testsuite/experimental/optional/typedefs.cc: New.
* testsuite/experimental/string_view/typedefs.cc: New.
From-SVN: r211920
2014-06-23 23:12:31 +01:00
Jonathan Wakely
83387bbd28
parse_numbers.h (_Number_help): Fix divide-by-zero.
...
* include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
* include/std/chrono (_Checked_integral_constant): Allow zero.
* testsuite/20_util/duration/literals/values.cc: Test non-positive
values and digit separators.
From-SVN: r211890
2014-06-23 12:30:32 +01:00
Jonathan Wakely
fb3bc97798
any (any_cast): Combine duplicate doxygen comments.
...
* include/experimental/any (any_cast): Combine duplicate doxygen
comments.
* include/experimental/string_view (basic_string_view): Update
doxygen comment.
* include/std/bitset (bitset): Move to Doxygen 'utilities' group.
* include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
(dynamic_bitset): Improve Doxygen comments.
* include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
comment.
From-SVN: r211672
2014-06-14 21:43:07 +01:00
Jonathan Wakely
10d43d2fb4
api.xml: Link to more recent API docs.
...
* doc/xml/api.xml: Link to more recent API docs.
* include/bits/allocator.h: Fix link in doxygen comment.
* include/bits/char_traits.h: Likewise.
* include/bits/ios_base.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/unordered_map.h: Likewise.
* include/bits/unordered_set.h: Likewise.
* include/ext/mt_allocator.h: Likewise.
* include/std/fstream: Likewise.
* include/std/iosfwd: Likewise.
* include/std/ostream: Likewise.
* include/std/sstream: Likewise.
* include/std/streambuf: Likewise.
* doc/html/*: Regenerate.
From-SVN: r211671
2014-06-14 21:22:10 +01:00
Jonathan Wakely
0054134919
user.cfg.in (INPUT): Add C++14 headers.
...
* doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
* include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
warnings.
* include/bits/shared_ptr.h (shared_ptr): Likewise.
* include/bits/unordered_map.h (unordered_map, unordered_multimap):
Likewise.
* include/bits/unordered_set.h (unordered_set, unordered_multiset):
Likewise.
* include/parallel/list_partition.h (__parallel::list_partition):
Likewise.
* include/std/iomanip (quoted): Likewise.
* include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
From-SVN: r211670
2014-06-14 17:33:53 +01:00
Jonathan Wakely
e8043fa674
status_cxx2014.xml: Update Fundamentals TS status.
...
* doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/any: New.
* include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
constructor.
* testsuite/experimental/any/assign/1.cc: New.
* testsuite/experimental/any/assign/2.cc: New.
* testsuite/experimental/any/cons/1.cc: New.
* testsuite/experimental/any/cons/2.cc: New.
* testsuite/experimental/any/cons/3.cc: New.
* testsuite/experimental/any/misc/any_cast.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: New.
* testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
* testsuite/experimental/any/misc/swap.cc: New.
* testsuite/experimental/any/modifiers/1.cc: New.
* testsuite/experimental/any/observers/type.cc: New.
From-SVN: r211669
2014-06-14 17:00:56 +01:00
Jonathan Wakely
060269c481
re PR libstdc++/61390 (error in nested template parameter in ext/pb_ds header file)
...
PR libstdc++/61390
* include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
(bin_search_tree_traits): Do not redeclare template-parameters.
* testsuite/util/testsuite_iterators.h (test_container): Likewise.
From-SVN: r211421
2014-06-10 19:09:18 +01:00
Jonathan Wakely
45b4a79657
beta_function.tcc: Fix spelling of include guard in comment.
...
* include/tr1/beta_function.tcc: Fix spelling of include guard in
comment.
From-SVN: r211373
2014-06-09 12:52:20 +01:00
Ed Smith-Rowland
25608e3a5f
DR 2344 - std::quoted doesn't respect padding
...
2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
DR 2344 - std::quoted doesn't respect padding
* include/std/iomanip: Allow for padding in quoted inserters.
* testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
* testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
From-SVN: r211340
2014-06-07 03:40:30 +00:00
Jonathan Wakely
097f0bcf65
regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache.
...
* include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
members to avoid wasted space when not using a cache.
(__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
* include/bits/regex_compiler.tcc
(__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
search on set.
* include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
New enumeration type to indicate match mode.
(__detail::_Executor::_State_info): New type holding members only
needed in BFS-mode. Replace unique_ptr<vector<bool>> with
unique_ptr<bool[]>.
(__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
Replace template parameter with run-time function parameter.
(__detail::_Executor::_M_main): Likewise. Dispatch to ...
(__detail::_Executor::_M_main_dispatch): New overloaded functions to
implement DFS and BFS mode.
* include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
Split implementation into ...
(__detail::_Executor::_M_main_dispatch): New overloaded functions.
(__detail::_Executor::_M_lookahead): Create nested executor on stack.
(__detail::_Executor::_M_rep_once_more): Pass match mode as function
argument instead of template argument.
(__detail::_Executor::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc: Fix typos in comments.
* testsuite/performance/28_regex/range.cc: New.
From-SVN: r211143
2014-06-02 20:36:14 +01:00
Jonathan Wakely
315eb4bb08
condition_variable (condition_variable_any::_Unlock): Do not swallow __forced_unwind.
...
* include/std/condition_variable (condition_variable_any::_Unlock): Do
not swallow __forced_unwind.
* include/std/future (__future_base::_Task_setter): Likewise.
(__future_base::_Async_state_impl): Turn __forced_unwind into broken
promise and rethrow.
* include/std/mutex (try_lock): Likewise.
* testsuite/30_threads/async/forced_unwind.cc: New.
* testsuite/30_threads/packaged_task/forced_unwind.cc: New.
From-SVN: r211138
2014-06-02 16:45:09 +01:00
Rüdiger Sonderfeld
d371802725
type_traits (__strictest_alignment): New helper struct.
...
2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Jonathan Wakely <jwakely@redhat.com>
* libstdc++-v3/include/std/type_traits (__strictest_alignment): New
helper struct.
(aligned_union): New struct (C++11).
(aligned_union_t): New type alias (C++14).
* doc/xml/manual/status_cxx2011.xml: Update.
* libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r211137
2014-06-02 14:55:14 +01:00
Jonathan Wakely
314efb66cf
uses_allocator.h (__uses_allocator_helper): Simplify.
...
* include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
(__uses_allocator_arg): Remove unused type.
(__uses_alloc0): Turn into a trivial type.
(__uses_alloc): Add missing template parameter in primary template.
(__uses_alloc_impl): Rename to __uses_alloc_t.
From-SVN: r211121
2014-06-01 23:35:42 +01:00
Jonathan Wakely
16545743c6
re PR libstdc++/61374 (string_view::operator string() is buggy)
...
PR libstdc++/61374
* include/experimental/string_view (operator basic_string): Correct
order of arguments.
(to_string): Replace with member function.
Add inline specifiers. Remove unused header. Remove _S_empty_rep and
allow _M_str to be null.
* testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
default constructor semantics.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
copyright dates. Remove unused header.
* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/data/char/1.cc:
Fix copyright dates. Adjust to new default constructor semantics.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/to_string/1.cc: New.
From-SVN: r211113
2014-06-01 18:23:41 +01:00
Jonathan Wakely
710d672b08
bool_set: Use UTF-8 for accented characters.
...
* include/tr2/bool_set: Use UTF-8 for accented characters.
* scripts/run_doxygen: Handle Doxygen 1.8.x change.
* doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
From-SVN: r211053
2014-05-29 15:04:43 +01:00
Jonathan Wakely
ecb249ddf2
re PR libstdc++/61329 (#include <regex> and _GLIBCXX_DEBUG causes multiple symbol definition.)
...
PR libstdc++/61329
* include/bits/regex_automaton.tcc (_State_base::_M_print): Add
inline specifier.
(_State_base::_M_dot): Likewise.
From-SVN: r210968
2014-05-27 12:14:17 +01:00
Paolo Carlini
5a2b79e24d
map.h: Fix typo in comment; minor formatting fix.
...
2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/profile/map.h: Fix typo in comment; minor formatting fix.
* include/profile/multimap.h: Likewise.
* include/profile/set.h: Likewise.
* include/profile/multiset.h: Likewise.
From-SVN: r210912
2014-05-25 08:38:01 +00:00
François Dumont
f3de79d43a
array: Clean useless white chars.
...
2014-05-24 François Dumont <fdumont@gcc.gnu.org>
* include/profile/array: Clean useless white chars.
* include/profile/base.h: Likewise.
* include/profile/iterator_tracker.h: Likewise.
* include/profile/bitset: Code cleanup and remove not instrumented code.
* include/profile/deque: Likewise.
* include/profile/forward_list: Likewise.
* include/profile/list (std::__profile::_List_profile<>): New.
(std::__profile::list<>): Inherit from latter and adapt.
* include/profile/impl/profiler_map_to_unordered_map.h: Generalize
advise to match any ordered to unordered container conversion.
* include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
New.
* include/Makefile.am: Add latter.
* include/Makefile.in: Regenerate.
* include/profile/map.h (std::__profile::map<>): Inherit from latter,
remove not instrumented code.
* include/profile/multimap.h (std::__profile::multimap<>): Likewise.
* include/profile/set.h (std::__profile::set<>): Likewise.
* include/profile/multiset.h (std::__profile::multiset<>): Likewise.
* include/profile/unordered_base.h: Add some line feed.
* include/profile/unordered_map: Clean useless white chars and replace
spaces with tabs.
* include/profile/unordered_set: Likewise.
* include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
(std::__profile::_Vector_profile_post<>): New.
(std::__profile::vector<>): Inherit from latter and adapt.
From-SVN: r210900
2014-05-24 20:59:00 +00:00
François Dumont
95539f21f5
re PR libstdc++/61143 (Arithmetic exception on emplacing into unordered_map moved out)
...
2014-05-21 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/61143
* include/bits/hashtable.h: Fix move semantic to leave hashtable in a
usable state.
* testsuite/23_containers/unordered_set/61143.cc: New.
* testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
From-SVN: r210726
2014-05-21 19:51:05 +00:00
Jonathan Wakely
21e2806a8f
re PR libstdc++/61269 (<type_traits> includes <cstdint> inside std namespace)
...
PR libstdc++/61269
* include/std/type_traits: Move include outside namespace std.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r210715
2014-05-21 16:09:37 +01:00
Tim Shen
4dae67e090
re PR libstdc++/61227 ([C++11] Regex [\w] does not work)
...
2014-05-20 Tim Shen <timshen91@gmail.com>
PR libstdc++/61227
* include/bits/regex_compiler.h
(_BracketMatcher<>::_M_add_character_class): Add negative character
class support.
* include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
Add more testcases.
From-SVN: r210630
2014-05-20 04:31:54 +00:00
Jonathan Wakely
a0eaa08ceb
re PR libstdc++/60966 (std::call_once sometime hangs)
...
PR libstdc++/60966
* include/std/future (__future_base::_State_baseV2::_M_set_result):
Pass lock into _M_do_set and hold it until the function returns.
Signal condition variable after call_once completes.
(__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
signal here.
* testsuite/30_threads/promise/60966.cc: New.
From-SVN: r210556
2014-05-17 13:58:46 +01:00
Jonathan Wakely
cd1464dbc6
parse_numbers.h (__parse_int::_Number_help): Check for overflow.
...
* include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
overflow.
* include/std/chrono (chrono_literals::__select_type::_Select_type):
Remove.
(chrono_literals::_Checked_integral_constant): Define.
Simplify UDL operator templates and check for overflow.
* testsuite/20_util/duration/literals/range.cc: New.
From-SVN: r210513
2014-05-16 12:08:49 +01:00
Ed Smith-Rowland
a2f4bd2ae1
re PR libstdc++/61166 (overflow when parse number in std::duration operator"")
...
2014-05-15 Ed Smith-Rowland <3dw4rd@verizon.net>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/61166
* include/bits/parse_numbers.h: Use integral_constant to remove
duplication and simplify.
* testsuite/20_util/duration/literals/61166.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r210511
2014-05-16 10:30:57 +01:00
Jonathan Wakely
c0eef1c8f2
re PR libstdc++/60326 (Incorrect type from std::make_unsigned<wchar_t>)
...
PR libstdc++/60326
* include/std/type_traits (__make_unsigned, __make_signed): Define
specializations for wchar_t, char16_t and char32_t.
* testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
test for make_unsigned<volatile wchar_t>.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.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: r210473
2014-05-15 13:31:05 +01:00
Jonathan Wakely
3a004764ec
tuple (tuple_size<cv _Tp>): Implement LWG 2313.
...
* include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
* include/std/array (tuple_size, tuple_element): Add Doxygen comments.
* include/std/utility (tuple_size, tuple_element): Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Adjust dg-error line number.
From-SVN: r210470
2014-05-15 11:35:29 +01:00
Jonathan Wakely
af222e7486
tuple (__add_c_ref, [...]): Remove.
...
* include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
(__tuple_element_t): Define.
(tuple_element): Use __tuple_element_t.
(__cv_tuple_size): Define.
(tuple_size<cv _Tp>): Use __cv_tuple_size.
(get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
(get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
(__tuple_compare): Remove size check, re-order parameters.
(operator==, operator<): Use static_assert to check requirements.
* include/std/functional (__volget): use __tuple_element_t.
* testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
From-SVN: r210447
2014-05-14 23:16:35 +01:00
Jonathan Wakely
b82f988e8d
re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
...
PR libstdc++/60497
* include/debug/array (get): Qualify call to other get overload.
* include/profile/array (get): Likewise.
* include/std/array (get): Likewise.
* include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
* include/std/mutex (unique_lock, call_once): Use __addressof.
(__unlock_impl): Remove unused template.
(__try_to_lock): Declare inline.
(__try_lock_impl::__do_try_lock): Qualify function calls.
(lock): Avoid narrowing conversion.
* testsuite/20_util/bind/60497.cc: New.
* testsuite/23_containers/array/element_access/60497.cc: New.
* testsuite/30_threads/call_once/60497.cc: New.
* testsuite/30_threads/unique_lock/cons/60497.cc: New.
From-SVN: r210388
2014-05-13 18:22:08 +01:00
Jonathan Wakely
75e75a087d
re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
...
PR libstdc++/60497
* include/std/tuple (get, __tuple_compare): Qualify more calls to
prevent ADL. Cast comparison results to bool.
* testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
* testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
From-SVN: r210366
2014-05-13 12:18:01 +01:00
Jonathan Wakely
07e4f10aa6
iostream: Fix URL in comment.
...
* include/std/iostream: Fix URL in comment.
* src/c++98/ios_init.cc: Fix path in comment.
From-SVN: r210232
2014-05-08 20:01:51 +01:00
Jonathan Wakely
2735097a55
re PR libstdc++/13860 (Poor error messages on invalid template parameters for basic_filebuf)
...
PR libstdc++/13860
* include/std/fstream (basic_filebuf): Enforce requirements on traits.
From-SVN: r210231
2014-05-08 19:30:14 +01:00
Jonathan Wakely
f0fd118f53
re PR libstdc++/57394 ([C++11] basic_streambuf incorrect copy constructor / copy assignment access specifier)
...
PR libstdc++/57394
* include/bits/ios_base.h (ios_base(const ios_base&)): Define as
deleted for C++11.
(operator=(const ios_base&)): Likewise.
* include/std/streambuf: Remove trailing whitespace.
(basic_streambuf(const basic_streambuf&)): Fix initializer for
_M_out_end. Define as defaulted for C++11.
(operator=(const basic_streambuf&)): Define as defaulted for C++11.
(swap(basic_streambuf&)): Define for C++11.
* testsuite/27_io/basic_streambuf/cons/57394.cc: New.
From-SVN: r210228
2014-05-08 18:17:06 +01:00
Jonathan Wakely
bbf264c9b2
re PR libstdc++/61086 (ubsan detects undefined behaviour in the standard library)
...
PR libstdc++/61086
* include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
Remove.
* include/bits/stl_vector.h (vector::insert, vector::erase): Use
arithmetic to obtain a mutable iterator from const_iterator.
* include/bits/vector.tcc (vector::insert): Likewise.
* include/debug/vector (vector::erase): Likewise.
* 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: r210162
2014-05-07 15:43:22 +01:00
Jonathan Wakely
2588652e17
re PR libstdc++/61023 (set/map move assignment doesn't move (or copy) the comparator)
...
PR libstdc++/61023
* include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
comparison function.
* testsuite/23_containers/set/cons/61023.cc: New.
From-SVN: r210159
2014-05-07 15:12:37 +01:00
Paolo Carlini
f03d1bb9cb
Makefile.in: Regenerate.
...
2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/Makefile.in: Regenerate.
From-SVN: r210133
2014-05-07 01:11:19 +00:00
François Dumont
15ee1a7745
macros.h [...]: Add parameter to pass the 2 instances to check allocator equality.
...
2014-05-06 François Dumont <fdumont@gcc.gnu.org>
* include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
parameter to pass the 2 instances to check allocator equality.
* include/debug/safe_container.h: New, define _Safe_container<>.
* include/Makefile.am: Add previous.
* include/debug/deque (std::__debug::deque<>): Inherit
_Safe_container<>. Use default implementation for all special
functions.
* include/debug/forward_list (std::__debug::forward_list<>):
Likewise.
* include/debug/list (std::__debug::list<>): Likewise.
* include/debug/map.h (std::__debug::map<>): Likewise.
* include/debug/multimap.h (std::__debug::multimap<>): Likewise.
* include/debug/set.h (std::__debug::set<>): Likewise.
* include/debug/multiset.h (std::__debug::multiset<>): Likewise.
* include/debug/string (std::__debug::basic_string<>): Likewise.
* include/debug/unordered_map
(std::__debug::unordered_map<>): Likewise.
(std::__debug::unordered_multimap<>): Likewise.
* include/debug/unordered_set
(std::__debug::unordered_set<>): Likewise.
(std::__debug::unordered_multiset<>): Likewise.
* include/debug/vector (std::__debug::vector<>): Likewise.
* include/debug/safe_base.h (_Safe_sequence_base()): Add
noexcept.
(_Safe_sequence_base(_Safe_sequence_base&&): Remove.
(~_Safe_sequence_base()): Add noexcept.
* include/debug/safe_sequence.h
(std::__debug::_Safe_node_sequence<>): New.
* include/debug/safe_unordered_base.h
(_Safe_unordered_container_base()): Add noexcept.
(~_Safe_unordered_container_base()): Likewise.
(_M_swap(_Safe_unordered_container_base&)): Likewise.
* include/debug/safe_unordered_container.h:
(_Safe_unordered_container<>::_M_invalidate_locals()): New.
(_Safe_unordered_container<>::_M_invalidate_all()): New.
* src/c++11/debug.cc: Limit includes, adapt methods noexcept
qualifications.
* testsuite/util/debug/checks.h (check_construct1): Just implement
an invalid constructor invocation and no other operations
potentially not supported by some types of container.
(check_construct2): Likewise.
(check_construct3): Likewise.
* testsuite/23_containers/forward_list/allocator/move.cc: Add
check on iterators to make sure they are correctly moved in debug
mode.
* testsuite/23_containers/forward_list/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/map/allocator/move.cc: Likewise.
* testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
* testsuite/23_containers/multimap/allocator/move.cc: Likewise.
* testsuite/23_containers/multimap/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/multiset/allocator/move.cc: Likewise.
* testsuite/23_containers/multiset/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/set/allocator/move.cc: Likewise.
* testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
* testsuite/23_containers/unordered_map/allocator/move.cc:
Likewise.
* testsuite/23_containers/unordered_map/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/allocator/move.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/move.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/move.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/forward_list/debug/construct1_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/construct2_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/construct3_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/construct4_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
New.
* testsuite/23_containers/forward_list/debug/move_neg.cc: New.
* testsuite/23_containers/map/debug/construct5_neg.cc: New.
* testsuite/23_containers/map/debug/move_assign_neg.cc: New.
* testsuite/23_containers/map/debug/move_neg.cc: New.
* testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
* testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
* testsuite/23_containers/multimap/debug/move_neg.cc: New.
* testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
* testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
* testsuite/23_containers/multiset/debug/move_neg.cc: New.
* testsuite/23_containers/set/debug/construct5_neg.cc: New.
* testsuite/23_containers/set/debug/move_assign_neg.cc: New.
* testsuite/23_containers/set/debug/move_neg.cc: New.
* testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
New.
* testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
New.
* testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
* testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
New.
* testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
New.
* testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
New.
* testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
New.
* testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
New.
* testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
New.
* testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
New.
* testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
New.
* testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
* testsuite/23_containers/vector/debug/move_neg.cc: New.
From-SVN: r210123
2014-05-06 19:59:44 +00:00
Jonathan Wakely
62da5a07b2
re PR libstdc++/61036 (shared_ptr<void>(new T) rejected)
...
PR libstdc++/61036
* include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
Check the correct type in the static assertion.
* testsuite/20_util/shared_ptr/cons/61036.cc: New.
From-SVN: r210015
2014-05-02 19:29:48 +01:00
Tim Shen
a670a9bb54
regex_automaton.h (_NFA<>::_M_insert_repeat): Add _S_opcode_repeat support to distingush a loop from _S_opcode_alternative.
...
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
Add _S_opcode_repeat support to distingush a loop from
_S_opcode_alternative.
* include/bits/regex_automaton.tcc (_State_base::_M_print,
_State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
_StateSeq<>::_M_clone): Likewise.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
Likewise.
* include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
Uglify local variable __i.
* include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
Use size_t instead of int to compare with vector::size().
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex_executor.h: Add _M_rep_count to track how
many times this repeat node are visited.
* include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
_Executor<>::_M_dfs): Use _M_rep_count to prevent entering
infinite loop.
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex.tcc (__regex_algo_impl<>): Remove
_GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
_GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
* include/bits/regex_automaton.h: Remove quantifier counting variable.
* include/bits/regex_automaton.tcc (_State_base::_M_dot):
Adjust debug NFA dump.
From-SVN: r209844
2014-04-27 23:48:47 +00:00
Lars Gullik Bjønnes
e2ce9436fb
re PR libstdc++/60710 (experimental::optional<T> is using T::operator!=)
...
2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
PR libstdc++/60710
* include/experimental/optional (operator!=): Implement in terms of
operator==.
* testsuite/experimental/optional/relops/1.cc: Remove operator!=.
* testsuite/experimental/optional/relops/2.cc: Likewise.
* testsuite/experimental/optional/relops/3.cc: Likewise.
* testsuite/experimental/optional/relops/4.cc: Likewise.
* testsuite/experimental/optional/relops/5.cc: Likewise.
* testsuite/experimental/optional/relops/6.cc: Likewise.
From-SVN: r209810
2014-04-25 20:34:42 +01:00
Jonathan Wakely
4ec21835cb
re PR libstdc++/60958 (Initialization of arrays in tr1/regex ill-formed or with undefined behaviour)
...
PR libstdc++/60958
* include/tr1/regex (regex_traits::isctype): Comment out broken code.
* testsuite/util/testsuite_regex.h (regex_match_debug): Improve
comment.
From-SVN: r209807
2014-04-25 17:10:25 +01:00
Tim Shen
836c42f6ad
regex_automaton.tcc (_StateSeq<>::_M_clone()): Do _M_alt before _M_next.
...
2014-04-24 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
Do _M_alt before _M_next.
* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
From-SVN: r209756
2014-04-24 18:29:21 +00:00
Jonathan Wakely
6e2d247b1e
* include/std/functional (__is_location_invariant): Use __or_ helper.
...
From-SVN: r209445
2014-04-16 18:46:13 +01:00
Jonathan Wakely
33fbb3584a
shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Remove name of unused parameter.
...
* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
Remove name of unused parameter.
From-SVN: r209434
2014-04-15 21:15:38 +01:00
Jonathan Wakely
b9de84c92d
* include/experimental/string_view: Fix inconsistent exception specs.
...
From-SVN: r209433
2014-04-15 20:05:57 +01:00
Jonathan Wakely
227df36e33
* include/std/atomic: Uglify parameter names.
...
From-SVN: r209429
2014-04-15 19:28:57 +01:00
Jonathan Wakely
ed39835fdc
shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use delegating constructor.
...
* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
delegating constructor.
* include/bits/shared_ptr_base.h
(__shared_ptr::__shared_ptr(nullptr_t)): Likewise
From-SVN: r209428
2014-04-15 19:28:50 +01:00
Jonathan Wakely
260d16c8ca
atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add const to constexpr member functions.
...
* include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
const to constexpr member functions.
From-SVN: r209427
2014-04-15 19:28:41 +01:00
Jonathan Wakely
4803acceb2
re PR libstdc++/60594 (std::function of a type with a declared (but not defined) return type fails to compile)
...
PR libstdc++/60594
* include/std/functional (function::_Callable): Exclude own type
from the callable checks.
* testsuite/20_util/function/60594.cc: New.
From-SVN: r209422
2014-04-15 16:25:52 +01:00
Jonathan Wakely
9ffc6d0bc2
re PR libstdc++/60695 (std::atomic<X> doesn't work when X is of zero size)
...
PR libstdc++/60695
* include/std/atomic (atomic<_Tp>): Add static assertion.
* testsuite/29_atomics/atomic/60695.cc: New.
From-SVN: r209418
2014-04-15 14:48:07 +01:00
Jonathan Wakely
4b3f982994
re PR libstdc++/60734 (Undefined behavior in g++-v4/bits/stl_tree.h)
...
PR libstdc++/60734
* include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
From-SVN: r209414
2014-04-15 11:52:06 +01:00
Jonathan Wakely
025eac9b9e
N3887 Consistent Metafunction Aliases
...
* include/std/tuple (tuple_element_t): Define.
* testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
test.
* testsuite/20_util/tuple/tuple_element_t.cc: New.
From-SVN: r209395
2014-04-15 00:17:52 +01:00
Jonathan Wakely
39e6a690ec
re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
...
PR libstdc++/60497
* include/std/tuple (get): Qualify calls to prevent ADL.
* testsuite/20_util/tuple/60497.cc: New.
From-SVN: r209381
2014-04-14 16:32:58 +01:00
Jonathan Wakely
e364673d87
allocator.h (operator==, operator!=): Add exception specifications.
...
* include/bits/allocator.h (operator==, operator!=): Add exception
specifications.
From-SVN: r209379
2014-04-14 16:13:02 +01:00
Jonathan Wakely
5b99e0a022
Limit operations on vector::pointer to NullablePointer requirements.
...
* include/bits/stl_vector.h (_Vector_base::_Vector_impl,
_Vector_base::_M_allocate): NullablePointer requirements do not
include initialization from literal zero, use value-initialization.
* include/bits/vector.tcc (vector::_M_insert_aux,
vector::_M_explace_back_aux): Likewise for assignment.
From-SVN: r209377
2014-04-14 15:51:35 +01:00
Marc Glisse
4de3afd972
re PR libstdc++/59434 ([lwg/2106] move_iterator is broken for input iterators with an rvalue as reference type)
...
2014-04-11 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/59434
* include/bits/stl_iterator.h (move_iterator::reference,
move_iterator::operator*): Implement LWG 2106.
* testsuite/24_iterators/move_iterator/dr2106.cc: New file.
From-SVN: r209323
2014-04-11 19:23:49 +00:00
Marc Glisse
742f66e736
complex (__complex_exp, pow): Specify the template parameter in calls to std::polar, for expression templates.
...
2014-04-11 Marc Glisse <marc.glisse@inria.fr>
* include/std/complex (__complex_exp, pow): Specify the template
parameter in calls to std::polar, for expression templates.
From-SVN: r209321
2014-04-11 18:57:59 +00:00
Lars Gullik Bjønnes
71bdda5625
re PR libstdc++/60270 ([C++1y] std::quoted is too eager to clear the string)
...
2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/60270
* include/std/iomanip (_Quoted_string operator>>): Do not clear
string if input is not quoted.
* testsuite/27_io/manipulators/standard/char/60270.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r208966
2014-03-31 19:46:23 +01:00
Jonathan Wakely
5ec16257ca
re PR libstdc++/60658 (std::atomic<T*> is unexpectedly not lock-free)
...
PR libstdc++/60658
* include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
Use sizeof pointer type not the element type.
* testsuite/29_atomics/atomic/60658.cc: New.
From-SVN: r208819
2014-03-25 19:39:52 +00:00
François Dumont
f7279c1a01
hashtable.h (_Hashtable(allocator_type)): Fix call to delegated constructor.
...
2014-03-23 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
to delegated constructor.
(_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
(_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
Likewise.
(_Hashtable(
initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
From-SVN: r208775
2014-03-23 20:19:11 +00:00
Jonathan Wakely
72d1f255ae
re PR libstdc++/60587 (debug-mode -std=c++11 vector::insert(pos, begin, end) dereferences begin too eagerly)
...
PR libstdc++/60587
* include/debug/functions.h (_Is_contiguous_sequence): Define.
(__foreign_iterator): Accept additional iterator. Do not dispatch on
iterator category.
(__foreign_iterator_aux2): Likewise. Add overload for iterators
from different types of debug container. Use _Is_contiguous_sequence
instead of is_lvalue_reference.
(__foreign_iterator_aux3): Accept additional iterator. Avoid
dereferencing past-the-end iterator.
(__foreign_iterator_aux4): Use const value_type* instead of
potentially user-defined const_pointer type.
* include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
and pass end iterator to __gnu_debug::__foreign_iterator.
(__glibcxx_check_insert_range_after): Likewise.
(__glibcxx_check_max_load_factor): Fix comment.
* include/debug/vector (_Is_contiguous_sequence): Define partial
specializations.
* testsuite/23_containers/vector/debug/57779_neg.cc: Remove
-std=gnu++11 option and unused header.
* testsuite/23_containers/vector/debug/60587.cc: New.
* testsuite/23_containers/vector/debug/60587_neg.cc: New.
From-SVN: r208755
2014-03-21 18:54:06 +00:00
Jonathan Wakely
f7e68d0804
re PR libstdc++/60564 ([C++11] The std::packaged_task constructor taking a reference to a functor does not copy its argument.)
...
PR libstdc++/60564
* include/std/future (__future_base::_Task_state<>): Change
constructors to template functions using perfect forwarding.
(__create_task_state): Use decayed type as stored task.
(packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
* testsuite/30_threads/packaged_task/60564.cc: New.
From-SVN: r208656
2014-03-18 16:31:38 +00:00
Tim Shen
ee54a3b318
regex.h: Add/modify comments.
...
2014-03-15 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: Add/modify comments.
* include/bits/regex_compiler.h: Likewise.
* include/bits/regex_executor.h: Likewise.
* include/bits/regex_executor.tcc: Likewise.
* include/bits/regex_scanner.h: Likewise.
From-SVN: r208593
2014-03-15 18:16:22 +00:00
Jonathan Wakely
06dce00742
re PR libstdc++/60499 (non-reserved name in <debug/vector>)
...
PR libstdc++/60499
* include/debug/forward_list (forward_list::operator=(forward_list&&)):
Uglify name.
* include/debug/map (map::operator=(map&&)): Likewise.
* include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
* include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
* include/debug/set (set::operator=(set&&)): Likewise.
* include/debug/unordered_map
(unordered_map::operator=(unordered_map&&)): Likewise.
(unordered_multimap::operator=(unordered_multimap&&)): Likewise.
* include/debug/unordered_set
(unordered_set::operator=(unordered_set&&)): Likewise.
(unordered_multiset::operator=(unordered_multiset&&)): Likewise.
* include/debug/vector (vector::operator=(vector&&)): Likewise.
* testsuite/23_containers/forward_list/debug/60499.cc: New
* testsuite/23_containers/map/debug/60499.cc: New
* testsuite/23_containers/multimap/debug/60499.cc: New
* testsuite/23_containers/multiset/debug/60499.cc: New
* testsuite/23_containers/set/debug/60499.cc: New
* testsuite/23_containers/unordered_map/debug/60499.cc: New
* testsuite/23_containers/unordered_multimap/debug/60499.cc: New
* testsuite/23_containers/unordered_multiset/debug/60499.cc: New
* testsuite/23_containers/unordered_set/debug/60499.cc: New
* testsuite/23_containers/vector/debug/60499.cc: New
From-SVN: r208490
2014-03-11 17:16:41 +00:00
Tim Shen
91bb5cd9a6
regex.tcc (match_results<>::format, [...]): Update __out after calling std::copy.
...
2014-02-26 Tim Shen <timshen91@gmail.com>
* include/bits/regex.tcc (match_results<>::format,
regex_replace<>): Update __out after calling std::copy.
* testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
Add testcase.
* testsuite/28_regex/match_results/format.cc: Likewise.
From-SVN: r208179
2014-02-26 19:45:15 +00:00
Marc Glisse
6aba694120
re PR libstdc++/60308 (std::deque leaks memory)
...
2014-02-22 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/60308
* include/bits/stl_deque.h (_Deque_base::_Deque_base(const
allocator_type&)): Remove redundant call to _M_initialize_map.
(deque::deque(const allocator_type&)): Initialize _Base with a
constructor that calls _M_initialize_map.
Partial revert:
2013-09-20 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/58338
(_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
_M_initialize_map.
From-SVN: r208041
2014-02-22 10:24:11 +00:00
Ed Smith-Rowland
4bbfc5fa4d
Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
...
2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
* include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
* testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
* testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
* testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
* testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
* testsuite/30_threads/shared_lock/requirements/
explicit_instantiation.cc: Ditto.
* testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
* testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
* testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
* testsuite/30_threads/shared_mutex/requirements/
standard_layout.cc: Ditto.
* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
* testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
* testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
* testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
From-SVN: r207964
2014-02-20 16:06:40 +00:00
Jonathan Wakely
d530142ddb
re PR libstdc++/21609 (array_allocator vs rebind & templated constructor)
...
PR libstdc++/21609
* include/ext/array_allocator.h: Add deprecated attribute.
From-SVN: r207280
2014-01-29 20:43:44 +00:00
Jonathan Wakely
8a972abdd9
re PR libstdc++/59829 (Calling vector::data() occurs undefined behavior when the vector is empty)
...
PR libstdc++/59829
* include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
(vector::_M_data_ptr): New overloaded functions to ensure empty
vectors do not dereference the pointer.
* testsuite/23_containers/vector/59829.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: r207241
2014-01-29 14:57:42 +00:00
Jonathan Wakely
200674232e
alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument could be non-POD.
...
* include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
not use varargs when argument could be non-POD.
(__alloctr_rebind_helper): Eliminate static const bool member by
using true_type and false_type.
(allocator_traits::__allocate_helper): Likewise.
(allocator_traits::__construct_helper): Likewise.
(allocator_traits::__destroy_helper): Likewise.
(allocator_traits::__maxsize_helper): Likewise.
(allocator_traits::__select_helper): Likewise.
* include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
* include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
Remove redundant condition.
* include/bits/stl_vector.h (vector::operator=(const vector&)):
Likewise.
(_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
indirection through __alloc_traits.
* include/ext/alloc_traits.h (__allocator_always_compares_equal):
Eliminate static const bool members by using true_type and false_type.
(__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
* testsuite/util/testsuite_allocator.h (PointerBase): Define.
* testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
New.
* testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
From-SVN: r207240
2014-01-29 14:57:35 +00:00
Jonathan Wakely
156b60e0b9
re PR libstdc++/59656 (weak_ptr::lock function crashes when compiling with -fno-exceptions flag)
...
2014-01-28 Jonathan Wakely <jwakely@redhat.com>
Kyle Lippincott <spectral@google.com>
PR libstdc++/59656
* include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
constructor and grant friendship to weak_ptr.
(weak_ptr::lock()): Use new constructor.
* include/bits/shared_ptr_base.h
(_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
and define specializations.
(__shared_count): Add new non-throwing constructor.
(__shared_ptr): Add new non-throwing constructor and grant friendship
to __weak_ptr.
(__weak_ptr::lock()): Use new constructor.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
Co-Authored-By: Kyle Lippincott <spectral@google.com>
From-SVN: r207180
2014-01-28 10:23:27 +00:00
Jonathan Wakely
fb1ca954c0
re PR libstdc++/59215 (tsan: warning in shared_ptr_base.h)
...
PR libstdc++/59215
* include/bits/shared_ptr_base.h
(_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
load.
From-SVN: r207147
2014-01-27 17:56:40 +00:00
Jonathan Wakely
4d0bb77039
stl_map.h: Remove anachronistic comment.
...
* include/bits/stl_map.h: Remove anachronistic comment.
* include/bits/stl_multimap.h: Add whitespace.
* testsuite/23_containers/map/modifiers/emplace/1.cc: Use
-std=gnu++11 instead of -std=c++11.
* testsuite/23_containers/map/operators/2.cc: Likewise.
* testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
* testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
From-SVN: r207115
2014-01-26 11:22:58 +00:00
Ed Smith-Rowland
bb393514d5
re PR libstdc++/59531 (string_view overrun in copy operation)
...
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/59531
* testsuite/experimental/string_view/operations/copy/char/1.cc: New.
* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
Peter A. Bigot <pab@pabigot.com>
PR libstdc++/59531
* include/experimental/string_view
(copy(_CharT*, size_type, size_type) const): Correct throw string.
Correct copy start location.
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
Peter A. Bigot <pab@pabigot.com>
PR libstdc++/59530
* include/experimental/string_view (operator[](size_type) const):
Fix one-off index error in debug check.
* testsuite/experimental/string_view/element_access/char/1.cc: Don't
test basic_string_view at size().
* testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
Peter A. Bigot <pab@pabigot.com>
PR libstdc++/59529
* include/experimental/string_view
(basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
* testsuite/experimental/string_view/operations/substr/char/1.cc:
Comment out catch of out_of_range; No terminating null
in basic_string_view. Check begin == end.
* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
Ditto.
Co-Authored-By: Peter A. Bigot <pab@pabigot.com>
From-SVN: r207060
2014-01-24 20:15:00 +00:00
Jonathan Wakely
f74912779b
re PR libstdc++/59548 (Abort after copying std::unordered_map in debug mode)
...
PR libstdc++/59548
* include/debug/safe_base.h (_Safe_sequence_base): Define copy
constructor to prevent it being implicitly defined as deleted, but
do not copy anything.
* include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
Define copy and move constructors similar to _Safe_sequence_base's.
* testsuite/23_containers/unordered_map/59548.cc: New.
From-SVN: r207059
2014-01-24 20:08:20 +00:00
Bernhard Reutner-Fischer
7370b9df65
acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam function.
...
2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
Steve Ellcey <sellcey@mips.com>
* acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
function.
* configure.ac: Use GLIBCXX_CHECK_TMPNAM.
* (configure, config.h.in): Regenerate.
* include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
Co-Authored-By: Steve Ellcey <sellcey@mips.com>
From-SVN: r207009
2014-01-23 21:17:15 +00:00
Jonathan Wakely
6a5839c841
re PR libstdc++/59872 (Cannot move std::map with move-only mapped_type)
...
PR libstdc++/59872
* include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
* include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
Likewise.
* include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
Likewise.
* include/bits/stl_set.h (set::operator=(set&&)): Likewise.
* include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
functions to perform moving or copying of elements from rvalue tree.
(_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
(_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
* testsuite/23_containers/map/59872.cc: New.
* testsuite/23_containers/map/56613.cc: Remove duplicate include.
From-SVN: r206994
2014-01-23 17:17:04 +00:00
Jonathan Wakely
d9dcda6f48
PR libstdc++/58764 (again)
...
PR libstdc++/58764 (again)
* include/bits/stl_list.h (list): Make default constructor's exception
specification conditional.
* include/bits/stl_vector.h (vector): Likewise.
* testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
to default constructor.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r206946
2014-01-22 23:50:58 +00:00
Jonathan Wakely
c3cdd71f45
re PR libstdc++/58764 ([lwg/2193] error: converting to ‘const std::vector<std::basic_string<char> >’ from initializer list would use explicit constructor)
...
PR libstdc++/58764
* include/bits/stl_deque.h (deque::deque(const allocator_type&):
Split into separate default constructor and constructor taking
allocator.
* include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
* include/bits/stl_vector.h (vector::vector(const allocator_type&):
Likewise.
* include/debug/deque (deque::deque(const allocator_type&)): Likewise.
* include/debug/list (list::list(const _Allocator&)): Likewise.
* include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
Likewise.
* include/debug/multimap.h
(multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
* include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
Likewise.
* include/debug/multiset.h
(multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
* include/debug/vector (vector::vector(const allocator_type&)):
Likewise.
* include/profile/deque (deque::deque(const _Allocator&)): Likewise.
* include/profile/list (list::list(const _Allocator&)): Likewise.
* include/profile/map.h
(map::map(const _Compare&, const _Allocator&)): Likewise.
* include/profile/multimap.h
(multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
* include/profile/set.h
(set::set(const _Compare&, const _Allocator&)): Likewise.
* include/profile/multiset.h
(multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
* include/profile/vector (vector::vector(const _Allocator&)):
Likewise.
* testsuite/23_containers/deque/58764.cc: New.
* testsuite/23_containers/list/58764.cc: New.
* testsuite/23_containers/map/58764.cc: New.
* testsuite/23_containers/multimap/58764.cc: New.
* testsuite/23_containers/set/58764.cc: New.
* testsuite/23_containers/multiset/58764.cc: New.
* testsuite/23_containers/vector/58764.cc: New.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r206939
2014-01-22 19:46:44 +00:00
Jonathan Wakely
af0e0fa06b
* include/bits/stl_deque.h (_Deque_impl): Move comment.
...
From-SVN: r206924
2014-01-22 14:34:39 +00:00
Tim Shen
8f7082f5ea
regex.tcc: Remove incorrect `nosubs` handling.
...
2014-01-21 Tim Shen <timshen91@gmail.com>
* include/bits/regex.tcc: Remove incorrect `nosubs` handling.
* include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
* testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
From-SVN: r206906
2014-01-21 19:54:03 +00:00
Jonathan Wakely
6ff956e3c2
re PR libstdc++/56267 (unordered containers require Assignable hash function)
...
PR libstdc++/56267
* include/bits/hashtable.h (__cache_default): Do not depend on
whether the hash function is DefaultConstructible or CopyAssignable.
(_Hashtable): Adjust static assertions.
* doc/xml/manual/containers.xml (containers.unordered.cache): Update.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Remove.
From-SVN: r206904
2014-01-21 19:38:35 +00:00
François Dumont
9d0bb2ea71
create_testsuite_files: Add testsuite/experimental in the list of folders to search for tests.
...
2014-01-20 François Dumont <fdumont@gcc.gnu.org>
* scripts/create_testsuite_files: Add testsuite/experimental in
the list of folders to search for tests.
* include/experimental/string_view
(basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
incompatible with constexpr qualifier.
(basic_string_view<>::front()): Likewise.
(basic_string_view<>::back()): Likewise.
* testsuite/experimental/string_view/element_access/wchar_t/2.cc:
Merge dg-options directives into one.
* testsuite/experimental/string_view/element_access/char/2.cc:
Likewise. Remove invalid experimental namespace scope on
string_view_type.
From-SVN: r206859
2014-01-20 21:15:13 +00:00
Jonathan Wakely
92e1622850
re PR libstdc++/56267 (unordered containers require Assignable hash function)
...
PR libstdc++/56267
* include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
friendship to _Local_iterator_base<..., false>.
(_Local_iterator_base): Give protected access to all existing members.
(_Local_iterator_base::_M_curr()): New public accessor.
(_Local_iterator_base::_M_get_bucket()): New public accessor.
(_Local_iterator_base<..., false>::_M_init()): New function to manage
the lifetime of the _Hash_code_base explicitly.
(_Local_iterator_base<..., false>::_M_destroy()): Likewise.
(_Local_iterator_base<..., false>): Define copy constructor and copy
assignment operator that use new functions to manage _Hash_code_base.
(operator==(const _Local_iterator_base&, const _Local_iterator_base&),
operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
Use public API for _Local_iterator_base.
* include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
* include/debug/unordered_map (__debug::unordered_map::erase(),
__debug::unordered_multimap::erase()): Likewise.
* include/debug/unordered_set (__debug::unordered_set::erase(),
__debug::unordered_multiset::erase()): Likewise.
* testsuite/23_containers/unordered_set/56267-2.cc: New test.
From-SVN: r206834
2014-01-20 15:49:39 +00:00
Tim Shen
053eb1f31e
regex_compiler.h (_Comipler<>::_M_quantifier()): Fix parse error of multiple consecutive quantifiers like "a**".
...
2014-01-19 Tim Shen <timshen91@gmail.com>
* include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
Fix parse error of multiple consecutive quantifiers like "a**".
* include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
Likewise.
* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
From-SVN: r206783
2014-01-19 21:59:20 +00:00
François Dumont
1217ee06a7
set.h (set): Implement C++11 allocator-aware container requirements.
...
2014-01-17 François Dumont <fdumont@gcc.gnu.org>
* include/profile/set.h (set): Implement C++11 allocator-aware
container requirements.
* include/profile/map.h (map): Likewise.
* include/profile/multiset.h (multiset): Likewise.
* include/profile/multimap.h (multimap): Likewise.
* include/profile/set.h
(set::operator=(const set&)): Define as default in C++11 mode.
(set::operator=(set&&)): Likewise.
* include/profile/map.h
(map::operator=(const map&)): Likewise.
(map::operator=(map&&)): Likewise.
* include/profile/multiset.h
(multiset::operator=(const multiset&)): Likewise.
(multiset::operator=(multiset&&)): Likewise.
* include/profile/multimap.h
(multimap::operator=(const multimap&)): Likewise.
(multimap::operator=(multimap&&)): Likewise.
* include/profile/set.h (set::operator=(std::initializer_list<>)):
Rely on the same operator from normal mode.
* include/profile/map.h (map::operator=(std::initializer_list<>)):
Likewise.
* include/profile/multiset.h
(multiset::operator=(std::initializer_list<>)): Likewise.
* include/profile/multimap.h
(multimap::operator=(std::initializer_list<>)): Likewise.
* include/profile/set.h (set::swap(set&)): Add noexcept
specification.
* include/profile/map.h (map::swap(map&)): Likewise.
* include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
* include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
From-SVN: r206733
2014-01-17 21:10:15 +00:00
Tim Shen
ddf41e9db6
regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not use std::map.
...
2014-01-17 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
use std::map.
* include/bits/regex_automaton.h: Do not use std::set.
* include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
_BracketMatcher<>::_M_add_collating_element(),
_BracketMatcher<>::_M_add_equivalence_class(),
_BracketMatcher<>::_M_make_range()): Likewise.
* include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
Likewise.
* include/bits/regex_executor.h: Do not use std::queue.
* include/bits/regex_executor.tcc (_Executor<>::_M_main(),
_Executor<>::_M_dfs()): Likewise.
* include/std/regex: Remove <map>, <set> and <queue>.
2014-01-17 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
basic_regex<>::assign()): Change __compile_nfa to accept
const _CharT* only.
* include/bits/regex_compiler.h: Change _Compiler's template
argument from <_FwdIter, _TraitsT> to <_TraitsT>.
* include/bits/regex_compiler.tcc: Likewise.
2014-01-17 Tim Shen <timshen91@gmail.com>
* include/bits/regex_compiler.h: Change _ScannerT into char-type
templated.
* include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
_ScannerBase from _Scanner; Change _Scanner's template argument from
_FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
instead.
* include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
_Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
_Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
Likewise.
* include/std/regex: Add <cstring> for using strchr.
2014-01-17 Tim Shen <timshen91@gmail.com>
* bits/regex_automaton.tcc: Indentation fix.
* bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
_RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
_BracketMatcher<>): Add bool option template parameters and
specializations to make matching more efficient and space saving.
* bits/regex_compiler.tcc: Likewise.
From-SVN: r206690
2014-01-16 23:35:21 +00:00
François Dumont
1bb59e05ad
hashtable_policy.h: Fix some long lines.
...
2014-01-15 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h: Fix some long lines.
* include/bits/hashtable.h (__hash_code_base_access): Define and
use it to check its _M_bucket_index noexcept qualification. Use
also in place of...
(__access_protected_ctor): ...this.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adapt line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.
From-SVN: r206632
2014-01-15 16:53:02 +00:00
François Dumont
51835a800d
set.h (set): Implement C++11 allocator-aware container requirements.
...
2014-01-13 François Dumont <fdumont@gcc.gnu.org>
* include/debug/set.h (set): Implement C++11 allocator-aware
container requirements.
* include/debug/map.h (map): Likewise.
* include/debug/multiset.h (multiset): Likewise.
* include/debug/multimap.h (multimap): Likewise.
* include/debug/set.h (set::operator=(set&&)): Add noexcept and
fix implementation regarding management of safe iterators.
* include/debug/map.h (map::operator=(map&&)): Likewise.
* include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
* include/debug/multimap.h (multimap::operator=(multimap&&)):
Likewise.
* include/debug/set.h (set::operator=(std::initializer_list<>)):
Rely on the same operator from normal mode.
* include/debug/map.h (map::operator=(std::initializer_list<>)):
Likewise.
* include/debug/multiset.h
(multiset::operator=(std::initializer_list<>)): Likewise.
* include/debug/multimap.h
(multimap::operator=(std::initializer_list<>)): Likewise.
* include/debug/set.h (set::swap(set&)): Add noexcept
specification, add allocator equality check.
* include/debug/map.h (map::swap(map&)): Likewise.
* include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
* include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
From-SVN: r206588
2014-01-13 20:07:22 +00:00
Jonathan Wakely
f0bc4aead8
re PR libstdc++/59738 (r206444 caused FAIL: 23_containers/vector/52591.cc)
...
PR libstdc++/59738
* include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
support for non-Movable types.
From-SVN: r206480
2014-01-09 18:38:52 +00:00