]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Add _GLIBCXX_RESOLVE_LIB_DEFECTS comments for 2023 issues.
authorTomasz Kamiński <tkaminsk@redhat.com>
Mon, 6 Jul 2026 14:35:46 +0000 (16:35 +0200)
committerTomasz Kamiński <tkaminsk@redhat.com>
Tue, 7 Jul 2026 12:28:18 +0000 (14:28 +0200)
Covers issues affecting pre-C++23 features that was accepted during
meetings in year 2023.

libstdc++-v3/ChangeLog:

* include/bits/version.def (allocate_at_least): Add comment
listing papers adding values and LWG3887.
* include/bits/stl_iterator.h: Add comment for LWG3953.
* include/std/format: Add comment for LWG3892.
* include/std/type_traits: Add comment for LWG3655.

libstdc++-v3/include/bits/stl_iterator.h
libstdc++-v3/include/bits/version.def
libstdc++-v3/include/std/format
libstdc++-v3/include/std/type_traits

index 747e4a44c274d09ce46ce782035374952e32b8e3..f5f2abbb8b6ba6a5a83fb011c4fdd268e6d962ea 100644 (file)
@@ -2131,6 +2131,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       return *this;
     }
 
+    // _GLIBCXX_RESOLVE_LIB_DEFECTS
+    // 3953. iter_move for common_iterator and ... should return decltype(auto)
     constexpr decltype(auto)
     operator++(int)
     {
@@ -2454,6 +2456,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        return *this;
       }
 
+      // _GLIBCXX_RESOLVE_LIB_DEFECTS
+      // 3953. iter_move for ... and counted_iterator should return decltype(auto)
       constexpr decltype(auto)
       operator++(int)
       {
index 81484ad2f75ded959189e5ff08fa361a69a3c29f..d14d4f4ef25f865f0ea4ead59d71f54761a6ef7b 100644 (file)
@@ -89,6 +89,9 @@ ftms = {
 };
 
 ftms = {
+  // 202106 P0401R6 Providing size feedback in the Allocator interface
+  // 202302 P2652R2 Disallow user specialization of allocator_traits
+  //        LWG3887 Version macro for allocate_at_least 
   name = allocate_at_least;
   values = {
     v = 202302;
index dd275b6b817375368c6daa036d9856efc017dd39..8e7702d76df6bd3386d1fb6fc04881c7f1cf41af 100644 (file)
@@ -5888,6 +5888,8 @@ namespace __format
       constexpr void
       _M_parse()
       {
+       // _GLIBCXX_RESOLVE_LIB_DEFECTS
+       // 3892. Incorrect formatting of nested ranges and tuples
        basic_format_parse_context<_CharT> __pc({});
        if (_M_formatter.parse(__pc) != __pc.end())
          __format::__failed_to_parse_format_spec();
@@ -6174,6 +6176,8 @@ namespace __format
 
         auto __parse_val = [&](_String_view __nfs = _String_view())
           {
+            // _GLIBCXX_RESOLVE_LIB_DEFECTS
+            // 3892. Incorrect formatting of nested ranges and tuples
             basic_format_parse_context<_CharT> __npc(__nfs);
             if (_M_fval.parse(__npc) != __npc.end())
               __format::__failed_to_parse_format_spec();
index c56fae4a5bf5c36892b803df52abdc1cf0e8171a..2b3f10016a293f1ee92ba2a50f0491777a52bf82 100644 (file)
@@ -2849,6 +2849,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     {
       using _Argval = __remove_cvref_t<_Arg>;
       using _MemPtr = _Res _Class::*;
+      // _GLIBCXX_RESOLVE_LIB_DEFECTS
+      // 3655. The INVOKE operation and union types
       using type = typename __conditional_t<__or_<is_same<_Argval, _Class>,
         is_base_of<_Class, _Argval>>::value,
         __result_of_memobj_ref<_MemPtr, _Arg>,