Skip to content

Commit 6114724

Browse files
committed
CI
1 parent c65a37e commit 6114724

File tree

14 files changed

+155
-10
lines changed

14 files changed

+155
-10
lines changed

libcxx/docs/ReleaseNotes/21.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Implemented Papers
3939
------------------
4040

4141
- N4258: Cleaning-up noexcept in the Library (`Github <https://github.com/llvm/llvm-project/issues/99937>`__)
42+
- P1222R4: A Standard ``flat_set`` is partially implemented and ``flat_set`` is provided (`Github <https://github.com/llvm/llvm-project/issues/105193>`__)
4243

4344
Improvements and New Features
4445
-----------------------------

libcxx/docs/Status/Cxx23Papers.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
"`P0009R18 <https://wg21.link/P0009R18>`__","mdspan: A Non-Owning Multidimensional Array Reference","2022-07 (Virtual)","|Complete|","18",""
5555
"`P0429R9 <https://wg21.link/P0429R9>`__","A Standard ``flat_map``","2022-07 (Virtual)","|Complete|","20",""
5656
"`P1169R4 <https://wg21.link/P1169R4>`__","``static operator()``","2022-07 (Virtual)","|Complete|","16",""
57-
"`P1222R4 <https://wg21.link/P1222R4>`__","A Standard ``flat_set``","2022-07 (Virtual)","","",""
57+
"`P1222R4 <https://wg21.link/P1222R4>`__","A Standard ``flat_set``","2022-07 (Virtual)","|In progress|","",""
5858
"`P1223R5 <https://wg21.link/P1223R5>`__","``ranges::find_last()``, ``ranges::find_last_if()``, and ``ranges::find_last_if_not()``","2022-07 (Virtual)","|Complete|","19",""
5959
"`P1467R9 <https://wg21.link/P1467R9>`__","Extended ``floating-point`` types and standard names","2022-07 (Virtual)","","",""
6060
"`P1642R11 <https://wg21.link/P1642R11>`__","Freestanding ``[utilities]``, ``[ranges]``, and ``[iterators]``","2022-07 (Virtual)","","",""

libcxx/modules/std.compat.cppm.in

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@ module;
5353
# if __has_include(<debugging>)
5454
# error "please update the header information for <debugging> in headers_not_available in utils/libcxx/header_information.py"
5555
# endif // __has_include(<debugging>)
56-
# if __has_include(<flat_set>)
57-
# error "please update the header information for <flat_set> in headers_not_available in utils/libcxx/header_information.py"
58-
# endif // __has_include(<flat_set>)
5956
# if __has_include(<generator>)
6057
# error "please update the header information for <generator> in headers_not_available in utils/libcxx/header_information.py"
6158
# endif // __has_include(<generator>)

libcxx/modules/std.cppm.in

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ module;
6565
#include <expected>
6666
#include <filesystem>
6767
#include <flat_map>
68+
#include <flat_set>
6869
#include <format>
6970
#include <forward_list>
7071
#if _LIBCPP_HAS_LOCALIZATION
@@ -162,9 +163,6 @@ module;
162163
# if __has_include(<debugging>)
163164
# error "please update the header information for <debugging> in headers_not_available in utils/libcxx/header_information.py"
164165
# endif // __has_include(<debugging>)
165-
# if __has_include(<flat_set>)
166-
# error "please update the header information for <flat_set> in headers_not_available in utils/libcxx/header_information.py"
167-
# endif // __has_include(<flat_set>)
168166
# if __has_include(<generator>)
169167
# error "please update the header information for <generator> in headers_not_available in utils/libcxx/header_information.py"
170168
# endif // __has_include(<generator>)

libcxx/modules/std/flat_set.inc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
//===----------------------------------------------------------------------===//
99

