Jonathan Wakely
f4081d133f
re PR libstdc++/61947 (Ambiguous calls when constructing std::tuple)
...
PR libstdc++/61947
* include/std/tuple (_Head_base): Use allocator_arg_t parameters to
disambiguate unary constructors.
(_Tuple_impl): Pass allocator_arg_t arguments.
* testsuite/20_util/tuple/61947.cc: New.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
From-SVN: r213221
2014-07-29 18:30:34 +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
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
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
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
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
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
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
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
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
6e2d247b1e
* include/std/functional (__is_location_invariant): Use __or_ helper.
...
From-SVN: r209445
2014-04-16 18:46:13 +01:00
Jonathan Wakely
227df36e33
* include/std/atomic: Uglify parameter names.
...
From-SVN: r209429
2014-04-15 19:28:57 +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
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
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
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
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
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
Tim Shen
f43cc2a68d
regex_compiler.h (_AnyMatcher<>::_AnyMatcher(), [...]): Fix _AnyMatcher behavior of POSIX style and move _M_flags to template parameter...
...
2014-01-07 Tim Shen <timshen91@gmail.com>
* include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
_AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
_CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
_BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
_BracketMatcher<>::_M_add_char(),
_BracketMatcher<>::_M_add_collating_element(),
_BracketMatcher<>::_M_add_equivalence_class(),
_BracketMatcher<>::_M_add_character_class(),
_BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
_BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
Fix _AnyMatcher behavior of POSIX style and move _M_flags
to template parameter; Add cache for _BracketMatcher. Adjust
declarations from here...
* include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
imbuing a regex will trigger a recompilation to rebuild the cache.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
_Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
different template bool parameters.
* include/bits/regex_executor.h: Remove unnecessary declarations.
* include/std/regex: Adjust including orders.
* testsuite/28_regex/traits/char/user_defined.cc: New.
* testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
From-SVN: r206400
2014-01-07 19:17:50 +00:00
Richard Sandiford
aa118a03c4
Update copyright years in libstdc++-v3/
...
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Paolo Carlini
a0d026d943
value.cc: Add test.
...
2013-12-10 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/is_base_of/value.cc: Add test.
* include/std/fstream: Tiny formatting tweak.
From-SVN: r205851
2013-12-10 09:48:50 +00:00
Paolo Carlini
03fd2f6092
re PR libstdc++/59427 (Opening with ios::in | ios::app does not allow appending)
...
2013-12-09 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/59427
* include/bits/fstream.tcc (basic_filebuf<>::overflow,
basic_filebuf<>::xsputn): Per lwg/596, ios_base::app implies
ios_base:out.
* include/std/fstream (basic_filebuf<>::_M_set_buffer): Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/59427.cc: New.
* testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
From-SVN: r205837
2013-12-09 23:02:18 +00:00
Jonathan Wakely
a566cb5e81
fstream (basic_filebuf::open): Use preformatted text for table in Doxygen comment.
...
* include/std/fstream (basic_filebuf::open): Use preformatted text
for table in Doxygen comment.
From-SVN: r205631
2013-12-03 12:58:15 +00:00
Jonathan Wakely
237c8b9d2f
re PR libstdc++/59247 (Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace')
...
PR libstdc++/59247
* include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace
std::experimental::__7 as inline.
* include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not
enclose namespace __detail.
* include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
* include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
* include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
From-SVN: r205277
2013-11-22 16:59:25 +00:00
Jonathan Wakely
f2f08be7ea
re PR libstdc++/49204 ([C++0x] remaining issues in <future>)
...
PR libstdc++/49204
* include/std/future (__future_base::_State_base): Rename to
__future_base::_State_baseV2.
(__future_base::_State_baseV2::~_State_baseV2): Define as defaulted.
(__future_base::_State_baseV2::_M_run_deferred): Rename to
_M_complete_async.
(__future_base::_State_baseV2::_M_has_deferred): Add new virtual.
(__future_base::_State_baseV2::wait_for): Call _M_has_deferred() to
test for a deferred function, or call _M_complete_async() to join an
async thread that has made the shared state ready.
(__future_base::_State_baseV2::wait_until): Likewise.
(__future_base::_Async_state_common): Rename to _Async_state_commonV2.
(__future_base::_Async_state_commonV2::_M_run_deferred): Rename to
_M_complete_async.
* src/c++11/compatibility-thread-c++0x.cc (__future_base::_State_base):
Export old definition.
(__future_base::_Async_state_common): Likewise.
* src/c++11/future.cc (__future_base::_State_base::~_State_base):
Remove.
* doc/xml/manual/status_cxx2011.xml: Update status.
* testsuite/30_threads/async/async.cc: Test future_status::timeout
and future_status::ready.
* testsuite/30_threads/async/sync.cc: Test future_status::deferred.
From-SVN: r205144
2013-11-20 20:59:19 +00:00
Jonathan Wakely
6162239973
re PR libstdc++/54562 (mutex and condition variable timers)
...
PR libstdc++/54562
* include/std/mutex (__timed_mutex_impl::__clock_t): Use
high_resolution_clock for absolute timeouts, because
pthread_mutex_timedlock uses CLOCK_REALTIME not CLOCK_MONOTONIC.
(__timed_mutex_impl::_M_try_lock_for): Use steady_clock for relative
timeouts as per [thread.req.timing].
(__timed_mutex_impl::_M_try_lock_until<Clock,Duration>): Convert to
__clock_t time point instead of using _M_try_lock_for.
From-SVN: r204672
2013-11-11 13:33:48 +00:00
Jonathan Wakely
4457e88ce1
N3655 C++1y TransformationTraits Redux
...
N3655 C++1y TransformationTraits Redux
* include/std/type_traits (remove_const_t, remove_volatile_t,
remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
make_unsigned_t, remove_extent_t, remove_all_extents_t,
remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
enable_if_t, conditional_t, common_type_t, underlying_type_t,
result_of_t): Define.
* doc/xml/manual/status_cxx2014.xml: Update.
* testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
New.
* testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
New.
* testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
* testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
* testsuite/20_util/decay/requirements/typedefs-2.cc: New.
* testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
* testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
* testsuite/20_util/result_of/requirements/typedefs.cc: New.
* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
* testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
compile-only test.
* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-1.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: r204426
2013-11-05 22:57:36 +00:00
Jonathan Wakely
1b1bdc03f8
tuple (_Index_tuple, [...]): Move to <utility>.
...
* include/std/tuple (_Index_tuple, _Build_index_tuple): Move to
<utility>.
* include/std/utility (integer_sequence, make_integer_sequence,
index_sequence, make_index_sequence, index_sequence_for): Define.
* doc/xml/manual/status_cxx2014.xml: Update.
* testsuite/20_util/integer_sequence/intseq.cc: New.
* testsuite/20_util/integer_sequence/requirements/typedefs.cc: New.
From-SVN: r204275
2013-10-31 19:23:54 +00:00
Paolo Carlini
66caf47a50
re PR libstdc++/58850 (Conversion error in chrono)
...
2013-10-23 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58850
* include/std/chrono (minutes, hours): Change typedefs to uniformly
use int64_t.
* testsuite/20_util/duration/arithmetic/58850.cc: New.
From-SVN: r203978
2013-10-23 15:31:26 +00:00
Edward Smith-Rowland
e9a6449215
basic_string.h (operator""s): Remove space between quotes and literal identifier.
...
2013-10-22 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/bits/basic_string.h (operator""s): Remove space between quotes
and literal identifier.
* include/std/chrono (operator""h, operator""min, operator""s,
operator""ms, operator""us, operator""ns): Ditto.
From-SVN: r203941
2013-10-23 00:12:36 +00:00
Ed Smith-Rowland
ae5543e662
Implement N3779 - User-defined Literals for std::complex, part 2 of UDL for Standard Library Types
...
2013-09-27 Ed Smith-Rowland <3dw4rd@verizon.net>
Implement N3779 - User-defined Literals for std::complex,
part 2 of UDL for Standard Library Types
* include/std/complex: Add complex literal operators.
* testsuite/26_numerics/complex/literals/types.cc: New.
* testsuite/26_numerics/complex/literals/values.cc: New.
From-SVN: r203940
2013-10-23 00:09:19 +00:00
John Woolverton
d358f34868
re PR libstdc++/58604 (Text truncation in comments of /usr/include/c++/4.7/vector)
...
2013-10-03 John Woolverton <jdwoolverton@gmail.com>
PR libstdc++/58604
* include/std/vector: Fix garbled line in HP Copyright.
From-SVN: r203187
2013-10-03 20:33:05 +00:00
Jonathan Wakely
44d209d7e2
re PR libstdc++/58569 (Compilation error when a class contains multiple std::function)
...
2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
Daniel Krugler <daniel.kruegler@gmail.com>
PR libstdc++/58569
* include/std/functional (function::_CheckResult): Move to namespace
scope and rename to __check_func_return_type.
* testsuite/20_util/function/58569.cc: New.
Co-Authored-By: Daniel Kruegler <daniel.kruegler@gmail.com>
From-SVN: r203132
2013-10-02 21:21:52 +01:00
Jonathan Wakely
d02dae41e3
re PR libstdc++/57465 (Failed postcondition for std::function constructed with null function pointer)
...
PR libstdc++/57465
* include/std/functional
(_Function_base::_Base_manager::_M_not_empty_function): Fix overload
for pointers.
* testsuite/20_util/function/cons/57465.cc: New.
From-SVN: r202974
2013-09-27 15:06:09 +01: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
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
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
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
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
Paolo Carlini
4333e4dcf7
re PR libstdc++/56627 (class hash instead of struct hash)
...
2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56627
* include/bits/stl_bvector.h: Use friend struct hash intead of
friend class hash to work around useless warnings produced by
some compilers.
* include/std/bitset: Likewise.
From-SVN: r201377
2013-07-31 14:36:13 +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
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
Paolo Carlini
821f6f1b31
random.h (random_device): Avoid using the FILE type.
...
2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.h (random_device): Avoid using the FILE type.
* include/std/random: Do not include <cstdio>.
* src/c++11/random.cc: ... include it here.
(random_device::_M_init, random_device::_M_fini,
random_device::_M_getval): Cast back and forth void* and FILE*.
From-SVN: r201215
2013-07-24 15:42:06 +00:00
Paolo Carlini
3c68decc48
random: Add back <cstdio> include.
...
2013-07-23 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/random: Add back <cstdio> include.
* src/c++11/random.cc: Don't include <cstdio> here.
From-SVN: r201160
2013-07-23 09:39:01 +00:00
Paolo Carlini
94e7477f0c
re PR libstdc++/57920 ([c++11] Linux: std::random_device reads too much from /dev/urandom)
...
2013-07-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57920
* src/c++11/random.cc (random_device::_M_getval): If possible, use
read instead of std::fread.
* include/std/random: Do not include <cstdio> unnecessarily.
From-SVN: r201133
2013-07-22 15:22:52 +00:00
Jonathan Wakely
3429db0fb0
re PR libstdc++/54352 (relaxed data race rules for ~condition_variable_any)
...
PR libstdc++/54352
* include/std/condition_variable (condition_variable_any): Move into
inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
* src/c++11/condition_variable.cc (condition_variable_any): Move
definitions to ...
* src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
* src/Makefile.am: Add new source file.
* src/Makefile.in: Regenerate.
From-SVN: r201112
2013-07-21 20:21:03 +01: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
2081281b10
shared_mutex (shared_lock::operator=): Add missing return statement.
...
* include/std/shared_mutex (shared_lock::operator=): Add missing
return statement.
From-SVN: r200141
2013-06-16 22:56:43 +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
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
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
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
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
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
Ed Smith-Rowland
fa40983341
include/std/chrono: Collapse redundant 'inline' from 'inline constexpr'.
...
2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net>
include/std/chrono: Collapse redundant 'inline' from 'inline constexpr'.
include/std/tuple: Ditto.
include/bits/move.h: Ditto.
From-SVN: r199587
2013-06-01 21: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
Benjamin Kosnik
1f08a74902
chrono: Wrap clocks in inline namespace _V2.
...
2013-05-24 Benjamin Kosnik <bkoz@redhat.com>
* include/std/chrono: Wrap clocks in inline namespace _V2.
* src/c++11/chrono.cc: Same.
* src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
file, with default configure macros selected.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
namespace.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
* 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.
From-SVN: r199331
2013-05-25 23:02:54 +00: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
f891e5d196
system_error (error_category::error_category()): LWG 2145: Declare public and constexpr.
...
* include/std/system_error (error_category::error_category()): LWG
2145: Declare public and constexpr.
* src/c++11/system_error.cc (error_category::error_category()): Move
definition to ...
* src/c++11/compatibility-c++0x.cc: Here.
From-SVN: r199071
2013-05-19 00:11:48 +01:00
Jonathan Wakely
f92126ba39
* include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
...
From-SVN: r199070
2013-05-19 00:11:42 +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
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
d872e4aa70
hashtable_policy.h (_Hashtable_ebo_helper): Fix comment.
...
* include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
comment.
* include/std/mutex (__recursive_mutex_base): Likewise.
From-SVN: r198368
2013-04-28 12:51:59 +01: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
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
9191d7a84a
complex (complex<float>::real, [...]): Declare as const member functions.
...
2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
N3669
* include/std/complex (complex<float>::real, complex<float>::imag,
complex<double>::real, complex<double>::imag,
complex<long double>::real, complex<long double>::imag): Declare
as const member functions.
* include/std/type_traits (integral_constant<>::operator value_type):
Likewise.
From-SVN: r198141
2013-04-22 14:37:34 +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
Paolo Carlini
7ad689673f
re PR libstdc++/56678 ([c++11] non-uglified name in <chrono>)
...
2013-03-22 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56678
* include/std/chrono (__is_ratio): Uglify T.
From-SVN: r196954
2013-03-22 10:44:42 +00: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
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
Benjamin Kosnik
cd1e666505
memoryfwd.h: New.
...
* include/bits/memoryfwd.h: New. Centralize forward declarations.
* include/bits/algorithmfwd.h: Consistent comments.
* include/bits/localefwd.h: Same.
* include/ext/vstring_fwd.h: Same.
* include/parallel/algorithmfwd.h: Same.
* include/parallel/numericfwd.h: Same.
* include/std/iosfwd: Same.
* include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
forward decl.
* include/ext/alloc_traits.h: Remove allocator forward decl.
* include/bits/stl_construct.h: Same.
* include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
forward decl. Consistent comments.
* doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
* include/Makefile.am (bits_headers): Add memoryfwd.h.
* include/Makefile.in: Regenerate.
* configure: Same.
e enter the commit message for your changes. Lines starting
From-SVN: r196559
2013-03-08 21:39:24 +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
f1c69797a0
streambuf (basic_streambuf): Use injected class name instead of non-standard __streambuf_type typedef.
...
* include/std/streambuf (basic_streambuf): Use injected class name
instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
group.
From-SVN: r196185
2013-02-20 22:41:58 +00:00
Jonathan Wakely
2f2b63daf1
faq.html: Fix spelling.
...
* doc/html/faq.html: Fix spelling.
* doc/xml/faq.xml: Likewise.
* include/bits/basic_ios.h: Likewise.
* include/bits/regex.h: Likewise.
* include/std/istream: Likewise.
* include/std/streambuf: Likewise.
From-SVN: r196184
2013-02-20 22:41:51 +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
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
Richard Sandiford
405feeb871
Update copyright in libstdc++-v3.
...
From-SVN: r195701
2013-02-03 17:54:05 +00:00
Paolo Carlini
91f4a9e332
re PR libstdc++/56085 (Unsafe negation in C++03 pow(complex,int))
...
2013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56085
* include/std/complex (pow(const complex<>&, int)): Avoid __n
signed overflow.
From-SVN: r195421
2013-01-24 12:20:57 +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
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
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
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
92b8bccecb
* include/std/future (__async_sfinae_helper): Remove.
...
From-SVN: r194567
2012-12-17 21:30:51 +00: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
5895a897b5
functional (__is_socketlike): Change from class template to alias template.
...
* include/std/functional (__is_socketlike): Change from class
template to alias template.
From-SVN: r193832
2012-11-26 23:53:36 +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
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
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
Jonathan Wakely
0ad9f93083
future (atomic_future): Remove declaration of non-standard name.
...
* include/std/future (atomic_future): Remove declaration of
non-standard name.
From-SVN: r193457
2012-11-12 23:00:41 +00: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
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
Paolo Carlini
c4ae987730
atomic_base.h: Don't include <cstddef>, use nullptr.
...
2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
* include/std/atomic: Likewise.
* include/tr2/dynamic_bitset: Likewise.
* libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
std::size_t)): Fix for -fno-exceptions.
From-SVN: r193232
2012-11-06 11:03:45 +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
Jonathan Wakely
ae40b500d2
* include/std/scoped_allocator: Avoid badname.
...
From-SVN: r192629
2012-10-20 03:08:37 +01: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
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
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
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
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
Jonathan Wakely
1504e3e1c4
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
...
libgcc:
PR other/53889
* gthr.h (__gthread_recursive_mutex_destroy): Document new required
function.
* gthr-posix.h (__gthread_recursive_mutex_destroy): Define.
* gthr-single.h (__gthread_recursive_mutex_destroy): Likewise.
* config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise.
* config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise.
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Likewise.
* config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy):
Likewise.
* config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise.
* config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise.
libstdc++-v3:
PR other/53889
* include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
Use __gthread_recursive_mutex_destroy.
(__recursive_mutex_base::_S_destroy): Remove.
(__recursive_mutex_base::_S_destroy_win32): Likewise.
* include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
Use __gthread_recursive_mutex_destroy.
(__recursive_mutex::_S_destroy): Remove.
(__recursive_mutex::_S_destroy_win32): Likewise.
From-SVN: r192002
2012-10-02 21:22:32 +01: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
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
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
Benjamin Kosnik
3e7e2f128b
PR libstdc++/54005 continued
...
2012-08-30 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/54005 continued
* include/std/atomic: Use __atomic_lock_free with
* include/bits/atomic_base.h: Same.
From-SVN: r190810
2012-08-30 19:24:58 +00:00
Jonathan Wakely
3dd808fe94
re PR libstdc++/54297 ([C++11] Segmentation fault with std::async and released shared state)
...
PR libstdc++/54297
* src/c++11/future.cc (~_Async_state_common): Move to...
* src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
Here.
(_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
* include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.
From-SVN: r190685
2012-08-26 14:49:44 +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
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
Jonathan Wakely
9ab48d6e6c
acinclude.m4: Update references to final C++11 standard.
...
* acinclude.m4: Update references to final C++11 standard.
* include/bits/shared_ptr.h: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* include/bits/unique_ptr.h: Likewise.
* include/std/chrono: Likewise.
* include/std/thread: Likewise.
From-SVN: r190271
2012-08-09 23:45:20 +01:00
Benjamin Kosnik
743ca87fe8
re PR libstdc++/54005 (Use __atomic_always_lock_free in libstdc++ is_lock_free instead of __atomic_is_lock_free)
...
2012-08-07 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/54005
* include/std/atomic: Use __atomic_always_lock_free.
* include/bits/atomic_base.h: Same.
From-SVN: r190216
2012-08-07 23:03:55 +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
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
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
b63d8901d1
* include/std/condition_variable: Update copyright years.
...
From-SVN: r189277
2012-07-05 02:14:35 +01: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
Jonathan Wakely
ea15487933
re PR libstdc++/53578 (include/ext/concurrence.h relies on ill-formed narrowing conversions)
...
PR libstdc++/53578
* include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
narrowing conversion.
* include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
From-SVN: r188646
2012-06-15 01:27:29 +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
DJ Delorie
586518549e
random.tcc (seed_seq::generate): Cast max() operands to size_t to ensure a template match.
...
* include/bits/random.tcc (seed_seq::generate): Cast max()
operands to size_t to ensure a template match.
* include/std/bitset (_M_copy_from_ptr): Cast min() operands to
size_t to ensure a template match.
From-SVN: r187376
2012-05-10 16:32:47 -04: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
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
Marc Glisse
1c8300874e
re PR libstdc++/22200 (numeric_limits<signed>::is_modulo is inconsistent with gcc)
...
2012-04-29 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/22200
* include/std/limits (numeric_limits<>::is_modulo): False for
signed types.
From-SVN: r186944
2012-04-29 09:25:17 +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
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
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
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
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
Jonathan Wakely
28d5436f07
functional (mem_fn): Qualify to prevent ADL.
...
* include/std/functional (mem_fn): Qualify to prevent ADL.
* testsuite/20_util/function_objects/mem_fn/adl.cc: New.
From-SVN: r185895
2012-03-27 21:25:12 +01:00
Jonathan Wakely
c4db9a775b
type_traits (result_of): Fix handling of cv-quals.
...
* include/std/type_traits (result_of): Fix handling of cv-quals.
* testsuite/20_util/result_of/1.cc: New.
* testsuite/20_util/result_of/2.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: r185845
2012-03-27 10:03:10 +01:00
Paolo Carlini
4b74f2b44d
array (array<>::at(size_type) const): Fix version for undefined __EXCEPTIONS.
...
2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/array (array<>::at(size_type) const): Fix version
for undefined __EXCEPTIONS.
From-SVN: r185689
2012-03-22 12:33:17 +00:00
Benjamin Kosnik
d8dd52a990
user.cfg.in: Update to Doxygen 1.8.0.
...
2012-03-08 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in: Update to Doxygen 1.8.0.
* include/bits/locale_facets.h: Adjust markup to avoid warnings.
* include/ext/pb_ds/assoc_container.hpp: Same.
* include/ext/pb_ds/priority_queue.hpp: Same.
* include/std/fstream: Same.
* include/std/ratio: Same.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
numbers.
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
Co-Authored-By: Ramana Radhakrishnan <ramana@gcc.gnu.org>
From-SVN: r185094
2012-03-08 05:20:52 +00:00
Paolo Carlini
b98fcf6ecd
limits (numeric_limits): Fix returns per C++11.
...
2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/limits (numeric_limits): Fix returns per C++11.
* testsuite/18_support/numeric_limits/primary.cc: New.
From-SVN: r184837
2012-03-02 22:24:45 +00:00
Jonathan Wakely
b59cbd5034
re PR libstdc++/51296 (Several 30_threads tests FAIL on Tru64 UNIX)
...
libgcc/
PR libstdc++/51296
PR libstdc++/51906
* gthr-posix.h: Allow static initializer macros to be disabled.
(__gthrw_pthread_cond_init): Define weak reference unconditionally.
libstdc++-v3/
PR libstdc++/51296
* include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
* src/c++11/condition_variable.cc (condition_variable): Use macro for
initializer function.
PR libstdc++/51906
* config/os/bsd/darwin/os_defines.h: Disable static initializer for
recursive mutexes.
From-SVN: r183955
2012-02-07 09:19:27 +00:00
Jonathan Wakely
be38506d7c
re PR libstdc++/52104 (go1 fails to run on Solaris 10/11 x86 with with gld)
...
PR libstdc++/52104
* include/std/future (__future_base::_Async_state_common): Define
destructor inline for targets without TLS.
* src/c++11/future.cc (__future_base::_Async_state_common): Only
define destructor for TLS targets.
From-SVN: r183920
2012-02-05 23:55:51 +00:00
Jeffrey Yasskin
cee8c7a274
re PR c++/52119 ([C++11] overflow in signed left shift isn't diagnosed)
...
2012-02-05 Jeffrey Yasskin <jyasskin@gcc.gnu.org>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52119
* include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
From-SVN: r183905
2012-02-05 12:58:51 +00:00
Jonathan Wakely
488b3e6573
re PR libstdc++/49204 ([C++0x] remaining issues in <future>)
...
PR libstdc++/49204
* include/std/future (__future_base::_State_base::wait()): Use lambda
expression for predicate and remove redundant test.
(__future_base::_State_base::wait_for()): Return future_status and
use lambda expression for predicate.
(__future_base::_State_base::wait_until()): Likewise.
(__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
(__future_base::_Async_state): Replace with _Async_state_common
class for non-dependent functionality and _Async_state_impl class
template for dependent functionality.
(__future_base::_Async_state_common::_M_join): Serialize attempts to
join thread.
(__future_base::_Async_state_common::_M_run_deferred): Join.
(__future_base::_Async_state::_M_do_run): Replace with lambda.
* src/c++11/future.cc (__future_base::_Async_state_common): Define
destructor, so key function is in the library.
* config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
* testsuite/30_threads/packaged_task/members/get_future.cc: Expect
future_status return instead of bool.
* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
* testsuite/30_threads/future/members/wait_until.cc: Likewise.
* testsuite/30_threads/future/members/wait_for.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.
From-SVN: r183788
2012-02-01 00:20:08 +00:00
Jonathan Wakely
7e98765e75
re PR libstdc++/49204 ([C++0x] remaining issues in <future>)
...
PR libstdc++/49204
* include/std/future (future_errc): Implement LWG 2056.
From-SVN: r182658
2011-12-23 16:10:48 +00:00
Jonathan Wakely
d8ab827382
re PR libstdc++/51365 (cannot use final empty class in std::tuple)
...
PR libstdc++/51365
* include/std/tuple (_Tuple_impl): Check __is_final as well as
is_empty.
* testsuite/20_util/tuple/51365.cc: New.
From-SVN: r182523
2011-12-20 09:09:50 +00:00
Benjamin Kosnik
7897a1c029
user.cfg.in: Add macros, directories.
...
2011-12-10 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in: Add macros, directories.
* include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
* include/bits/locale_classes.tcc: Same.
* include/bits/shared_ptr.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_numeric.h: Same.
* include/debug/safe_base.h: Same.
* include/parallel/equally_split.h: Same.
* include/std/bitset: Same.
* include/std/complex: Same.
* include/std/fstream: Same.
* include/std/istream: Same.
* include/std/ostream: Same.
* include/tr2/dynamic_bitset: Same.
* scripts/run_doxygen: Remove munging for names that no longer exist.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust line numbers.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
From-SVN: r182189
2011-12-10 15:33:06 +00:00
Jonathan Wakely
3d0c32fe56
atomic_base.h (__calculate_memory_order): Rename to...
...
* include/bits/atomic_base.h (__calculate_memory_order): Rename to...
(__cmpexch_failure_order): This, and rewrite as constexpr function.
(compare_exchange_strong, compare_exchange_weak): Use it.
* include/std/atomic (compare_exchange_strong, compare_exchange_weak):
Likewise.
From-SVN: r182105
2011-12-08 09:44:57 +00:00
Paolo Carlini
8535715d0f
re PR libstdc++/51438 (std::exception and derived classes are not compatible with std::nested_exception and C++11 in general)
...
2011-12-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51438
* libsupc++/nested_exception.h (nested_exception::~nested_exception):
Declare noexcept.
* libsupc++/nested_exception.cc: Adjust.
* testsuite/18_support/nested_exception/51438.cc: New.
* testsuite/18_support/nested_exception/throw_with_nested.cc: Adjust.
* testsuite/18_support/nested_exception/rethrow_if_nested.cc:
Likewise.
* src/shared_ptr.cc: Use noexcept where appropriate.
* include/std/system_error: Likewise.
* include/std/functional: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* src/stdexcept.cc: Use _GLIBCXX_USE_NOEXCEPT where appropriate.
* include/std/stdexcept: Likewise.
* libsupc++/bad_cast.cc: Likewise.
* libsupc++/bad_typeid.cc: Likewise.
* libsupc++/eh_exception.cc: Likewise.
* libsupc++/typeinfo: Likewise.
* libsupc++/exception: Likewise.
* libsupc++/eh_ptr.cc: Likewise.
* libsupc++/bad_alloc.cc: Likewise.
* libsupc++/exception_ptr.h: Likewise.
* include/std/chrono: Use noexcept where appropriate.
* src/chrono.cc: Likewise.
From-SVN: r182064
2011-12-06 20:03:25 +00:00
Jonathan Wakely
62b547b5f6
re PR libstdc++/51183 (pair piecewise_construct_t constructor copies)
...
2011-12-06 Jonathan Wakely <jwakely.gcc@gmail.com>
Chris Jefferson <chris@bubblescope.net>
PR libstdc++/51183
* include/std/stl_pair.h (pair<>::__cons, pair<>::__do_cons): Remove.
(pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Only declare.
(pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)):
Declare.
* include/std/tuple (pair<>::__cons, pair<>::__do_cons): Remove.
(pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)):
Define.
(pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Define,
delegating to the latter.
* testsuite/20_util/pair/piecewise2.cc: New.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r182054
2011-12-06 15:13:04 +00:00
Jonathan Wakely
13901e4b28
type_traits: Doxygen improvements.
...
* include/std/type_traits: Doxygen improvements.
* include/bits/move.h: Likewise.
* include/tr1/type_traits: Likewise.
* include/tr2/type_traits: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line numbers
* testsuite/20_util/forward/c_neg.cc: Likewise.
* testsuite/20_util/forward/f_neg.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r181993
2011-12-04 16:53:17 +00:00
Paolo Carlini
f5ca3c3408
iomanip (put_money): Fix thinko, use __err local, like in, eg, basic_ostream::_M_insert.
...
2011-12-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/iomanip (put_money): Fix thinko, use __err local,
like in, eg, basic_ostream::_M_insert.
From-SVN: r181931
2011-12-02 17:23:08 +00:00
Benjamin Kosnik
a152e96f01
acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove size-specific macros.
...
2011-11-30 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove
size-specific macros. _GLIBCXX_ATOMIC_BUILTINS_1,
_GLIBCXX_ATOMIC_BUILTINS_2, _GLIBCXX_ATOMIC_BUILTINS_4,
_GLIBCXX_ATOMIC_BUILTINS_8. Use _GLIBCXX_ATOMIC_BUILTINS to
indicate use of C++11 atomic builtins.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/Makefile.am (bits_sup_headers): Add atomic_lockfree_defines.h.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Compile C++11 support with -std=gnu++0x.
* libsupc++/Makefile.in: Regenerate.
* include/bits/atomic_base.h: Move lock-free property macros...
* libsupc++/atomic_lockfree_defines.h: ...here.
* include/std/future: Use C++11 macros.
* libsupc++/eh_ptr.cc: Same.
* libsupc++/eh_throw.cc: Same.
* libsupc++/exception: Same.
* libsupc++/exception_ptr.h: Same.
* libsupc++/guard.cc: Same.
* libsupc++/nested_exception.cc: Same.
* libsupc++/nested_exception.h: Same.
* src/future.cc: Same.
* include/ext/atomicity.h: Use _GLIBCXX_ATOMIC_BUILTINS.
* doc/doxygen/user.cfg.in
* doc/xml/manual/concurrency_extensions.xml
* testsuite/18_support/exception_ptr/lifespan.cc
* testsuite/lib/libstdc++.exp
From-SVN: r181869
2011-12-01 02:20:32 +00:00
Paolo Carlini
1a30353af8
re PR libstdc++/51288 ([C++0x] get_money implementation is missing the sentry object (does not skip leading whitespace))
...
2011-11-28 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51288
* include/std/iomanip (get_money, put_money): Use sentry.
* testsuite/27_io/manipulators/extended/get_money/char/51288.cc: New.
* testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
Likewise.
* testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
Likewise.
From-SVN: r181775
2011-11-28 13:24:23 +00:00
Jonathan Wakely
e02a544331
functional (is_placeholder, [...]): Add partial specializations for cv-qualified types.
...
* include/std/functional (is_placeholder, is_bind_expression): Add
partial specializations for cv-qualified types.
* include/tr1/functional (is_placeholder, is_bind_expression): Add
partial specializations for std::bind and std::placeholders and for
cv-qualified types.
* testsuite/20_util/bind/cv_quals_3.cc: New.
* testsuite/tr1/3_function_objects/bind/cv_quals.cc: New.
* testsuite/tr1/3_function_objects/bind/mixed.cc: New.
From-SVN: r181607
2011-11-22 00:40:47 +00:00
Daniel Krugler
5db25ab107
re PR libstdc++/51185 ([C++0x] false-positive results of std::is_constructible)
...
2011-11-21 Daniel Krugler <daniel.kruegler@googlemail.com>
PR libstdc++/51185
* include/std/type_traits (__is_base_to_derived_ref,
__is_lvalue_to_rvalue_ref): Fix.
* testsuite/20_util/is_constructible/51185.cc: New.
* testsuite/20_util/is_constructible/value-2.cc: Extend.
From-SVN: r181557
2011-11-21 11:21:13 +00:00
Paolo Carlini
a7cd7b6088
tuple (__conv_types, [...]): Remove.
...
2011-11-21 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (__conv_types, __one_by_one_convertible,
__all_convertible): Remove.
(tuple<>::tuple(_UElements&&...),
tuple<>::tuple(const tuple<_UElements...>&),
tuple<>::tuple(tuple<_UElements...>&&)): Remove wa for c++/48322.
From-SVN: r181555
2011-11-21 10:47:37 +00:00
Jason Merrill
c67dd25689
re PR c++/48322 ([C++0x] Plural variadic parameter packs are not expanded well)
...
PR c++/48322
gcc/cp/
* cp-tree.h (PACK_EXPANSION_EXTRA_ARGS): New.
* cp-tree.def (EXPR_PACK_EXPANSION): Add an operand for it.
* pt.c (tsubst_pack_expansion): Set and use it.
(iterative_hash_template_arg): Hash it.
(template_args_equal): Compare it.
(comp_template_args_with_info): Handle nulls.
* tree.c (cp_walk_subtrees): Walk it.
* typeck.c (structural_comptypes): Compare it.
* ptree.c (cxx_print_type): Print it.
libstdc++-v3/
* include/std/tuple (tuple(_UElements&&...)): Fix SFINAE.
From-SVN: r181547
2011-11-20 21:04:54 -05:00
Paolo Carlini
72f1c34bd4
hash-long-double-aux.cc: Rename to...
...
2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
* src/hash-long-double-aux.cc: Rename to...
* src/hash-long-double-tr1-aux.cc: ... this.
* src/compatibility-ldbl.cc: Adjust.
* src/hash_tr1.cc: Likewise.
* src/hash_c++0x.cc: Don't use src/hash-long-double-aux.cc.
* include/bits/functional_hash.h (hash<_Tp*>::operator(), specs
for integer types, hash<float>::operator(), hash<double>::operator(),
hash<long double>::operator()): Declare noexcept.
* include/debug/bitset (hash<__debug::bitset>::operator()): Likewise.
* include/debug/vector (hash<__debug::vector>::operator()): Likewise.
* include/std/system_error (hash<error_code>::operator()): Likewise.
* include/std/thread (hash<thread::id>::operator()): Likewise.
* include/std/bitset (hash<bitset>::operator()): Likewise.
* include/std/typeindex (hash<type_index>::operator()): Likewise.
* include/profile/bitset (hash<__profile::vector>::operator()):
Likewise.
* include/profile/vector (hash<__profile::vector>::operator()):
Likewise.
* include/ext/vstring.h (hash<__vstring>::operator(),
hash<__wvstring>::operator(), hash<__u16vstring>::operator(),
hash<__u32vstring>::operator()): Likewise.
* include/bits/shared_ptr.h (hash<shared_ptr>::operator()): Likewise.
* include/bits/shared_ptr_base.h (hash<__shared_ptr>::operator()):
Likewise.
* include/bits/unique_ptr.h (hash<unique_ptr>::operator()): Likewise.
* include/bits/basic_string.h (hash<string>::operator(),
hash<wstring>::operator(), hash<u16string>::operator(),
hash<u32string>::operator()): Likewise.
* include/bits/vector.tcc (hash<vector>::operator()): Likewise.
* include/bits/stl_bvector.h (hash<vector>::operator()): Likewise.
* libsupc++/typeinfo (type_info::hash_code): Use noexcept instead of
throw().
From-SVN: r181473
2011-11-18 12:37:06 +00:00
Jonathan Wakely
a58a38b32c
shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
...
* include/bits/shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
(_Sp_counted_deleter): Make 'final'. Use allocator_traits.
(_Sp_counted_ptr_inplace): Make 'final'. Use allocator_traits.
Derive from _Sp_counted_ptr instead of _Sp_counted_deleter to use EBO
for the allocator.
(__shared_count, __shared_ptr): Use allocator_traits.
* include/std/future (__future_base::_Result_alloc): Make 'final'. Use
allocator traits.
(__future_base::_Task_state): Make 'final'.
(__future_base::_Deferred_state): Likewise.
(__future_base::_Async_state): Likewise.
* testsuite/20_util/shared_ptr/cons/alloc_min.cc: New.
* testsuite/20_util/shared_ptr/creation/alloc_min.cc: New.
* testsuite/20_util/shared_ptr/creation/private.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
* testsuite/30_threads/packaged_task/cons/alloc_min.cc: New.
* testsuite/30_threads/promise/cons/alloc_min.cc: New.
From-SVN: r181171
2011-11-08 16:45:54 +00:00
Jonathan Wakely
c4d9f41936
future (__future_base::_Ptr): Use alias-declaration.
...
* include/std/future (__future_base::_Ptr): Use alias-declaration.
(__is_same_pkgdtask): Rename to __constrain_pkgdtask and use decay
instead of remove_reference so that cv-quals are removed.
From-SVN: r181145
2011-11-08 01:23:53 +00:00
Paolo Carlini
31de4ba7df
complex (complex<>::real(), [...]): Remove redundant const qualifiers.
...
2011-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/complex (complex<>::real(), complex<>::imag()):
Remove redundant const qualifiers.
From-SVN: r181141
2011-11-08 00:49:47 +00:00
Jonathan Wakely
7579d15b58
ptr_traits.h (__rebind): Replace with...
...
* include/bits/ptr_traits.h (__rebind): Replace with...
(rebind): Implement using alias-declaration.
* include/ext/pointer.h (__rebind): Replace with...
(rebind): Implement using alias-declaration.
* include/bits/alloc_traits.h (__rebind_alloc, __rebind_traits):
Replace with...
(rebind_alloc, rebind_traits): Implement using alias-declaration.
* include/ext/alloc_traits.h (rebind): Use rebind_alloc instead of
__rebind_alloc.
* include/std/scoped_allocator (rebind): Likewise.
From-SVN: r181139
2011-11-08 00:33:45 +00:00
Jonathan Wakely
48d8dd06b0
mutex (call_once): Store closure in __once_functor as bound function wrapper might not be copyable.
...
* include/std/mutex (call_once): Store closure in __once_functor
as bound function wrapper might not be copyable.
From-SVN: r181128
2011-11-07 22:26:15 +00:00
Jonathan Wakely
ff02a38bc6
re PR libstdc++/50982 (AIX libstdc++ GTHREADS incompatibility)
...
PR libstdc++/50982
* include/std/mutex (__once_proxy): Use void parameter list to
work on implicit extern "C" systems.
From-SVN: r181072
2011-11-07 07:54:06 +00:00
Andrew Macleod
86951993f8
Check in patch/merge from cxx-mem-model Branch
...
From-SVN: r181031
2011-11-06 14:55:48 +00:00
Jonathan Wakely
eed33268ff
re PR libstdc++/49894 ([C++0x] Uniform initialization in constructor)
...
PR libstdc++/49894
PR bootstrap/50982
* include/std/mutex (once_flag): Use NSDMI.
From-SVN: r181013
2011-11-05 13:33:29 +00:00
Richard B. Kreckel
af7c185869
re PR libstdc++/50880 (__complex_acosh() picks wrong complex branch)
...
2011-11-02 Richard B. Kreckel <kreckel@ginac.de>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/50880
* include/std/complex (__complex_acosh): Fix in a better way,
use Kahan's formula.
* include/tr1/complex (__complex_acosh): Likewise.
From-SVN: r180787
2011-11-02 18:43:26 +00:00
Jonathan Wakely
376d7c51ec
future (promise): Add constructors for uses-allocator construction from rvalue promise.
...
* include/std/future (promise): Add constructors for uses-allocator
construction from rvalue promise.
(packaged_task): Implement LWG 2067. Add additional constructors for
uses-allocator construction.
* testsuite/30_threads/packaged_task/cons/3.cc: New.
* testsuite/30_threads/packaged_task/cons/alloc2.cc: New.
* testsuite/30_threads/promise/cons/alloc2.cc: New.
From-SVN: r180757
2011-11-02 00:53:12 +00:00
Jason Merrill
a7d5d7e221
Makefile.am (install-freestanding-headers): Install c++0x_warning.h.
...
* include/Makefile.am (install-freestanding-headers): Install
c++0x_warning.h.
* libsupc++/initializer_list: Include it.
From-SVN: r180727
2011-11-01 00:02:45 -04:00
Richard B. Kreckel
4c16fa7714
complex (__complex_acosh): Just use '< _Tp()'.
...
2011-10-28 Richard B. Kreckel <kreckel@ginac.de>
* include/std/complex (__complex_acosh): Just use '< _Tp()'.
* include/tr1/complex (__complex_acosh): Likewise.
From-SVN: r180607
2011-10-28 09:34:52 +00:00
Richard B. Kreckel
259f206328
re PR libstdc++/50880 (__complex_acosh() picks wrong complex branch)
...
2011-10-27 Richard B. Kreckel <kreckel@ginac.de>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/50880
* include/std/complex (__complex_acosh): Fix for __z.real() < 0.
* include/tr1/complex (__complex_acosh): Likewise.
* testsuite/26_numerics/complex/50880.cc: New.
* testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r180563
2011-10-27 11:00:25 +00:00
Jonathan Wakely
28c2f60e96
re PR libstdc++/50862 (deadlock in std::condition_variable_any)
...
PR libstdc++/50862
* include/std/condition_variable (condition_variable_any::wait): Avoid
terminating if relocking user mutex throws during stack-unwinding.
* testsuite/30_threads/condition_variable_any/50862.cc: Add dg-require.
From-SVN: r180549
2011-10-27 00:35:26 +01:00
Jonathan Wakely
0fd72195bc
condition_variable (condition_variable_any): Remove unused native_handle_type typedef.
...
* include/std/condition_variable (condition_variable_any): Remove
unused native_handle_type typedef.
* src/condition_variable.cc (condition_variable): Add missing noexcept
specifications.
* 30_threads/condition_variable_any/requirements/typedefs.cc: Remove.
From-SVN: r180454
2011-10-25 22:44:12 +01:00
Jonathan Wakely
5d020aa222
re PR libstdc++/50862 (deadlock in std::condition_variable_any)
...
PR libstdc++/50862
* include/std/condition_variable (condition_variable_any::wait): Fix
deadlock and ensure _Lock::lock() is called on exit.
(condition_variable_any::native_handle): Remove, as per LWG 1500.
* testsuite/30_threads/condition_variable_any/50862.cc: New.
From-SVN: r180446
2011-10-25 21:56:43 +01:00
Jonathan Wakely
b81e920eac
re PR libstdc++/49894 ([C++0x] Uniform initialization in constructor)
...
PR libstdc++/49894
* include/std/mutex (__mutex_base,__recursive_mutex_base): Define new
base classes to manage construction/destruction of native mutexes,
using NSDMI when INIT macros are defined.
(mutex,recursive_mutex,timed_mutex,recursive_timed_mutex): Derive from
new base classes.
* include/std/condition_variable (condition_variable): Use NSDMI when
INIT macro is defined. Use noexcept.
* src/condition_variable.cc (condition_variable): Explicitly-default
constructor/destructor when using NSDMI. Use noexcept.
(condition_variable_any): Likewise.
From-SVN: r180411
2011-10-25 00:26:25 +01:00
Jonathan Wakely
3b2eeb43cf
re PR libstdc++/50196 ([C++0x] std::thread not available under macos)
...
PR libstdc++/50196
* acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS.
* configure: Regenerate.
* include/std/mutex (timed_mutex, recursive_timed_mutex): Define
conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK.
* testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define.
* testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Use dg-require-gthreads-timed instead of dg-require-gthreads.
* testsuite/30_threads/recursive_timed_mutex/native_handle/
typesizes.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.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/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.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/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.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/timed_mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.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/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
Likewise.
* testsuite/30_threads/timed_mutex/requirements/typedefs.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/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.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/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
From-SVN: r180329
2011-10-22 22:31:24 +01:00
Paolo Carlini
fd1e62c239
limits.cc: Replace everywhere __int128_t -> __int128, and __uint128_t -> unsigned __int128.
...
2011-09-21 Paolo Carlini <paolo.carlini@oracle.com>
* src/limits.cc: Replace everywhere __int128_t -> __int128, and
__uint128_t -> unsigned __int128.
* include/std/type_traits: Likewise.
* include/std/limits: Likewise.
* testsuite/18_support/numeric_limits/dr559.cc: Likewise.
* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
* testsuite/18_support/numeric_limits/40856.cc: Likewise.
* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
* testsuite/util/testsuite_common_types.h: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/is_floating_point/value.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/is_signed/value.cc: Likewise.
* testsuite/20_util/is_unsigned/value.cc: Likewise.
* testsuite/20_util/is_integral/value.cc: Likewise.
* config/abi/pre/gnu.ver: Likewise.
* acinclude.m4: Likewise.
* configure: Regenerate.
* config.h.in: Likewise.
From-SVN: r179044
2011-09-21 11:23:11 +00:00
Paolo Carlini
12bfa8bd29
re PR libstdc++/40856 (numeric_limits not specialized for __int128_t or __uint128_t)
...
2011-09-19 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40856
* include/std/limits (numeric_limits<__int128_t>,
numeric_limits<__uint128_t>): Add.
* src/limits.cc:Define.
* config/abi/pre/gnu.ver: Export.
* include/ext/typelist.h (_GLIBCXX_TYPELIST_CHAIN16, 20): Add.
* testsuite/util/testsuite_common_types.h (integral_types_gnu): Add
(limits_tl): Use it.
* testsuite/18_support/numeric_limits/requirements/
constexpr_functions.cc: Likewise.
* testsuite/18_support/numeric_limits/40856.cc: New.
* testsuite/18_support/numeric_limits/dr559.cc: Extend.
* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
line numbers.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
Likewise.
* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
Likewise.
From-SVN: r178969
2011-09-19 11:52:49 +00:00
Paolo Carlini
6d585f0114
re PR libstdc++/50441 ([C++0x] <type_traits> is missing GNU extension types)
...
2011-09-17 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/50441
* acinclude.m4 ([GLIBCXX_ENABLE_INT128_FLOAT128]): Add.
* configure.ac: Call it.
* include/std/type_traits (__is_integral_helper<__int128_t>,
__is_integral_helper<__uint128_t>,
__is_floating_point_helper<__float128>,
__make_unsigned<__int128_t>, __make_signed<__uint128_t>): Add.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Extend.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/is_signed/value.cc: Likewise.
* testsuite/20_util/is_unsigned/value.cc: Likewise.
* testsuite/20_util/is_integral/value.cc: Likewise.
* testsuite/20_util/is_floating_point/value.cc: New.
* testsuite/20_util/is_floating_point/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_floating_point/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.
* configure: Regenerate.
* config.h.in: Likewise.
From-SVN: r178933
2011-09-17 23:53:26 +00:00
Paolo Carlini
fae3f4598a
tuple (make_tuple, [...]): Declare constexpr.
...
2011-09-15 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (make_tuple, forward_as_tuple): Declare constexpr.
(_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&)): Likewise.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Enable
make_tuple test.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
line number.
From-SVN: r178904
2011-09-16 00:41:33 +00:00
Daniel Krugler
9480716c80
tuple (_Head_base<>::_M_head, [...]): Change to static constexpr functions; adjust everywhere.
...
2011-09-12 Daniel Krugler <daniel.kruegler@googlemail.com>
Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (_Head_base<>::_M_head, _Head_base<>::_M_tail,
_Tuple_impl<>::_M_head, _Tuple_impl<>::_M_tail): Change to static
constexpr functions; adjust everywhere.
(__get_helper, get): Declare constexpr all three overloads.
(tuple_cat): Declare constexpr; use late return type to improve
error messages.
* include/std/utility (__pair_get<>::__get, __pair_get<>::__move_get,
__pair_get<>::__const_get, get): Declare all constexpr.
* include/std/array (get): Likewise.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Re-enable
tuple_cat test.
* testsuite/23_containers/array/constexpr_get.cc: New.
* testsuite/20_util/tuple/element_access/constexpr_get.cc: Likewise.
* testsuite/20_util/pair/constexpr_get.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line number.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r178799
2011-09-13 00:06:25 +00:00
Daniel Krugler
ac65b7d221
re PR libstdc++/50159 ([C++0x] tuple_cat only accepts two arguments)
...
2011-09-11 Daniel Krugler <daniel.kruegler@googlemail.com>
PR libstdc++/50159
* include/std/tuple (tuple_cat): Reimplement according to the
resolution of LWG 1385.
* include/std/type_traits: Define __and_ and __or_ for zero
arguments too; minor tweaks.
* testsuite/20_util/tuple/creation_functions/tuple_cat.cc: New.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Disable
for now tuple_cat test.
* 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.
* doc/xml/manual/status_cxx200x.xml: Update.
From-SVN: r178770
2011-09-11 22:10:21 +00:00
Paolo Carlini
049d289351
tuple: Use everywhere std::size_t...
...
2011-09-09 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple: Use everywhere std::size_t... instead of int...
* include/std/functional: Likewise.
* include/std/scoped_allocator: Likewise.
* include/bits/stl_pair.h: Likewise.
From-SVN: r178746
2011-09-10 00:47:02 +00:00
Benjamin Kosnik
a7d0c94ef1
tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
...
2011-09-06 Benjamin Kosnik <bkoz@redhat.com>
* include/std/tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
(tuple(tuple&&)): Same.
(tuple(const tuple<_UElements...>& __in)): Same.
(tuple(tuple<_UElements...>&& __in)): Same.
(tuple_cat(const tuple<_TElements...>&, const tuple<_UElements...>&)):
Same.
(get): Same.
* include/std/array: Consolidate array::data usage.
* testsuite/23_containers/array/requirements/constexpr_functions.cc:
Remove extra include.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: New.
* testsuite/20_util/tuple/cons/constexpr-2.cc: Add tests.
* testsuite/20_util/tuple/cons/constexpr-3.cc: Same.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.
From-SVN: r178620
2011-09-07 00:17:09 +00:00
Paolo Carlini
6aa67e7b99
bitset: Trivial formatting fixes.
...
2011-09-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/bitset: Trivial formatting fixes.
From-SVN: r178478
2011-09-02 13:49:10 +00:00
Paolo Carlini
0217ac04cb
bitset (_Base_bitset<>::_M_are_all_aux): Remove.
...
2011-09-02 Paolo Carlini <paolo.carlini@oracle.com>
Marc Glisse <marc.glisse@normalesup.org>
* include/std/bitset (_Base_bitset<>::_M_are_all_aux): Remove.
(_Base_bitset<>::_M_are_all): Add.
(bitset<>::all): Use the latter, improve implementation.
Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>
From-SVN: r178473
2011-09-02 13:30:32 +00:00
Paolo Carlini
5da7fa30da
re PR libstdc++/50268 ([C++0x] bitset doesn't sanitize input)
...
2011-09-02 Paolo Carlini <paolo.carlini@oracle.com>
Marc Glisse <marc.glisse@normalesup.org>
PR libstdc++/50268
* include/std/bitset (struct _Sanitize_val): Add.
(bitset<>::bitset(unsigned long long)): Fix.
* testsuite/23_containers/bitset/cons/50268.cc: New.
Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>
From-SVN: r178463
2011-09-02 10:28:36 +00:00
Paolo Carlini
dbb45bf915
chrono (operator*(const _Rep1&, const duration<>&)): Fix order of template parameters per LWG 2004.
...
2011-08-31 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/chrono (operator*(const _Rep1&, const duration<>&)):
Fix order of template parameters per LWG 2004.
From-SVN: r178374
2011-08-31 10:29:31 +00:00
Paolo Carlini
a4eeb82207
future: constexpr functions are implicitly inline.
...
2011-08-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/future: constexpr functions are implicitly inline.
* include/std/chrono: Likewise.
* include/std/complex: Likewise.
* include/bits/move.h: Likewise.
* include/bits/stl_pair.h: Likewise.
From-SVN: r177679
2011-08-11 17:53:05 +00:00
Benjamin Kosnik
93c66bc68a
user.cfg.in (PDF_HYPERLINKS): To NO.
...
2011-08-06 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in (PDF_HYPERLINKS): To NO.
2011-08-06 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in: Add scoped_allocator.
* include/debug/safe_sequence.h: Fix doxygen markup.
* include/debug/safe_unordered_base.h: Same.
* include/debug/safe_local_iterator.tcc: Same.
* include/debug/safe_unordered_container.h: Same.
* include/std/valarray: Same.
* include/std/iomanip: Same.
* include/std/streambuf: Same.
* include/std/bitset: Same.
* include/std/fstream: Same.
* include/std/functional: Same.
* include/std/istream: Same.
* include/std/ostream: Same.
* include/std/scoped_allocator: Same.
* include/std/sstream: Same.
* include/parallel/multiway_merge.h: Same.
* include/parallel/base.h: Same.
* include/parallel/for_each_selectors.h: Same.
* include/parallel/multiway_mergesort.h: Same.
* include/parallel/search.h: Same.
* include/parallel/partial_sum.h: Same.
* include/parallel/queue.h: Same.
* include/parallel/sort.h: Same.
* include/parallel/random_number.h: Same.
* include/ext/vstring.h: Same.
* include/ext/algorithm: Same.
* include/ext/pb_ds/assoc_container.h: Same.
* include/ext/bitmap_allocator.h: Same.
* include/ext/stdio_filebuf.h: Same.
* include/ext/memory: Same.
* include/ext/functional: Same.
* include/bits/basic_ios.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/gslice.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_heap.h: Same.
* include/bits/forward_list.h: Same.
* include/bits/stream_iterator.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_pair.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/stl_numeric.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/codecvt.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/ptr_traits.h: Same.
* include/bits/slice_array.h: Same.
* include/bits/stl_iterator_base_funcs.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/regex.h: Same.
* include/bits/range_access.h: Same.
* include/bits/random.h: Same.
* include/bits/alloc_traits.h: Same.
* include/bits/regex_error.h: Same.
* include/bits/locale_facets_nonio.h: Same.
* include/bits/stl_relops.h: Same.
* include/backward/auto_ptr.h: Same.
* libsupc++/initializer_list: Same.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust line numbers.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Same.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Same.
From-SVN: r177542
2011-08-07 07:27:06 +00:00
Paolo Carlini
bdc05efbc8
atomic.cc: Use noexcept.
...
2011-08-04 Paolo Carlini <paolo.carlini@oracle.com>
* src/atomic.cc: Use noexcept.
* include/std/atomic: Likewise.
* include/bits/atomic_0.h: Likewise.
* include/bits/atomic_2.h: Likewise.
* include/bits/atomic_base.h: Likewise.
From-SVN: r177413
2011-08-04 19:57:48 +00:00
Benjamin Kosnik
2c4caf0ab9
tuple: Mark more constructors constexpr.
...
2011-08-03 Benjamin Kosnik <bkoz@redhat.com>
* include/std/tuple: Mark more constructors constexpr.
* testsuite/20_util/tuple/cons/constexpr.cc: Split into and extend as:
* testsuite/20_util/tuple/cons/constexpr-2.cc: ...this.
* testsuite/20_util/tuple/cons/constexpr-3.cc: ... and this.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.
2011-08-03 Benjamin Kosnik <bkoz@redhat.com>
François Dumont <francois.cppdevs@free.fr>
* testsuite/23_containers/array/at_neg.cc: Move...
* testsuite/23_containers/array/at.cc: ...here. Remove
-fno-exceptions, call const at member function.
Co-Authored-By: François Dumont <francois.cppdevs@free.fr>
From-SVN: r177299
2011-08-03 21:05:14 +00:00
Benjamin Kosnik
9bc13c238d
array (at): Remove constexpr when -fno-exceptions.
...
2011-07-25 Benjamin Kosnik <bkoz@redhat.com>
* include/std/array (at): Remove constexpr when -fno-exceptions.
* testsuite/23_containers/array/at_neg.cc: Test.
From-SVN: r176780
2011-07-26 04:21:57 +00:00
Paolo Carlini
2224b91ac5
mutex (timed_mutex, [...]): Update to use steady_clock instead of monotonic_clock.
...
2011-07-21 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/mutex (timed_mutex, recursive_timed_mutex): Update
to use steady_clock instead of monotonic_clock.
* config/abi/pre/gnu.ver: Export steady_clock::now.
From-SVN: r176560
2011-07-21 11:09:56 +00:00
Benjamin Kosnik
bfef3a711a
array (array::at, [...]): Mark constexpr.
...
2011-07-20 Benjamin Kosnik <bkoz@redhat.com>
Daniel Krugler <daniel.kruegler@googlemail.com>
* include/std/array (array::at, array::operator[]): Mark constexpr.
* testsuite/23_containers/array/requirements/
constexpr_element_access.cc: Add.
Co-Authored-By: Daniel Krugler <daniel.kruegler@googlemail.com>
From-SVN: r176550
2011-07-21 05:48:03 +00:00
Benjamin Kosnik
1b97ec17bc
chrono: (system_clock::is_steady): Update to N3291 from is_monotonic.
...
2011-07-20 Benjamin Kosnik <bkoz@redhat.com>
Daniel Krugler <daniel.kruegler@googlemail.com>
* include/std/chrono: (system_clock::is_steady): Update to N3291
from is_monotonic.
(time_point): Add constexpr to nonmember arithmetic operators.
* src/chrono.cc: Modify for above.
* src/compatibility-c++0x.cc: Same.
* testsuite/20_util/time_point/nonmember/constexpr.cc: New.
* testsuite/20_util/time_point/1.cc: Modify.
* testsuite/20_util/system_clock/constexpr_data.cc: Modify.
* testsuite/20_util/system_clock/1.cc: Modify.
* testsuite/20_util/monotonic_clock/constexpr_data.cc: Move to...
* testsuite/20_util/steady_clock/constexpr_data.cc: ...here.
* testsuite/30_threads/condition_variable/members/2.cc: Modify.
* testsuite/30_threads/condition_variable_any/members/2.cc: Modify.
From-SVN: r176549
2011-07-21 03:27:51 +00:00
Paolo Carlini
cd88bb8c77
system_error: Use noexcept.
...
2011-07-20 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/system_error: Use noexcept.
* src/system_error.cc: Likewise.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Adjust.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/util/testsuite_error.h: Likewise.
* include/std/system_error (error_code::error_code(_ErrorCodeEnum)):
Use enable_if on template parameter default.
(error_condition::error_condition(_ErrorConditionEnum)): Likewise.
From-SVN: r176529
2011-07-20 18:17:30 +00:00
Benjamin Kosnik
07be61200c
bitset (operator[]): Make constexpr.
...
2011-07-20 Benjamin Kosnik <bkoz@redhat.com>
* include/std/bitset (operator[]): Make constexpr.
* testsuite/23_containers/bitset/operations/constexpr.cc: New.
From-SVN: r176519
2011-07-20 15:44:18 +00:00
Jonathan Wakely
677aad9c92
Makefile.am: Add new header.
...
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/std/scoped_allocator: New.
* doc/xml/manual/status_cxx200x.xml: Update.
* testsuite/20_util/scoped_allocator/1.cc: New.
* testsuite/20_util/scoped_allocator/propagation.cc: New.
* testsuite/20_util/scoped_allocator/requirements/typedefs.cc: New.
* testsuite/20_util/scoped_allocator/requirements/
explicit_instantiation.cc: New.
From-SVN: r176079
2011-07-09 14:45:56 +01:00
Jonathan Wakely
4880236e3f
re PR libstdc++/49668 ([C++0x] std::thread does not forward its args as rvalues)
...
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/49668
* include/std/functional (__bind_simple): Define.
* include/std/future (_Task_setter): Parameterize by type of result
pointer instead of state object.
(_S_task_setter): Type deduction helper.
(_Task_state): Use _S_task_setter and __bind_simple.
(_Deferred_state, _Async_state): Store call wrapper directly not as
std::function. Use _S_task_setter and __bind_simple.
(_S_make_deferred_state, _S_make_async_state): Type deduction helpers.
(async): Use new functions and __bind_simple.
* include/std/mutex (call_once): Use __bind_simple.
* include/std/thread (thread): Likewise. Remove unused headers.
* src/thread.cc: Add header.
* testsuite/30_threads/async/49668.cc: New.
* testsuite/30_threads/call_once/49668.cc: New.
* testsuite/30_threads/thread/cons/49668.cc: New.
* testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool.
From-SVN: r176073
2011-07-09 11:13:01 +01:00
Jonathan Wakely
e8eb60bd92
Makefile.am: Add alloc_traits.h headers.
...
2011-06-22 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/Makefile.am: Add alloc_traits.h headers.
* include/Makefile.in: Regenerate.
* include/std/memory: Include uses_allocator.h explicitly.
* include/bits/allocator.h (allocator_traits): Move to ...
* include/bits/alloc_traits.h: New header.
* include/ext/alloc_traits.h (__alloc_traits): Extension to provide
a common allocator interface for C++98 and C++0x.
* include/bits/stl_construct.h: Use __alloc_traits.
* include/bits/stl_uninitialized.h: Likewise.
From-SVN: r175305
2011-06-22 20:57:12 +01:00
Daniel Krugler
6f17ef336c
tuple (__conv_types, [...]): Add.
...
2011-06-20 Daniel Krugler <daniel.kruegler@googlemail.com>
Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (__conv_types, __one_by_one_convertible,
__all_convertible): Add.
(tuple): Use the latter.
(tuple<_T1>): Remove.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r175204
2011-06-20 11:05:45 +00:00
Paolo Carlini
6a97dbf748
valarray (~valarray): Use noexcept.
...
2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/valarray (~valarray): Use noexcept.
* include/bits/unique_ptr.h (~unique_ptr): Likewise.
* testsuite/26_numerics/valarray/noexcept_move_construct.cc: New.
* testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
Likewise.
* testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc:
Likewise.
* testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
Likewise.
From-SVN: r175039
2011-06-14 17:48:29 +00:00
Paolo Carlini
6b14c6d7ff
functional: Use noexcept.
...
2011-06-14 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/functional: Use noexcept.
* include/bits/stl_tempbuf.h: Likewise.
From-SVN: r175026
2011-06-14 15:09:14 +00:00
Paolo Carlini
9b3a81dacd
type_traits (__is_copy_assignable_impl, [...]): Fix typos.
...
2011-06-09 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (__is_copy_assignable_impl,
__is_nt_copy_assignable_impl): Fix typos.
From-SVN: r174840
2011-06-09 08:03:14 +00:00
Paolo Carlini
545dc5e324
extptr_allocator.h: Include <ext/numeric_traits.h> instead of <limits>.
...
2011-06-08 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/extptr_allocator.h: Include <ext/numeric_traits.h>
instead of <limits>.
* include/bits/allocator.h: Likewise.
* include/std/chrono (duration_values<>::min): Call lowest, not min.
From-SVN: r174805
2011-06-08 12:12:00 +00:00
Paolo Carlini
dd7b175ec3
type_traits (__or_, __and_): Add trivial definitions for a single element.
...
2011-05-30 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (__or_, __and_): Add trivial definitions
for a single element.
* include/bits/stl_pair.h: Use __and_ in noexcept specs and
constraints.
(pair<>::pair(pair&&)): Define.
(pair<>::pair(const pair<>&)): Constrain with is_convertible.
(pair<>::pair(pair<>&&)): Likewise, remove noexcept.
* include/std/tuple: Use __and_ in noexcept specs and constraints.
(_Tuple_impl<>::_Tuple_impl(allocator_arg_t, const _Alloc&,
_Tuple_impl&&)): Remove noexcept.
(tuple<>::tuple(_UElements&&...), tuple(const tuple<_UElements...>&),
tuple(tuple<_UElements...>&&), tuple(const pair<_U1, _U2>&),
tuple(pair<_U1, _U2>&&)): Constrain with is_convertible.
* testsuite/20_util/tuple/moveable2.cc: Use = delete.
* 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.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
From-SVN: r174464
2011-05-31 02:29:22 +00:00
Jonathan Wakely
59d6607d6f
tuple: Restore is_convertible constraint.
...
2011-05-31 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/tuple: Restore is_convertible constraint.
* testsuite/20_util/tuple/cons/allocate_noncopyable.cc: Remove.
From-SVN: r174458
2011-05-31 00:46:13 +01:00
Jonathan Wakely
b821466067
tuple: Implement uses-allocator construction.
...
2011-05-30 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/tuple: Implement uses-allocator construction.
* include/bits/allocator.h (uses_allocator): Move to ...
* include/bits/uses_allocator.h: New file.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* testsuite/20_util/uses_allocator/cons_neg.cc: New.
* testsuite/20_util/uses_allocator/construction.cc: New.
* testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
* testsuite/20_util/tuple/cons/allocators.cc: New.
From-SVN: r174443
2011-05-30 17:31:17 +01:00
Jonathan Wakely
43653c334d
acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
...
2011-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
* acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and
GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
* configure.ac: Use them. Increase minor version.
* configure: Regenerate.
* config.h.in: Regenerate.
* include/std/thread (thread::hardware_concurrency): Remove inline
definition.
* src/thread.cc (thread::hardware_concurrency): Define.
* config/abi/pre/gnu.ver: Export new symbol @3.4.17
* testsuite/util/testsuite_abi.cc: Add new version.
* testsuite/lib/libstdc++.exp (check_v3_target_nprocs): Add.
* testsuite/lib/dg-options.exp (dg-require-nprocs): Add.
* testsuite/30_threads/thread/members/hardware_concurrency.cc: Use
dg-require-nprocs and verify hardware_concurrency returns non-zero.
From-SVN: r174383
2011-05-28 18:27:01 +01:00
Jonathan Wakely
faa0051112
future (launch): Update enumerators and define operators required for bitmask type.
...
2011-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/future (launch): Update enumerators and define
operators required for bitmask type. Remove trailing whitespace.
* src/future.cc: Remove trailing whitespace.
* testsuite/30_threads/async/any.cc: Adjust.
* testsuite/30_threads/async/sync.cc: Adjust.
* testsuite/30_threads/async/launch.cc: New.
From-SVN: r174374
2011-05-28 01:24:11 +01:00
Jonathan Wakely
84b63c01f8
future: Use noexcept.
...
2011-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/future: Use noexcept.
* src/future.cc: Likewise.
From-SVN: r174368
2011-05-28 00:25:54 +01:00
Jonathan Wakely
d112944143
thread (this_thread::sleep_until): Move after sleep_for.
...
2011-05-27 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/thread (this_thread::sleep_until): Move after sleep_for.
From-SVN: r174365
2011-05-27 22:37:53 +01:00
Jonathan Wakely
e06745c110
mutex: Add doxygen comments.
...
2011-05-26 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/mutex: Add doxygen comments.
From-SVN: r174244
2011-05-26 00:49:11 +01:00
Paolo Carlini
7f0d79d514
thread: Use noexcept throughout per the FDIS.
...
2011-05-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/thread: Use noexcept throughout per the FDIS.
* include/std/mutex: Likewise.
From-SVN: r174202
2011-05-25 14:32:06 +00:00
Paolo Carlini
b850be9d50
re PR libstdc++/49151 ([C++0x][constexpr] chrono::duration has incorrect non-member operator semantics)
...
2011-05-24 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/49151
* include/std/chrono (operator+, operator-, operator*, operator/,
operator&): Implement LWG 2020 [WP]; specify constexpr.
* testsuite/20_util/duration/arithmetic/dr2020.cc: New.
From-SVN: r174150
2011-05-24 23:29:19 +00:00
Paolo Carlini
4702f095fa
[multiple changes]
...
2011-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/20_util/bind/cv_quals_2.cc: New.
2011-05-22 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/49058
* include/std/functional (_Bind<_Functor(_Bound_args...)>::
operator()(_Args&&...)): Don't cv qualify _Functor directly
in the default template argument, SFINAE doesn't apply when
the functor has no arguments.
* testsuite/20_util/bind/49058_1.cc: New.
* testsuite/20_util/bind/49058_2.cc: Likewise.
From-SVN: r174048
2011-05-23 00:05:24 +00:00
Paolo Carlini
2789f415a1
char_traits.h: Use noexcept throughout.
...
2011-05-20 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/char_traits.h: Use noexcept throughout.
* include/std/typeindex: Likewise.
* include/std/tuple (_Tuple_impl<>_Tuple_impl(_Tuple_impl&&)): Use
noexcept; adjust callers.
* include/bits/stl_pair.h (pair<>::pair(pair<>&&)): Use noexcept.
* testsuite/20_util/tuple/cons/noexcept_move_construct.cc: New.
* testsuite/20_util/pair/cons/noexcept_move_construct.cc: Likewise.
* testsuite/20_util/pair/noexcept_swap.cc: Likewise.
* testsuite/20_util/pair/noexcept_move_assign.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
line numbers.
From-SVN: r173986
2011-05-21 00:05:03 +00:00
Jason Merrill
94df301fa0
re PR c++/24163 (dependent Base class scope examined during unqualified name lookup in template)
...
PR c++/24163
PR c++/29131
gcc/cp/
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating
unqualified lookup.
* semantics.c (perform_koenig_lookup): Add complain parm.
* cp-tree.h: Adjust.
* parser.c (cp_parser_postfix_expression): Adjust.
(cp_parser_perform_range_for_lookup): Adjust.
libstdc++-v3/
* include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to
functions from dependent bases.
* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/tree_policy/
order_statistics_imp.hpp: Likewise.
* include/ext/pb_ds/detail/trie_policy/
prefix_search_node_update_imp.hpp: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/rope: Likewise.
* include/ext/ropeimpl.h: Likewise.
* testsuite/util/exception/safety.h: Likewise.
* testsuite/util/native_type/native_priority_queue.hpp: Likewise.
* testsuite/util/testsuite_io.h: Likewise.
* include/std/functional: Declare mem_fn earlier.
* include/tr1/functional: Likewise.
* include/tr1/exp_integral.tcc: Declare __expint_E1 earlier.
From-SVN: r173965
2011-05-20 14:01:22 -04:00
Paolo Carlini
664e12c126
tuple (tuple_element<__i, [...]): Add.
...
2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (tuple_element<__i, const _Tp>,
tuple_element<__i, volatile _Tp>, tuple_element<__i,
const volatile _Tp>, tuple_size<const _Tp>, tuple_size<volatile _Tp>,
tuple_size<const volatile _Tp>): Add.
* include/std/utility (tuple_size<std::pair<_Tp1, _Tp2>>): Tweak.
* include/std/array (tuple_size<array<_Tp, _Nm>>): Likewise.
* testsuite/20_util/tuple/cv_tuple_size.cc: New.
* testsuite/20_util/tuple/cv_tuple_element.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-warning
line number.
From-SVN: r173919
2011-05-19 20:48:39 +00:00
Paolo Carlini
173f26ae56
tuple (tuple<>::operator=(tuple&&)): Specify as noexcept.
...
2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (tuple<>::operator=(tuple&&)): Specify as
noexcept.
(__get_helper): Likewise.
(_Head_base<>::_M_head, _Tuple_impl<>::_M_head, _M_tail): Likewise.
* include/bits/move.h (swap): Likewise.
* include/bits/algorithmfwd.h (swap): Adjust.
* include/bits/stl_pair.h (pair<>::operator=(pair&&)): Spec noexcept.
* testsuite/util/testsuite_allocator.h (uneq_allocator): In C++0x
mode, prefer delete to access control to make the type not copy
assignable.
* testsuite/util/testsuite_tr1.h: Add test classes.
* testsuite/20_util/tuple/noexcept_swap.cc: New.
* testsuite/20_util/tuple/noexcept_move_assign.cc: Likewise.
* testsuite/25_algorithms/reverse/moveable.cc: Likewise, prefer
delete to access control.
* testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
line numbers.
From-SVN: r173917
2011-05-19 17:20:22 +00:00
Paolo Carlini
f263981ac8
[multiple changes]
...
2011-05-19 Daniel Krugler <daniel.kruegler@googlemail.com>
* testsuite/util/testsuite_tr1.h: Add test classes.
* testsuite/20_util/is_nothrow_assignable/value.cc: Add.
2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (is_assignable, is_copy_assignable,
is_move_assignable, is_nothrow_assignable, is_nothrow_copy_assignable,
is_nothrow_move_assignable): Add; minor tweaks elsewhere.
(has_nothrow_copy_assign): Remove.
* testsuite/util/testsuite_tr1.h: Add test classes.
* testsuite/20_util/is_assignable/requirements/typedefs.cc: Add.
* testsuite/20_util/is_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_nothrow_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_nothrow_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_move_assignable/value.cc: Likewise.
* testsuite/20_util/is_move_assignable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_move_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_copy_assignable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_copy_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_move_assignable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_nothrow_move_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_assignable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_assignable/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: r173899
2011-05-19 10:30:20 +00:00
Paolo Carlini
5d861bf2cb
initializer_list: Use noexcept specifier.
...
2011-05-18 Paolo Carlini <paolo.carlini@oracle.com>
* libsupc++/initializer_list: Use noexcept specifier.
(initializer_list<>::size, begin, end): Qualify as const.
* include/bits/move.h (__addressof, forward, move, addressof): Specify
as noexcept.
* include/std/bitset: Use noexcept specifier throughout.
* include/debug/bitset: Update.
* include/profile/bitset: Likewise.
From-SVN: r173871
2011-05-18 18:05:17 +00:00
Paolo Carlini
1aa1114b63
tuple: Use noexcept where appropriate.
...
2011-05-17 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple: Use noexcept where appropriate.
(tuple<>::swap): Rework implementation.
(_Head_base<>::_M_swap_impl): Remove.
(get(std::tuple<>&&)): Add.
* testsuite/20_util/tuple/element_access/get2.cc: New.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line number.
From-SVN: r173838
2011-05-18 00:12:58 +00:00