libstdc++: Fix non-reserved names in headers
authorJonathan Wakely <jwakely@redhat.com>
Wed, 7 Oct 2020 23:05:53 +0000 (00:05 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Wed, 7 Oct 2020 23:05:53 +0000 (00:05 +0100)
My recent changes to std::exception_ptr moved some members to be inline
in the header but didn't replace the variable names with reserved names.

The "tmp" variable must be fixed. The "other" parameter is actually a
reserved name because of std::allocator<T>::rebind<U>::other but should
be fixed anyway.

There are also some bad uses of "ForwardIterator" in <ranges>.

There's also a "il" parameter in a std::seed_seq constructor in <random>
which is only reserved since C++14.

libstdc++-v3/ChangeLog:

* include/bits/random.h (seed_seq(initializer_list<T>)): Rename
parameter to use reserved name.
* include/bits/ranges_algo.h (shift_left, shift_right): Rename
template parameters to use reserved name.
* libsupc++/exception_ptr.h (exception_ptr): Likewise for
parameters and local variables.
* testsuite/17_intro/names.cc: Check "il". Do not check "d" and
"y" in C++20 mode.

libstdc++-v3/include/bits/random.h
libstdc++-v3/include/bits/ranges_algo.h
libstdc++-v3/libsupc++/exception_ptr.h
libstdc++-v3/testsuite/17_intro/names.cc

index 19307fbc3ca401976ef6823e8fda893e4a263751..4a6558c966a2385072b4a2c7a43d068af9027e50 100644 (file)
@@ -6063,7 +6063,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { }
 
     template<typename _IntType>
-      seed_seq(std::initializer_list<_IntType> il);
+      seed_seq(std::initializer_list<_IntType> __il);
 
     template<typename _InputIterator>
       seed_seq(_InputIterator __begin, _InputIterator __end);
index 61673e38fa69153675f386eef14b4dfd550637ab..f1a4cc24c0d59d9872bda619b362a7cc249192c7 100644 (file)
@@ -3696,10 +3696,10 @@ namespace ranges
 } // namespace ranges
 
 #define __cpp_lib_shift 201806L
-  template<class ForwardIterator>
-    constexpr ForwardIterator
-    shift_left(ForwardIterator __first, ForwardIterator __last,
-              typename iterator_traits<ForwardIterator>::difference_type __n)
+  template<typename _ForwardIterator>
+    constexpr _ForwardIterator
+    shift_left(_ForwardIterator __first, _ForwardIterator __last,
+              typename iterator_traits<_ForwardIterator>::difference_type __n)
     {
       __glibcxx_assert(__n >= 0);
       if (__n == 0)
@@ -3711,16 +3711,17 @@ namespace ranges
       return std::move(std::move(__mid), std::move(__last), std::move(__first));
     }
 
-  template<class ForwardIterator>
-    constexpr ForwardIterator
-    shift_right(ForwardIterator __first, ForwardIterator __last,
-               typename iterator_traits<ForwardIterator>::difference_type __n)
+  template<typename _ForwardIterator>
+    constexpr _ForwardIterator
+    shift_right(_ForwardIterator __first, _ForwardIterator __last,
+               typename iterator_traits<_ForwardIterator>::difference_type __n)
     {
       __glibcxx_assert(__n >= 0);
       if (__n == 0)
        return __first;
 
-      using _Cat = typename iterator_traits<ForwardIterator>::iterator_category;
+      using _Cat
+       = typename iterator_traits<_ForwardIterator>::iterator_category;
       if constexpr (derived_from<_Cat, bidirectional_iterator_tag>)
        {
          auto __mid = ranges::next(__last, -__n, __first);
index a053122d48e7cee7e2241c41805d83df08a110d6..4497d0e8581b759ddc524dfed7068ae8dd5c01d4 100644 (file)
@@ -180,8 +180,9 @@ namespace std
 #ifndef _GLIBCXX_EH_PTR_COMPAT
     inline
 #endif
-    exception_ptr::exception_ptr(const exception_ptr& other) _GLIBCXX_NOEXCEPT
-    : _M_exception_object(other._M_exception_object)
+    exception_ptr::exception_ptr(const exception_ptr& __other)
+      _GLIBCXX_NOEXCEPT
+    : _M_exception_object(__other._M_exception_object)
     {
       if (_M_exception_object)
        _M_addref();
@@ -200,9 +201,9 @@ namespace std
     inline
 #endif
     exception_ptr&
-    exception_ptr::operator=(const exception_ptr& other) _GLIBCXX_USE_NOEXCEPT
+    exception_ptr::operator=(const exception_ptr& __other) _GLIBCXX_USE_NOEXCEPT
     {
-      exception_ptr(other).swap(*this);
+      exception_ptr(__other).swap(*this);
       return *this;
     }
 
@@ -210,11 +211,11 @@ namespace std
     inline
 #endif
     void
-    exception_ptr::swap(exception_ptr &other) _GLIBCXX_USE_NOEXCEPT
+    exception_ptr::swap(exception_ptr &__other) _GLIBCXX_USE_NOEXCEPT
     {
-      void *tmp = _M_exception_object;
-      _M_exception_object = other._M_exception_object;
-      other._M_exception_object = tmp;
+      void *__tmp = _M_exception_object;
+      _M_exception_object = __other._M_exception_object;
+      __other._M_exception_object = __tmp;
     }
 
 #ifdef _GLIBCXX_EH_PTR_COMPAT
index 2b6c3eb017dd5b63d89e5557972025e384a15ebd..5a61c97e9899e9960692915a89080384f7e998ba 100644 (file)
 #define b (
 #endif
 // <queue> and <stack> defined data members called c
-#define d (
 #if __cplusplus <= 201703L
-// <numbers> defines std::numbers::e
+// <chrono> defines operator""d in C++20
+#define d (
+// <numbers> defines std::numbers::e in C++20
 #define e (
 #endif
 #define f (
 #define v (
 #define w (
 #define x (
+#if __cplusplus <= 201703L
+// <chrono> defines operator""y in C++20
 #define y (
+#endif
 #define z (
 
 #define tmp (
 #define uses_allocator  (
 #endif
 
+#if __cplusplus < 201402L
+// <complex> defines operator""il
+#define il  (
+#endif
+
 #if __cplusplus < 201703L
 // <charconv> defines to_chars_result::ptr and to_chars_result::ec
 #define ec (