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.

Tested x86_64-linux, committed to master.


commit c222eabcf8be0e3f644e4bd4c3316b40dba4b514
Author: Jonathan Wakely <jwak...@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 --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

Reply via email to