4761a74fd8 
								
							 
						 
						
							
							
								
								[libc++][CI] Updates and improves the Docker image.  
							
							... 
							
							
							
							Since we branched LLVM install Clang 16 and remove Clang 12.
Currently our Docker installs 4 versions of Clang so our CI can use the
same image for both the main and the release branch. This wasn't done for
the other Clang tools so they always use the same version for testing
the main and the release branch. Instead install 2 versions for the
tools.
However it seems the default for Clang and its tools were the latest
released version instead of the ToT. To lessen the risk of breaking the
release CI, version 14 is installed hard-coded as a temporary solution.
Updating the main branch to use the Clang 16 compiler will be done in a
separate patch.
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D131324  
							
						 
						
							2022-08-17 17:48:06 +02:00  
				
					
						
							
							
								 
						
							
								130b1816c5 
								
							 
						 
						
							
							
								
								[libc++] Improve updating data files.  
							
							... 
							
							
							
							This changes makes it easier to update the Unicode data files used for
the Extended Graphme Clustering as added in D126971.
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D129668  
							
						 
						
							2022-08-16 18:55:46 +02:00  
				
					
						
							
							
								 
						
							
								f7c0df002a 
								
							 
						 
						
							
							
								
								[libc++][format] Improve format buffer.  
							
							... 
							
							
							
							Allow bulk output operations on the buffer instead of adding one
