libstdc++: Fix invalid noexcept-specifier (PR 94117)
authorJonathan Wakely <jwakely@redhat.com>
Tue, 10 Mar 2020 10:50:40 +0000 (10:50 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 10 Mar 2020 10:52:25 +0000 (10:52 +0000)
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
libstdc++-v3/include/std/ranges

index bd4b7a8..9dbc851 100644 (file)
@@ -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
index eb54b11..292132d 100644 (file)
@@ -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