|
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2 |
|
| #
5dfdac74 |
| 01-Aug-2024 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++][NFC] Avoid opening namespace std in the tests (#94160)
This also adds a few FIXMEs where we use UB in the tests.
|
|
Revision tags: llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3 |
|
| #
dfde6e89 |
| 26-Mar-2024 |
Hui <hui.xie1990@gmail.com> |
[libc++][test] Remove tests that testing std::variant<T&> (#84222)
Fixes #83600
|
|
Revision tags: llvmorg-18.1.2 |
|
| #
2a385514 |
| 11-Mar-2024 |
Nikolas Klauser <nikolasklauser@berlin.de> |
[libc++] Remove <tuple> from <variant> (#83183)
This moves a utility from `<tuple>` into an implementation detail header
and refactors the selection of the variant index type to use.
|
|
Revision tags: llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5 |
|
| #
ec350ad4 |
| 01-Nov-2023 |
philnik777 <nikolasklauser@berlin.de> |
[libc++] Remove availability annotations which can never be triggered (#69226)
According to https://developer.apple.com/support/xcode/, quite a few of
our availability macros don't do anything anym
[libc++] Remove availability annotations which can never be triggered (#69226)
According to https://developer.apple.com/support/xcode/, quite a few of
our availability macros don't do anything anymore, so we might as well
remove them to clean up the code a bit.
show more ...
|
|
Revision tags: llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1 |
|
| #
f0fc8c48 |
| 18-Mar-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Use named Lit features to flag back-deployment XFAILs
Instead of writing something like `XFAIL: use_system_cxx_lib && target=...` to XFAIL back-deployment tests, introduce named Lit feature
[libc++] Use named Lit features to flag back-deployment XFAILs
Instead of writing something like `XFAIL: use_system_cxx_lib && target=...` to XFAIL back-deployment tests, introduce named Lit features like `availability-shared_mutex-missing` to represent those. This makes the XFAIL annotations leaner, and solves the problem of XFAIL comments potentially getting out of sync. This would also make it easier for another vendor to add their own annotations to the test suite by simply changing how the feature is defined for their OS releases, instead of having to modify hundreds of tests to add repetitive annotations.
This doesn't touch *all* annotations -- only annotations that were widely duplicated are given named features (e.g. when filesystem or shared_mutex were introduced). I still think it probably doesn't make sense to have a named feature for every single fix we make to the dylib.
This is in essence a revert of 2659663, but since then the test suite has changed significantly. Back when I did 2659663, the configuration files we have for the test suite right now were being bootstrapped and it wasn't clear how to provide these features for back-deployment in that context. Since then, we have a streamlined way of defining these features in `features.py` and that doesn't impact the ability for a configuration file to stay minimal.
The original motivation for this change was that I am about to propose a change that would touch essentially all XFAIL annotations for back-deployment in the test suite, and this greatly reduces the number of lines changed by that upcoming change, in addition to making the test suite generally better.
Differential Revision: https://reviews.llvm.org/D146359
show more ...
|
|
Revision tags: llvmorg-16.0.0 |
|
| #
fb855eb9 |
| 14-Mar-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Qualifies size_t.
This has been done using the following command
find libcxx/test -type f -exec perl -pi -e 's|^([^/]+?)((?<!::)size_t)|\1std::\2|' \{} \;
And manually removed some fals
[libc++] Qualifies size_t.
This has been done using the following command
find libcxx/test -type f -exec perl -pi -e 's|^([^/]+?)((?<!::)size_t)|\1std::\2|' \{} \;
And manually removed some false positives in std/depr/depr.c.headers.
The `std` module doesn't export `::size_t`, this is a preparation for that module.
Reviewed By: ldionne, #libc, EricWF, philnik
Differential Revision: https://reviews.llvm.org/D146088
show more ...
|
|
Revision tags: llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
cb71d77c |
| 29-Dec-2021 |
Casey Carter <Casey@Carter.net> |
[libcxx][test] Add missing includes and suppress warnings
... from testing with MSVC's STL. Mostly truncation warnings and variables that are only used in `LIBCPP_ASSERT`.
Differential Revision: ht
[libcxx][test] Add missing includes and suppress warnings
... from testing with MSVC's STL. Mostly truncation warnings and variables that are only used in `LIBCPP_ASSERT`.
Differential Revision: https://reviews.llvm.org/D116878
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
d4b59a05 |
| 30-Sep-2021 |
Arthur O'Dwyer <arthur.j.odwyer@gmail.com> |
[libc++] Remove "// -*- C++ -*-" comments from all .cpp files. NFCI.
Even if these comments have a benefit in .h files (for editors that care about language but can't be configured to treat .h as C+
[libc++] Remove "// -*- C++ -*-" comments from all .cpp files. NFCI.
Even if these comments have a benefit in .h files (for editors that care about language but can't be configured to treat .h as C++ code), they certainly have no benefit for files with the .cpp extension.
Discussed in D110794.
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3 |
|
| #
c360553c |
| 18-Jun-2021 |
Louis Dionne <ldionne.2@gmail.com> |
[runtimes] Simplify how we specify XFAIL & friends based on the triple
Now that Lit supports regular expressions inside XFAIL & friends, it is much easier to write Lit annotations based on the tripl
[runtimes] Simplify how we specify XFAIL & friends based on the triple
Now that Lit supports regular expressions inside XFAIL & friends, it is much easier to write Lit annotations based on the triple.
Differential Revision: https://reviews.llvm.org/D104747
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1 |
|
| #
74d096e5 |
| 07-May-2021 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Move handling of the target triple to the DSL
This fixes a long standing issue where the triple is not always set consistently in all configurations. This change also moves the back-deploym
[libc++] Move handling of the target triple to the DSL
This fixes a long standing issue where the triple is not always set consistently in all configurations. This change also moves the back-deployment Lit features to using the proper target triple instead of using something ad-hoc.
This will be necessary for using from scratch Lit configuration files in both normal testing and back-deployment testing.
Differential Revision: https://reviews.llvm.org/D102012
show more ...
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
0324b46c |
| 25-Mar-2021 |
Marek Kurdej <marek.kurdej+llvm.org@gmail.com> |
[libc++] [C++2b] [P2162] Allow inheritance from std::variant.
This patch changes the variant even in pre-C++2b. It should not break anything, only allow use cases that didn't work previously.
Notes
[libc++] [C++2b] [P2162] Allow inheritance from std::variant.
This patch changes the variant even in pre-C++2b. It should not break anything, only allow use cases that didn't work previously.
Notes: `__as_variant` is used in `__visitation::__variant::__visit_alt`, but I haven't used it in `__visitation::__variant::__visit_alt_at`. That's because it is used only in `__visit_value_at`, which in turn is always used on variant specializations (that's in comparison operators).
* https://wg21.link/P2162
Reviewed By: ldionne, #libc, Quuxplusone
Differential Revision: https://reviews.llvm.org/D97394
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3 |
|
| #
3c62198c |
| 03-Mar-2021 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] NFC: Normalize links to bug reports
|
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init |
|
| #
51faba35 |
| 25-Jan-2021 |
Ruslan Arutyunyan <ruslan.arutyunyan@intel.com> |
[libc++] Implement P0655R1 visit<R>: Explicit Return Type for visit
Differential Revision: https://reviews.llvm.org/D92044
|
|
Revision tags: llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2 |
|
| #
e0ec7a02 |
| 17-Aug-2020 |
Michael Park <mcypark@gmail.com> |
[libcxx/variant] Correctly propagate return type of the visitor.
The tests for it were missing so I've added them.
Reviewed By: #libc, EricWF
Differential Revision: https://reviews.llvm.org/D86006
|
| #
a175a965 |
| 11-Aug-2020 |
Michael Park <mcypark@gmail.com> |
[libcxx/variant] Introduce `switch`-based mechanism for `std::visit`.
This patch introduces mechanism for `std::visit` backed by `switch`. The `switch` is structured such that it's a flattened manua
[libcxx/variant] Introduce `switch`-based mechanism for `std::visit`.
This patch introduces mechanism for `std::visit` backed by `switch`. The `switch` is structured such that it's a flattened manual vtable (an n-ary array). The `switch` mechanism is enabled if `(1 * ... * vs.size()) < 1024`.
The following are performance numbers from the benchmarks added in D85419, tested on my 2017 Macbook Pro.
``` $ ./projects/libcxx/benchmarks/variant_visit_1.libcxx.out 2020-08-09 23:55:14 Running ./projects/libcxx/benchmarks/variant_visit_1.libcxx.out Run on (8 X 3100 MHz CPU s) CPU Caches: L1 Data 32K (x4) L1 Instruction 32K (x4) L2 Unified 262K (x4) L3 Unified 8388K (x1) Load Average: 2.03, 2.36, 2.43 ------------------------------------------------------------ Benchmark Time CPU Iterations ------------------------------------------------------------ BM_Visit<1, 1> 0.260 ns 0.260 ns 1000000000 BM_Visit<1, 2> 1.56 ns 1.56 ns 435925220 BM_Visit<1, 3> 1.55 ns 1.55 ns 444416228 BM_Visit<1, 4> 1.57 ns 1.57 ns 427951336 BM_Visit<1, 5> 1.57 ns 1.56 ns 444766371 BM_Visit<1, 6> 1.70 ns 1.68 ns 446639358 BM_Visit<1, 7> 1.64 ns 1.64 ns 400441630 BM_Visit<1, 8> 1.56 ns 1.56 ns 430729471 BM_Visit<1, 9> 1.58 ns 1.58 ns 449894596 BM_Visit<1, 10> 1.54 ns 1.54 ns 449660506 BM_Visit<1, 20> 1.56 ns 1.56 ns 450813074 BM_Visit<1, 30> 1.59 ns 1.59 ns 440032940 BM_Visit<1, 40> 1.59 ns 1.59 ns 443731656 BM_Visit<1, 50> 1.56 ns 1.56 ns 444709859 BM_Visit<1, 60> 1.59 ns 1.58 ns 439527320 BM_Visit<1, 70> 1.57 ns 1.57 ns 438450890 BM_Visit<1, 80> 1.58 ns 1.58 ns 443001525 BM_Visit<1, 90> 1.63 ns 1.62 ns 448456349 BM_Visit<1, 100> 1.57 ns 1.57 ns 445740630
$ ./projects/libcxx/benchmarks/variant_visit_2.libcxx.out 2020-08-09 23:59:35 Running ./projects/libcxx/benchmarks/variant_visit_2.libcxx.out Run on (8 X 3100 MHz CPU s) CPU Caches: L1 Data 32K (x4) L1 Instruction 32K (x4) L2 Unified 262K (x4) L3 Unified 8388K (x1) Load Average: 1.40, 1.94, 2.22 ----------------------------------------------------------- Benchmark Time CPU Iterations ----------------------------------------------------------- BM_Visit<2, 1> 0.261 ns 0.260 ns 1000000000 BM_Visit<2, 2> 1.55 ns 1.54 ns 432844219 BM_Visit<2, 3> 1.30 ns 1.30 ns 532529974 BM_Visit<2, 4> 1.54 ns 1.54 ns 446055910 BM_Visit<2, 5> 1.31 ns 1.31 ns 531099680 BM_Visit<2, 6> 1.56 ns 1.56 ns 443203475 BM_Visit<2, 7> 1.29 ns 1.29 ns 526478087 BM_Visit<2, 8> 1.56 ns 1.56 ns 439000834 BM_Visit<2, 9> 1.30 ns 1.30 ns 528756817 BM_Visit<2, 10> 1.56 ns 1.55 ns 442923039 BM_Visit<2, 20> 1.35 ns 1.35 ns 517021072 BM_Visit<2, 30> 1.60 ns 1.59 ns 419724661 BM_Visit<2, 40> 1.45 ns 1.44 ns 472137163 BM_Visit<2, 50> 1.65 ns 1.65 ns 421389743
$ ./projects/libcxx/benchmarks/variant_visit_3.libcxx.out 2020-08-10 00:01:32 Running ./projects/libcxx/benchmarks/variant_visit_3.libcxx.out Run on (8 X 3100 MHz CPU s) CPU Caches: L1 Data 32K (x4) L1 Instruction 32K (x4) L2 Unified 262K (x4) L3 Unified 8388K (x1) Load Average: 2.20, 2.01, 2.21 ----------------------------------------------------------- Benchmark Time CPU Iterations ----------------------------------------------------------- BM_Visit<3, 1> 0.272 ns 0.271 ns 1000000000 BM_Visit<3, 2> 1.87 ns 1.86 ns 361858090 BM_Visit<3, 3> 1.77 ns 1.77 ns 391192579 BM_Visit<3, 4> 1.84 ns 1.84 ns 374694223 BM_Visit<3, 5> 1.75 ns 1.75 ns 408270392 BM_Visit<3, 6> 1.88 ns 1.88 ns 378759185 BM_Visit<3, 7> 1.79 ns 1.79 ns 395498102 BM_Visit<3, 8> 1.85 ns 1.85 ns 371660366 BM_Visit<3, 9> 1.80 ns 1.80 ns 386872851 BM_Visit<3, 10> 1.84 ns 1.84 ns 362367606 BM_Visit<3, 15> 1.77 ns 1.77 ns 392060220 BM_Visit<3, 20> 1.85 ns 1.85 ns 379157188 ```
``` $ ./projects/libcxx/benchmarks/variant_visit_1.libcxx.out 2020-08-10 00:05:57 Running ./projects/libcxx/benchmarks/variant_visit_1.libcxx.out Run on (8 X 3100 MHz CPU s) CPU Caches: L1 Data 32K (x4) L1 Instruction 32K (x4) L2 Unified 262K (x4) L3 Unified 8388K (x1) Load Average: 2.27, 2.36, 2.34 ------------------------------------------------------------ Benchmark Time CPU Iterations ------------------------------------------------------------ BM_Visit<1, 1> 0.271 ns 0.271 ns 1000000000 BM_Visit<1, 2> 0.269 ns 0.269 ns 1000000000 BM_Visit<1, 3> 0.271 ns 0.271 ns 1000000000 BM_Visit<1, 4> 0.270 ns 0.270 ns 1000000000 BM_Visit<1, 5> 0.269 ns 0.269 ns 1000000000 BM_Visit<1, 6> 0.270 ns 0.269 ns 1000000000 BM_Visit<1, 7> 0.265 ns 0.265 ns 1000000000 BM_Visit<1, 8> 0.269 ns 0.269 ns 1000000000 BM_Visit<1, 9> 0.268 ns 0.268 ns 1000000000 BM_Visit<1, 10> 0.269 ns 0.269 ns 1000000000 BM_Visit<1, 20> 0.267 ns 0.267 ns 1000000000 BM_Visit<1, 30> 0.272 ns 0.272 ns 1000000000 BM_Visit<1, 40> 0.268 ns 0.268 ns 1000000000 BM_Visit<1, 50> 0.268 ns 0.268 ns 1000000000 BM_Visit<1, 60> 0.268 ns 0.268 ns 1000000000 BM_Visit<1, 70> 0.269 ns 0.269 ns 1000000000 BM_Visit<1, 80> 0.266 ns 0.266 ns 1000000000 BM_Visit<1, 90> 0.268 ns 0.268 ns 1000000000 BM_Visit<1, 100> 0.267 ns 0.267 ns 1000000000
$ ./projects/libcxx/benchmarks/variant_visit_2.libcxx.out 2020-08-12 04:09:59 Running ./projects/libcxx/benchmarks/variant_visit_2.libcxx.out Run on (8 X 3100 MHz CPU s) CPU Caches: L1 Data 32K (x4) L1 Instruction 32K (x4) L2 Unified 262K (x4) L3 Unified 8388K (x1) Load Average: 2.17, 4.20, 4.78 ----------------------------------------------------------- Benchmark Time CPU Iterations ----------------------------------------------------------- BM_Visit<2, 1> 0.302 ns 0.301 ns 1000000000 BM_Visit<2, 2> 0.297 ns 0.295 ns 1000000000 BM_Visit<2, 3> 0.353 ns 0.351 ns 1000000000 BM_Visit<2, 4> 0.276 ns 0.276 ns 1000000000 BM_Visit<2, 5> 0.285 ns 0.283 ns 1000000000 BM_Visit<2, 6> 0.290 ns 0.287 ns 1000000000 BM_Visit<2, 7> 0.282 ns 0.280 ns 1000000000 BM_Visit<2, 8> 0.290 ns 0.287 ns 1000000000 BM_Visit<2, 9> 0.291 ns 0.285 ns 1000000000 BM_Visit<2, 10> 0.293 ns 0.287 ns 1000000000 BM_Visit<2, 20> 1.70 ns 1.68 ns 391400375 BM_Visit<2, 30> 1.64 ns 1.63 ns 418925874 BM_Visit<2, 40> 1.63 ns 1.62 ns 423623677 BM_Visit<2, 50> 1.68 ns 1.67 ns 411687212
$ ./projects/libcxx/benchmarks/variant_visit_3.libcxx.out 2020-08-12 04:10:43 Running ./projects/libcxx/benchmarks/variant_visit_3.libcxx.out Run on (8 X 3100 MHz CPU s) CPU Caches: L1 Data 32K (x4) L1 Instruction 32K (x4) L2 Unified 262K (x4) L3 Unified 8388K (x1) Load Average: 1.57, 3.76, 4.59 ----------------------------------------------------------- Benchmark Time CPU Iterations ----------------------------------------------------------- BM_Visit<3, 1> 0.271 ns 0.270 ns 1000000000 BM_Visit<3, 2> 0.344 ns 0.334 ns 1000000000 BM_Visit<3, 3> 0.347 ns 0.336 ns 1000000000 BM_Visit<3, 4> 0.300 ns 0.296 ns 1000000000 BM_Visit<3, 5> 0.290 ns 0.286 ns 1000000000 BM_Visit<3, 6> 0.272 ns 0.271 ns 1000000000 BM_Visit<3, 7> 1.72 ns 1.71 ns 415765841 BM_Visit<3, 8> 1.73 ns 1.72 ns 408909555 BM_Visit<3, 9> 2.16 ns 2.04 ns 380898485 BM_Visit<3, 10> 2.45 ns 2.40 ns 295714256 BM_Visit<3, 15> 1.92 ns 1.85 ns 375990332 BM_Visit<3, 20> 1.66 ns 1.65 ns 414456233 ```
Differential Revision: https://reviews.llvm.org/D85420
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc1 |
|
| #
2659663e |
| 16-Jul-2020 |
Louis Dionne <ldionne@apple.com> |
[libc++] Remove shortcut Lit features for Apple backdeployment
Some time ago, I introduced shortcut features like dylib-has-no-shared_mutex to encode whether the deployment target supported shared_m
[libc++] Remove shortcut Lit features for Apple backdeployment
Some time ago, I introduced shortcut features like dylib-has-no-shared_mutex to encode whether the deployment target supported shared_mutex (say). This made the test suite annotations cleaner.
However, the problem with building Lit features on top of other Lit features is that it's easier for them to become stale, especially when they are generated programmatically. Furthermore, it makes the bar for defining configurations from scratch higher, since more features have to be defined. Instead, I think it's better to put the XFAILs in the tests directly, which allows cleaning them up with a simple grep.
show more ...
|
|
Revision tags: llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
| #
31cbe0f2 |
| 01-Jun-2020 |
Louis Dionne <ldionne@apple.com> |
[libc++] Remove the c++98 Lit feature from the test suite
C++98 and C++03 are effectively aliases as far as Clang is concerned. As such, allowing both std=c++98 and std=c++03 as Lit parameters is ju
[libc++] Remove the c++98 Lit feature from the test suite
C++98 and C++03 are effectively aliases as far as Clang is concerned. As such, allowing both std=c++98 and std=c++03 as Lit parameters is just slightly confusing, but provides no value. It's similar to allowing both std=c++17 and std=c++1z, which we don't do.
This was discovered because we had an internal bot that ran the test suite under both c++98 AND c++03 -- one of which is redundant.
Differential Revision: https://reviews.llvm.org/D80926
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc1 |
|
| #
8c61114c |
| 17-Apr-2020 |
Louis Dionne <ldionne@apple.com> |
[libc++/abi/unwind] Rename Lit features for no exceptions to 'no-exceptions'
Instead of having different names for the same Lit feature accross code bases, use the same name everywhere. This NFC com
[libc++/abi/unwind] Rename Lit features for no exceptions to 'no-exceptions'
Instead of having different names for the same Lit feature accross code bases, use the same name everywhere. This NFC commit is in preparation for a refactor where all three projects will be using the same Lit feature detection logic, and hence it won't be convenient to use different names for the feature.
Differential Revision: https://reviews.llvm.org/D78370
show more ...
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
| #
cc89063b |
| 21-Aug-2019 |
Nico Weber <nicolasweber@gmx.de> |
libcxx: Rename .hpp files in libcxx/test/support to .h
LLVM uses .h as its extension for header files.
Files renamed using:
for f in libcxx/test/support/*.hpp; do git mv $f ${f%.hpp}.h; done
libcxx: Rename .hpp files in libcxx/test/support to .h
LLVM uses .h as its extension for header files.
Files renamed using:
for f in libcxx/test/support/*.hpp; do git mv $f ${f%.hpp}.h; done
References to the files updated using:
for f in $(git diff master | grep 'rename from' | cut -f 3 -d ' '); do a=$(basename $f); echo $a; rg -l $a libcxx | xargs sed -i '' "s/$a/${a%.hpp}.h/"; done
HPP include guards updated manually using:
for f in $(git diff master | grep 'rename from' | cut -f 3 -d ' '); do echo ${f%.hpp}.h ; done | xargs mvim
Differential Revision: https://reviews.llvm.org/D66104
llvm-svn: 369481
show more ...
|
|
Revision tags: llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1, llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2 |
|
| #
f5f2f777 |
| 05-Feb-2019 |
Louis Dionne <ldionne@apple.com> |
[libc++] Fix XFAILs on macOS when exceptions are disabled
Some tests are marked as failing on platforms where the dylib does not provide the required exception classes. However, when testing with ex
[libc++] Fix XFAILs on macOS when exceptions are disabled
Some tests are marked as failing on platforms where the dylib does not provide the required exception classes. However, when testing with exceptions disabled, those tests shouldn't be marked as failing.
llvm-svn: 353210
show more ...
|
| #
51358e45 |
| 05-Feb-2019 |
Louis Dionne <ldionne@apple.com> |
[libcxx] Start defining lit features for tests depending on availability
This patch removes some vendor-specific availability XFAILs from the test suite. In the future, when a new feature is introdu
[libcxx] Start defining lit features for tests depending on availability
This patch removes some vendor-specific availability XFAILs from the test suite. In the future, when a new feature is introduced in the dylib, an availability macro should be created and a matching lit feature should be created. That way, the test suite can XFAIL whenever the implementation lacks the necessary feature instead of being cluttered by vendor-specific annotations.
Right now, those vendor-specific annotations are still somewhat cluttering the test suite by being in `config.py`, but at least they are localized. In the future, we could design a way to define those less intrusively or even automatically based on the availability macros that already exist in <__config>.
llvm-svn: 353201
show more ...
|
| #
2df59c50 |
| 04-Feb-2019 |
JF Bastien <jfbastien@apple.com> |
Support tests in freestanding
Summary: Freestanding is *weird*. The standard allows it to differ in a bunch of odd manners from regular C++, and the committee would like to improve that situation. I
Support tests in freestanding
Summary: Freestanding is *weird*. The standard allows it to differ in a bunch of odd manners from regular C++, and the committee would like to improve that situation. I'd like to make libc++ behave better with what freestanding should be, so that it can be a tool we use in improving the standard. To do that we need to try stuff out, both with "freestanding the language mode" and "freestanding the library subset".
Let's start with the super basic: run the libc++ tests in freestanding, using clang as the compiler, and see what works. The easiest hack to do this:
In utils/libcxx/test/config.py add:
self.cxx.compile_flags += ['-ffreestanding']
Run the tests and they all fail.
Why? Because in freestanding `main` isn't special. This "not special" property has two effects: main doesn't get mangled, and main isn't allowed to omit its `return` statement. The first means main gets mangled and the linker can't create a valid executable for us to test. The second means we spew out warnings (ew) and the compiler doesn't insert the `return` we omitted, and main just falls of the end and does whatever undefined behavior (if you're luck, ud2 leading to non-zero return code).
Let's start my work with the basics. This patch changes all libc++ tests to declare `main` as `int main(int, char**` so it mangles consistently (enabling us to declare another `extern "C"` main for freestanding which calls the mangled one), and adds `return 0;` to all places where it was missing. This touches 6124 files, and I apologize.
The former was done with The Magic Of Sed.
The later was done with a (not quite correct but decent) clang tool:
https://gist.github.com/jfbastien/793819ff360baa845483dde81170feed
This works for most tests, though I did have to adjust a few places when e.g. the test runs with `-x c`, macros are used for main (such as for the filesystem tests), etc.
Once this is in we can create a freestanding bot which will prevent further regressions. After that, we can start the real work of supporting C++ freestanding fairly well in libc++.
<rdar://problem/47754795>
Reviewers: ldionne, mclow.lists, EricWF
Subscribers: christof, jkorous, dexonsmith, arphaman, miyuki, libcxx-commits
Differential Revision: https://reviews.llvm.org/D57624
llvm-svn: 353086
show more ...
|
|
Revision tags: llvmorg-8.0.0-rc1 |
|
| #
57b08b09 |
| 19-Jan-2019 |
Chandler Carruth <chandlerc@gmail.com> |
Update more file headers across all of the LLVM projects in the monorepo to reflect the new license. These used slightly different spellings that defeated my regular expressions.
We understand that
Update more file headers across all of the LLVM projects in the monorepo to reflect the new license. These used slightly different spellings that defeated my regular expressions.
We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach.
Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository.
llvm-svn: 351648
show more ...
|
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3 |
|
| #
8a063df1 |
| 19-Nov-2018 |
Louis Dionne <ldionne@apple.com> |
[libcxx] Add availability markup for bad_optional_access, bad_variant_access and bad_any_cast
Reviewers: dexonsmith, EricWF
Subscribers: christof, arphaman, libcxx-commits
Differential Revision: h
[libcxx] Add availability markup for bad_optional_access, bad_variant_access and bad_any_cast
Reviewers: dexonsmith, EricWF
Subscribers: christof, arphaman, libcxx-commits
Differential Revision: https://reviews.llvm.org/D53256
llvm-svn: 347219
show more ...
|
|
Revision tags: llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1, llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1, llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2 |
|
| #
ade32237 |
| 05-Aug-2017 |
Stephan T. Lavavej <stl@exchange.microsoft.com> |
[libcxx] [test] Fix URLs in comments and make them HTTPS. NFC.
llvm-svn: 310156
|