code unit at a time. This has a huge performance benefit at the cost of
larger binary. This doesn't implement @vitaut's earlier suggestion to
avoid buffering for std::string when writing a strings. That can be done
in a follow-up patch.
There are some minor complications for the non-buffered format_to_n.
When writing one character at a time it's easy to detect when reaching
the limit n. This is solved by adding a small overhead for format_to_n.
When the next write would overflow it stores the data in the internal
buffer and copies that up-to n code units. The overhead isn't measured,
but it's expected to only be an issue for small values of n; for larger
values the general improvements will outweight the new overhead.
```
   text	   data	    bss	    dec	    hex	filename
 349081	   6096	    440	 355617	  56d21	format.libcxx.out-baseline
 344442	   6088	    440	 350970	  55afa	formatted_size.libcxx.out-baseline
4567980	  57272	    424	4625676	 46950c	formatter_float.libcxx.out-baseline
 718800	  12472	    488	 731760	  b2a70	formatter_int.libcxx.out-baseline
 376341	   6096	    552	 382989	  5d80d	format_to.libcxx.out-beaseline
 370169	   6096	    440	 376705	  5bf81	format.libcxx.out
 365530	   6088	    440	 372058	  5ad5a	formatted_size.libcxx.out
4575116	  57272	    424	4632812	 46b0ec	formatter_float.libcxx.out
 725936	  12472	    488	 738896	  b4650	formatter_int.libcxx.out
 397429	   6096	    552	 404077	  62a6d	format_to.libcxx.out
```
For very small strings the new method is slower, from 4 characters
there's already a small gain.
```
Comparing ./format.libcxx.out-baseline to ./format.libcxx.out
Benchmark                                           Time             CPU      Time Old      Time New       CPU Old       CPU New
--------------------------------------------------------------------------------------------------------------------------------
BM_format_string<char>/1                         +0.0268         +0.0268            43            44            43            44
BM_format_string<char>/2                         +0.0133         +0.0133            22            22            22            22
BM_format_string<char>/4                         -0.0248         -0.0248            12            11            12            11
BM_format_string<char>/8                         -0.0831         -0.0831             6             6             6             6
BM_format_string<char>/16                        -0.2976         -0.2976             4             3             4             3
BM_format_string<char>/32                        -0.4369         -0.4369             3             2             3             2
BM_format_string<char>/64                        -0.6375         -0.6375             3             1             3             1
BM_format_string<char>/128                       -0.7685         -0.7685             2             1             2             1
```
The int benchmark has benefits for the simple formatting, but shines for
the complex formatting:
```
Comparing ./formatter_int.libcxx.out-baseline to ./formatter_int.libcxx.out
Benchmark                                                               Time             CPU      Time Old      Time New       CPU Old       CPU New
----------------------------------------------------------------------------------------------------------------------------------------------------
BM_Basic<uint32_t>                                                   -0.2307         -0.2307            60            46            60            46
BM_Basic<int32_t>                                                    -0.1985         -0.1985            61            49            61            49
BM_Basic<uint64_t>                                                   -0.3478         -0.3479            81            53            81            53
BM_Basic<int64_t>                                                    -0.3475         -0.3475            81            53            81            53
BM_BasicLow<__uint128_t>                                             -0.3388         -0.3388            86            57            86            57
BM_BasicLow<__int128_t>                                              -0.3431         -0.3431            86            57            86            57
BM_Basic<__uint128_t>                                                -0.2822         -0.2822           236           170           236           170
BM_Basic<__int128_t>                                                 -0.3107         -0.3107           219           151           219           151
Integral_LocFalse_BaseBin_AlignNone_Int64                            -0.5781         -0.5781           178            75           178            75
Integral_LocFalse_BaseBin_AlignmentLeft_Int64                        -0.9231         -0.9231          1156            89          1156            89
Integral_LocFalse_BaseBin_AlignmentCenter_Int64                      -0.9179         -0.9179          1107            91          1107            91
Integral_LocFalse_BaseBin_AlignmentRight_Int64                       -0.9238         -0.9238          1147            87          1147            87
Integral_LocFalse_BaseBin_ZeroPadding_Int64                          -0.9170         -0.9170          1137            94          1137            94
Integral_LocFalse_BaseBin_AlignNone_Uint64                           -0.5923         -0.5923           175            71           175            71
Integral_LocFalse_BaseBin_AlignmentLeft_Uint64                       -0.9251         -0.9251          1154            86          1154            86
Integral_LocFalse_BaseBin_AlignmentCenter_Uint64                     -0.9204         -0.9204          1105            88          1105            88
Integral_LocFalse_BaseBin_AlignmentRight_Uint64                      -0.9242         -0.9242          1125            85          1125            85
Integral_LocFalse_BaseBin_ZeroPadding_Uint64                         -0.9232         -0.9232          1139            88          1139            88
Integral_LocFalse_BaseOct_AlignNone_Int64                            -0.3241         -0.3241           100            67           100            67
Integral_LocFalse_BaseOct_AlignmentLeft_Int64                        -0.9322         -0.9322          1166            79          1166            79
Integral_LocFalse_BaseOct_AlignmentCenter_Int64                      -0.9251         -0.9251          1108            83          1108            83
Integral_LocFalse_BaseOct_AlignmentRight_Int64                       -0.9303         -0.9303          1136            79          1136            79
Integral_LocFalse_BaseOct_ZeroPadding_Int64                          -0.9264         -0.9264          1156            85          1156            85
Integral_LocFalse_BaseOct_AlignNone_Uint64                           -0.3116         -0.3116            96            66            96            66
Integral_LocFalse_BaseOct_AlignmentLeft_Uint64                       -0.9310         -0.9310          1168            81          1168            81
Integral_LocFalse_BaseOct_AlignmentCenter_Uint64                     -0.9281         -0.9281          1128            81          1128            81
Integral_LocFalse_BaseOct_AlignmentRight_Uint64                      -0.9299         -0.9299          1148            80          1148            80
Integral_LocFalse_BaseOct_ZeroPadding_Uint64                         -0.9288         -0.9288          1153            82          1153            82
Integral_LocFalse_BaseDec_AlignNone_Int64                            -0.3342         -0.3342            95            63            95            63
Integral_LocFalse_BaseDec_AlignmentLeft_Int64                        -0.9360         -0.9360          1157            74          1157            74
Integral_LocFalse_BaseDec_AlignmentCenter_Int64                      -0.9303         -0.9303          1128            79          1128            79
Integral_LocFalse_BaseDec_AlignmentRight_Int64                       -0.9369         -0.9369          1164            73          1164            73
Integral_LocFalse_BaseDec_ZeroPadding_Int64                          -0.9323         -0.9323          1157            78          1157            78
Integral_LocFalse_BaseDec_AlignNone_Uint64                           -0.3198         -0.3198            93            63            93            63
Integral_LocFalse_BaseDec_AlignmentLeft_Uint64                       -0.9351         -0.9351          1158            75          1158            75
Integral_LocFalse_BaseDec_AlignmentCenter_Uint64                     -0.9298         -0.9298          1128            79          1128            79
Integral_LocFalse_BaseDec_AlignmentRight_Uint64                      -0.9361         -0.9361          1157            74          1157            74
Integral_LocFalse_BaseDec_ZeroPadding_Uint64                         -0.9333         -0.9333          1151            77          1151            77
Integral_LocFalse_BaseHex_AlignNone_Int64                            -0.3020         -0.3020            89            62            89            62
Integral_LocFalse_BaseHex_AlignmentLeft_Int64                        -0.9357         -0.9357          1174            75          1174            75
Integral_LocFalse_BaseHex_AlignmentCenter_Int64                      -0.9319         -0.9319          1129            77          1129            77
Integral_LocFalse_BaseHex_AlignmentRight_Int64                       -0.9350         -0.9350          1161            75          1161            75
Integral_LocFalse_BaseHex_ZeroPadding_Int64                          -0.9293         -0.9293          1150            81          1150            81
Integral_LocFalse_BaseHex_AlignNone_Uint64                           -0.3056         -0.3057            86            59            86            59
Integral_LocFalse_BaseHex_AlignmentLeft_Uint64                       -0.9378         -0.9378          1174            73          1174            73
Integral_LocFalse_BaseHex_AlignmentCenter_Uint64                     -0.9341         -0.9341          1129            74          1130            74
Integral_LocFalse_BaseHex_AlignmentRight_Uint64                      -0.9361         -0.9361          1157            74          1157            74
Integral_LocFalse_BaseHex_ZeroPadding_Uint64                         -0.9315         -0.9315          1147            79          1147            79
Integral_LocFalse_BaseHexUpper_AlignNone_Int64                       -0.0019         -0.0019            91            90            91            90
Integral_LocFalse_BaseHexUpper_AlignmentLeft_Int64                   -0.9099         -0.9099          1162           105          1162           105
Integral_LocFalse_BaseHexUpper_AlignmentCenter_Int64                 -0.9041         -0.9041          1121           108          1121           108
Integral_LocFalse_BaseHexUpper_AlignmentRight_Int64                  -0.9086         -0.9086          1162           106          1162           106
Integral_LocFalse_BaseHexUpper_ZeroPadding_Int64                     -0.9057         -0.9057          1164           110          1164           110
Integral_LocFalse_BaseHexUpper_AlignNone_Uint64                      +0.0110         +0.0110            86            87            86            87
Integral_LocFalse_BaseHexUpper_AlignmentLeft_Uint64                  -0.9136         -0.9136          1161           100          1161           100
Integral_LocFalse_BaseHexUpper_AlignmentCenter_Uint64                -0.9078         -0.9078          1133           104          1133           104
Integral_LocFalse_BaseHexUpper_AlignmentRight_Uint64                 -0.9132         -0.9132          1177           102          1177           102
Integral_LocFalse_BaseHexUpper_ZeroPadding_Uint64                    -0.9091         -0.9091          1160           105          1160           105
```
Other benchmarks give similar results.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D129964  
							
						 
						
							2022-08-16 18:54:10 +02:00  
				
					
						
							
							
								 
						
							
								69c09d11f8 
								
							 
						 
						
							
							
								
								[test][libcxx] Don't XFAIL passing test with HWASAN  
							
							
							
						 
						
							2022-08-16 09:37:16 -07:00  
				
					
						
							
							
								 
						
							
								e6933044a7 
								
							 
						 
						
							
							
								
								[test][libcxx] Use own feature for HWAsan  
							
							
							
						 
						
							2022-08-16 00:05:48 -07:00  
				
					
						
							
							
								 
						
							
								06d16eb9e6 
								
							 
						 
						
							
							
								
								[test][libcxx] Disable new.delete.array tests for HWAsan  
							
							
							
						 
						
							2022-08-16 00:05:48 -07:00  
				
					
						
							
							
								 
						
							
								c63f2581f4 
								
							 
						 
						
							
							
								
								Enable -Wctad-maybe-unsupported in LLVM build  
							
							... 
							
							
							
							Warns on potentially unintended use of C++17 Class Template Argument
