Jonathan Wakely
2e3f48dc43
any (any::operator=(const any&)): Check for self-assignment.
...
* include/experimental/any (any::operator=(const any&)): Check for
self-assignment.
* testsuite/experimental/any/assign/self.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
From-SVN: r226393
2015-07-30 11:00:39 +01:00
Ville Voutilainen
e37e6813d5
Implement std::experimental::fundamentals_v2::propagate_const.
...
2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement std::experimental::fundamentals_v2::propagate_const.
* include/Makefile.am: Add propagate_const.
* include/Makefile.in: Regenerate.
* include/experimental/propagate_const: New.
* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Likewise.
* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
* testsuite/experimental/propagate_const/typedefs.cc: Likewise.
From-SVN: r225379
2015-07-03 15:08:37 +01:00
Jonathan Wakely
6af6bef4ac
Implement N4502, the C++ Detection Idiom.
...
* doc/xml/manual/status_cxx2017.xml: Update status table.
* include/experimental/type_traits (void_t, is_detected,
is_detected_v, detected_t, detected_or, detected_or_t,
is_detected_exact, is_detected_exact_v, is_detected_convertible,
is_detected_convertible_v): Define.
* include/std/type_traits (__detector, __detected_or, __detected_or_t,
__detected_or_t_): Define.
* testsuite/experimental/type_traits/detection.cc: New.
From-SVN: r225242
2015-07-01 13:23:54 +01:00
Ville Voutilainen
bf7818bfb0
Implement N4387, "Improving pair and tuple", and LWG 2367.
...
2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement N4387, "Improving pair and tuple", and LWG 2367.
* include/bits/stl_pair.h (_ConstructiblePair,
_ImplicitlyConvertiblePair, _MoveConstructiblePair,
_ImplicitlyMoveConvertiblePair): New.
(pair()): Constrain it.
(pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
pair(pair<_U1, _U2>&&)): Make conditionally explicit.
* include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
(tuple()): Constrain it.
(tuple(const _UElements&...), tuple(_UElements&&...),
tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
conditionally explicit.
* include/experimental/functional (__boyer_moore_array_base): Name
array type explicitly instead of using an empty braced-init-list.
* testsuite/20_util/pair/cons/explicit_construct.cc: New.
* testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
* testsuite/20_util/pair/requirements/dr2367.cc: New.
* testsuite/20_util/tuple/cons/explicit_construct.cc: New.
* testsuite/20_util/tuple/requirements/dr2367.cc: New.
From-SVN: r225189
2015-06-30 14:26:49 +01:00
Jonathan Wakely
ac68f97cfe
tuple (apply): Handle pointers to member (LWG 2418).
...
* include/experimental/tuple (apply): Handle pointers to member (LWG
2418).
* include/std/functional (_Mem_fn_base): Make constructors constexpr.
(_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
* testsuite/experimental/tuple/apply.cc: Test pointer to member.
From-SVN: r223158
2015-05-13 14:12:48 +01:00
Jonathan Wakely
563777d7fc
any (any::_Storage): Fix alignment of buffer.
...
* include/experimental/any (any::_Storage): Fix alignment of buffer.
(any::_Internal): Check alignment of type.
* testsuite/experimental/any/cons/aligned.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
From-SVN: r222729
2015-05-02 19:19:39 +01:00
Jonathan Wakely
b4f504de77
iterator (ostream_joiner): Simplify by using the injected-class-name and the ostream_type typedef.
...
* include/experimental/iterator (ostream_joiner): Simplify by using
the injected-class-name and the ostream_type typedef.
From-SVN: r222728
2015-05-02 19:03:20 +01:00
Jonathan Wakely
a623b6f011
iterator: New.
...
* include/experimental/iterator: New. Define ostream_joiner.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* testsuite/experimental/iterator/make_ostream_joiner.cc: New.
* testsuite/experimental/iterator/ostream_joiner.cc: New.
* testsuite/experimental/iterator/requirements.cc: New.
* doc/xml/manual/status_cxx2017.xml: Update status.
* doc/html/manual/status.html: Regenerate.
From-SVN: r222727
2015-05-02 18:14:25 +01:00
Jonathan Wakely
6c0b8a537c
numeric: New.
...
* include/experimental/numeric: New. Define gcd and lcm.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* testsuite/experimental/numeric/gcd.cc: New.
* testsuite/experimental/numeric/lcm.cc: New.
* doc/xml/manual/status_cxx2017.xml: Update status.
* doc/html/manual/status.html: Regenerate.
From-SVN: r222724
2015-05-02 16:18:36 +01:00
Edward Smith-Rowland
fe4b6acbff
Revert addition of feature macros from other headers per latest SD-6.
...
2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
Revert addition of feature macros from other headers per latest SD-6.
* include/experimental/deque: Remove feature-test macro.
* include/experimental/forward_list: Ditto.
* include/experimental/list: Ditto.
* include/experimental/map: Ditto.
* include/experimental/set: Ditto.
* include/experimental/string: Ditto.
* include/experimental/unordered_map: Ditto.
* include/experimental/unordered_set: Ditto.
From-SVN: r222722
2015-05-02 12:48:32 +00:00
Jonathan Wakely
9407c6fa53
any (any::_Storage): Make non-copyable.
...
* include/experimental/any (any::_Storage): Make non-copyable.
(any::any): Do not copy _Storage object.
(any::operator=): Implement more efficiently than swapping.
(any::swap): Use new _Op_xfer operation.
(any::_Op::_Op_xfer): New enumerator.
(_Manager_internal::_S_alloc): Remove unused function.
(_Manager_internal::_S_create, _Manager_external::_S_create): Use out
parameter instead of returning a _Storage object.
(_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
_Op_xfer operation for moving and swapping.
* testsuite/experimental/any/cons/nontrivial.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
From-SVN: r222721
2015-05-02 13:38:44 +01:00
Jonathan Wakely
5b244a78dc
fs_path.h (filesystem_error::~filesystem_error): Declare.
...
* include/experimental/fs_path.h (filesystem_error::~filesystem_error):
Declare.
* src/filesystem/path.cc (filesystem_error::~filesystem_error):
Define.
From-SVN: r222720
2015-05-02 12:36:55 +01:00
Edward Smith-Rowland
9c0717ed3f
deque: Add feature-test macro.
...
2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/experimental/deque: Add feature-test macro.
* include/experimental/forward_list: Ditto.
* include/experimental/list: Ditto.
* include/experimental/map: Ditto.
* include/experimental/set: Ditto.
* include/experimental/string: Ditto.
* include/experimental/unordered_map: Ditto.
* include/experimental/unordered_set: Ditto.
From-SVN: r222713
2015-05-02 02:01:35 +00:00
Jonathan Wakely
b275f0cbe5
* include/experimental/memory: Correct feature-test macro.
...
From-SVN: r222708
2015-05-01 22:26:24 +01:00
Jonathan Wakely
64b07900f1
memory: Add feature-test macro.
...
* include/experimental/memory: Add feature-test macro.
* include/experimental/vector: Likewise.
* doc/xml/manual/status_cxx2017.xml: Update status.
* doc/html/manual/status.html: Regenerate.
From-SVN: r222707
2015-05-01 22:01:17 +01:00
Ville Voutilainen
261b7e8af2
Implement observer_ptr.
...
2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement observer_ptr.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/memory: New.
* testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
* testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
* testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
* testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
* testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
* testsuite/experimental/memory/observer_ptr/requirements.cc: New.
* testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
* testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
From-SVN: r222706
2015-05-01 22:01:11 +01:00
Jonathan Wakely
bf53e6a9dd
acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h> is not available.
...
* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
is not available.
(GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
* configure: Regenerate.
* config.h.in: Regenerate.
* configure.ac: Check for utime.h
* include/experimental/fs_path.h (path::string<>)
[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
* src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
closedir, dirent, readdir_r): Replace dummy functions with #error.
(native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
* src/filesystem/ops.cc (do_stat, is_set): Make inline.
(last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
(permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
(space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
error_code.
From-SVN: r222703
2015-05-01 20:48:00 +01:00
Jonathan Wakely
a00d74c490
fs_path.h (path::_List): Use vector instead of list.
...
* include/experimental/fs_path.h (path::_List): Use vector instead of
list.
* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
* src/filesystem/path.cc: Use std::prev instead of decrementing
rvalues. Fix whitespace.
* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
Do not decrement iterators before begin.
From-SVN: r222702
2015-05-01 20:47:55 +01:00
Jonathan Wakely
d6e023f3a0
fs_dir.h: Fix use of non-reserved names.
...
* include/experimental/fs_dir.h: Fix use of non-reserved names.
* include/experimental/fs_ops.h: Likewise.
* include/experimental/fs_path.h: Likewise.
* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
C++11 when checking for support.
From-SVN: r222695
2015-05-01 18:55:33 +01:00
Edward Smith-Rowland
ea365e01ef
Inline one-line erasure dispatch functions.
...
2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
Inline one-line erasure dispatch functions.
* include/experimental/forward_list (erase_if(), erase()): Inline.
* include/experimental/list (erase_if(), erase()): Inline.
* include/experimental/map (erase_if(*)): Inline.
* include/experimental/set (erase_if(*)): Inline.
* include/experimental/string (erase_if(), erase()): Inline.
* include/experimental/unordered_map (erase_if(*)): Inline.
* include/experimental/unordered_set (erase_if(*)): Inline.
From-SVN: r222684
2015-05-01 15:00:46 +00:00
Jonathan Wakely
0ca7ba9aa6
Implement N4100 File System TS
...
* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
(GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Enable filesystem TS and check its dependencies.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
__str_codecvt_out): Move code conversion logic from wstring_convert
into new global functions.
(wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
functions.
(wstring_convert::_M_conv): Remove.
* include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
* include/experimental/filesystem: New.
* include/experimental/fs_dir.h: New.
* include/experimental/fs_fwd.h: New.
* include/experimental/fs_ops.h: New.
* include/experimental/fs_path.h: New.
* include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
* src/Makefile.am (SUBDIRS): Add filesystem.
* src/Makefile.in: Regenerate.
* src/filesystem/Makefile.am: New.
* src/filesystem/Makefile.in: New.
* src/filesystem/dir.cc: New.
* src/filesystem/ops.cc: New.
* src/filesystem/path.cc: New.
* testsuite/experimental/filesystem/operations/absolute.cc: New.
* testsuite/experimental/filesystem/operations/copy.cc: New.
* testsuite/experimental/filesystem/operations/current_path.cc: New.
* testsuite/experimental/filesystem/path/append/path.cc: New.
* testsuite/experimental/filesystem/path/assign/assign.cc: New.
* testsuite/experimental/filesystem/path/assign/copy.cc: New.
* testsuite/experimental/filesystem/path/compare/compare.cc: New.
* testsuite/experimental/filesystem/path/compare/path.cc: New.
* testsuite/experimental/filesystem/path/compare/strings.cc: New.
* testsuite/experimental/filesystem/path/concat/path.cc: New.
* testsuite/experimental/filesystem/path/concat/strings.cc: New.
* testsuite/experimental/filesystem/path/construct/copy.cc: New.
* testsuite/experimental/filesystem/path/construct/default.cc: New.
* testsuite/experimental/filesystem/path/construct/locale.cc: New.
* testsuite/experimental/filesystem/path/construct/range.cc: New.
* testsuite/experimental/filesystem/path/decompose/extension.cc: New.
* testsuite/experimental/filesystem/path/decompose/filename.cc: New.
* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
New.
* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
New.
* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
New.
* testsuite/experimental/filesystem/path/decompose/root_name.cc:
New.
* testsuite/experimental/filesystem/path/decompose/root_path.cc:
New.
* testsuite/experimental/filesystem/path/decompose/stem.cc: New.
* testsuite/experimental/filesystem/path/generic/generic_string.cc:
New.
* testsuite/experimental/filesystem/path/itr/traversal.cc: New.
* testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
New.
* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
New.
* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
New.
* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
New.
* testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
* testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
* testsuite/experimental/filesystem/path/query/empty.cc: New.
* testsuite/experimental/filesystem/path/query/has_extension.cc: New.
* testsuite/experimental/filesystem/path/query/has_filename.cc: New.
* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
New.
* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
New.
* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
New.
* testsuite/experimental/filesystem/path/query/has_root_name.cc:
New.
* testsuite/experimental/filesystem/path/query/has_root_path.cc:
New.
* testsuite/experimental/filesystem/path/query/has_stem.cc: New.
* testsuite/experimental/filesystem/path/query/is_relative.cc: New.
* testsuite/util/testsuite_fs.h: New.
From-SVN: r222654
2015-04-30 20:11:52 +01:00
Edward Smith-Rowland
c0b12dad93
Add fundamentals TR container erasure.
...
2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
Add fundamentals TR container erasure.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Add new headers.
* include/experimental/array: New.
* include/experimental/deque: New.
* include/experimental/erase_if.tcc: New.
* include/experimental/forward_list: New.
* include/experimental/list: New.
* include/experimental/map: New.
* include/experimental/set: New.
* include/experimental/string: New.
* include/experimental/unordered_map: New.
* include/experimental/unordered_set: New.
* include/experimental/vector: New.
* testsuite/experimental/deque/erasure.cc: New.
* testsuite/experimental/forward_list/erasure.cc: New.
* testsuite/experimental/list/erasure.cc: New.
* testsuite/experimental/map/erasure.cc: New.
* testsuite/experimental/set/erasure.cc: New.
* testsuite/experimental/string/erasure.cc: New.
* testsuite/experimental/unordered_map/erasure.cc: New.
* testsuite/experimental/unordered_set/erasure.cc: New.
* testsuite/experimental/vector/erasure.cc: New.
From-SVN: r222630
2015-04-30 14:43:19 +00:00
Jonathan Wakely
e83a01c383
* include/experimental/system_error: Fix include guard.
...
From-SVN: r221417
2015-03-13 12:47:21 +00:00
Jonathan Wakely
4159cf0d22
re PR libstdc++/64650 (std::experimental::bad_optional_access is not default constructible)
...
PR libstdc++/64650
* include/experimental/optional (bad_optional_access): Add default
constructor.
* testsuite/experimental/optional/requirements.cc: Test for default
constructor.
From-SVN: r219889
2015-01-20 11:51:03 +00:00
Jakub Jelinek
5624e564d2
Update copyright years.
...
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Jonathan Wakely
6554581713
Post-Urbana updates to Library Fundamentals v1.
...
* include/experimental/any (any): Remove allocator support and update
feature-testing macro.
* include/experimental/functional: Update feature-testing macro.
* include/experimental/optional (optional::_M_get()): Add constexpr.
(optional::operator*(), optional::value()): Overload and add
ref-qualifiers. Update feature-testing macro.
* include/experimental/string_view (basic_string_view::clear): Remove
and update feature-testing macro.
* testsuite/experimental/any/cons/3.cc: Remove.
* testsuite/experimental/any/cons/4.cc: Remove.
* testsuite/experimental/any/misc/any_cast.cc: Remove allocator tests.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
* testsuite/experimental/string_view/capacity/1.cc: Don't test clear().
From-SVN: r218709
2014-12-13 20:44:06 +00:00
Jonathan Wakely
0f3d27f01a
re PR libstdc++/64276 (would be better to use __cpp_exceptions rather than __EXCEPTIONS to determine whether exceptions are available)
...
PR libstdc++/64276
* doc/doxygen/user.cfg.in: Define __cpp_exceptions and __cpp_rtti.
* doc/html/manual/using_exceptions.html: Regenerate.
* doc/xml/manual/using_exceptions.xml: Use SD-6 feature-testing
macros, __cpp_exceptions and __cpp_rtti, instead of __EXCEPTIONS and
__GXX_RTTI.
* include/bits/c++config: Likewise.
* include/bits/locale_classes.tcc: Likewise.
* include/bits/shared_ptr.h: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* include/debug/formatter.h: Likewise.
* include/experimental/any: Likewise.
* include/ext/rope: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/std/functional: Likewise.
* include/tr1/functional: Likewise.
* include/tr1/shared_ptr.h: Likewise.
* libsupc++/eh_call.cc: Likewise.
* libsupc++/eh_personality.cc: Likewise.
* libsupc++/exception_defines.h: Likewise.
* libsupc++/exception_ptr.h: Likewise.
* libsupc++/guard.cc: Likewise.
* libsupc++/pbase_type_info.cc: Likewise.
* libsupc++/pointer_type_info.cc: Likewise.
* libsupc++/vterminate.cc: Likewise.
* src/c++11/thread.cc: Likewise.
From-SVN: r218679
2014-12-12 15:58:49 +00:00
Jonathan Wakely
72e58f18ae
optional (_Has_addressof): Check for non-member operator&.
...
* include/experimental/optional (_Has_addressof): Check for non-member
operator&.
* testsuite/experimental/optional/observers/2.cc: Add operator&.
* testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
From-SVN: r217397
2014-11-12 00:16:19 +00:00
Jonathan Wakely
8a57bed1d6
Use aliases for type traits in C++14 mode.
...
* include/bits/unique_ptr.h (make_unique): Use alias for trait.
* include/experimental/optional (__constexpr_addressof): Likewise.
(_Optional_base, optional, make_optional): Likewise.
From-SVN: r217064
2014-11-04 02:49:20 +00:00
Jonathan Wakely
c2513a1f6d
any: Add feature-testing macro.
...
* include/experimental/any: Add feature-testing macro.
* include/experimental/optional: Likewise.
* include/experimental/string_view: Likewise.
* include/experimental/tuple: Likewise.
* include/experimental/type_traits: Likewise.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
From-SVN: r216848
2014-10-29 18:22:05 +00:00
Jonathan Wakely
43e9f72225
Add <experimental/algorithm> and <experimental/functional>.
...
* doc/xml/manual/status_cxx2014.xml: Update TS status.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/experimental/algorithm: New.
* include/experimental/functional: New.
* testsuite/experimental/algorithm/sample.cc: New.
* testsuite/experimental/algorithm/search.cc: New.
* testsuite/experimental/functional/not_fn.cc: New.
* testsuite/experimental/functional/searchers.cc: New.
* testsuite/experimental/functional/value.cc: New.
* testsuite/experimental/feat-lib-fund.cc: Add headers and reorder.
From-SVN: r216847
2014-10-29 18:21:59 +00:00
Ville Voutilainen
6b17203a20
Implement more Library Fundamentals v1 variable templates.
...
2014-10-21 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement more Library Fundamentals v1 variable templates.
* include/Makefile.am: Add ratio, chrono and system_error.
* include/Makefile.in: Regenerate.
* include/experimental/chrono: New.
* include/experimental/ratio: Likewise.
* include/experimental/system_error: Likewise.
* include/experimental/tuple (tuple_size_v): Likewise.
* testsuite/experimental/chrono/value.cc: Likewise.
* testsuite/experimental/ratio/value.cc: Likewise.
* testsuite/experimental/system_error/value.cc: Likewise.
* testsuite/experimental/tuple/tuple_size.cc: Likewise.
From-SVN: r216513
2014-10-21 14:10:51 +01:00
Ville Voutilainen
37285913f3
Implement the Library Fundamentals v1 variable templates.
...
2014-10-17 Ville Voutilainen <ville.voutilainen@gmail.com>
Implement the Library Fundamentals v1 variable templates.
* include/Makefile.am: Add the new header.
* include/Makefile.in: Regenerate.
* include/experimental/type_traits: New.
* testsuite/experimental/type_traits/value.cc: Likewise.
From-SVN: r216397
2014-10-17 13:21:21 +01:00
Jonathan Wakely
22274fac01
Makefile.am: Add new header.
...
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/tuple: New
* doc/xml/manual/status_cxx2014.xml: Update.
* doc/html/manual/status.html: Regenerate.
* testsuite/experimental/feat-lib-fund.cc: Test for new header.
* testsuite/experimental/tuple/apply.cc: New.
From-SVN: r215930
2014-10-06 13:26:45 +01:00
Ed Smith-Rowland
0a9f0ecb4c
string_view: Make the literal operators constexpr like the ctors they call.
...
2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
* include/experimental/string_view: Make the literal operators
constexpr like the ctors they call.
From-SVN: r213037
2014-07-25 03:47:46 +00:00
Jonathan Wakely
7757d79bfc
any (any::_Manager_alloc::_Data): Reorder tuple members to simplify pretty printing.
...
* include/experimental/any (any::_Manager_alloc::_Data): Reorder
tuple members to simplify pretty printing.
(any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
construction.
* testsuite/experimental/any/cons/4.cc: New.
From-SVN: r212435
2014-07-10 19:08:35 +01:00
Jonathan Wakely
b3771d3f6f
allocated_ptr.h (__allocated_ptr::operator=): Add missing return.
...
* include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
missing return.
* include/experimental/any: Remove unused header.
* include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
* testsuite/util/testsuite_regex.h: Move include guard.
From-SVN: r212360
2014-07-08 14:22:14 +01:00
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
7ce56fc845
any (any_v1): Rename namespace to fundamentals_v1.
...
* include/experimental/any (any_v1): Rename namespace to
fundamentals_v1. Change string returned by bad_any_cast::what().
* include/experimental/optional (fundamentals_v1): Add namespace.
* include/experimental/string_view (fundamentals_v1): Likewise.
* testsuite/experimental/any/typedefs.cc: New.
* testsuite/experimental/optional/typedefs.cc: New.
* testsuite/experimental/string_view/typedefs.cc: New.
From-SVN: r211920
2014-06-23 23:12:31 +01:00
Jonathan Wakely
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
e8043fa674
status_cxx2014.xml: Update Fundamentals TS status.
...
* doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/any: New.
* include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
constructor.
* testsuite/experimental/any/assign/1.cc: New.
* testsuite/experimental/any/assign/2.cc: New.
* testsuite/experimental/any/cons/1.cc: New.
* testsuite/experimental/any/cons/2.cc: New.
* testsuite/experimental/any/cons/3.cc: New.
* testsuite/experimental/any/misc/any_cast.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: New.
* testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
* testsuite/experimental/any/misc/swap.cc: New.
* testsuite/experimental/any/modifiers/1.cc: New.
* testsuite/experimental/any/observers/type.cc: New.
From-SVN: r211669
2014-06-14 17:00:56 +01:00
Jonathan Wakely
16545743c6
re PR libstdc++/61374 (string_view::operator string() is buggy)
...
PR libstdc++/61374
* include/experimental/string_view (operator basic_string): Correct
order of arguments.
(to_string): Replace with member function.
Add inline specifiers. Remove unused header. Remove _S_empty_rep and
allow _M_str to be null.
* testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
default constructor semantics.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
copyright dates. Remove unused header.
* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/data/char/1.cc:
Fix copyright dates. Adjust to new default constructor semantics.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/to_string/1.cc: New.
From-SVN: r211113
2014-06-01 18:23:41 +01:00
Lars Gullik Bjønnes
e2ce9436fb
re PR libstdc++/60710 (experimental::optional<T> is using T::operator!=)
...
2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
PR libstdc++/60710
* include/experimental/optional (operator!=): Implement in terms of
operator==.
* testsuite/experimental/optional/relops/1.cc: Remove operator!=.
* testsuite/experimental/optional/relops/2.cc: Likewise.
* testsuite/experimental/optional/relops/3.cc: Likewise.
* testsuite/experimental/optional/relops/4.cc: Likewise.
* testsuite/experimental/optional/relops/5.cc: Likewise.
* testsuite/experimental/optional/relops/6.cc: Likewise.
From-SVN: r209810
2014-04-25 20:34:42 +01:00
Jonathan Wakely
b9de84c92d
* include/experimental/string_view: Fix inconsistent exception specs.
...
From-SVN: r209433
2014-04-15 20:05:57 +01:00
Ed Smith-Rowland
bb393514d5
re PR libstdc++/59531 (string_view overrun in copy operation)
...
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/59531
* testsuite/experimental/string_view/operations/copy/char/1.cc: New.
* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
Peter A. Bigot <pab@pabigot.com>
PR libstdc++/59531
* include/experimental/string_view
(copy(_CharT*, size_type, size_type) const): Correct throw string.
Correct copy start location.
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
Peter A. Bigot <pab@pabigot.com>
PR libstdc++/59530
* include/experimental/string_view (operator[](size_type) const):
Fix one-off index error in debug check.
* testsuite/experimental/string_view/element_access/char/1.cc: Don't
test basic_string_view at size().
* testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
Peter A. Bigot <pab@pabigot.com>
PR libstdc++/59529
* include/experimental/string_view
(basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
* testsuite/experimental/string_view/operations/substr/char/1.cc:
Comment out catch of out_of_range; No terminating null
in basic_string_view. Check begin == end.
* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
Ditto.
Co-Authored-By: Peter A. Bigot <pab@pabigot.com>
From-SVN: r207060
2014-01-24 20:15:00 +00:00
François Dumont
9d0bb2ea71
create_testsuite_files: Add testsuite/experimental in the list of folders to search for tests.
...
2014-01-20 François Dumont <fdumont@gcc.gnu.org>
* scripts/create_testsuite_files: Add testsuite/experimental in
the list of folders to search for tests.
* include/experimental/string_view
(basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
incompatible with constexpr qualifier.
(basic_string_view<>::front()): Likewise.
(basic_string_view<>::back()): Likewise.
* testsuite/experimental/string_view/element_access/wchar_t/2.cc:
Merge dg-options directives into one.
* testsuite/experimental/string_view/element_access/char/2.cc:
Likewise. Remove invalid experimental namespace scope on
string_view_type.
From-SVN: r206859
2014-01-20 21:15:13 +00:00
Richard Sandiford
aa118a03c4
Update copyright years in libstdc++-v3/
...
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Edward Smith-Rowland
32f9be169c
string_view: Rep empty string with unit-length static constexpr string.
...
2013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/experimental/string_view: Rep empty string with unit-length
static constexpr string. Uncomment _GLIBCXX_VISIBILITY. Enforce
invariant of no nullptr string pointer.
* include/experimental/string_view.tcc: Ditto.
* testsuite/experimental/string_view/cons/char/1.cc: data() for empty
string_view is no longer nullptr.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: Ditto.
* testsuite/experimental/string_view/operations/data/char/1.cc: Ditto.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
Ditto.
From-SVN: r205213
2013-11-21 12:30:37 +00:00
Paolo Carlini
660dca797a
string_view (_S_max_size): Remove.
...
2013-11-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/experimental/string_view (_S_max_size): Remove.
(basic_string_view<>::max_size): Adjust.
* testsuite/experimental/string_view/capacity/1.cc: Clean-up.
* testsuite/experimental/string_view/inserters/pod/10081-out.cc:
Likewise.
From-SVN: r205033
2013-11-19 15:45:15 +00:00
Edward Smith-Rowland
abe6cd5d35
I forgot the ChangeLog and a comment fix for my last checkin.
...
From-SVN: r204912
2013-11-17 01:58:29 +00:00