From c222eabcf8be0e3f644e4bd4c3316b40dba4b514 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Tue, 10 Mar 2020 10:50:40 +0000 Subject: [PATCH] libstdc++: Fix invalid noexcept-specifier (PR 94117) G++ fails to diagnose this non-dependent expression, but Clang doesn't like it. PR c++/94117 * include/std/ranges (ranges::transform_view::_Iterator::iter_move): Change expression in noexcept-specifier to match function body. --- libstdc++-v3/ChangeLog | 4 ++++ libstdc++-v3/include/std/ranges | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index bd4b7a80999..9dbc8516457 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,9 @@ 2020-03-10 Jonathan Wakely + PR c++/94117 + * include/std/ranges (ranges::transform_view::_Iterator::iter_move): + Change expression in noexcept-specifier to match function body. + * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Add comment explaining multiple dg-do directives. * testsuite/24_iterators/ostream_iterator/1.cc: Fix do-do directive diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges index eb54b110c04..292132db990 100644 --- a/libstdc++-v3/include/std/ranges +++ b/libstdc++-v3/include/std/ranges @@ -1837,7 +1837,7 @@ namespace views { return __x._M_current - __y._M_current; } friend constexpr decltype(auto) - iter_move(const _Iterator& __i) noexcept(noexcept(__iter_move())) + iter_move(const _Iterator& __i) noexcept(noexcept(__iter_move(__i))) { return __iter_move(__i); } friend constexpr void -- 2.30.2