Deduction. Use of this feature with types that aren't intended to
support it may may future refactorings of those types more difficult -
so this warning fires whenever the feature is used with a type that may
not have intended to be used with CTAD (the warning uses the existence
of at least one explicit deduction guide to indicate that a type
intentionally supports CTAD - absent that, it's assumed to not be
intended to support CTAD & produces a warning).
This is disabled in libcxx because lots of the standard library is
assumed to provide ctad-usable APIs and the false positive suppression
in the diagnostic is based on system header classification which doesn't
apply in the libcxx build itself.
Differential Revision: https://reviews.llvm.org/D131727  
							
						 
						
							2022-08-15 23:28:51 +00:00  
				
					
						
							
							
								 
						
							
								877620bd96 
								
							 
						 
						
							
							
								
								[libc++] Implement `operator<=>` for `error_{code,condition}`  
							
							... 
							
							
							
							Implements part of P1614R2 "The Mothership has Landed"
Differential Revision: https://reviews.llvm.org/D131371  
							
						 
						
							2022-08-15 16:05:53 -07:00  
				
					
						
							
							
								 
						
							
								0e876eda26 
								
							 
						 
						
							
							
								
								[libc++] Implement `operator<=>` for `error_category`  
							
							... 
							
							
							
							Implements part of P1614R2 "The Mothership has Landed"
