From 0382bcfcda056493544fc1bfa25030e19f465498 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Tue, 5 Dec 2017 10:23:26 -0500 Subject: [PATCH] Correct noexcept mismatch in declarations. 2017-12-05 Jason Merrill Jonathan Wakely * 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 From-SVN: r255425 --- libstdc++-v3/ChangeLog | 9 +++++++++ libstdc++-v3/include/bits/fs_fwd.h | 6 +++--- libstdc++-v3/include/bits/fs_ops.h | 2 +- libstdc++-v3/libsupc++/eh_throw.cc | 6 ++++-- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 63a2dc71b43..34ec0b5ff34 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2017-12-05 Jason Merrill + Jonathan Wakely + + * 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. + 2017-12-04 Jonathan Wakely * include/bits/regex_compiler.tcc: Use C-style comment to work around diff --git a/libstdc++-v3/include/bits/fs_fwd.h b/libstdc++-v3/include/bits/fs_fwd.h index f408a39b974..66b0d20f027 100644 --- a/libstdc++-v3/include/bits/fs_fwd.h +++ b/libstdc++-v3/include/bits/fs_fwd.h @@ -300,11 +300,11 @@ _GLIBCXX_END_NAMESPACE_CXX11 void copy(const path& __from, const path& __to, copy_options __options); void copy(const path& __from, const path& __to, copy_options __options, - error_code&) noexcept; + error_code&); bool copy_file(const path& __from, const path& __to, copy_options __option); bool copy_file(const path& __from, const path& __to, copy_options __option, - error_code&) noexcept; + error_code&); path current_path(); @@ -319,7 +319,7 @@ _GLIBCXX_END_NAMESPACE_CXX11 file_time_type last_write_time(const path&); file_time_type last_write_time(const path&, error_code&) noexcept; - void permissions(const path&, perms, perm_options, error_code&); + void permissions(const path&, perms, perm_options, error_code&) noexcept; path proximate(const path& __p, const path& __base, error_code& __ec); path proximate(const path& __p, const path& __base, error_code& __ec); diff --git a/libstdc++-v3/include/bits/fs_ops.h b/libstdc++-v3/include/bits/fs_ops.h index 075d61e2a63..22422bd1f4d 100644 --- a/libstdc++-v3/include/bits/fs_ops.h +++ b/libstdc++-v3/include/bits/fs_ops.h @@ -253,7 +253,7 @@ namespace filesystem void permissions(const path& __p, perms __prms, perm_options __opts, - error_code& __ec); + error_code& __ec) noexcept; inline path proximate(const path& __p, error_code& __ec) { return proximate(__p, current_path(), __ec); } diff --git a/libstdc++-v3/libsupc++/eh_throw.cc b/libstdc++-v3/libsupc++/eh_throw.cc index 13428d92da7..daf134993d3 100644 --- a/libstdc++-v3/libsupc++/eh_throw.cc +++ b/libstdc++-v3/libsupc++/eh_throw.cc @@ -53,8 +53,10 @@ __gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc) } extern "C" __cxa_refcounted_exception* -__cxxabiv1::__cxa_init_primary_exception(void *obj, std::type_info *tinfo, - void (_GLIBCXX_CDTOR_CALLABI *dest) (void *)) +__cxxabiv1:: +__cxa_init_primary_exception(void *obj, std::type_info *tinfo, + void (_GLIBCXX_CDTOR_CALLABI *dest) (void *)) +_GLIBCXX_NOTHROW { __cxa_refcounted_exception *header = __get_refcounted_exception_header_from_obj (obj); -- 2.30.2