Now that the G++ bug is fixed we no longer need to protect this partial
specialization from complaining about subtracting void pointers.

libstdc++-v3/ChangeLog:

        * include/bits/iterator_concepts.h (incrementable_traits<Tp>):
        Remove workaround for PR c++/78173.

Tested powerpc64le-linux. Committed to trunk.

commit fa452a843d26a64a5ca0fd7c17ea1bd6e1b81a69
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Tue Dec 15 11:40:07 2020

    libstdc++: Remove workaround for PR c++/78173
    
    Now that the G++ bug is fixed we no longer need to protect this partial
    specialization from complaining about subtracting void pointers.
    
    libstdc++-v3/ChangeLog:
    
            * include/bits/iterator_concepts.h (incrementable_traits<Tp>):
            Remove workaround for PR c++/78173.

diff --git a/libstdc++-v3/include/bits/iterator_concepts.h 
b/libstdc++-v3/include/bits/iterator_concepts.h
index 6668caa8185..414a81e7249 100644
--- a/libstdc++-v3/include/bits/iterator_concepts.h
+++ b/libstdc++-v3/include/bits/iterator_concepts.h
@@ -163,10 +163,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   template<typename _Tp>
     requires (!requires { typename _Tp::difference_type; }
              && requires(const _Tp& __a, const _Tp& __b)
-             {
-               requires (!is_void_v<remove_pointer_t<_Tp>>); // PR c++/78173
-               { __a - __b } -> integral;
-             })
+             { { __a - __b } -> integral; })
     struct incrementable_traits<_Tp>
     {
       using difference_type

Reply via email to