Differential Revision: https://reviews.llvm.org/D131363  
							
						 
						
							2022-08-15 16:05:08 -07:00  
				
					
						
							
							
								 
						
							
								ace3ce8ad7 
								
							 
						 
						
							
							
								
								[test][libc++][hwasan] Handle hwaddress_sanitizer  
							
							
							
						 
						
							2022-08-15 13:50:54 -07:00  
				
					
						
							
							
								 
						
							
								f7f5308b82 
								
							 
						 
						
							
							
								
								[libc++][test] Fix conversion signed/unsigned in test/support/MoveOnly.h  
							
							... 
							
							
							
							Reviewed By: jloser, philnik
Differential Revision: https://reviews.llvm.org/D131889  
							
						 
						
							2022-08-15 22:09:54 +07:00  
				
					
						
							
							
								 
						
							
								c4566cac49 
								
							 
						 
						
							
							
								
								[libc++][spaceship] Implement std::variant::operator<=>  
							
							... 
							
							
							
							Implements [variant.relops] and [variant.monostate.relops] for P1614R2
Reviewed By: Mordante, #libc, avogelsgesang
Differential Revision: https://reviews.llvm.org/D131372  
							
						 
						
							2022-08-14 16:16:52 -07:00  
				
					
						
							
							
								 
						
							
								aacf1a9742 
								
							 
						 
						
							
							
								
								Revert "[clang] adds unary type transformations as compiler built-ins"  
							
							... 
							
							
							
							This reverts commit bc60cf2368https://reviews.llvm.org/D116203#3722094  and
https://reviews.llvm.org/D116203#3722128 
Also revert two follow-ups. One fixed a warning added in
bc60cf2368bc60cf236806a1d917efc85abbe879 
							
						 
						
							2022-08-14 15:58:21 -04:00  
				
					
						
							
							
								 
						
							
								06a1d917ef 
								
							 
						 
						
							
							
								
								[libcxx][NFC] utilises compiler builtins for unary transform type-traits  
							
							... 
							
							
							
							Depends on D116203
