aboutsummaryrefslogtreecommitdiff
path: root/third-party
AgeCommit message (Collapse)AuthorFilesLines
2023-06-28[unittest] teach gTest to print entries of DenseMap as pairsSam McCall1-0/+12
When an assertion like the following fails: EXPECT_THAT(map, ElementsAre(Pair("p", "nullable")))); Error message before: Actual: { 40-byte object <E8-A5 9C-7F 25-37 00-00 58-7E 51-51 D0-7F 00-00 00-00 00-00 00-00 00-00 01-00 00-00 00-00 00-00 00-DA C7-7F 25-37 00-00> } After: Actual: { ("p", "nonnull") } It is not ideal that we need to refer directly to DenseMapPair inside the internal namespace, but I believe the practical maintenance risk is low. This change is covered by DenseMap's unittests, as we've covered SmallString etc in the past. Differential Revision: https://reviews.llvm.org/D153930
2023-06-20Revert "Prevent deadlocks in death tests."Martin Braenne1-4/+0
This reverts commit dfbcee286b9b96751014ebc5ba5290e42796be37. This was causing unit tests to fail on Gentoo, see comments on https://reviews.llvm.org/D152696.
2023-06-15Prevent deadlocks in death tests.Martin Braenne1-0/+4
We have recently started seeing deadlocks in death tests while running in an internal test environment. Per the documentation here, there are issues with death tests in the presence of threads: https://github.com/google/googletest/blob/main/docs/advanced.md#death-tests-and-threads To avoid the deadlocks, I first tried appending `DeathTest` to the relevant test suite names, which has the effect of running these test suites before all other tests. However, this did not prevent the deadlocks. This patch therefore uses the option of setting the `death_test_style` flag to `"threadsafe"` (see description in the page linked above under "Death Test Styles"), and this prevents the deadlocks. The documentation notes that the "threadsafe" death test style "trades increased test execution time (potentially dramatically so) for improved thread safety". This is because, to execute a death test, "threadsafe" does a "fork + exec", then re-executes the current test in the child process, whereas the default "fast" death test style does only a fork (on those platforms that support it). However, as we have relatively few death tests, the increased execution time does not make a big difference in total test execution time in my testing. Note that other projects, such as Chromium, also choose to set the "threadsafe" death test style globally: https://source.chromium.org/chromium/chromium/src/+/main:base/test/test_suite.cc;l=367 Reviewed By: hans Differential Revision: https://reviews.llvm.org/D152696
2023-05-25[NFC][Py Reformat] Reformat python files in the rest of the dirsTobias Hieta8-932/+1294
This is an ongoing series of commits that are reformatting our Python code. This catches the last of the python files to reformat. Since they where so few I bunched them together. Reformatting is done with `black`. If you end up having problems merging this commit because you have made changes to a python file, the best way to handle that is to run git checkout --ours <yourfile> and then reformat it with black. If you run into any problems, post to discourse about it and we will try to help. RFC Thread below: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style Reviewed By: jhenderson, #libc, Mordante, sivachandra Differential Revision: https://reviews.llvm.org/D150784
2023-03-14Remove an extra `//` in the IWYU pragma for gtest-matchers.hHaojian Wu1-1/+1
Differential Revision: https://reviews.llvm.org/D146022
2023-03-13[third-party] Respect LLVM_INSTALL_GTEST for llvm_gtest_mainMichał Górny1-2/+6
Pass BUILDTREE_ONLY to llvm_gtest_main only if LLVM_INSTALL_GTEST is not set. This fixes 0807986303f5d498cee32d42c242940d00617ad9. Otherwise, llvm_gtest_main cannot be used in LLVM_DISTRIBUTION_COMPONENTS, effectively making it impossible to install llvm_gtest correctly. Differential Revision: https://reviews.llvm.org/D145946
2023-03-10Add install targets for gtestTom Stellard1-2/+18
Stand-alone builds need an installed version of gtest in order to run the unittests. Reviewed By: mgorny, kwk Differential Revision: https://reviews.llvm.org/D137890
2023-01-14[gtest] Use std::optional instead of llvm::Optional (NFC)Kazu Hirata1-6/+6
This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
2022-11-24[llvm] [cmake] Set EXCLUDE_FROM_ALL on gtest and TestingSupportMichał Górny1-0/+4
Exclude building googletest and LLVMTestingSupport libraries from the `all` target. If unittests are being built, these libraries will be built as a dependency anyway. If they are not being built, building them makes little sense as they are not installed or used otherwise. This will also make standalone builds of other projects easier, as it makes it possible to include these directories without having to cover them with additional conditions to prevent them from being built unconditionally. Differential Revision: https://reviews.llvm.org/D137035
2022-11-09Move googletest to the third-party directoryTom Stellard64-0/+42657
Rre-commit of 59052468c3e38cab15582cefbb5133fd4c2ffce5 with a typo fix in compiler-rt/CMakeLists.txt
2022-11-09Revert "Move googletest to the third-party directory"Tom Stellard64-42657/+0
This reverts commit 59052468c3e38cab15582cefbb5133fd4c2ffce5. It looks like this patch breaks the build when compiler-rt is passed to LLVM_ENABLE_PROJECTS instead of LLVM_ENABLE_RUNTIMES.
2022-11-09Move googletest to the third-party directoryTom Stellard64-0/+42657
This will help improve the project's layering, so that sub-projects that don't actually need any llvm code can still use googletest without having to reference code in the llvm directory. This will also make it easier to consolidate and simplify the standalone build configurations. Reviewed By: stellaraccident, lattner, probinson, phosek Differential Revision: https://reviews.llvm.org/D131919
2022-08-18Revert "[cmake] Use `CMAKE_INSTALL_LIBDIR` too"John Ericson1-3/+3
This reverts commit f7a33090a91015836497c75f173775392ab0304d. Unfortunately this causes a number of failures that didn't show up in my local build.
2022-08-18[cmake] Use `CMAKE_INSTALL_LIBDIR` tooJohn Ericson1-3/+3
We held off on this before as `LLVM_LIBDIR_SUFFIX` conflicted with it. Now we return this. `LLVM_LIBDIR_SUFFIX` is kept as a deprecated way to set `CMAKE_INSTALL_LIBDIR`. The other `*_LIBDIR_SUFFIX` are just removed entirely. I imagine this is too potentially-breaking to make LLVM 15. That's fine. I have a more minimal version of this in the disto (NixOS) patches for LLVM 15 (like previous versions). This more expansive version I will test harder after the release is cut. Reviewed By: sebastian-ne, ldionne, #libc, #libc_abi Differential Revision: https://reviews.llvm.org/D130586
2022-08-15Silence MSVC codecvt deprecation warningsAaron Ballman1-0/+7
This silences warnings about use of deprecated codecvt functionality after the switch to build with C++17.
2021-12-26Ensure newlines at the end of files (NFC)Kazu Hirata1-1/+1
2021-12-14[benchmark] Delete BUILD filesMircea Trofin6-187/+2
Bazel support is through utils/bazel, and the BUILD files in `benchmark` just complicate downstream integrates for bazel based builds. Differential Revision: https://reviews.llvm.org/D115733
2021-12-13[benchmark] Pull latest; disable -WerrorMircea Trofin100-1901/+3521
Pulled the latest (b000672), which adds an option to disable -Werror, which caused issues previously (see for instance https://reviews.llvm.org/D112012) Applied https://github.com/google/benchmark/pull/1305 to unblock, as this issue is causing downstream buildbot failures. The only change is in llvm/CMakeLists.txt, where we set BENCHMARK_ENABLE_WERROR to have the same value as LLVM_ENABLE_WERROR. This patch also introduces a convenience script to pull benchmark from upstream. Differential Revision: https://reviews.llvm.org/D115684
2021-12-09[benchmark] Reapply fix for -Wcovered-switch-default warningMartin Storsjö1-3/+1
This reapplies a fix from 948ce4e6edec6ad3cdf1911fc3e8e9569140d4ff, whichn't originally submitted upstream. I has now been merged upstream though, in https://github.com/google/benchmark/pull/1302. When benchmarks were unified in 5dda2efde574d3a200d04c371f561a77ee9f4aff, it lost this change, but it also lost another local modification, where benchmark's CMakeLists.txt was modified to comment out adding -Werror. (This change was part of the original import in 0addd170ab0880941fa4089c2717f3f3a0e4e25a.) As the benchmark library is built automatically by default, when building all of LLVM (contrary to the copy in libcxx, which wasn't built by default), building it with -Werror by default is very brittle. This fixes building LLVM with MinGW. (It wasn't broken in MSVC mode, as the benchmark library doesn't add -Werror or anything equivalent in MSVC mode, and it's unclear if this warning is enabled in that mode at all.) Differential Revision: https://reviews.llvm.org/D115434
2021-12-07Re-Reland "[benchmarks] Move libcxx's fork of google/benchmark and llvm/utils'"Mircea Trofin139-0/+21243
This reverts commit b2fbd45d2395f1f6ef39db72b7156724fc101e40. D114922 fixed the reason of the 2nd revert. This patch also re-applies 39e9f5d3685f3cfca0df072928ad96d973704dff. Differential Revision: https://reviews.llvm.org/D112012
2021-11-16Revert "Reland "[benchmarks] Move libcxx's fork of google/benchmark and ↵Mircea Trofin139-21243/+0
llvm/utils'""" This reverts commit 1ee32055ea1dd4db70d1939cbd4f5105c2dce160. We hit additional bot failures; in particular, Fuchsia's seems to be related to how CMakeLists are ingested, see https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8830380874445931681/overview
2021-11-16Reland "[benchmarks] Move libcxx's fork of google/benchmark and llvm/utils'""Mircea Trofin139-0/+21243
This reverts commit e7568b68da8a216dc22cdc1c6d8903c94096c846 and relands c6f7b720ecfa6db40c648eb05e319f8a817110e9. The culprit was: missed that libc also had a dependency on one of the copies of `google-benchmark` Also opportunistically fixed indentation from prev. change. Differential Revision: https://reviews.llvm.org/D112012
2021-11-16Revert "[benchmarks] Move libcxx's fork of google/benchmark and llvm/utils'"Mircea Trofin139-21243/+0
This reverts commit c6f7b720ecfa6db40c648eb05e319f8a817110e9. Some buildbots are failing, will investigate and reland. Example: https://lab.llvm.org/buildbot#builders/138/builds/14067 https://lab.llvm.org/buildbot#builders/73/builds/20159
2021-11-16[benchmarks] Move libcxx's fork of google/benchmark and llvm/utils'Mircea Trofin139-0/+21243
under third-party This change: - moves the libcxx copy of `google/benchmark` to `third-party/benchmkark` - points the 2 uses of the library (libcxx and llvm/utils) to this copy We picked the licxx copy because it is the most up to date. Differential Revision: https://reviews.llvm.org/D112012