1010
export namespace std {
11-
#if 0
11+
#if _LIBCPP_STD_VER >= 23
1212
// [flat.set], class template flat_­set
1313
using std::flat_set;
1414

@@ -19,7 +19,9 @@ export namespace std {
1919

2020
// [flat.set.erasure], erasure for flat_­set
2121
using std::erase_if;
22+
#endif // _LIBCPP_STD_VER >= 23
2223

24+
#if 0
2325
// [flat.multiset], class template flat_­multiset
2426
using std::flat_multiset;
2527

libcxx/test/libcxx/transitive_includes/cxx03.csv

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,6 +683,14 @@ flat_map initializer_list
683683
flat_map limits
684684
flat_map type_traits
685685
flat_map version
686+
flat_set cmath
687+
flat_set compare
688+
flat_set cstddef
689+
flat_set cstdint
690+
flat_set initializer_list
691+
flat_set limits
692+
flat_set type_traits
693+
flat_set version
686694
format algorithm
687695
format array
688696
format atomic

libcxx/test/libcxx/transitive_includes/cxx11.csv

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,6 +683,14 @@ flat_map initializer_list
683683
flat_map limits
684684
flat_map type_traits
685685
flat_map version
686+
flat_set cmath
687+
flat_set compare
688+
flat_set cstddef
689+
flat_set cstdint
690+
flat_set initializer_list
691+
flat_set limits
692+
flat_set type_traits
693+
flat_set version
686694
format algorithm
687695
format array
688696
format atomic

libcxx/test/libcxx/transitive_includes/cxx14.csv

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -701,6 +701,14 @@ flat_map initializer_list
701701
flat_map limits
702702
flat_map type_traits
703703
flat_map version
704+
flat_set cmath
705+
flat_set compare
706+
flat_set cstddef
707+
flat_set cstdint
708+
flat_set initializer_list
709+
flat_set limits
710+
flat_set type_traits
711+
flat_set version
704712
format algorithm
705713
format array
706714
format atomic

libcxx/test/libcxx/transitive_includes/cxx17.csv

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -709,6 +709,14 @@ flat_map initializer_list
709709
flat_map limits
710710
flat_map type_traits
711711
flat_map version
712+
flat_set cmath
713+
flat_set compare
714+
flat_set cstddef
715+
flat_set cstdint
716+
flat_set initializer_list
717+
flat_set limits
718+
flat_set type_traits
719+
flat_set version
712720
format algorithm
713721
format array
714722
format atomic

libcxx/test/libcxx/transitive_includes/cxx20.csv

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,14 @@ flat_map initializer_list
705705
flat_map limits
706706
flat_map type_traits
707707
flat_map version
708+
flat_set cmath
709+
flat_set compare
710+
flat_set cstddef
711+
flat_set cstdint
712+
flat_set initializer_list
713+
flat_set limits
714+
flat_set type_traits
715+
flat_set version
708716
format algorithm
709717
format array
710718
format atomic

libcxx/test/libcxx/transitive_includes/cxx23.csv

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,20 @@ flat_map optional
345345
flat_map stdexcept
346346
flat_map tuple
347347
flat_map version
348+
flat_set cctype
349+
flat_set climits
350+
flat_set compare
351+
flat_set cstdint
352+
flat_set cstring
353+
flat_set cwchar
354+
flat_set cwctype
355+
flat_set initializer_list
356+
flat_set limits
357+
flat_set optional
358+
flat_set stdexcept
359+
flat_set tuple
360+
flat_set type_traits
361+
flat_set version
348362
format array
349363
format cctype
350364
format cerrno
@@ -556,7 +570,6 @@ istream ios
556570
istream iosfwd
557571
istream limits
558572
istream locale
559-
560573
istream ratio
561574
istream stdexcept
562575
istream streambuf

libcxx/test/libcxx/transitive_includes/cxx26.csv

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,20 @@ flat_map optional
345345
flat_map stdexcept
346346
flat_map tuple
347347
flat_map version
348+
flat_set cctype
349+
flat_set climits
350+
flat_set compare
351+
flat_set cstdint
352+
flat_set cstring
353+
flat_set cwchar
354+
flat_set cwctype
355+
flat_set initializer_list
356+
flat_set limits
357+
flat_set optional
358+
flat_set stdexcept
359+
flat_set tuple
360+
flat_set type_traits
361+
flat_set version
348362
format array
349363
format cctype
350364
format cerrno
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
//===----------------------------------------------------------------------===//
2+
//
3+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
// See https://llvm.org/LICENSE.txt for license information.
5+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
//
7+
//===----------------------------------------------------------------------===//
8+
//
9+
// WARNING: This test was generated by generate_feature_test_macro_components.py
10+
// and should not be edited manually.
11+
//
12+
// clang-format off
13+
14+
// <flat_set>
15+
16+
// Test the feature test macros defined by <flat_set>
17+
18+
/* Constant Value
19+
__cpp_lib_flat_set 202207L [C++23]
20+
*/
21+
22+
#include <flat_set>
23+
#include "test_macros.h"
24+
25+
#if TEST_STD_VER < 14
26+
27+
# ifdef __cpp_lib_flat_set
28+
# error "__cpp_lib_flat_set should not be defined before c++23"
29+
# endif
30+
31+
#elif TEST_STD_VER == 14
32+
33+
# ifdef __cpp_lib_flat_set
34+
# error "__cpp_lib_flat_set should not be defined before c++23"
35+
# endif
36+
37+
#elif TEST_STD_VER == 17
38+
39+
# ifdef __cpp_lib_flat_set
40+
# error "__cpp_lib_flat_set should not be defined before c++23"
41+
# endif
42+
43+
#elif TEST_STD_VER == 20
44+
45+
# ifdef __cpp_lib_flat_set
46+
# error "__cpp_lib_flat_set should not be defined before c++23"
47+
# endif
48+
49+
#elif TEST_STD_VER == 23
50+
51+
# if !defined(_LIBCPP_VERSION)
52+
# ifndef __cpp_lib_flat_set
53+
# error "__cpp_lib_flat_set should be defined in c++23"
54+
# endif
55+
# if __cpp_lib_flat_set != 202207L
56+
# error "__cpp_lib_flat_set should have the value 202207L in c++23"
57+
# endif
58+
# else // _LIBCPP_VERSION
59+
# ifdef __cpp_lib_flat_set
60+
# error "__cpp_lib_flat_set should not be defined because it is unimplemented in libc++!"
61+
# endif
62+
# endif
63+
64+
#elif TEST_STD_VER > 23
65+
66+
# if !defined(_LIBCPP_VERSION)
67+
# ifndef __cpp_lib_flat_set
68+
# error "__cpp_lib_flat_set should be defined in c++26"
69+
# endif
70+
# if __cpp_lib_flat_set != 202207L
71+
# error "__cpp_lib_flat_set should have the value 202207L in c++26"
72+
# endif
73+
# else // _LIBCPP_VERSION
74+
# ifdef __cpp_lib_flat_set
75+
# error "__cpp_lib_flat_set should not be defined because it is unimplemented in libc++!"
76+
# endif
77+
# endif
78+
79+
#endif // TEST_STD_VER > 23
80+

libcxx/utils/libcxx/header_information.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,6 @@ def __hash__(self) -> int:
164164
# modules will fail to build if a header is added but this list is not updated.
165165
headers_not_available = list(map(Header, [
166166
"debugging",
167-
"flat_set",
168167
"generator",
169168
"hazard_pointer",
170169
"inplace_vector",
@@ -261,6 +260,7 @@ def __hash__(self) -> int:
261260
"deque": ["compare", "initializer_list"],
262261
"filesystem": ["compare"],
263262
"flat_map": ["compare", "initializer_list"],
263+
"flat_set": ["compare", "initializer_list"],
264264
"forward_list": ["compare", "initializer_list"],
265265
"ios": ["iosfwd"],
266266
"iostream": ["ios", "istream", "ostream", "streambuf"],

0 commit comments

Comments
 (0)