libstdc++: Update __cpp_lib_function_ref value for P3948R1.

Message ID 20260408154355.334967-1-tkaminsk@redhat.com
State New
Headers
Series libstdc++: Update __cpp_lib_function_ref value for P3948R1. |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 fail Patch failed to apply
linaro-tcwg-bot/tcwg_gcc_build--master-arm fail Patch failed to apply

Commit Message

Tomasz Kaminski April 8, 2026, 3:43 p.m. UTC
  SG-10 agreed on using 202604L value for paper P3961R0 that
also updates __cpp_lib_function_ref macro.

libstdc++-v3/ChangeLog:

	* include/bits/version.def (function_ref): Bump to 202603L.
	* include/bits/version.h: Regenerate.
	* testsuite/20_util/function_ref/assign.cc: Remove repeated
	check for feature test macro.
	* testsuite/20_util/function_ref/cons.cc: Updated checked
	value.
---
Lightly tested on x86_64-linux. OK for trunk?


 libstdc++-v3/include/bits/version.def                 | 5 ++++-
 libstdc++-v3/include/bits/version.h                   | 4 ++--
 libstdc++-v3/testsuite/20_util/function_ref/assign.cc | 6 ------
 libstdc++-v3/testsuite/20_util/function_ref/cons.cc   | 2 +-
 4 files changed, 7 insertions(+), 10 deletions(-)
  

Patch

diff --git a/libstdc++-v3/include/bits/version.def b/libstdc++-v3/include/bits/version.def
index f5d1ee5c3ac..a918485a846 100644
--- a/libstdc++-v3/include/bits/version.def
+++ b/libstdc++-v3/include/bits/version.def
@@ -1961,9 +1961,12 @@  ftms = {
 };
 
 ftms = {
+  // 202306 P0792R14 function_ref: a non-owning reference to a Callable
+  // 202511 P3774R1  Rename std::nontype, and make it broadly useful
+  // 202603 P3948R1  constant_wrapper is the only tool needed for passing...
   name = function_ref;
   values = {
-    v = 202306;
+    v = 202603;
     cxxmin = 26;
   };
 };
diff --git a/libstdc++-v3/include/bits/version.h b/libstdc++-v3/include/bits/version.h
index 086cf69041e..c6a5a6fd419 100644
--- a/libstdc++-v3/include/bits/version.h
+++ b/libstdc++-v3/include/bits/version.h
@@ -2183,9 +2183,9 @@ 
 
 #if !defined(__cpp_lib_function_ref)
 # if (__cplusplus >  202302L)
-#  define __glibcxx_function_ref 202306L
+#  define __glibcxx_function_ref 202603L
 #  if defined(__glibcxx_want_all) || defined(__glibcxx_want_function_ref)
-#   define __cpp_lib_function_ref 202306L
+#   define __cpp_lib_function_ref 202603L
 #  endif
 # endif
 #endif /* !defined(__cpp_lib_function_ref) */
diff --git a/libstdc++-v3/testsuite/20_util/function_ref/assign.cc b/libstdc++-v3/testsuite/20_util/function_ref/assign.cc
index 9b02dc49c2a..ac96cecb477 100644
--- a/libstdc++-v3/testsuite/20_util/function_ref/assign.cc
+++ b/libstdc++-v3/testsuite/20_util/function_ref/assign.cc
@@ -2,12 +2,6 @@ 
 
 #include <functional>
 
-#ifndef __cpp_lib_function_ref
-# error "Feature-test macro for function_ref missing in <functional>"
-#elif __cpp_lib_function_ref != 202306L
-# error "Feature-test macro for function_ref has wrong value in <functional>"
-#endif
-
 using std::nontype;
 using std::nontype_t;
 using std::function_ref;
diff --git a/libstdc++-v3/testsuite/20_util/function_ref/cons.cc b/libstdc++-v3/testsuite/20_util/function_ref/cons.cc
index a91f5ba3dab..d2c097c6361 100644
--- a/libstdc++-v3/testsuite/20_util/function_ref/cons.cc
+++ b/libstdc++-v3/testsuite/20_util/function_ref/cons.cc
@@ -5,7 +5,7 @@ 
 
 #ifndef __cpp_lib_function_ref
 # error "Feature-test macro for function_ref missing in <functional>"
-#elif __cpp_lib_function_ref != 202306L
+#elif __cpp_lib_function_ref != 202603L
 # error "Feature-test macro for function_ref has wrong value in <functional>"
 #endif