Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
-- >8 --
Forgot to do this in my original patch.
gcc/c-family/ChangeLog:
* c-cppbuiltin.cc (c_cpp_builtins): Predefine
__cpp_pack_indexing=202311L for C++26.
gcc/testsuite/ChangeLog:
* g++.dg/cpp26/feat-cxx26.C (__cpp_pack_indexing): Add test.
---
gcc/c-family/c-cppbuiltin.cc | 1 +
gcc/testsuite/g++.dg/cpp26/feat-cxx26.C | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index c354c794b55..195f8ae5e40 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -1092,6 +1092,7 @@ c_cpp_builtins (cpp_reader *pfile)
cpp_define (pfile, "__cpp_structured_bindings=202403L");
cpp_define (pfile, "__cpp_deleted_function=202403L");
cpp_define (pfile, "__cpp_variadic_friend=202403L");
+ cpp_define (pfile, "__cpp_pack_indexing=202311L");
}
if (flag_concepts && cxx_dialect > cxx14)
cpp_define (pfile, "__cpp_concepts=202002L");
diff --git a/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C
b/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C
index c387a7dfe60..d74ff0e427b 100644
--- a/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C
+++ b/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C
@@ -622,3 +622,9 @@
#elif __cpp_variadic_friend != 202403
# error "__cpp_variadic_friend != 202403"
#endif
+
+#ifndef __cpp_pack_indexing
+# error "__cpp_pack_indexing"
+#elif __cpp_pack_indexing != 202311
+# error "__cpp_pack_indexing != 202311"
+#endif
base-commit: ab2cce593ef6085a5f517cdca2520c5c44acbfad
--
2.47.0