Reviewed By: #libc, philnik
Differential Revision: https://reviews.llvm.org/D131732  
							
						 
						
							2022-08-14 17:32:38 +00:00  
				
					
						
							
							
								 
						
							
								0c90d5f7e9 
								
							 
						 
						
							
							
								
								[libc++][test] fix C4267 warning in bitset.members\to_ulong.pass.cpp  
							
							... 
							
							
							
							Reviewed By: philnik
Differential Revision: https://reviews.llvm.org/D131854  
							
						 
						
							2022-08-14 22:24:58 +07:00  
				
					
						
							
							
								 
						
							
								22b5adff71 
								
							 
						 
						
							
							
								
								[libc++] Uses operator<=> in string.  
							
							... 
							
							
							
							Implements part of:
- P1614R2 The Mothership has Landed
Reviewed By: avogelsgesang, #libc, philnik
Differential Revision: https://reviews.llvm.org/D131421  
							
						 
						
							2022-08-14 14:05:05 +02:00  
				
					
						
							
							
								 
						
							
								3ec6900298 
								
							 
						 
						
							
							
								
								[libc++][test] Disables clang-tidy test for GCC.  
							
							... 
							
							
							
							Increasing the constexpr evaluation limit breaks this clang-tidy test
for GCC. As discussed in D131317 disable the test in GCC.
Reviewed By: philnik, #libc
Differential Revision: https://reviews.llvm.org/D131835  
							
						 
						
							2022-08-14 13:39:12 +02:00  
				
					
						
							
							
								 
						
							
								f02120fba2 
								
							 
						 
						
							
							
								
								[libc++] Implement P2417R2 (A more constexpr bitset)  
							
							... 
							
							
							
							Reviewed By: ldionne, #libc
Spies: jloser, arichardson, libcxx-commits, arphaman
Differential Revision: https://reviews.llvm.org/D131218  
							
						 
						
							2022-08-14 10:34:01 +02:00  
				
					
						
							
							
								 
						
							
								7ae66e5e95 
								
							 
						 
						
							
							
								
								[libc++] Granularize the rest of type_traits  
							
							... 
							
							
							
							Reviewed By: ldionne, #libc
Spies: libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D130471  
							
						 
						
							2022-08-14 10:30:48 +02:00  
				
					
						
							
							
								 
						
							
								41e7665c4b 
								
							 
						 
						
							
							
								
								[libc++] Implement `operator<=>` for `thread::id`  
							
							... 
							
							
							
							The new operator<=> is mapped onto the existing functions
