[libc++] Update __cpp_lib_flat_set to 202511L according to P3567R2#176297
Merged
[libc++] Update __cpp_lib_flat_set to 202511L according to P3567R2#176297
__cpp_lib_flat_set to 202511L according to P3567R2#176297Conversation
Member
|
@llvm/pr-subscribers-libcxx Author: A. Jiang (frederick-vs-ja) ChangesThe paper was already implemented in LLVM22 in Fixes #176232. Full diff: https://github.com/llvm/llvm-project/pull/176297.diff 5 Files Affected:
diff --git a/libcxx/docs/FeatureTestMacroTable.rst b/libcxx/docs/FeatureTestMacroTable.rst
index 32911d0f64449..26084f7a7793a 100644
--- a/libcxx/docs/FeatureTestMacroTable.rst
+++ b/libcxx/docs/FeatureTestMacroTable.rst
@@ -336,7 +336,7 @@ Status
---------------------------------------------------------- -----------------
``__cpp_lib_flat_map`` ``202511L``
---------------------------------------------------------- -----------------
- ``__cpp_lib_flat_set`` ``202207L``
+ ``__cpp_lib_flat_set`` ``202511L``
---------------------------------------------------------- -----------------
``__cpp_lib_format_ranges`` ``202207L``
---------------------------------------------------------- -----------------
diff --git a/libcxx/include/version b/libcxx/include/version
index d47f0cb6cd41c..c80e34284f191 100644
--- a/libcxx/include/version
+++ b/libcxx/include/version
@@ -112,7 +112,7 @@ __cpp_lib_execution 201902L <execution>
__cpp_lib_expected 202211L <expected>
__cpp_lib_filesystem 201703L <filesystem>
__cpp_lib_flat_map 202511L <flat_map>
-__cpp_lib_flat_set 202207L <flat_set>
+__cpp_lib_flat_set 202511L <flat_set>
__cpp_lib_format 202110L <format>
__cpp_lib_format_path 202403L <filesystem>
__cpp_lib_format_ranges 202207L <format>
@@ -498,7 +498,7 @@ __cpp_lib_void_t 201411L <type_traits>
# define __cpp_lib_containers_ranges 202202L
# define __cpp_lib_expected 202211L
# define __cpp_lib_flat_map 202511L
-# define __cpp_lib_flat_set 202207L
+# define __cpp_lib_flat_set 202511L
# define __cpp_lib_format_ranges 202207L
// # define __cpp_lib_formatters 202302L
# define __cpp_lib_forward_like 202207L
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
index b29da9fdbe649..725e5107c8997 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
@@ -67,8 +67,8 @@
# ifndef __cpp_lib_flat_set
# error "__cpp_lib_flat_set should be defined in c++23"
# endif
-# if __cpp_lib_flat_set != 202207L
-# error "__cpp_lib_flat_set should have the value 202207L in c++23"
+# if __cpp_lib_flat_set != 202511L
+# error "__cpp_lib_flat_set should have the value 202511L in c++23"
# endif
#elif TEST_STD_VER > 23
@@ -83,8 +83,8 @@
# ifndef __cpp_lib_flat_set
# error "__cpp_lib_flat_set should be defined in c++26"
# endif
-# if __cpp_lib_flat_set != 202207L
-# error "__cpp_lib_flat_set should have the value 202207L in c++26"
+# if __cpp_lib_flat_set != 202511L
+# error "__cpp_lib_flat_set should have the value 202511L in c++26"
# endif
#endif // TEST_STD_VER > 23
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
index aacccc0451693..31c3f1898ff83 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
@@ -5088,8 +5088,8 @@
# ifndef __cpp_lib_flat_set
# error "__cpp_lib_flat_set should be defined in c++23"
# endif
-# if __cpp_lib_flat_set != 202207L
-# error "__cpp_lib_flat_set should have the value 202207L in c++23"
+# if __cpp_lib_flat_set != 202511L
+# error "__cpp_lib_flat_set should have the value 202511L in c++23"
# endif
# if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT
@@ -6833,8 +6833,8 @@
# ifndef __cpp_lib_flat_set
# error "__cpp_lib_flat_set should be defined in c++26"
# endif
-# if __cpp_lib_flat_set != 202207L
-# error "__cpp_lib_flat_set should have the value 202207L in c++26"
+# if __cpp_lib_flat_set != 202511L
+# error "__cpp_lib_flat_set should have the value 202511L in c++26"
# endif
# if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT
diff --git a/libcxx/utils/generate_feature_test_macro_components.py b/libcxx/utils/generate_feature_test_macro_components.py
index a847042bf47c0..71bddc79ef488 100644
--- a/libcxx/utils/generate_feature_test_macro_components.py
+++ b/libcxx/utils/generate_feature_test_macro_components.py
@@ -562,7 +562,7 @@ def add_version_header(tc):
},
{
"name": "__cpp_lib_flat_set",
- "values": {"c++23": 202207},
+ "values": {"c++23": 202511},
"headers": ["flat_set"],
},
{
|
This comment was marked as resolved.
This comment was marked as resolved.
The paper was already implemented in LLVM22 in cd13170. But the previous patch forgot updating `__cpp_lib_flat_set`.
bce559e to
5ed032f
Compare
huixie90
approved these changes
Jan 17, 2026
Member
huixie90
left a comment
There was a problem hiding this comment.
LGTM! Thanks for the change. Let's cherry-pick to LLVM 22
ldionne
approved these changes
Jan 19, 2026
Member
|
/cherry-pick bf6e986 |
Member
|
/pull-request #176814 |
c-rhodes
pushed a commit
to llvmbot/llvm-project
that referenced
this pull request
Jan 20, 2026
llvm#176297) The paper was already implemented in LLVM22 in cd13170, but the previous patch forgot to update `__cpp_lib_flat_set`. Fixes llvm#176232. (cherry picked from commit bf6e986)
BStott6
pushed a commit
to BStott6/llvm-project
that referenced
this pull request
Jan 22, 2026
llvm#176297) The paper was already implemented in LLVM22 in cd13170, but the previous patch forgot to update `__cpp_lib_flat_set`. Fixes llvm#176232.
This was referenced Jan 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The paper was already implemented in LLVM22 in cd13170. But the previous patch forgot updating
__cpp_lib_flat_set.Fixes #176232.