[gcc(refs/users/marxin/heads/vect_cond_expr-rework-v3)] libstdc++: Fix invalid noexcept-specifier (PR 94117)

Martin Liska marxin@gcc.gnu.org
Mon Mar 16 16:50:49 GMT 2020


https://gcc.gnu.org/g:c222eabcf8be0e3f644e4bd4c3316b40dba4b514

commit c222eabcf8be0e3f644e4bd4c3316b40dba4b514
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Mar 10 10:50:40 2020 +0000

    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.

Diff:
---
 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  <jwakely@redhat.com>
 
+	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


More information about the Libstdc++-cvs mailing list