__libcpp_thread_id_equal and __libcpp_thread_id_less. Introducing a
new __libcpp_thread_id_compare_three_way might lead to more efficient
code. Given that we can still introduce __libcpp_thread_id_compare_three_way
later, for this commit I opted to not break ABI. If requested, I will
add __libcpp_thread_id_compare_three_way in a follow-up commit.
Implements part of P1614R2 "The Mothership has Landed"
Differential Revision: https://reviews.llvm.org/D131362  
							
						 
						
							2022-08-13 17:30:55 -07:00  
				
					
						
							
							
								 
						
							
								80c7e93a2a 
								
							 
						 
						
							
							
								
								[libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI  
							
							... 
							
							
							
							Reviewed By: ldionne, Mordante, var-const, huixie90, #libc
Spies: jloser, libcxx-commits, arichardson, miyuki
Differential Revision: https://reviews.llvm.org/D129968  
							
						 
						
							2022-08-13 22:41:22 +02:00  
				
					
						
							
							
								 
						
							
								ae87a3bf0a 
								
							 
						 
						
							
							
								
								[libc++] Simplify __config a bit more and add underscores to attributes  
							
							... 
							
							
							
							Reviewed By: ldionne, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D129457  
							
						 
						
							2022-08-13 12:43:26 +02:00  
				
					
						
							
							
								 
						
							
								18014fe0a9 
								
							 
						 
						
							
							
								
								[libcxx][hwasan] Add basic HWAddress support  
							
							
							
						 
						
							2022-08-13 00:04:55 -07:00  
				
					
						
							
							
								 
						
							
								d7e0cec60e 
								
							 
						 
						
							
							
								
								[libc++][test] Mark `test_comparisons.h` helpers as nodiscard  
							
							... 
							
							
							
							I accidentally wrote `testComparisons(...)` instead of
`assert(testComparisons(...))`. This compiled without issues, but
did not provide the intended test coverage. By adding a `nodiscard`,
we can make sure that the compiler catches such mistakes for us.
Differential Revision: https://reviews.llvm.org/D131364  
							
						 
						
							2022-08-12 03:30:33 -07:00  
				
					
						
							
							
								 
						
							
								e2e9e2ce8e 
								
							 
						 
						
							
							
								
								[libcxx] [test] Fix max_size.pass.cpp for PowerPC targets  
							
							... 
							
							
							
							This patch fixes the max_size.pass.cpp test for PowerPC targets, depending on
endianness.
We will exhibit the full_size() behaviour for little endian
(where __endian_factor = 2 ), and the half_size() behaviour for
big endian (where __endian_factor = 1).
Differential Revision: https://reviews.llvm.org/D131682  
							
						 
						
							2022-08-11 21:39:29 -05:00  
				
					
						
							
							
								 
						
							
								8c6319e30a 
								
							 
						 
						
							
							
								
								[libc++] Add a missing assertion in std::span's constructor  
							
							... 
							
							
							
							Also, add missing tests for assertions in span constructors. Now I
believe that all of std::span's API should be hardened, and all the
assertions should have a corresponding test.
Differential Revision: https://reviews.llvm.org/D131681  
							
						 
						
							2022-08-11 15:31:46 -04:00  
				
					
						
							
							
								 
						
							
								499fca3cfc 
								
							 
						 
						
							
							
								
								[libc++][NFC] Replace macros in vector  
							
							... 
							
							
							
							Reviewed By: ldionne, Mordante, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D130848  
							
						 
						
							2022-08-11 20:22:58 +02:00  
				
					
						
							
							
								 
						
							
								b8717d19cf 
								
							 
						 
						
							
							
								
								[libcxx] [test] Merge the experimental-lib-exports testcases into static-lib-exports  
							
							... 
							
							
							
							Since bb939931a1https://reviews.llvm.org/D129399  
							
						 
						
							2022-08-11 10:15:12 +03:00  
				
					
						
							
							
								 
						
							
								497705ff27 
								
							 
						 
						
							
							
								
								[libc++] Reorganize the documentation of extensions for integral types  
							
							
							
						 
						
							2022-08-10 17:35:08 -04:00  
				
					
						
							
							
								 
						
							
								2d34cb74b5 
								
							 
						 
						
							
							
								
								[libc++] Implement `thread::id` comparators as free functions  
							
							... 
							
							
							
							So far, the `thread::id` comparators were implemented as hidden friends.
This was non-conforming and lead to incorrectly rejected C++ code, as
can be seen in the linked Github issue.
Fixes https://github.com/llvm/llvm-project/issues/56187 
Differential Revision: https://reviews.llvm.org/D131430  
							
						 
						
							2022-08-10 11:39:50 -07:00  
				
					
						
							
							
								 
						
							
								70074cf397 
								
							 
						 
						
							
							
								
								[libc++] Fixes string_view comparison operators.  
							
							... 
							
							
							
							While implementing `operator<=>` for `string_view` (D130295) @philnik
pointed out `common_type` should be `type_identity`. Since it was an
existing issue that wasn't addressed.
This addresses the issue for both the new and existing equality and
comparison operators. The test is based on the example posted in
D130295.
Reviewed By: philnik, #libc, huixie90
Differential Revision: https://reviews.llvm.org/D131322  
							
						 
						
							2022-08-10 19:38:50 +02:00  
				
					
						
							
							
								 
						
							
								35bb1f5f34 
								
							 
						 
						
							
							
								
								[NFC][libc++][test] Removes unneeded code.  
							
							... 
							
							
							
							In D130295 @mumbleskates wondered why `std::strong_ordering::equal` had
special code since it's the same as `std::strong_ordering::equivalent`.
This is indeed the case so the special case can be removed.
Reviewed By: mumbleskates, #libc, avogelsgesang, ldionne
Differential Revision: https://reviews.llvm.org/D131419  
							
						 
						
							2022-08-10 19:00:55 +02:00  
				
					
						
							
							
								 
						
							
								b1009bbd9e 
								
							 
						 
						
							
							
								
								[libc++] Add missing includes of <cstddef>  
							
							
							
						 
						
							2022-08-10 11:35:41 -04:00  
				
					
						
							
							
								 
						
							
								f5738c5145 
								
							 
						 
						
							
							
								
								[libc++] Make __libcpp_verbose_abort [[noreturn]]  
							
							... 
							
							
							
							This will allow using it in functions that are [[noreturn]] themselves.
Differential Revision: https://reviews.llvm.org/D131408  
							
						 
						
							2022-08-10 10:37:15 -04:00  
				
					
						
							
							
								 
						
							
								9df5892804 
								
							 
						 
						
							
							
								
								[libc++] Implement `operator<=>` for `type_index`  
							
							... 
							
							
							
							Implements part of P1614R2 "The Mothership has Landed"
Differential Revision: https://reviews.llvm.org/D131357  
							
						 
						
							2022-08-09 16:35:17 -07:00  
				
					
						
							
							
								 
						
							
								cfefee87c2 
								
							 
						 
						
							
							
								
								[libc++][NFC] Remove TEST_HAS_NO_SPACESHIP_OPERATOR  
							
							... 
							
							
							
							The corresponding _LIBCPP_HAS_NO_SPACESHIP_OPERATOR macro was already
removed in commit c0f87e8382https://reviews.llvm.org/D131215  
							
						 
						
							2022-08-09 16:32:54 -07:00  
				
					
						
							
							
								 
						
							
								195287d90a 
								
							 
						 
						
							
							
								
								[libc++][ranges] Sets ranges feature-test macro.  
							
							... 
							
							
							
							D131234 marked the ranges papers as complete, but it didn't set the
feature-test macro.
Reviewed By: ldionne, var-const, #libc
Differential Revision: https://reviews.llvm.org/D131326  
							
						 
						
							2022-08-09 17:20:36 +02:00  
				
					
						
							
							
								 
						
							
								706b3951b3 
								
							 
						 
						
							
							
								
								[libc++] Implement `operator==` for `filesystem::space_info`  
							
							... 
							
							
							
							Implements part of P1614R2 "The Mothership has Landed"
Differential Revision: https://reviews.llvm.org/D130861  
							
						 
						
							2022-08-08 10:05:47 -07:00  
				
					
						
							
							
								 
						
							
								3354644aad 
								
							 
						 
						
							
							
								
								[libc++][doc] Update `SpaceshipProjects` status to reflect in-flight reviews  
							
							
							
						 
						
							2022-08-08 06:39:12 -07:00  
				
					
						
							
							
								 
						
							
								27442728cd 
								
							 
						 
						
							
							
								
								[libc++][NFC] Fix signature of main in test  
							
							
							
						 
						
							2022-08-08 09:30:29 -04:00  
				
					
						
							
							
								 
						
							
								0a5c344a84 
								
							 
						 
						
							
							
								
								[libc++] Add missing <stdbool.h> to the modulemap  
							
							... 
							
							
							
							It used to be defined by the compiler, but libc++ now provides it.
Differential Revision: https://reviews.llvm.org/D131201  
							
						 
						
							2022-08-08 09:00:57 -04:00  
				
					
						
							
							
								 
						
							
								e36f9e13bc 
								
							 
						 
						
							
							
								
								[libc++] Allow enabling assertions when back-deploying  
							
							... 
							
							
							
							When back-deploying to older platforms, we can still provide assertions,
but we might not be able to provide a great implementation for the verbose
handler. Instead, we can just call ::abort().
Differential Revision: https://reviews.llvm.org/D131199  
							
						 
						
							2022-08-08 08:43:34 -04:00  
				
					
						
							
							
								 
						
							
								fc40804a5a 
								
							 
						 
						
							
							
								
								[libc++][NFC] Fix `the the` in comment in `__format/buffer.h`  
							
							... 
							
							
							
							I made this commit primarily to test my commit access to the LLVM repo
Differential Revision: https://reviews.llvm.org/D131365  
							
						 
						
							2022-08-07 11:14:43 -07:00  
				
					
						
							
							
								 
						
							
								6bb51bf062 
								
							 
						 
						
							
							
								
								[libc++][test] Fix MSVC warnings C6054, C6001, C4242 in format_tests.h  
							
							... 
							
							
							
							Reviewed By: Mordante
Differential Revision: https://reviews.llvm.org/D131336  
							
						 
						
							2022-08-07 16:55:50 +07:00  
				
					
						
							
							
								 
						
							
								619e8f46f3 
								
							 
						 
						
							
							
								
								[libc++] Remove `operator!=` from `type_info` in C++20  
							
							... 
							
							
							
							Implements part of:
* P1614R2 The Mothership has Landed
Reviewed By: #libc, Mordante
Differential Revision: https://reviews.llvm.org/D130853  
							
						 
						
							2022-08-06 15:10:38 +02:00  
				
					
						
							
							
								 
						
							
								735240b38f 
								
							 
						 
						
							
							
								
								[libc++] Implement `operator<=>` for `unique_ptr`  
							
							... 
							
							
							
							Implements part of:
  - P1614R2 The Mothership has Landed
Fixes LWG3426
Reviewed By: #libc, Mordante
Differential Revision: https://reviews.llvm.org/D130838  
							
						 
						
							2022-08-06 15:09:16 +02:00  
				
					
						
							
							
								 
						
							
								3fa291fa92 
								
							 
						 
						
							
							
								
								[libc++][ranges][NFC] Mark the completed Ranges papers and issues as done.  
							
							... 
							
							
							
							The newly-completed papers:
- P0896R4 ("The One Ranges Proposal");
- P1243R4 ("Rangify New Algorithms");
- P1252R2 ("Ranges Design Cleanup");
- P1716R3 ("Range Comparison Algorithms Are Over-Constrained");
- P1871R1 ("Concept traits should be named after concepts");
- P2106R0 ("Alternative wording for GB315 and GB316").
Differential Revision: https://reviews.llvm.org/D131234  
							
						 
						
							2022-08-05 14:03:02 -07:00  
				
					
						
							
							
								 
						
							
								8ac015caf6 
								
							 
						 
						
							
							
								
								[libc++][ranges][NFC] Make sure all implemented algorithms are enabled in "robust" tests.  
							
							... 
							
							
							
							Also fix `std::find_first_of` (which accidentally copied the predicate
in the implementation).
Differential Revision: https://reviews.llvm.org/D131235  
							
						 
						
							2022-08-05 14:02:12 -07:00  
				
					
						
							
							
								 
						
							
								cf08452e91 
								
							 
						 
						
							
							
								
								[libc++] Clarify comment in CI pipeline definition  
							
							... 
							
							
							
							This partially reverts commit 7d855bb8e1 
							
						 
						
							2022-08-04 14:08:07 -04:00  
				
					
						
							
							
								 
						
							
								7d855bb8e1 
								
							 
						 
						
							
							
								
								[libc++][NFC] Remove outdated comment in CI pipeline definition  
							
							
							
						 
						
							2022-08-04 14:03:23 -04:00