This causes an ICE as shown in the PR, but it should be fixed in the
library code anyway.

libstdc++-v3/ChangeLog:

        PR c++/120112
        * include/bits/ptr_traits.h (_Safe_iterator_base): Use class
        keyword in class-head of declaration.
        * include/debug/debug.h (_Safe_iterator): Likewise.
---

Pushed as obvious.

 libstdc++-v3/include/bits/ptr_traits.h | 2 +-
 libstdc++-v3/include/debug/debug.h     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/include/bits/ptr_traits.h 
b/libstdc++-v3/include/bits/ptr_traits.h
index 4308669e03b..91da88b8c13 100644
--- a/libstdc++-v3/include/bits/ptr_traits.h
+++ b/libstdc++-v3/include/bits/ptr_traits.h
@@ -36,7 +36,7 @@
 
 #if __cplusplus > 201703L
 #include <concepts>
-namespace __gnu_debug { struct _Safe_iterator_base; }
+namespace __gnu_debug { class _Safe_iterator_base; }
 #endif
 
 namespace std _GLIBCXX_VISIBILITY(default)
diff --git a/libstdc++-v3/include/debug/debug.h 
b/libstdc++-v3/include/debug/debug.h
index 0e02d58822a..0131c0aa59d 100644
--- a/libstdc++-v3/include/debug/debug.h
+++ b/libstdc++-v3/include/debug/debug.h
@@ -58,7 +58,7 @@ namespace __gnu_debug
   using namespace std::__debug;
 
   template<typename _Ite, typename _Seq, typename _Cat>
-    struct _Safe_iterator;
+    class _Safe_iterator;
 }
 
 #if ! defined _GLIBCXX_DEBUG || ! _GLIBCXX_HOSTED
-- 
2.49.0

Reply via email to