]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
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>
Thu, 8 Oct 2020 00:35:43 +0000 (01:35 +0100)
Fix 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.
* testsuite/17_intro/names.cc: Check "il". Do not check "d" and
"y" in C++20 mode.

(cherry picked from commit 23f75da95f5e8e09e9fcbd5b0d2885e6c44739aa)

libstdc++-v3/include/bits/random.h
libstdc++-v3/include/bits/ranges_algo.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 33c6778db4773a4543c187bf195e92aca83ce241..4d4f7401615e9e58e645ce431fa33e3e4a58cda0 100644 (file)
@@ -3693,10 +3693,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)
@@ -3708,16 +3708,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 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 (