H.J. Lu
7b47ecf2f7
Regenerate configure of target libraries
...
* configure: Regenerated.
From-SVN: r259610
2018-04-24 09:45:26 -07:00
Jakub Jelinek
a0e1df888d
cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace --enable-cet=default with --enable-cet=auto.
...
* config/cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace
--enable-cet=default with --enable-cet=auto.
* doc/install.texi: Document --disable-cet being the default and
--enable-cet=auto.
* configure: Regenerated.
From-SVN: r259487
2018-04-19 09:45:51 +02:00
Jonathan Wakely
05b1448061
PR libstdc++/85442 fix duplicate debuginfo for cxx11-ios_failure.cc
...
2018-04-18 Jonathan Wakely <jwakely@redhat.com>
Jakub Jelinek <jakub@redhat.com>
PR libstdc++/85442
* src/c++11/Makefile.am: Don't generate debuginfo again for
cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
* src/c++11/Makefile.in: Regenerate.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r259467
2018-04-18 13:14:58 +01:00
Jonathan Wakely
8cc8789fb4
PR libstdc++/84442 if _Exit isn't declared then use _exit instead
...
PR libstdc++/84442
* testsuite/30_threads/thread/cons/terminate.cc
[!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
From-SVN: r259463
2018-04-18 12:15:38 +01:00
David Malcolm
001ddaa852
re PR jit/85384 (libgccjit does not work if --with-gcc-major-version is used)
...
PR jit/85384
* acx.m4 (GCC_BASE_VER): Remove \$\$ from sed expression.
* configure.ac (gcc-driver-name.h): Honor --with-gcc-major-version
by using gcc_base_ver to generate a gcc_driver_version, and use
it when generating GCC_DRIVER_NAME.
* configure: Regenerate.
* configure: Regenerate.
From-SVN: r259462
2018-04-18 11:46:58 +02:00
Jonathan Wakely
ef0e80d23c
Make Filesystem TS tests pass in C++17 mode
...
The <testsuite_fs.h> header defaults to using std::filesystem in C++17
mode. The Filesystem TS tests need to define the macro that causes
std::experimental::filesystem to be used instead.
* testsuite/experimental/filesystem/file_status/1.cc: Add
-DUSE_FILESYSTEM_TS to dg-options.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
Likewise.
* testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: Likewise.
* testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
* testsuite/experimental/filesystem/operations/create_directories.cc:
Likewise.
* testsuite/experimental/filesystem/operations/create_directory.cc:
Likewise.
* testsuite/experimental/filesystem/operations/create_symlink.cc:
Likewise.
* testsuite/experimental/filesystem/operations/current_path.cc:
Likewise.
* testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
* testsuite/experimental/filesystem/operations/last_write_time.cc:
Likewise.
* testsuite/experimental/filesystem/operations/permissions.cc:
Likewise.
* testsuite/experimental/filesystem/operations/read_symlink.cc:
Likewise.
* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
* testsuite/experimental/filesystem/operations/status.cc: Likewise.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Likewise.
* testsuite/experimental/filesystem/path/append/path.cc: Likewise.
* testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
* testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
* testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
* testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
* testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
* testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/default.cc:
Likewise.
* testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/string_view.cc:
Likewise.
* testsuite/experimental/filesystem/path/decompose/extension.cc:
Likewise.
* testsuite/experimental/filesystem/path/decompose/filename.cc:
Likewise.
* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
Likewise.
* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
Likewise.
* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
Likewise.
* testsuite/experimental/filesystem/path/decompose/root_name.cc:
Likewise.
* testsuite/experimental/filesystem/path/decompose/root_path.cc:
Likewise.
* testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
* testsuite/experimental/filesystem/path/generic/generic_string.cc:
Likewise.
* testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
* testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
Likewise.
* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
Likewise.
* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
Likewise.
* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
Likewise.
* testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
* testsuite/experimental/filesystem/path/native/string.cc: Likewise.
* testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
Likewise.
* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
* testsuite/experimental/filesystem/path/query/has_extension.cc:
Likewise.
* testsuite/experimental/filesystem/path/query/has_filename.cc:
Likewise.
* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
Likewise.
* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
Likewise.
* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
Likewise.
* testsuite/experimental/filesystem/path/query/has_root_name.cc:
Likewise.
* testsuite/experimental/filesystem/path/query/has_root_path.cc:
Likewise.
* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
* testsuite/experimental/filesystem/path/query/is_relative.cc:
Likewise.
From-SVN: r259396
2018-04-16 09:24:40 +01:00
Jonathan Wakely
272277dc55
Fix broken sed command from previous commit
...
* src/c++11/Makefile.am: Fix sed command.
* src/c++11/Makefile.in: Regenerate.
From-SVN: r259374
2018-04-13 11:55:29 +01:00
Jonathan Wakely
06258a7f10
Fix __iosfail_type_info hack to work on darwin
...
* src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
handle mangled names starting with double underscores on darwin.
* src/c++11/Makefile.in: Regenerate.
From-SVN: r259371
2018-04-13 11:06:21 +01:00
Jonathan Wakely
741346a2af
Fix comments that misspell names of files and classes
...
* src/c++11/Makefile.am: Fix comment.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/cxx11-ios_failure.cc: Fix comment.
* src/c++98/ios_failure.cc: Likewise.
From-SVN: r259357
2018-04-12 21:55:02 +01:00
Jonathan Wakely
ee3e8f4347
Remove #define made redundant by r259281
...
The definition of __throw_ios_failure is no longer in this file, so
setting the macro here is unnecessary.
* src/c++11/ios.cc: Remove redundant macro definition.
From-SVN: r259349
2018-04-12 17:06:03 +01:00
Jonathan Wakely
52556a878d
Update libstdc++ manual in preparation for GCC 8 release
...
* doc/xml/manual/abi.xml: Document header locations in recent
releases.
* doc/xml/manual/evolution.xml: Add API changes since GCC 5.
* doc/xml/manual/spine.xml: Update copyright years.
* doc/xml/manual/strings.xml: Adjust tolower example to avoid
undefined behaviour.
* doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
* doc/html/*: Regenerate.
From-SVN: r259308
2018-04-11 01:21:35 +01:00
Jonathan Wakely
25949ee332
Update links to archived copy of SGI STL docs
...
* doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
* doc/xml/manual/backwards_compatibility.xml: Likewise.
* doc/xml/manual/containers.xml: Likewise.
* doc/xml/manual/debug_mode.xml: Likewise.
* doc/xml/manual/extensions.xml: Likewise.
* doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
* doc/xml/manual/using.xml: Likewise.
* doc/xml/manual/utilities.xml: Likewise.
From-SVN: r259286
2018-04-10 16:49:26 +01:00
Jonathan Wakely
5f30251862
PR libstdc++/85222 allow catching iostream errors as gcc4-compatible ios::failure
...
Define a new exception type derived from std::ios::failure[abi:cxx11]
which also aggregates an object of the gcc4-compatible ios::failure
type. Make __throw_ios_failure throw this new type for iostream errors
that raise exceptions. Provide custom type info for the new type so that
it can be caught by handlers for the gcc4-compatible ios::failure type
as well as handlers for ios::failure[abi:cxx11] and its bases.
PR libstdc++/85222
* src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
cxx11-ios_failure.cc to rewrite type info for __ios_failure.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
New types.
[_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
* src/c++11/ios.cc (__throw_ios_failure): Remove definition.
* src/c++98/ios_failure.cc (__construct_ios_failure)
(__destroy_ios_failure, is_ios_failure_handler): New functions.
[!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
* testsuite/27_io/ios_base/failure/dual_abi.cc: New.
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
handler types, to always catch std::ios_base::failure.
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
From-SVN: r259281
2018-04-10 15:36:09 +01:00
Jonathan Wakely
970d3d9011
Add another workaround to std::variant for Clang bug 31852
...
* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
__get calls to avoid ADL and avoid ambiguity due to Clang bug.
From-SVN: r259135
2018-04-05 17:59:13 +01:00
Jonathan Wakely
c73847e77b
PR libstdc++/85183 fix std::variant move-assignment
...
PR libstdc++/85183
* include/std/variant (_Move_assign_base::operator=): Fix incorrect
value categories.
* testsuite/20_util/variant/85183.cc: New.
From-SVN: r259059
2018-04-04 00:03:07 +01:00
Jonathan Wakely
aafaa3254e
Add workaround to std::variant for Clang bug 31852
...
* include/std/variant (__get): Qualify calls to avoid ADL.
(__select_index): Adjust whitespace.
(variant): Add using-declaration to workaround Clang bug.
From-SVN: r258854
2018-03-26 14:09:10 +01:00
Jonathan Wakely
7c69a7d9bd
PR libstdc++/85040 fix std::less<void> etc. ambiguities
...
PR libstdc++/85040
* include/bits/stl_function.h (greater::__not_overloaded)
(less::__not_overloaded, greater_equal::__not_overloaded)
(less_equal::__not_overloaded): Fix ambiguous specializations.
* testsuite/20_util/function_objects/comparisons_pointer.cc: Add
tests for type with overlaoded operators.
From-SVN: r258773
2018-03-22 14:23:27 +00:00
Rainer Orth
83872062cb
xfail experimental/memory_resource/resource_adaptor.cc on 32-bit Solaris/x86 (PR libstdc++/77691)
...
PR libstdc++/77691
* testsuite/experimental/memory_resource/resource_adaptor.cc:
xfail execution on 32-bit Solaris/x86.
From-SVN: r258766
2018-03-22 13:33:29 +00:00
Jonathan Wakely
5a0729f5a4
Fix some libstdc++ testsuite failures
...
* testsuite/20_util/function_objects/comparisons_pointer.cc: Use
VERIFY instead of assert.
* testsuite/20_util/hash/84998.cc: New test.
* testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
copy of test adjusted for Debug Mode.
* testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
test in Debug Mode.
From-SVN: r258714
2018-03-21 12:32:14 +00:00
François Dumont
5dfb5e5be8
re PR libstdc++/84998 (std::hash<std::bitset<N>> fails in Debug Mode)
...
2018-03-20 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/84998
* include/bits/stl_bvector.h: Fix std::hash friend declaration.
* include/std/bitset: Likewise.
* include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
declaration.
* include/bits/stl_multimap.h (std::multimap<>): Likewise.
* include/bits/stl_multiset.h (std::multiset<>): Likewise.
* include/bits/stl_set.h (std::set<>): Likewise.
* include/bits/unordered_map.h (std::unordered_map<>): Fix
_Hash_merge_helper friend declaration.
(std::unordered_multimap<>): Likewise.
* include/bits/unordered_set.h (std::unordered_set<>): Likewise.
(std::unordered_multiset<>): Likewise.
From-SVN: r258693
2018-03-20 21:45:14 +00:00
Gerald Pfeifer
8c00b6a4e8
api.xml: www.fsf.org has moved to https.
...
* doc/xml/api.xml: www.fsf.org has moved to https. Also omit
trailing slash for domain level link.
* doc/xml/faq.xml: Ditto.
* doc/xml/manual/appendix_free.xml (software): Ditto.
* doc/xml/manual/intro.xml: Ditto.
* doc/xml/manual/spine.xml: Ditto.
* doc/xml/spine.xml: Ditto.
From-SVN: r258637
2018-03-18 23:52:00 +00:00
Gerald Pfeifer
1de51fbc6f
documentation_hacking.xml: Adjust link to docbook.org.
...
* doc/xml/manual/documentation_hacking.xml: Adjust link to
docbook.org.
From-SVN: r258636
2018-03-18 23:38:23 +00:00
Jonathan Wakely
0fb9dc36d2
Fix new test that fails in C++98 mode
...
* testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
to compile as C++98.
From-SVN: r258623
2018-03-17 13:44:16 +00:00
Jonathan Wakely
0b3ec8f48f
PR libstdc++/78420 Make std::less etc. yield total order for pointers
...
In order for std::less<T*> etc. to meet the total order requirements of
[comparisons] p2 we need to cast unrelated pointers to uintptr_t before
comparing them. Those casts aren't allowed in constant expressions, so
only cast when __builtin_constant_p says the result of the comparison is
not a compile-time constant (because the arguments are not constants, or
the result of the comparison is unspecified). When the result is
constant just compare the pointers directly without casting.
This ensures that the function can be called in constant expressions
with suitable arguments, but still yields a total order even for
otherwise unspecified pointer comparisons.
For std::less<void> etc. add new overloads for pointers, which use
std::less<common_type_t<T*,U*>> directly. Also change the generic
overloads to detect when the comparison would call a built-in relational
operator with pointer operands, and dispatch that case to the
corresponding specialization for void pointers.
PR libstdc++/78420
* include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
(greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
to ensure total order for pointers.
(greater<void>, less<void>, greater_equal<void>, less_equal<void>):
Add operator() overloads for pointer arguments and make generic
overloads dispatch to new _S_cmp functions when comparisons would
use built-in operators for pointers.
* testsuite/20_util/function_objects/comparisons_pointer.cc: New.
From-SVN: r258540
2018-03-14 23:02:01 +00:00
Jonathan Wakely
97ca95ac6f
PR libstdc++/84773 use aligned alloc functions for FreeBSD and MinGW cross-compilers
...
PR libstdc++/84773
PR libstdc++/83662
* crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
* configure: Regenerate.
* include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
(aligned_alloc): Add using-declaration.
* testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
From-SVN: r258468
2018-03-12 22:52:16 +00:00
François Dumont
5da6b01355
printers.py (build_libstdcxx_dictionary): Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers registration.
...
2018-03-09 François Dumont <fdumont@gcc.gnu.org>
* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
registration.
From-SVN: r258380
2018-03-09 05:56:07 +00:00
Jonathan Wakely
5dbbf8991d
PR libstdc++/84769 qualify std::get and std::get_if to avoid ADL
...
PR libstdc++/84769
* include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
From-SVN: r258376
2018-03-09 01:10:02 +00:00
Jonathan Wakely
311735dbc6
Use non-throwing is_directory in filesystem::create_directory
...
The create_dir helper was calling the throwing form of
filesystem::is_directory instead of passing the error_code argument.
Since std::filesystem::create_directory(const path&, error_code&) is
noexcept, it would call std::terminate if an error occurred in
is_directory.
Passing the error_code also takes care of clearing it in the case where
is_directory returns true.
src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
src/filesystem/std-ops.cc (create_dir): Likewise.
From-SVN: r258375
2018-03-09 01:09:58 +00:00
François Dumont
fe6bd21a0b
printers.py (NodeIteratorPrinter): New.
...
2018-03-08 François Dumont <fdumont@gcc.gnu.org>
* python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
(StdListIteratorPrinter): Inherit from latter.
(StdFwdListIteratorPrinter): New, inherit from latter.
(StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
when iterator has no associated container.
(build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
__gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
registrations.
* testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
From-SVN: r258350
2018-03-08 06:26:15 +00:00
Ville Voutilainen
447346e465
re PR libstdc++/84601 (std::optional<std::pair<int, int>> is not assignment copyable)
...
PR libstdc++/84601
* include/std/optional (_Optional_payload): Split into multiple
specializations that can handle different cases of trivial or
non-trivial assignment operators.
* testsuite/20_util/optional/84601.cc: New.
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
From-SVN: r258304
2018-03-06 23:43:03 +02:00
Jonathan Wakely
2f03003dcc
PR libstdc++/84671 handle digit separators in duration literals
...
PR libstdc++/84671
* include/bits/parse_numbers.h (_Number_help): Add partial
specialization to handle digit separators. Adjust partial
specialization for recursion temrination to require _Pow == 1ULL.
* testsuite/20_util/duration/literals/84671.cc: New
From-SVN: r258157
2018-03-02 20:38:50 +00:00
Ville Voutilainen
23c3a05908
Implement the missing bits of LWG 2769
...
* include/std/any (any_cast(const any&)): Add static_assert.
(any_cast(any&)): Likewise.
(any_cast(any&&)): Likewise, and remove the handling
for copyable-but-not-movable type.
* testsuite/20_util/any/misc/any_cast.cc: Adjust.
* testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
add new tests.
From-SVN: r258031
2018-02-27 13:33:30 +02:00
Jonathan Wakely
cc53514672
PR libstdc++/84532 prevent unwrapping of reference_wrapper arguments
...
PR libstdc++/84532
* include/std/thread (thread::__make_invoker): Construct tuple
directly instead of using make_tuple.
* testsuite/30_threads/async/84532.cc: New.
* testsuite/30_threads/thread/84532.cc: New.
From-SVN: r257956
2018-02-23 23:23:43 +00:00
François Dumont
549b1796f1
aligned_buffer.h [...] (template<> __aligned_buffer): Define as __aligned_membuf alias.
...
2018-02-20 François Dumont <fdumont@gcc.gnu.org>
* include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
(template<> __aligned_buffer): Define as __aligned_membuf alias.
From-SVN: r257861
2018-02-20 20:51:44 +00:00
Igor Tsimbalist
14e335edc8
CET shouldn't be enabled in 32-bit run-time libraries by defualt
...
ENDBR32 and RDSSPD are multi-byte NOPs on x86-64 processors and
newer x86 processors, starting Pentium Pro. They are UD on older
32-bit processors. Detect this at configure time and adjust the
default value for enable_cet. GCC will enable CET in 32-bit run-time
libraries in any case if --enable-cet is used to configure GCC.
PR target/84148
* config/cet.m4: Check if target support multi-byte NOPS (SSE).
* libatomic/configure: Regenerate.
* libbacktrace/configure: Likewise.
* libgcc/configure: Likewise.
* libgfortran/configure: Likewise.
* libgomp/configure: Likewise.
* libitm/configure: Likewise.
* libmpx/configure: Likewise.
* libobjc/configure: Likewise.
* libquadmath/configure: Likewise.
* libsanitizer/configure: Likewise.
* libssp/configure: Likewise.
* libstdc++-v3/configure: Likewise.
* libvtv/configure: Likewise.
From-SVN: r257809
2018-02-19 17:25:49 +01:00
Jonathan Wakely
51f174c0ef
PR libstdc++/81797 Add .NOTPARALLEL to include/Makefile for darwin
...
PR libstdc++/81797
* configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
* configure: Regenerate.
* include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
defined.
* include/Makefile.in: Regenerate.
From-SVN: r257710
2018-02-15 20:56:41 +00:00
Jonathan Wakely
670a8d7497
Remove duplicate "//" in comment
...
From-SVN: r257147
2018-01-29 14:09:52 +00:00
Jonathan Wakely
50ea03f403
PR libstdc++/83833 fix failing test on ia32
...
PR libstdc++/83833
* testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
Add -ffloat-store to options for m68k and ia32.
From-SVN: r257146
2018-01-29 14:07:27 +00:00
Jonathan Wakely
b53e4e1c51
Regenerate libstdc++ documentation
...
* doc/xml/faq.xml: Update copyright years.
* doc/html/*: Regenerate.
From-SVN: r257142
2018-01-29 12:37:17 +00:00
Jonathan Wakely
73ebece382
PR libstdc++/83658 fix exception-safety in std::any::emplace
...
PR libstdc++/83658
* include/std/any (any::__do_emplace): Only set _M_manager after
constructing the contained object.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
* testsuite/20_util/any/modifiers/83658.cc: New test.
From-SVN: r257141
2018-01-29 12:33:32 +00:00
Jonathan Wakely
58078de77b
PR libstdc++/81076 make __byte_operand SFINAE-friendly
...
PR libstdc++/81076
* include/c_global/cstddef (__byte_operand): Define primary template.
* testsuite/18_support/byte/81076.cc: New test.
From-SVN: r257050
2018-01-25 15:24:39 +00:00
Christophe Lyon
a46c4287bb
[libstdc++][testsuite] Fix dg-options/dg-add-options order
...
2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
* testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
dg-options and dg-add-options order.
* testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
* testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
Likewise.
* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
Likewise.
* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
Likewise.
* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
Likewise.
* testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
Likewise.
* testsuite/special_functions/10_cyl_neumann/check_nan.cc:
Likewise.
* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_nan.cc:
Likewise.
* testsuite/special_functions/19_sph_bessel/check_nan.cc:
Likewise.
* testsuite/special_functions/20_sph_legendre/check_nan.cc:
Likewise.
* testsuite/special_functions/21_sph_neumann/check_nan.cc:
Likewise.
From-SVN: r256879
2018-01-19 11:17:34 +01:00
Uros Bizjak
dac867c90a
configure.ac (AC_CHECK_HEADERS): Add linux/types.h.
...
* configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
include linux/types.h when checking linux/random.h header.
* config.h.in: Regenerate.
* configure: Ditto.
* src/c++11/random.cc: Conditionally include linux/types.h.
From-SVN: r256859
2018-01-18 20:52:16 +01:00
Eric Botcazou
229433c94f
* testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
...
From-SVN: r256754
2018-01-16 20:40:09 +00:00
Jonathan Wakely
cce6078d2b
PR libstdc++/83834 replace wildcard pattern in linker script
...
PR libstdc++/83834
* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
pattern with exact match for std::cerr.
From-SVN: r256739
2018-01-16 12:43:08 +00:00
Jonathan Wakely
8b3085e7e8
PR libstdc++/83833 fix chi_squared_distribution::param(const param&)
...
PR libstdc++/83833
* include/bits/random.h (chi_squared_distribution::param): Update
gamma distribution parameter.
* testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
test.
From-SVN: r256708
2018-01-15 19:58:22 +00:00
Jonathan Wakely
b0e63d9483
PR libstdc++/83830 Define std::has_unique_object_representations_v
...
PR libstdc++/83830
* include/std/type_traits (has_unique_object_representations_v): Add
variable template.
* testsuite/20_util/has_unique_object_representations/value.cc: Check
variable template.
From-SVN: r256701
2018-01-15 15:02:01 +00:00
Ville Voutilainen
c89f2d2468
Make optional conditionally trivially_{copy,move}_{constructible,assignable}
...
* include/std/optional (_Optional_payload): Fix the comment in
the class head and turn into a primary and one specialization.
(_Optional_payload::_M_engaged): Strike the NSDMI.
(_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
New.
(_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
Likewise.
(_Optional_payload<_Tp, false>::_M_get): Likewise.
(_Optional_payload<_Tp, false>::_M_reset): Likewise.
(_Optional_base_impl): Likewise.
(_Optional_base): Turn into a primary and three specializations.
(optional(nullopt)): Change the base init.
* testsuite/20_util/optional/assignment/8.cc: New.
* testsuite/20_util/optional/cons/trivial.cc: Likewise.
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
From-SVN: r256694
2018-01-15 13:32:24 +02:00
Jonathan Wakely
bab0a26de5
PR libstdc++/80276 fix template argument handling in type printers
...
PR libstdc++/80276
* python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
(get_template_arg_list): New.
(StdVariantPrinter._template_args): Remove, use get_template_arg_list
instead.
(TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
of strings and regular expressions.
(add_one_template_type_printer): Adapt to new TemplateTypePrinter.
(FilteringTypePrinter): Add docstring. Match using startswith. Use
strip_inline_namespaces instead of strip_versioned_namespace.
(add_one_type_printer): Prepend namespace to match argument.
(register_type_printers): Add type printers for char16_t and char32_t
string types and for types using cxx11 ABI. Update calls to
add_one_template_type_printer to provide default argument dicts.
* testsuite/libstdc++-prettyprinters/80276.cc: New test.
* testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
basic_string<unsigned char> and basic_string<signed char>.
* testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
From-SVN: r256689
2018-01-15 11:13:53 +00:00
Juraj Oršulić
ed99ae13bb
Correct earlier ChangeLog entry
...
Add Juraj Oršulić as original patch author.
From-SVN: r256688
2018-01-15 11:13:49 +00:00
Andreas Schwab
a61bac1ea9
re PR libstdc++/81092 (Missing symbols for new std::wstring constructors)
...
PR libstdc++/81092
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
From-SVN: r256668
2018-01-14 17:32:20 +00:00
Tim Shen
8532713fc4
re PR libstdc++/83601 (std::regex_replace C++14 conformance issue: escaping in SED mode)
...
PR libstdc++/83601
* include/bits/regex.tcc (regex_replace): Fix escaping in sed.
* testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
* testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
From-SVN: r256654
2018-01-14 00:48:30 +00:00
Rainer Orth
c969e34e3f
Link with correct values-*.o files on Solaris (PR target/40411)
...
gcc/testsuite:
PR libfortran/67412
* gfortran.dg/execute_command_line_2.f90: Remove dg-xfail-run-if
on *-*-solaris2.10.
libstdc++-v3:
PR libstdc++/64054
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
Remove dg-xfail-run-if.
gcc:
PR target/40411
* config/sol2.h (STARTFILE_ARCH_SPEC): Don't use with -shared or
-symbolic.
Use values-Xc.o for -pedantic.
Link with values-xpg4.o for C90, values-xpg6.o otherwise.
From-SVN: r256568
2018-01-12 09:52:53 +00:00
François Dumont
75ce74bbdd
2018-01-10 François Dumont <fdumont@gcc.gnu.org>
...
* include/bits/forward_list.h
(_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
(_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
(_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
(_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
(_Fwd_list_impl()): Add noexcept qualification.
(_Fwd_list_impl(const _Node_alloc_type&)): Delete.
(_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
(_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
(_Fwd_list_base()): Default.
(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
(_Fwd_list_base(_Fwd_list_base&&)): Default.
(forward_list<>()): Default.
(forward_list<>(forward_list&&)): Default.
(forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
(forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
(forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
* include/bits/forward_list.tcc
(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
_M_impl._M_head move assignment.
(forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
* testsuite/23_containers/forward_list/allocator/default_init.cc: New.
From-SVN: r256439
2018-01-10 16:59:02 +00:00
Jonathan Wakely
8273aa77d4
PR libstdc++/80276 fix pretty printers for array smart pointers
...
PR libstdc++/80276
* python/libstdcxx/v6/printers.py (SharedPointerPrinter)
(UniquePointerPrinter): Print correct template argument, not type of
the pointer.
(TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
a type.
* testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
array type.
* testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
weak_ptr of array types.
From-SVN: r256400
2018-01-09 21:46:13 +00:00
François Dumont
0f1462579e
re PR libstdc++/83709 (Inserting duplicates into an unordered associative containers causes the container to invalidate iterators)
...
2018-01-09 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/83709
* include/bits/hashtable_policy.h
(__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
__first != __last.
(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
Add false_type parameter.
(_Insert_base::insert): Adapt.
* include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
Adapt.
(_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
Add __n_elt parameter, defaulted to 1.
(_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
policy _M_need_rehash.
(_Hashtable::_M_merge_unique): Pass target number of elements to add to
produce only 1 rehash if necessary.
* testsuite/23_containers/unordered_map/insert/83709.cc: New.
* testsuite/23_containers/unordered_set/insert/83709.cc: New.
From-SVN: r256396
2018-01-09 21:05:10 +00:00
Juraj Oršulić
d2dfcf823c
PR libstdc++/59253 Improve pretty printers for smart pointers
...
PR libstdc++/59253 (partial)
* python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
(SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
children.
* testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
of unique_ptr printer.
* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
output of shared_ptr printer.
From-SVN: r256390
2018-01-09 18:49:57 +00:00
Jonathan Wakely
4ca07db039
PR libstdc++/83626 simplify filesystem::remove and filesystem::remove_all
...
PR libstdc++/83626
* src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
unnecessary symlink_status call.
(remove_all(const path&, error_code&)): Use filesystem::remove.
* src/filesystem/std-ops.cc: Likewise.
From-SVN: r256301
2018-01-05 23:51:22 +00:00
Jonathan Wakely
2526c53acf
PR libstdc++/83279 Use non-null offset argument for sendfile
...
PR libstdc++/83279
* src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
sendfile.
From-SVN: r256289
2018-01-05 21:43:56 +00:00
Jonathan Wakely
388058dd06
PR libstdc++/83626 handle ENOENT due to filesystem race
...
PR libstdc++/83626
* src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
report an error for ENOENT.
(remove_all(const path&)): Fix type of result variable.
(remove_all(const path&, error_code&)): Use non-throwing increment
for directory iterator. Call POSIX remove directly to avoid redundant
calls to symlink_status. Do not report errors for ENOENT.
* src/filesystem/std-ops.cc: Likewise.
* testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
overload.
* testsuite/experimental/filesystem/operations/remove_all.cc:
Likewise.
From-SVN: r256283
2018-01-05 18:02:18 +00:00
Jonathan Wakely
994844d36a
PR libstdc++/83626 Don't throw for remove("") and remove_all("")
...
PR libstdc++/83626
* src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
redundant call to ec.clear().
(remove_all(const path&, error_code&))): Do not return an error for
non-existent paths.
* src/filesystem/std-ops.cc: Likewise.
* testsuite/27_io/filesystem/operations/remove.cc: New test.
* testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
results for non-existent paths.
* testsuite/experimental/filesystem/operations/remove.cc: New test.
* testsuite/experimental/filesystem/operations/remove_all.cc: Fix
expected results for non-existent paths.
From-SVN: r256269
2018-01-04 22:58:59 +00:00
Jonathan Wakely
f7373fce65
Avoid redundant calls to filesystem::status_known
...
* include/bits/fs_ops.h (exists(const path&, error_code&))): Only
check status_known once.
* include/experimental/bits/fs_ops.h: Likewise.
From-SVN: r256243
2018-01-04 13:46:22 +00:00
Jonathan Wakely
32489ab56a
PR libstdc++/83607 specialize Boyer-Moore searchers for std::byte
...
PR libstdc++/83607
* include/std/functional (__is_byte_like): New trait.
(__is_std_equal_to): Remove.
(__boyer_moore_base_t): Use __is_byte_like instead of
__is_std_equal_to.
* include/experimental/functional (__is_std_equal_to): Remove.
(__boyer_moore_base_t): Use __is_byte_like instead of
__is_std_equal_to.
* testsuite/20_util/function_objects/83607.cc: New test.
From-SVN: r256231
2018-01-04 10:21:29 +00:00
Ville Voutilainen
8bdbeed1d0
Protect optional's deduction guide with the feature macro
...
* include/std/optional: Use the feature macro.
From-SVN: r256185
2018-01-03 22:33:10 +02:00
Jakub Jelinek
85ec4feb11
Update copyright years.
...
From-SVN: r256169
2018-01-03 11:03:58 +01:00
Jonathan Wakely
ecba356686
PR libstdc++/83600 fix end iterator for unready std::match_results
...
PR libstdc++/83600
* include/bits/regex.h (match_results::end()): Return valid iterator
when not ready.
* testsuite/28_regex/match_results/ctors/char/default.cc: Check that
unready objects are empty and have equal begin and end iterators.
* testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
From-SVN: r256014
2017-12-27 22:18:08 +00:00
Jonathan Wakely
8afe2df012
PR libstdc++/83598 don't modify flags passed to std::basic_regex constructors
...
PR libstdc++/83598
* include/bits/regex.h (basic_regex): Don't modify flags passed to
constructors.
* testsuite/28_regex/basic_regex/ctors/83598.cc: New test.
From-SVN: r256013
2017-12-27 22:18:02 +00:00
Jonathan Wakely
c41743d0c0
PR libstdc++/83538 fix std::match_results<T>::reference (LWG 2306)
...
PR libstdc++/83538
* doc/xml/manual/intro.xml: Document LWG 2306 change.
* include/bits/regex.h (match_results::reference): Change to
non-const reference.
* testsuite/28_regex/match_results/typedefs.cc: Check types are
correct.
From-SVN: r256012
2017-12-27 19:43:33 +00:00
Michele Pezzutti
73986c315b
re PR libstdc++/83237 (Values returned by std::poisson_distribution are not distributed correctly)
...
2017-12-24 Michele Pezzutti <mpezz@tiscali.it>
PR libstdc++/83237
* include/bits/random.tcc (poisson_distribution<>::operator()):
Fix __x = 1 case - see updated Errata of Devroye's treatise.
* testsuite/26_numerics/random/poisson_distribution/operators/
values.cc: Add test.
* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
line number.
From-SVN: r255993
2017-12-24 22:08:52 +00:00
Jonathan Wakely
4f9621392f
PR libstdc++/83450 avoid -Wreturn-type warning in test
...
PR libstdc++/83450
* testsuite/21_strings/basic_string/pthread18185.cc: Add return
statement.
From-SVN: r255992
2017-12-24 09:17:38 +00:00
François Dumont
1679da1571
re PR libstdc++/82522 (std::map::insert(value_type &&) not selected)
...
2017-12-20 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/82522
* include/debug/map.h (map::insert(value_type&&))
(map::insert(const_iterator, value_type&&)): Add overload for rvalues.
* include/debug/multimap.h (multimap::insert(value_type&&))
(multimap::insert(const_iterator, value_type&&)): Likewise.
* include/debug/unordered_map (unordered_map::insert(value_type&&))
(unordered_map::insert(const_iterator, value_type&&))
(unordered_multimap::insert(value_type&&))
(unordered_multimap::insert(const_iterator, value_type&&)): Likewise.
* testsuite/23_containers/map/modifiers/insert/dr2354.cc (test02): New.
* testsuite/23_containers/multimap/modifiers/insert/dr2354.cc (test02):
New.
* testsuite/23_containers/unordered_map/insert/dr2354.cc (test02): New.
* testsuite/23_containers/unordered_multimap/insert/dr2354.cc (test02):
New.
From-SVN: r255904
2017-12-20 21:53:25 +00:00
Kyrylo Tkachov
0e0cefc62e
[aarch64][libstdc++] Use __ARM_BIG_ENDIAN instead of __AARCH64EB__ in opt_random.h
...
As has been spotted at https://gcc.gnu.org/ml/gcc-patches/2017-12/msg01289.html
we check the __AARCH64EB__ macro for aarch64 big-endian
detection in config/cpu/aarch64/opt/ext/opt_random.h.
That works just fine with GCC but the standardised ACLE[1] macro
for that purpose is __ARM_BIG_ENDIAN so there is a possibility
that non-GCC compilers that include this header are not aware
of this predefine.
So this patch changes the use of __AARCH64EB__ to
the more portable __ARM_BIG_ENDIAN.
Tested on aarch64-none-elf and aarch64_be-none-elf.
Preapproved by Jeff at https://gcc.gnu.org/ml/gcc-patches/2017-12/msg01326.html
* config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Check
__ARM_BIG_ENDIAN instead of __AARCH64EB__.
From-SVN: r255857
2017-12-20 10:28:13 +00:00
François Dumont
c0515cecee
Fix last ChangeLog entry date.
...
From-SVN: r255841
2017-12-19 21:24:30 +00:00
François Dumont
adaefe2a50
re PR libstdc++/80761 (std::set<T,C,A>::insert_return_type uses wrong iterator type)
...
2017-11-20 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/80761
* include/debug/map.h
(std::__debug::map<>::insert_return_type): Define using
_Node_insert_return.
* include/debug/set.h (std::__debug::set<>::insert_return_type):
Likewise.
* include/debug/unordered_map:
(std::__debug::unordered_map<>::insert_return_type): Likewise.
* include/debug/unordered_set:
(std::__debug::unordered_set<>::insert_return_type): Likewise.
From-SVN: r255789
2017-12-18 21:59:17 +00:00
Ville Voutilainen
5dd44f4ea5
re PR libstdc++/68430 (std::is_constructible<T>::value == true for unconstructible type T)
...
PR libstdc++/68430
* testsuite/20_util/is_constructible/68430.cc: New.
From-SVN: r255785
2017-12-18 20:46:30 +02:00
Martin Sebor
d43568222a
PR tree-optimization/83239 - False positive from -Wstringop-overflow
...
PR tree-optimization/83239 - False positive from -Wstringop-overflow
on simple std::vector code
libstdc++/CHangeLog:
* include/bits/vector.tcc (vector::_M_default_append): Assert
invariant to generate better code.
gcc/testsuite/ChangeLog:
* g++.dg/pr83239.C: New test case.
From-SVN: r255753
2017-12-16 15:37:22 -07:00
Jonathan Wakely
c49bef17fd
PR libstdc++/83279 handle sendfile not copying entire file
...
PR libstdc++/83279
* src/filesystem/std-ops.cc (do_copy_file): Handle sendfile not
copying entire file.
From-SVN: r255666
2017-12-14 21:49:03 +00:00
Jonathan Wakely
83fd5e73b3
PR libstdc++/68519 use native duration to avoid rounding errors
...
PR libstdc++/68519
* include/std/condition_variable (condition_variable::wait_for):
Convert duration to native clock's duration before addition.
* testsuite/30_threads/condition_variable/members/68519.cc: New test.
From-SVN: r255665
2017-12-14 20:41:52 +00:00
Jonathan Wakely
00677c4877
PR libstdc++/83427 detect weak result type from noexcept functions
...
PR libstdc++/83427
* include/bits/refwrap.h (_Maybe_unary_or_binary_function): Move here
from <bits/std_function.h>.
(_Mem_fn_traits_base, _Mem_fn_traits): Move here, from <functional>.
(_Weak_result_type_impl, _Reference_wrapper_base): Deduce noexcept
for function types. Remove partial specializations for member
functions.
(_Weak_result_type_impl): Remove unused partial specializations for
non-referenceable function types and for references to functions.
(_Weak_result_type_memfun, _Reference_wrapper_base_memfun): New
helpers to handle member functions via _Mem_fn_traits.
(_Weak_result_type, reference_wrapper): Derive from new helpers.
* include/bits/std_function.h (_Maybe_unary_or_binary_function): Move
to <bits/refwrap.h>.
* include/std/functional (_Pack, _AllConvertible, _NotSame): Remove.
(_Mem_fn_traits_base, _Mem_fn_traits): Move to <bits/refwrap.h>.
* testsuite/20_util/bind/83427.cc: New test.
* testsuite/20_util/bind/refqual.cc: Add noexcept to functions and
check for weak result types.
* testsuite/20_util/reference_wrapper/83427.cc: New test.
From-SVN: r255651
2017-12-14 17:18:22 +00:00
Jonathan Wakely
f297ebafdc
Test whitespace handling in std::complex extraction
...
* testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc:
Add tests using noskipws.
From-SVN: r255632
2017-12-14 11:47:42 +00:00
Jonathan Wakely
02aee32767
Improve std::complex test and move to sub-directory
...
* testsuite/26_numerics/complex/dr2714.cc: Move to ...
* testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc:
... Here. Remove duplicate header and dg-options. Check first invalid
character gets putback. Remove wchar_t test.
From-SVN: r255630
2017-12-14 11:28:41 +00:00
Jonathan Wakely
3ca652c199
PR libstdc++/59568 fix error handling for std::complex stream extraction
...
PR libstdc++/59568
* include/std/complex (operator>>): Implement proposed resolution to
LWG 2714. Use putback if and only if a character has been successfully
extracted but isn't a delimiter. Use ctype::widen and traits::eq when
testing if extracted characters match delimiters.
* testsuite/26_numerics/complex/dr2714.cc: New test.
From-SVN: r255608
2017-12-13 17:02:14 +00:00
Jonathan Wakely
91d01b33e8
PR libstdc++/83395 fix invocable traits for INVOKE<cv void>
...
PR libstdc++/83395
* include/std/type_traits (__is_invocable_impl): Remove partial
specialization for INVOKE<void> and restore is_void<R> check in
primary template.
(__is_nt_invocable_impl): Likewise.
* testsuite/20_util/is_invocable/83395.cc: New test.
* testsuite/20_util/is_nothrow_invocable/83395.cc: New test.
From-SVN: r255584
2017-12-12 17:42:19 +00:00
David Edelsohn
d3861707eb
re PR libstdc++/83120 (ext/special_functions/hyperg failure on AIX)
...
PR libstdc++/83120
* testsuite/ext/special_functions/hyperg/check_value.cc: Add
-ffp-contract=off. Add -ffloat-store for m68* and ia32.
* testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc: Same.
From-SVN: r255483
2017-12-07 15:05:59 -05:00
Martin Sebor
5d9ae53d70
PR c/81544 - attribute noreturn and warn_unused_result on the same function accepted
...
PR c/81544 - attribute noreturn and warn_unused_result on the same function accepted
PR c/81566 - invalid attribute aligned accepted on functions
gcc/ada/ChangeLog:
PR c/81544
* gcc-interface/utils.c (gnat_internal_attribute_table): Initialize
new member of struct attribute_spec.
gcc/c/ChangeLog:
PR c/81544
* c-decl.c (c_decl_attributes): Look up existing declaration and
pass it to decl_attributes.
gcc/c-family/ChangeLog:
PR c/81544
PR c/81566
* c-attribs.c (attr_aligned_exclusions): New array.
(attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
(attr_common_exclusions, attr_const_pure_exclusions): Same.
(attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
(attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
(attr_warn_unused_result_exclusions): Same.
(handle_hot_attribute, handle_cold_attribute): Simplify.
(handle_const_attribute): Warn on function returning void.
(handle_pure_attribute): Same.
(handle_aligned_attribute): Diagnose conflicting attribute
specifications.
* c-warn.c (diagnose_mismatched_attributes): Simplify.
gcc/cp/ChangeLog:
PR c/81544
* cp-tree.h (decls_match): Add default argument.
* decl.c (decls_match): Avoid calling into the target back end
and triggering an error.
* decl2.c (cplus_decl_attributes): Look up existing declaration and
pass it to decl_attributes.
* tree.c (cxx_attribute_table): Initialize new member of struct
attribute_spec.
gcc/fortran/ChangeLog:
PR c/81544
* f95-lang.c (gfc_attribute_table): Initialize new member of struct
attribute_spec.
gcc/lto/ChangeLog:
PR c/81544
* lto-lang.c (lto_attribute_table): Initialize new member of struct
attribute_spec.
gcc/ChangeLog:
PR c/81544
* attribs.c (empty_attribute_table): Initialize new member of
struct attribute_spec.
(decl_attributes): Add argument. Handle mutually exclusive
combinations of attributes.
(selftests::test_attribute_exclusions): New function.
(selftests::attribute_c_tests): Ditto.
* attribs.h (decl_attributes): Add default argument.
* selftest.h (attribute_c_tests): Declare.
* selftest-run-tests.c (selftest::run_tests): Call attribute_c_tests.
* tree-core.h (attribute_spec::exclusions, exclude): New type and
member.
* doc/extend.texi (Common Function Attributes): Update const and pure.
gcc/testsuite/ChangeLog:
PR c/81544
* c-c++-common/Wattributes-2.c: New test.
* c-c++-common/Wattributes.c: New test.
* c-c++-common/attributes-3.c: Adjust.
* gcc.dg/Wattributes-6.c: New test.
* gcc.dg/Wattributes-7.c: New test.
* gcc.dg/attr-noinline.c
* gcc.dg/pr44964.c: Same.
* gcc.dg/torture/pr42363.c: Same.
* gcc.dg/tree-ssa/ssa-ccp-2.c: Same.
From-SVN: r255469
2017-12-07 09:32:03 -07:00
Jason Merrill
0382bcfcda
Correct noexcept mismatch in declarations.
...
2017-12-05 Jason Merrill <jason@redhat.com>
Jonathan Wakely <jwakely@redhat.com>
* include/bits/fs_fwd.h (copy, copy_file): Remove noexcept.
(permissions): Add noexcept.
* include/bits/fs_ops.h (permissions): Add noexcept.
* libsupc++/eh_throw.cc (__cxa_init_primary_exception): Add
_GLIBCXX_NOTHROW.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r255425
2017-12-05 15:23:26 +00:00
Jonathan Wakely
472a7639ea
Fix warnings in <bits/regex_compiler.tcc>
...
* include/bits/regex_compiler.tcc: Use C-style comment to work around
PR preprocessor/61638.
(__INSERT_REGEX_MATCHER): Replace GNU extension with __VA_ARGS__.
From-SVN: r255392
2017-12-04 23:08:22 +00:00
Jonathan Wakely
9ed83a33c0
Fix -Wunused warnings in libstdc++ headers
...
* config/io/basic_file_stdio.h (__basic_file): Remove name of unused
parameter.
* include/bits/boost_concept_check.h: Add pragmas to disable
-Wunused-local-typedef warnings.
* include/bits/codecvt.h (codecvt_byname<char16_t, char, mbstate_t>)
(codecvt_byname<char32_t, char, mbstate_t>): Remove name of unused
parameter.
* include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday)
(time_get::do_get_monthname, time_get::do_get_year): Remove unused
variables.
* include/std/bitset (_Base_bitset<0>::_M_getword): Remove name of
unused parameter.
* include/std/streambuf (_IsUnused): Define.
(basic_streambuf::imbue, basic_streambuf::pbackfail)
(basic_streambuf::overflow): Add macro to unused parameters.
* testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error.
From-SVN: r255391
2017-12-04 23:07:39 +00:00
Jonathan Wakely
ad8fda29e6
Fix narrowing conversions in string_view types
...
* include/experimental/string_view (basic_string_view::_S_compare):
Use value-init so narrowing conversions are not ill-formed.
* include/std/string_view (basic_string_view::_S_compare): Likewise.
From-SVN: r255321
2017-12-01 16:10:31 +00:00
Jonathan Wakely
f03858e51d
Disable -Wliteral-suffix for standard UDLs
...
* include/bits/basic_string.h (operator""s): Add pragmas to disable
-Wliteral-suffix warnings.
* include/experimental/string_view (operator""sv): Likewise.
* include/std/chrono (operator""h, operator""min, operator""s)
(operator""ms, operator""us, operator""ns): Likewise.
* include/std/complex (operator""if, operator""i, operator""il):
Likewise.
* include/std/string_view (operator""sv): Likewise.
* testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
From-SVN: r255320
2017-12-01 16:10:25 +00:00
Jonathan Wakely
ccd9a1e0ef
Add comment to fix -Wfallthrough warning
...
* include/bits/locale_facets_nonio.tcc (money_get::_M_extract): Add
fallthrough comment.
From-SVN: r255318
2017-12-01 15:10:23 +00:00
Jonathan Wakely
b7b61489b7
Fix -Wempty-body warnings for debug assertions
...
* include/bits/node_handle.h (_Node_handle_common::operator=)
(_Node_handle_common::_M_swap): Add braces around debug assertions.
From-SVN: r255317
2017-12-01 15:10:20 +00:00
Jonathan Wakely
f1338a2dcb
Use const char* to fix -Wwrite-strings warning
...
* include/ext/ropeimpl.h (rope::_S_dump): Use const char*.
From-SVN: r255316
2017-12-01 15:10:16 +00:00
Jonathan Wakely
c85d199208
Add [[noreturn]] attributes to fix warning
...
* libsupc++/nested_exception.h (__throw_with_nested_impl): Add
noreturn attribute.
From-SVN: r255315
2017-12-01 15:10:13 +00:00
Jonathan Wakely
071f228fa3
Remove stray semi-colons at namespace scope
...
* include/bits/regex_executor.tcc (_Executor::_M_rep_once_more):
Remove semi-colon after function body.
* include/bits/uniform_int_dist.h (_Power_of_2): Likewise.
From-SVN: r255314
2017-12-01 15:10:09 +00:00
Jonathan Wakely
e735008bf6
Use value-init syntax in std::__detail::__airy
...
* include/tr1/modified_bessel_func.tcc (__airy): Use value-init not
list-init.
From-SVN: r255313
2017-12-01 15:10:06 +00:00
Jonathan Wakely
352111c5b1
Add noexcept to std::integral_constant members
...
* include/std/type_traits (integral_constant): Make member functions
noexcept (LWG 2346).
* include/std/utility (integer_sequence): Likewise.
From-SVN: r255312
2017-12-01 15:09:57 +00:00
Jonathan Wakely
d44e1abee5
PR libstdc++/65927 Fix -Wunused-but-set-parameter warning
...
PR libstdc++/65927
* include/bits/locale_facets_nonio.h (__timepunct::_M_am_pm_format):
Remove statement with no effect.
From-SVN: r255278
2017-11-30 17:29:08 +00:00
Glen Joseph Fernandes
6b590c7a64
Move assertion from to_address to __to_address
...
2017-11-30 Glen Joseph Fernandes <glenjofe@gmail.com>
* include/bits/ptr_traits.h (__to_address, to_address): Move static
assertion.
* testsuite/20_util/to_address/1_neg.cc: New test.
From-SVN: r255277
2017-11-30 15:07:21 +00:00
Jonathan Wakely
5f939178ec
PR libstdc++/83226 avoid forming pointer-to-reference type
...
PR libstdc++/83226
* include/bits/node_handle.h (_Node_handle::__pointer): Avoid forming
pointer-to-reference types.
* testsuite/23_containers/map/modifiers/insert/83226.cc: New test.
From-SVN: r255271
2017-11-30 13:45:37 +00:00
John David Anglin
3be30be2c3
baseline_symbols.txt: Update.
...
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
From-SVN: r255265
2017-11-30 00:53:16 +00:00
David Malcolm
591996bad7
C++: improve location of static_assert errors
...
gcc/cp/ChangeLog:
* parser.c (cp_parser_unary_expression): Generate a location for
"noexcept".
(cp_parser_trait_expr): Generate and return a location_t,
converting the return type from tree to cp_expr.
(cp_parser_static_assert): Pass location of the condition to
finish_static_assert, rather than that of the "static_assert"
token, where available.
gcc/testsuite/ChangeLog:
* g++.dg/cpp1y/static_assert3.C: New test case.
libstdc++-v3/ChangeLog:
* testsuite/20_util/duration/literals/range.cc: Update expected
line of a static_assert failure.
From-SVN: r255255
2017-11-29 22:07:32 +00:00
Glen Joseph Fernandes
61cd19e6be
Add std::to_address for C++2a (P0653R2)
...
2017-11-28 Glen Joseph Fernandes <glenjofe@gmail.com>
* include/bits/ptr_traits.h (to_address): Implement to_address.
* testsuite/20_util/to_address/1.cc: New test.
From-SVN: r255199
2017-11-28 14:22:32 +00:00
Stephan Bergmann
0f42ffd7f7
Add missing noexcept in string_view::find_first_of declaration
...
2017-11-27 Stephan Bergmann <sbergman@redhat.com>
* include/std/string_view (basic_string_view::find_first_of): Add
missing noexcept.
From-SVN: r255176
2017-11-27 19:43:40 +00:00
Stephan Bergmann
68e601d879
Fix std::unordered_map deduction guide
...
2017-11-27 Stephan Bergmann <sbergman@redhat.com>
* include/bits/unordered_map.h (unordered_map): Fix deduction guide.
* include/debug/unordered_map (unordered_map): Likewise.
From-SVN: r255174
2017-11-27 16:43:39 +00:00
Jonathan Wakely
a8541d9021
Add [[nodiscard]] attribute to std::launder
...
* libsupc++/new (launder): Add nodiscard attribute.
* testsuite/18_support/launder/nodiscard.cc: New test.
From-SVN: r255127
2017-11-24 00:00:46 +00:00
Jonathan Wakely
d69f1ec7d1
Add [[nodiscard]] attribute to C++17 components
...
* include/bits/fs_path.h (path::empty): Add nodiscard attribute.
* include/bits/range_access.h (empty): Likewise.
* include/std/string_view (basic_string_view::empty): Likewise.
* testsuite/21_strings/basic_string_view/capacity/empty_neg.cc: New
test.
* testsuite/24_iterators/range_access_cpp17_neg.cc: New test.
* testsuite/27_io/filesystem/path/query/empty_neg.cc: New test.
From-SVN: r255124
2017-11-23 22:11:21 +00:00
Jonathan Wakely
4b9840f230
PR libstdc++/83134 Ensure std::__not_ converts B::value to bool
...
PR libstdc++/83134
* include/std/type_traits (__not_): Explicitly convert to bool.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/logical_traits/83134.cc: New test.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r255122
2017-11-23 21:35:27 +00:00
Jonathan Wakely
e350134d72
PR go/83102 relax std::set checks for invocable comparison object
...
PR go/83102
* include/bits/stl_tree.h (_Rb_tree): Relax invocable checks for
comparison object pre-C++17.
From-SVN: r255052
2017-11-22 11:06:15 +00:00
Jonathan Wakely
866e4d3853
PR libstdc++/48101 improve errors for invalid container specializations
...
PR libstdc++/48101
* include/bits/allocator.h (allocator<const _Tp>)
(allocator<volatile _Tp>, allocator<const volatile _Tp>): Add partial
specializations.
* include/bits/forward_list.h (forward_list): Add static assertions.
* include/bits/hashtable.h (__cache_default): Use
__is_nothrow_invocable instead of __is_noexcept_hash.
(_Hashtable): Add static assertions.
* include/bits/hashtable_policy.h (__is_noexcept_hash): Remove.
* include/bits/stl_deque.h (deque): Add static assertions.
* include/bits/stl_function.h (_Identity<const _Tp>): Add partial
specialization.
* include/bits/stl_list.h (list): Add static assertions.
* include/bits/stl_map.h (map): Likewise.
* include/bits/stl_multimap.h (multimap): Likewise.
* include/bits/stl_multiset.h (multiset): Likewise.
* include/bits/stl_set.h (set): Likewise.
* include/bits/stl_tree.h (_Rb_tree): Likewise.
* include/bits/stl_vector.h (vector): Likewise.
* include/bits/unordered_map.h (unordered_map, unordered_multimap):
Use typename instead of class in template-parameter-list and remove
spaces.
* include/bits/unordered_set.h (unordered_set, unordered_multiset):
Likewise.
* testsuite/23_containers/deque/48101-2_neg.cc: New test.
* testsuite/23_containers/deque/48101_neg.cc: New test.
* testsuite/23_containers/forward_list/48101-2_neg.cc: New test.
* testsuite/23_containers/forward_list/48101_neg.cc: New test.
* testsuite/23_containers/list/48101-2_neg.cc: New test.
* testsuite/23_containers/list/48101_neg.cc: New test.
* testsuite/23_containers/map/48101-2_neg.cc: New test.
* testsuite/23_containers/map/48101_neg.cc: New test.
* testsuite/23_containers/map/operations/31440.cc: Fix comparison
object to have const-qualified call operator.
* testsuite/23_containers/multimap/48101-2_neg.cc: New test.
* testsuite/23_containers/multimap/48101_neg.cc: New test.
* testsuite/23_containers/multiset/48101-2_neg.cc: New test.
* testsuite/23_containers/multiset/48101_neg.cc: New test.
* testsuite/23_containers/set/48101-2_neg.cc: New test.
* testsuite/23_containers/set/48101_neg.cc: New test.
* testsuite/23_containers/unordered_map/48101-2_neg.cc: New test.
* testsuite/23_containers/unordered_map/48101_neg.cc: New test.
* testsuite/23_containers/unordered_multimap/48101-2_neg.cc: New test.
* testsuite/23_containers/unordered_multimap/48101_neg.cc: New test.
* testsuite/23_containers/unordered_multiset/48101-2_neg.cc: New test.
* testsuite/23_containers/unordered_multiset/48101_neg.cc: New test.
* testsuite/23_containers/unordered_set/48101-2_neg.cc: New test.
* testsuite/23_containers/unordered_set/48101_neg.cc: New test.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
* testsuite/23_containers/vector/48101-2_neg.cc: New test.
* testsuite/23_containers/vector/48101_neg.cc: New test.
From-SVN: r255035
2017-11-21 20:47:09 +00:00
Przemyslaw Wirkus
b99415b760
Fix invalid XML in libstdc++ manual
...
2017-11-21 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
* doc/xml/manual/using.xml (manual.intro.using.macros): Move
variablelist element at the end of its list.
From-SVN: r255023
2017-11-21 18:45:04 +00:00
Sebastian Huber
b76602dcf2
RTEMS: Enable some libstdc++ features
...
libstdc++/
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add rtems*.
(GLIBCXX_ENABLE_FILESYSTEM_TS): Likewise.
* configure: Regenerate.
From-SVN: r254985
2017-11-21 06:22:13 +00:00
François Dumont
e324f9cb92
streambuf_iterator.h (istreambuf_iterator<>): Declare std::advance for istreambuf_iterator of char types to be friend.
...
2017-11-20 François Dumont <fdumont@gcc.gnu.org>
* include/bits/streambuf_iterator.h (istreambuf_iterator<>): Declare
std::advance for istreambuf_iterator of char types to be friend.
(std::advance(istreambuf_iterator&, _Distance)): New overload.
* include/std/streambuf (basic_streambuf<>): Declare std::advance for
istreambuf_iterator of char types to be friend.
* testsuite/22_locale/money_get/get/char/9.cc: Have
istreambuf_iterator created on the fly when calling money_get<>::get.
* testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/debug/1_neg.cc: New.
* testsuite/24_iterators/istreambuf_iterator/debug/2_neg.cc: New.
* testsuite/25_algorithms/advance/istreambuf_iterators/char/1.cc: New.
* testsuite/25_algorithms/advance/istreambuf_iterators/char/1_neg.cc:
New.
* testsuite/25_algorithms/advance/istreambuf_iterators/char/2.cc: New.
* testsuite/25_algorithms/advance/istreambuf_iterators/char/2_neg.cc:
New.
* testsuite/25_algorithms/advance/istreambuf_iterators/char/3_neg.cc:
New.
* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/1.cc:
New.
* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/1_neg.cc:
New.
* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2.cc:
New.
* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2_neg.cc:
New.
* testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/3_neg.cc:
New.
* testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Leverage
on std::advance overload.
* testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
Likewise.
From-SVN: r254972
2017-11-20 22:30:28 +00:00
Jonathan Wakely
9be0a9d6d2
Fix failing tests caused by duplicate dg-options
...
* testsuite/special_functions/18_riemann_zeta/check_value.cc: Fix
duplicate dg-options directive.
* testsuite/tr1/5_numerical_facilities/special_functions/
20_riemann_zeta/check_value_neg.cc: Likewise.
From-SVN: r254971
2017-11-20 21:48:31 +00:00
Ville Voutilainen
7b7b60c830
Implement LWG 2353
...
* include/bits/stl_iterator_base_funcs.h (next):
Use InputIterator instead of ForwardIterator.
* testsuite/24_iterators/operations/lwg2353.cc: New.
* testsuite/24_iterators/operations/next_neg.cc: Remove.
From-SVN: r254957
2017-11-20 16:21:42 +02:00
Edward Smith-Rowland
b46881363f
PR libstdc++/pr66689 - comp_ellint_3 and ellint_3 return garbage values
...
2017-11-18 Edward Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/pr66689 - comp_ellint_3 and ellint_3 return garbage values
* include/tr1/ell_integral.tcc: Correct the nu sign convention
in ellint_3 and comp_ellint_3.
* testsuite/tr1/5_numerical_facilities/special_functions/
06_comp_ellint_3/check_value.cc: Regen with correct values.
* testsuite/tr1/5_numerical_facilities/special_functions/
14_ellint_3/check_value.cc: Ditto.
* testsuite/special_functions/06_comp_ellint_3/check_value.cc: Ditto.
* testsuite/special_functions/13_ellint_3/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/
01_assoc_laguerre/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
02_assoc_legendre/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
03_beta/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
04_comp_ellint_1/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
05_comp_ellint_2/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
07_conf_hyperg/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
08_cyl_bessel_i/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
09_cyl_bessel_j/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
10_cyl_bessel_k/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
11_cyl_neumann/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
12_ellint_1/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
13_ellint_2/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
15_expint/check_value_neg.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
16_hermite/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
17_hyperg/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
18_laguerre/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
19_legendre/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
20_riemann_zeta/check_value_neg.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
21_sph_bessel/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
22_sph_legendre/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
23_sph_neumann/check_value.cc: Regen.
* testsuite/ext/special_functions/conf_hyperg/check_value.cc: Regen.
* testsuite/ext/special_functions/hyperg/check_value.cc: Regen.
* testsuite/special_functions/01_assoc_laguerre/check_value.cc: Regen.
* testsuite/special_functions/02_assoc_legendre/check_value.cc: Regen.
* testsuite/special_functions/03_beta/check_value.cc: Regen.
* testsuite/special_functions/04_comp_ellint_1/check_value.cc: Regen.
* testsuite/special_functions/05_comp_ellint_2/check_value.cc: Regen.
* testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Regen.
* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Regen.
* testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Regen.
* testsuite/special_functions/10_cyl_neumann/check_value.cc: Regen.
* testsuite/special_functions/11_ellint_1/check_value.cc: Regen.
* testsuite/special_functions/12_ellint_2/check_value.cc: Regen.
* testsuite/special_functions/14_expint/check_value.cc: Regen.
* testsuite/special_functions/15_hermite/check_value.cc: Regen.
* testsuite/special_functions/16_laguerre/check_value.cc: Regen.
* testsuite/special_functions/17_legendre/check_value.cc: Regen.
* testsuite/special_functions/18_riemann_zeta/check_value.cc: Regen.
* testsuite/special_functions/19_sph_bessel/check_value.cc: Regen.
* testsuite/special_functions/20_sph_legendre/check_value.cc: Regen.
* testsuite/special_functions/21_sph_neumann/check_value.cc: Regen.
* testsuite/tr1/5_numerical_facilities/special_functions/
06_comp_ellint_3/pr66689.cc: New.
* testsuite/tr1/5_numerical_facilities/special_functions/
14_ellint_3/pr66689.cc: New.
* testsuite/special_functions/06_comp_ellint_3/pr66689.cc: New.
* testsuite/special_functions/13_ellint_3/pr66689.cc: New.
From-SVN: r254924
2017-11-19 01:01:50 +00:00
Edward Smith-Rowland
a7a389d6ee
specfun.h: Expose airy_ai and airy_bi.
...
2017-11-18 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/bits/specfun.h: Expose airy_ai and airy_bi.
* include/tr1/modified_bessel_func.tcc: Treat NaN and inf arg, return.
* testsuite/ext/special_functions/airy_ai/check_nan.cc: New.
* testsuite/ext/special_functions/airy_ai/check_value.cc: New.
* testsuite/ext/special_functions/airy_ai/compile.cc: New.
* testsuite/ext/special_functions/airy_bi/check_nan.cc: New.
* testsuite/ext/special_functions/airy_bi/check_value.cc: New.
* testsuite/ext/special_functions/airy_bi/compile.cc: New.
From-SVN: r254917
2017-11-18 19:53:25 +00:00
Igor Tsimbalist
36101de964
Enable building libstdc++-v3 with Intel CET
...
libstdc++-v3/
* acinclude.m4: Add cet.m4.
* configure.ac: Set CET_FLAGS. Update EXTRA_CFLAGS,
EXTRA_CXX_FLAGS.
* libsupc++/Makefile.am: Use Add EXTRA_CFLAGS.
* Makefile.in: Regenerate.
* configure: Likewise.
* doc/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* python/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* src/c++11/Makefile.in: Likewise.
* src/c++98/Makefile.in: Likewise.
* src/filesystem/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r254895
2017-11-17 22:28:10 +01:00
Jonathan Wakely
96e0367ead
PR libstdc++/83025 fix constraints for path overloads in <fstream>
...
PR libstdc++/83025
* include/std/fstream (basic_filebuf::_If_path): Move to
namespace-scope and rename to _If_fs_path.
(basic_filebuf::open): Use new name.
(basic_ifstream(_Path, ios::openmode))
(basic_ifstream::open(_Path, ios::openmode))
(basic_ofstream(_Path, ios::openmode))
(basic_ofstream::open(_Path, ios::openmode))
(basic_fstream(_Path, ios::openmode))
(basic_fstream::open(_Path, ios::openmode)): Use _If_fs_path.
* testsuite/27_io/basic_filebuf/open/char/path.cc: Test with filename
as non-const char*.
* testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise.
* testsuite/27_io/basic_fstream/open/char/path.cc: Likewise.
* testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise.
* testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise.
* testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise.
* testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise.
From-SVN: r254871
2017-11-17 14:07:58 +00:00
Marc Glisse
c261ba2c8b
Tweak vector::_M_realloc_insert for code size
...
2017-11-17 Marc Glisse <marc.glisse@inria.fr>
* include/bits/vector.tcc (vector::_M_realloc_insert): Cache old
values before the allocation.
From-SVN: r254849
2017-11-16 23:51:20 +00:00
Jason Merrill
aef0c806eb
Remove wrong ChangeLog entry
...
From-SVN: r254831
2017-11-16 11:24:53 -05:00
Jonathan Wakely
a930324dab
Add noexcept to std::shared_future copy operations (LWG DR 2799)
...
* include/std/future (shared_future): Add noexcept to copy constructor
and copy-assignment operator (LWG 2799).
From-SVN: r254821
2017-11-16 14:39:41 +00:00
Jason Merrill
00a2022a67
* include/std/numeric (gcd): Fix typo.
...
From-SVN: r254794
2017-11-16 00:13:16 -05:00
Ville Voutilainen
865a86a0fd
Fix gcd breakage.
...
* include/std/numeric (gcd): Use remove_cv_t, not remove_cv.
From-SVN: r254785
2017-11-15 22:42:58 +02:00
Jonathan Wakely
4e6c429837
Minor improvements to Filesystem tests
...
* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Leave
error_code unset.
* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
Check for past-the-end before dereferencing.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: Likewise.
From-SVN: r254781
2017-11-15 18:22:43 +00:00
Jonathan Wakely
1949122881
Add noexcept to generic std::size, std::empty and std::data
...
* include/bits/range_access.h (size, empty, data): Add conditional
noexcept to generic overloads.
From-SVN: r254779
2017-11-15 17:50:42 +00:00
Ville Voutilainen
13545f19e0
Implement LWG 2733 and LWG 2759
...
* include/experimental/numeric (gcd): Reject cv-qualified bool.
(lcm): Likewise.
* include/std/numeric (gcd): Likewise.
(lcm): Likewise.
* testsuite/26_numerics/gcd/gcd_neg.cc: Add tests and adjust.
* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
From-SVN: r254736
2017-11-14 20:11:33 +02:00
Jonathan Wakely
d2e9196e5f
Fix typo in std::wbuffer_convert
...
* include/bits/locale_conv.h (wbuffer_convert::_M_conv_get): Fix typo.
* testsuite/22_locale/conversions/buffer/3.cc: New test.
From-SVN: r254735
2017-11-14 18:00:53 +00:00
Jonathan Wakely
34c71b8b3a
Minor tweak to libstdc++ testsuite helper type
...
* testsuite/util/testsuite_tr1.h (ThrowMoveConsClass): Use noexcept.
From-SVN: r254644
2017-11-11 00:10:07 +00:00
Jonathan Wakely
54df588530
PR libstdc++/82917 add missing returns in <fstream>
...
PR libstdc++/82917
* include/std/fstream (basic_ifstream::open, basic_ofstream::open)
(basic_fstream::open): Fix missing return.
From-SVN: r254638
2017-11-10 21:43:24 +00:00
Jonathan Wakely
d8dcc3a67d
Check for S_ISSOCK before use
...
* src/filesystem/ops-common.h (make_file_type) [S_ISSOCK]: Only use
S_ISSOCK when defined.
From-SVN: r254506
2017-11-07 19:08:06 +00:00
François Dumont
187e8ee733
tr1.cc: Compile with -O0.
...
2017-11-06 François Dumont <fdumont@gcc.gnu.org>
* testsuite/libstdc++-prettyprinters/tr1.cc: Compile with -O0.
From-SVN: r254477
2017-11-06 21:15:48 +00:00
Martin Liska
454f8b2b0c
Fix -Wreturn-type fallout.
...
2017-11-06 Martin Liska <mliska@suse.cz>
* c-c++-common/cilk-plus/AN/pr57541-2.c (foo1): Return a value
for functions with non-void return type, or change type to void,
or add -Wno-return-type for test.
(foo2): Likewise.
* c-c++-common/cilk-plus/AN/pr57541.c (foo): Likewise.
(foo1): Likewise.
* c-c++-common/cilk-plus/CK/errors.c: Likewise.
* c-c++-common/cilk-plus/CK/pr60197.c: Likewise.
* c-c++-common/cilk-plus/CK/spawn_in_return.c: Likewise.
* c-c++-common/fold-masked-cmp-1.c (test_pic): Likewise.
(test_exe): Likewise.
* c-c++-common/fold-masked-cmp-2.c (test_exe): Likewise.
* g++.dg/cilk-plus/AN/builtin_fn_mutating_tplt.cc (my_func): Likewise.
* g++.dg/cilk-plus/CK/pr68997.cc (fa2): Likewise.
* g++.dg/eh/sighandle.C (dosegv): Likewise.
* g++.dg/ext/vector14.C (foo): Likewise.
(main): Likewise.
* g++.dg/graphite/pr41305.C: Likewise.
* g++.dg/graphite/pr42930.C: Likewise.
* g++.dg/opt/pr46640.C (struct QBasicAtomicInt): Likewise.
(makeDir): Likewise.
* g++.dg/other/i386-8.C (foo): Likewise.
* g++.dg/pr45788.C: Likewise.
* g++.dg/pr64688.C (at_c): Likewise.
* g++.dg/pr65032.C (G::DecodeVorbis): Likewise.
* g++.dg/pr71633.C (c3::fn2): Likewise.
* g++.dg/stackprotectexplicit2.C (A): Likewise.
* g++.old-deja/g++.law/weak.C (main): Likewise.
2017-11-06 Martin Liska <mliska@suse.cz>
* testsuite/libgomp.c++/loop-2.C: Return a value
for functions with non-void return type, or change type to void,
or add -Wno-return-type for test.
* testsuite/libgomp.c++/loop-4.C: Likewise.
* testsuite/libgomp.c++/parallel-1.C: Likewise.
* testsuite/libgomp.c++/shared-1.C: Likewise.
* testsuite/libgomp.c++/single-1.C: Likewise.
* testsuite/libgomp.c++/single-2.C: Likewise.
2017-11-06 Martin Liska <mliska@suse.cz>
* testsuite/27_io/basic_fstream/cons/char/path.cc (main):
Return a value for functions with non-void return type,
or change type to void, or add -Wno-return-type for test.
* testsuite/27_io/basic_ifstream/cons/char/path.cc (main):
Likewise.
* testsuite/27_io/basic_ofstream/open/char/path.cc (main):
Likewise.
From-SVN: r254451
2017-11-06 13:41:35 +00:00
Paolo Carlini
98910bc2b9
deduction.cc: Avoid -Wreturn-type warnings.
...
2017-11-06 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/optional/cons/deduction.cc: Avoid -Wreturn-type
warnings.
* testsuite/20_util/pair/cons/deduction.cc: Likewise.
* testsuite/20_util/pair/traits.cc: Likewise.
* testsuite/20_util/tuple/cons/deduction.cc: Likewise.
* testsuite/20_util/variant/compile.cc: Likewise.
* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
Likewise.
From-SVN: r254450
2017-11-06 12:55:35 +00:00
Gerald Pfeifer
ba89e5d5a7
* doc/xml/manual/abi.xml: Move docs.oracle.com references to https.
...
From-SVN: r254426
2017-11-05 11:14:38 +00:00
Jonathan Wakely
e641ee437f
Define std::endian for C++2a (P0463R1)
...
* include/std/type_traits (endian): Define new enumeration type.
* testsuite/20_util/endian/1.cc: New test.
From-SVN: r254381
2017-11-03 15:45:49 +00:00
Jonathan Wakely
97695d99b0
Remove _Node_insert_return::get() member functions (P0508R0)
...
* include/bits/node_handle.h (_Node_insert_return::get): Remove, as
per P0508R0.
From-SVN: r254368
2017-11-03 11:04:45 +00:00
François Dumont
86397ed17c
printers.py (StdExpAnyPrinter.__init__): Strip typename versioned namespace before the substitution.
...
2017-11-01 François Dumont <fdumont@gcc.gnu.org>
* python/libstdcxx/v6/printers.py (StdExpAnyPrinter.__init__): Strip
typename versioned namespace before the substitution.
(StdExpOptionalPrinter.__init__): Likewise.
(StdVariantPrinter.__init__): Likewise.
(Printer.add_version): Inject versioned namespace after std or
__gnu_cxx.
(build_libstdcxx_dictionary): Adapt add_version usages, always pass
namespace first and symbol second.
From-SVN: r254320
2017-11-01 17:52:05 +00:00
Jonathan Wakely
50e248f0c8
PR libstdc++/82777 fix path normalization for dot-dot
...
PR libstdc++/82777
* src/filesystem/std-path.cc (path::lexically_normal): Remove dot-dot
elements correctly.
* testsuite/27_io/filesystem/path/generation/normal.cc: Add testcase.
* testsuite/util/testsuite_fs.h (compare_paths): Improve exception
text.
From-SVN: r254317
2017-11-01 17:09:14 +00:00
Jonathan Wakely
97b99f9c77
Don't create broken symlink in libstdc++-v3/include/bits
...
* include/Makefile.am (stamp-bits-sup): Do not create broken symlink
to stamp-bits.
* include/Makefile.in: Regenerate.
From-SVN: r254229
2017-10-30 16:28:13 +00:00
Jonathan Wakely
0a6e98b78b
Remove ios_mode::trunc from basic_ofstream openmode arguments
...
* include/std/fstream (basic_ifstream, basic_ofstream, basic_fstream):
Remove outdated comments about calling c_str() to create a file stream
from a std::string.
(basic_ofstream::basic_ofstream, basic_ofstream::open): Remove
redundant ios_mode::trunc bits from default arguments and comments.
From-SVN: r254226
2017-10-30 15:35:02 +00:00
Jonathan Wakely
932bfa9bc7
Minor tweak to libstdc++ FAQ
...
* doc/xml/faq.xml: Adjust "What is libstdc++?" answer slightly.
From-SVN: r254224
2017-10-30 14:56:23 +00:00
Jonathan Wakely
02a2c6303f
Minor header reorganization for unordered containers
...
* include/bits/hashtable_policy.h: Include <tuple>.
* include/std/unordered_map: Only include <bits/stl_pair.h> instead
of <utility> and <tuple>.
* include/std/unordered_set: Likewise.
From-SVN: r254223
2017-10-30 14:54:28 +00:00
Ville Voutilainen
ccbbf8df05
Implement LWG 2485
...
* include/debug/array (get(const array<_Tp, _Nm>&&)): New.
* include/std/array (get(const array<_Tp, _Nm>&&)): Likewise.
* include/std/tuple (get(const tuple<_Elements...>&&)): Likewise.
(get(const tuple<_Types...>&&)): Likewise.
* include/std/utility
(__pair_get::__const_move_get(const std::pair<_Tp1, _Tp2>&&)):
Likewise.
(get(const std::pair<_Tp1, _Tp2>&&)): Likewise.
(get(const pair<_Tp, _Up>&&)): Likewise.
(get(const pair<_Up, _Tp>&&)): Likewise.
* testsuite/20_util/pair/astuple/get.cc: Add tests for
new overloads.
* testsuite/20_util/pair/astuple/get_by_type.cc: Likewise.
* testsuite/20_util/tuple/element_access/get2.cc: Likewise.
* testsuite/20_util/tuple/element_access/get2_by_type.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/get.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
Adjust.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.
From-SVN: r254222
2017-10-30 16:31:04 +02:00
Jonathan Wakely
6c6705a904
Simplify _Node_insert_return to avoid including <tuple>
...
* include/bits/node_handle.h (_Node_insert_return::get): Avoid
use of std::tie and std::get.
From-SVN: r254162
2017-10-27 18:49:36 +01:00
Jonathan Wakely
5880ce184a
List headers in Makefile in alphabetical order
...
* include/Makefile.am: Put headers in alphabetical order.
* include/Makefile.in: Regenerate.
From-SVN: r254161
2017-10-27 18:49:32 +01:00
Jonathan Wakely
29453a9ffd
Remove noexcept from filesystem iterators and operations (LWG 3013, 3014)
...
* include/bits/fs_dir.h (directory_iterator): Remove noexcept from
constructors and increment member (LWG 3013).
(recursive_directory_iterator): Likewise.
* include/bits/fs_ops.h (copy, copy_file, create_directories)
(is_empty, remove_all): Remove noexcept (LWG 3013 and LWG 3014).
* src/filesystem/std-dir.cc (directory_iterator::increment)
(recursive_directory_iterator::increment): Remove noexcept.
* src/filesystem/std-ops.cc (copy, copy_file, create_directories)
(is_empty, remove_all): Remove noexcept
From-SVN: r254160
2017-10-27 18:49:29 +01:00
Jonathan Wakely
9a3effa411
Make filesystem::file_status default constructor non-explicit (LWG 2787)
...
* include/bits/fs_dir.h (file_status): Make default constructor
non-explicit (LWG 2787).
* testsuite/27_io/filesystem/file_status/1.cc: New test.
* testsuite/experimental/filesystem/file_status/1.cc: New test.
From-SVN: r254159
2017-10-27 18:49:21 +01:00
Jonathan Wakely
d49f254a6c
Provide filesystem::path overloads for file streams (LWG 2676, partial)
...
* include/std/fstream (basic_filebuf::_If_path): New SFINAE helper.
(basic_filebuf::open<Path>(const Path&, const ios_base::openmode&))
(basic_ifstream<Path>(const Path&, const ios_base::openmode&))
(basic_ifstream::open<Path>(const Path&, const ios_base::openmode&))
(basic_ofstream<Path>(const Path&, const ios_base::openmode&))
(basic_ofstream::open<Path>(const Path&, const ios_base::openmode&))
(basic_fstream<Path>(const Path&, const ios_base::openmode&))
(basic_fstream::open<Path>(const Path&, const ios_base::openmode&)):
New constructors and member functions.
* testsuite/27_io/basic_filebuf/open/char/path.cc: New test.
* testsuite/27_io/basic_fstream/cons/char/path.cc: New test.
* testsuite/27_io/basic_fstream/open/char/path.cc: New test.
* testsuite/27_io/basic_ifstream/cons/char/path.cc: New test.
* testsuite/27_io/basic_ifstream/open/char/path.cc: New test.
* testsuite/27_io/basic_ofstream/cons/char/path.cc: New test.
* testsuite/27_io/basic_ofstream/open/char/path.cc: New test.
From-SVN: r254148
2017-10-27 13:39:01 +01:00
Jonathan Wakely
0348dd008a
Define std::filesystem::path::format enum (P0430R2)
...
* include/bits/fs_path.h (path::format): Define new enumeration type.
(path(string_type&&), path<Source>(const Source&))
(path<InputIterator>(InputIterator, InputIterator))
(path<Source>(const Source&, const locale&))
(path<InputIterator>(InputIterator, InputIterator, const locale&)):
Add format parameter.
* testsuite/27_io/filesystem/path/construct/format.cc: New test.
From-SVN: r254144
2017-10-27 13:01:49 +01:00