From 3f10e05176846efa9608b3743743d01e24ff4a2d Mon Sep 17 00:00:00 2001 From: Ryan Henry Date: Thu, 24 Sep 2026 14:30:19 -0600 Subject: [PATCH] Update googletest to 1.18.0 and SIMDe to 0.8.2. Googletest 1.18 asks for CMake 3.13 or newer, so configuring the tests no longer warns that CMake compatibility below 3.10 is deprecated. Co-authored-by: Cursor --- .../ISSUE_TEMPLATE/10-feature_request.yml | 6 +- .../googletest/.github/workflows/gtest-ci.yml | 43 - test/googletest/.gitignore | 5 + test/googletest/BUILD.bazel | 55 +- test/googletest/CMakeLists.txt | 27 +- test/googletest/CONTRIBUTING.md | 8 +- test/googletest/CONTRIBUTORS | 1 + test/googletest/MODULE.bazel | 80 + test/googletest/README.md | 71 +- test/googletest/WORKSPACE | 84 +- test/googletest/WORKSPACE.bzlmod | 35 + test/googletest/ci/linux-presubmit.sh | 163 +- test/googletest/ci/macos-presubmit.sh | 28 +- test/googletest/ci/windows-presubmit.bat | 81 +- test/googletest/docs/_layouts/default.html | 14 +- test/googletest/docs/advanced.md | 395 +- test/googletest/docs/faq.md | 70 +- test/googletest/docs/gmock_cheat_sheet.md | 6 +- test/googletest/docs/gmock_cook_book.md | 240 +- test/googletest/docs/gmock_for_dummies.md | 12 +- test/googletest/docs/pkgconfig.md | 14 +- test/googletest/docs/platforms.md | 39 +- test/googletest/docs/primer.md | 131 +- test/googletest/docs/quickstart-bazel.md | 62 +- test/googletest/docs/quickstart-cmake.md | 7 +- test/googletest/docs/reference/actions.md | 7 +- test/googletest/docs/reference/assertions.md | 17 +- test/googletest/docs/reference/matchers.md | 58 +- test/googletest/docs/reference/mocking.md | 3 +- test/googletest/docs/reference/testing.md | 199 +- test/googletest/fake_fuchsia_sdk.bzl | 61 + test/googletest/googlemock/CMakeLists.txt | 56 +- test/googletest/googlemock/README.md | 6 +- .../googlemock/include/gmock/gmock-actions.h | 287 +- .../include/gmock/gmock-cardinalities.h | 8 +- .../include/gmock/gmock-function-mocker.h | 9 +- .../googlemock/include/gmock/gmock-matchers.h | 1209 +- .../include/gmock/gmock-more-actions.h | 23 +- .../include/gmock/gmock-more-matchers.h | 15 +- .../include/gmock/gmock-nice-strict.h | 20 +- .../include/gmock/gmock-spec-builders.h | 104 +- .../googlemock/include/gmock/gmock.h | 15 +- .../gmock/internal/gmock-internal-utils.h | 67 +- .../include/gmock/internal/gmock-port.h | 15 +- .../include/gmock/internal/gmock-pp.h | 142 +- .../googlemock/src/gmock-cardinalities.cc | 8 +- .../googlemock/src/gmock-internal-utils.cc | 12 +- .../googlemock/src/gmock-matchers.cc | 31 +- .../googlemock/src/gmock-spec-builders.cc | 52 +- test/googletest/googlemock/src/gmock.cc | 2 + test/googletest/googlemock/src/gmock_main.cc | 9 +- test/googletest/googlemock/test/BUILD.bazel | 1 + .../googlemock/test/gmock-actions_test.cc | 261 +- .../test/gmock-cardinalities_test.cc | 16 +- .../test/gmock-function-mocker_test.cc | 205 +- .../test/gmock-internal-utils_test.cc | 9 +- .../test/gmock-matchers-arithmetic_test.cc | 254 +- .../test/gmock-matchers-comparisons_test.cc | 277 +- .../test/gmock-matchers-containers_test.cc | 453 +- .../test/gmock-matchers-misc_test.cc | 125 +- .../googlemock/test/gmock-matchers_test.h | 3 +- .../test/gmock-more-actions_test.cc | 138 +- .../googlemock/test/gmock-nice-strict_test.cc | 8 +- .../googlemock/test/gmock-pp_test.cc | 8 +- .../test/gmock-spec-builders_test.cc | 60 +- .../googlemock/test/gmock_ex_test.cc | 2 + .../googlemock/test/gmock_leak_test_.cc | 4 +- .../googlemock/test/gmock_link_test.h | 29 +- .../googlemock/test/gmock_output_test_.cc | 11 +- .../test/gmock_output_test_golden.txt | 30 +- .../googlemock/test/gmock_stress_test.cc | 4 +- test/googletest/googlemock/test/gmock_test.cc | 2 +- test/googletest/googletest/CMakeLists.txt | 59 +- test/googletest/googletest/README.md | 20 +- .../googletest/cmake/Config.cmake.in | 4 + .../googletest/cmake/internal_utils.cmake | 208 +- .../include/gtest/gtest-assertion-result.h | 51 +- .../include/gtest/gtest-death-test.h | 18 +- .../googletest/include/gtest/gtest-matchers.h | 266 +- .../googletest/include/gtest/gtest-message.h | 37 +- .../include/gtest/gtest-param-test.h | 136 +- .../googletest/include/gtest/gtest-printers.h | 362 +- .../googletest/include/gtest/gtest-spi.h | 4 +- .../include/gtest/gtest-test-part.h | 21 +- .../include/gtest/gtest-typed-test.h | 54 +- .../googletest/include/gtest/gtest.h | 190 +- .../internal/gtest-death-test-internal.h | 87 +- .../include/gtest/internal/gtest-filepath.h | 10 +- .../include/gtest/internal/gtest-internal.h | 276 +- .../include/gtest/internal/gtest-param-util.h | 279 +- .../include/gtest/internal/gtest-port-arch.h | 8 + .../include/gtest/internal/gtest-port.h | 738 +- .../include/gtest/internal/gtest-string.h | 6 +- .../include/gtest/internal/gtest-type-util.h | 30 + .../googletest/samples/prime_tables.h | 2 +- .../googletest/samples/sample10_unittest.cc | 1 - .../googletest/samples/sample2_unittest.cc | 4 +- .../googletest/samples/sample8_unittest.cc | 2 + .../googletest/samples/sample9_unittest.cc | 1 - .../googletest/src/gtest-assertion-result.cc | 4 +- .../googletest/src/gtest-death-test.cc | 99 +- .../googletest/src/gtest-filepath.cc | 45 +- .../googletest/src/gtest-internal-inl.h | 99 +- .../googletest/src/gtest-matchers.cc | 2 - test/googletest/googletest/src/gtest-port.cc | 211 +- .../googletest/src/gtest-printers.cc | 35 +- .../googletest/src/gtest-test-part.cc | 13 +- .../googletest/src/gtest-typed-test.cc | 6 +- test/googletest/googletest/src/gtest.cc | 981 +- test/googletest/googletest/src/gtest_main.cc | 9 +- test/googletest/googletest/test/BUILD.bazel | 80 +- .../gmock_dynamic_cast_message_test.proto | 9 + .../googletest-break-on-failure-unittest_.cc | 8 +- .../test/googletest-catch-exceptions-test.py | 4 +- .../googletest/test/googletest-color-test.py | 2 + .../test/googletest-death-test-test.cc | 111 +- .../test/googletest-death-test_ex_test.cc | 2 +- ...no-test-linked-test-with-disabled-test_.cc | 38 + ...-no-test-linked-test-with-enabled-test_.cc | 38 + .../googletest-fail-if-no-test-linked-test.py | 165 + ...oogletest-fail-if-no-test-selected-test.py | 91 + .../test/googletest-filepath-test.cc | 26 +- .../test/googletest-filter-unittest.py | 19 + .../test/googletest-json-outfiles-test.py | 2 +- .../test/googletest-json-output-unittest.py | 152 +- .../test/googletest-list-tests-unittest_.cc | 3 + .../test/googletest-listener-test.cc | 13 +- .../test/googletest-message-test.cc | 23 + .../test/googletest-options-test.cc | 29 +- .../googletest-output-test-golden-lin.txt | 21 +- .../googletest/test/googletest-output-test.py | 8 +- .../test/googletest-output-test_.cc | 26 +- ...ogletest-param-test-invalid-name2-test_.cc | 2 + .../test/googletest-param-test-test.cc | 82 +- .../googletest/test/googletest-port-test.cc | 76 +- .../test/googletest-printers-test.cc | 215 +- .../test/googletest-setuptestsuite-test_.cc | 4 +- .../test/googletest-shuffle-test_.cc | 1 - .../test/googletest-test-part-test.cc | 2 +- .../googletest/test/gtest_environment_test.cc | 154 +- .../googletest/test/gtest_help_test.py | 89 +- .../googletest/test/gtest_help_test_.cc | 2 +- .../googletest/test/gtest_json_test_utils.py | 3 + .../googletest/test/gtest_repeat_test.cc | 4 +- .../googletest/test/gtest_stress_test.cc | 13 +- .../googletest/test/gtest_unittest.cc | 348 +- .../test/gtest_xml_outfile2_test_.cc | 2 + .../test/gtest_xml_outfiles_test.py | 2 +- .../test/gtest_xml_output_unittest.py | 158 +- .../test/gtest_xml_output_unittest_.cc | 24 +- .../googletest/test/gtest_xml_test_utils.py | 2 +- test/googletest/googletest_deps.bzl | 44 + thirdparty/simde/.all-contributorsrc | 534 +- thirdparty/simde/.appveyor.yml | 88 +- thirdparty/simde/.azure-pipelines.yml | 14 +- thirdparty/simde/.circleci/config.yml | 38 +- thirdparty/simde/.cirrus.yml | 10 +- thirdparty/simde/.dockerignore | 4 + .../{.drone.star => .drone.star.disabled} | 0 thirdparty/simde/.github/dependabot.yml | 11 + thirdparty/simde/.github/workflows/ci.yml | 689 +- .../.github/workflows/codeql-analysis.yml | 6 +- thirdparty/simde/.github/workflows/deploy.yml | 13 +- .../.github/workflows/ossar-analysis.yml | 6 +- thirdparty/simde/.packit.yml | 30 + thirdparty/simde/.packit/README.md | 45 + thirdparty/simde/.packit/ci.sh | 214 + thirdparty/simde/.packit/simde.spec | 80 + thirdparty/simde/.semaphore/semaphore.yml | 14 +- thirdparty/simde/.travis.yml | 6 +- thirdparty/simde/CONTRIBUTING.md | 20 + thirdparty/simde/README.md | 163 +- thirdparty/simde/docker/Dockerfile | 22 +- thirdparty/simde/docker/Dockerfile.ubuntu | 112 + .../simde/docker/Dockerfile.ubuntu_bionic | 112 + thirdparty/simde/docker/README.md | 2 +- .../aarch64-clang-13-debflags.cross | 20 + .../aarch64-clang-14-debflags.cross | 20 + .../cross-files/aarch64-clang-15-ccache.cross | 20 + .../aarch64-clang-15-debflags.cross | 20 + .../cross-files/aarch64-clang-16-ccache.cross | 20 + .../cross-files/aarch64-clang-17-ccache.cross | 20 + .../cross-files/aarch64-gcc-12-ccache.cross | 4 +- .../cross-files/armel-clang-15-ccache.cross | 20 + .../cross-files/armel-clang-16-ccache.cross | 20 + .../cross-files/armel-clang-17-ccache.cross | 20 + .../cross-files/armel-gcc-12-ccache.cross | 18 + .../cross-files/armv7-clang-15-ccache.cross | 20 + .../cross-files/armv7-clang-16-ccache.cross | 20 + .../cross-files/armv7-clang-17-ccache.cross | 20 + .../cross-files/armv7-gcc-12-ccache.cross | 18 + .../armv8-gcc-12-32bit-ccache.cross | 18 + .../cross-files/clang-11-debflags.cross | 11 + .../simde/docker/cross-files/clang-11.cross | 2 +- .../simde/docker/cross-files/clang-16.cross | 11 + .../simde/docker/cross-files/clang-17.cross | 11 + .../simde/docker/cross-files/clang-3.9.cross | 11 + .../simde/docker/cross-files/clang-4.cross | 11 + .../simde/docker/cross-files/clang-5.cross | 11 + .../simde/docker/cross-files/clang-6.cross | 11 + .../simde/docker/cross-files/clang-7.cross | 11 + .../simde/docker/cross-files/clang-8.cross | 11 + .../simde/docker/cross-files/clang-9.cross | 2 +- .../cross-files/emscripten32-relaxed.cross | 20 + .../{emscripten.cross => emscripten32.cross} | 4 +- .../cross-files/emscripten64-relaxed.cross | 24 + .../docker/cross-files/emscripten64.cross | 24 + .../simde/docker/cross-files/gcc-5.cross | 11 + .../simde/docker/cross-files/gcc-6.cross | 11 + .../simde/docker/cross-files/gcc-7.cross | 11 + .../docker/cross-files/i686-gcc-14.cross | 17 + .../cross-files/intel-all-clang-10.cross | 7 +- .../cross-files/intel-all-clang-7.cross | 18 + .../cross-files/intel-all-clang-8.cross | 18 + .../cross-files/intel-all-clang-9.cross | 21 + .../docker/cross-files/intel-all-gcc-12.cross | 8 +- .../docker/cross-files/intel-all-gcc-8.cross | 18 + .../loongarch64-gcc-13-ccache.cross | 18 + .../cross-files/loongarch64-gcc-13.cross | 18 + .../cross-files/mips64el-clang-15.cross | 2 +- .../mips64el-clang-16-ccache.cross | 20 + .../cross-files/mips64el-clang-16.cross | 20 + .../mips64el-clang-17-ccache.cross | 20 + .../cross-files/mips64el-gcc-12-ccache.cross | 18 + .../cross-files/power9-clang-15-ccache.cross | 20 + .../docker/cross-files/power9-clang-15.cross | 2 +- .../cross-files/power9-gcc-12-ccache.cross | 2 +- .../docker/cross-files/power9-gcc-12.cross | 2 +- .../docker/cross-files/ppc64el-clang-14.cross | 20 + .../cross-files/ppc64el-clang-15-ccache.cross | 20 + .../docker/cross-files/ppc64el-clang-15.cross | 20 + .../cross-files/ppc64el-clang-16-ccache.cross | 20 + .../cross-files/ppc64el-clang-17-ccache.cross | 20 + .../cross-files/ppc64el-gcc-10-debflags.cross | 2 +- .../docker/cross-files/ppc64el-gcc-10.cross | 2 +- .../cross-files/ppc64el-gcc-11-debflags.cross | 2 +- .../docker/cross-files/ppc64el-gcc-11.cross | 2 +- .../cross-files/ppc64el-gcc-12-debflags.cross | 2 +- ...4+rvv_vlen128_elen64-clang-17-ccache.cross | 37 + ..._vlen128_elen64_zvfh-clang-17-ccache.cross | 37 + ...4+rvv_vlen256_elen64-clang-17-ccache.cross | 37 + ..._vlen256_elen64_zvfh-clang-17-ccache.cross | 37 + ...4+rvv_vlen512_elen64-clang-17-ccache.cross | 37 + ..._vlen512_elen64_zvfh-clang-17-ccache.cross | 37 + .../cross-files/riscv64-clang-15-ccache.cross | 20 + .../cross-files/riscv64-clang-16-ccache.cross | 20 + .../docker/cross-files/riscv64-clang-16.cross | 20 + .../cross-files/riscv64-clang-17-ccache.cross | 20 + .../docker/cross-files/riscv64-clang-17.cross | 20 + .../docker/cross-files/riscv64-gcc-10.cross | 2 +- .../docker/cross-files/riscv64-gcc-11.cross | 2 +- .../riscv64-gcc-12-O3-ccache.cross | 18 + .../cross-files/riscv64-gcc-12-ccache.cross | 2 +- .../docker/cross-files/riscv64-gcc-12.cross | 2 +- .../cross-files/s390x-clang-15-ccache.cross | 20 + .../cross-files/s390x-clang-16-ccache.cross | 20 + .../cross-files/s390x-clang-17-ccache.cross | 20 + thirdparty/simde/meson.build | 122 +- .../{netlify.toml => netlify-disable.toml} | 0 thirdparty/simde/simde/arm/neon.h | 109 +- thirdparty/simde/simde/arm/neon/abal.h | 125 + thirdparty/simde/simde/arm/neon/abal_high.h | 125 + thirdparty/simde/simde/arm/neon/abd.h | 140 + thirdparty/simde/simde/arm/neon/abdl_high.h | 123 + thirdparty/simde/simde/arm/neon/abs.h | 67 +- thirdparty/simde/simde/arm/neon/add.h | 264 +- thirdparty/simde/simde/arm/neon/addhn_high.h | 124 + thirdparty/simde/simde/arm/neon/addlv.h | 24 + thirdparty/simde/simde/arm/neon/addv.h | 5 + thirdparty/simde/simde/arm/neon/aes.h | 218 + thirdparty/simde/simde/arm/neon/and.h | 32 + thirdparty/simde/simde/arm/neon/bcax.h | 32 +- thirdparty/simde/simde/arm/neon/bsl.h | 151 + thirdparty/simde/simde/arm/neon/cadd_rot270.h | 188 + thirdparty/simde/simde/arm/neon/cadd_rot90.h | 188 + thirdparty/simde/simde/arm/neon/cale.h | 165 + thirdparty/simde/simde/arm/neon/calt.h | 165 + thirdparty/simde/simde/arm/neon/ceq.h | 97 + thirdparty/simde/simde/arm/neon/ceqz.h | 59 +- thirdparty/simde/simde/arm/neon/cgez.h | 59 + thirdparty/simde/simde/arm/neon/cgt.h | 66 + thirdparty/simde/simde/arm/neon/cgtz.h | 59 + thirdparty/simde/simde/arm/neon/cle.h | 63 + thirdparty/simde/simde/arm/neon/clez.h | 61 + thirdparty/simde/simde/arm/neon/clt.h | 66 + thirdparty/simde/simde/arm/neon/cltz.h | 59 + thirdparty/simde/simde/arm/neon/cmla.h | 86 +- thirdparty/simde/simde/arm/neon/cmla_lane.h | 304 + thirdparty/simde/simde/arm/neon/cmla_rot180.h | 91 +- .../simde/simde/arm/neon/cmla_rot180_lane.h | 310 + thirdparty/simde/simde/arm/neon/cmla_rot270.h | 90 +- .../simde/simde/arm/neon/cmla_rot270_lane.h | 311 + thirdparty/simde/simde/arm/neon/cmla_rot90.h | 90 +- .../simde/simde/arm/neon/cmla_rot90_lane.h | 311 + thirdparty/simde/simde/arm/neon/cnt.h | 29 + thirdparty/simde/simde/arm/neon/combine.h | 131 + thirdparty/simde/simde/arm/neon/copy_lane.h | 1184 ++ thirdparty/simde/simde/arm/neon/crc32.h | 282 + thirdparty/simde/simde/arm/neon/create.h | 75 +- thirdparty/simde/simde/arm/neon/cvt.h | 1061 +- thirdparty/simde/simde/arm/neon/cvt_n.h | 691 + thirdparty/simde/simde/arm/neon/cvtm.h | 381 + thirdparty/simde/simde/arm/neon/cvtn.h | 530 + thirdparty/simde/simde/arm/neon/cvtp.h | 379 + thirdparty/simde/simde/arm/neon/div.h | 199 + thirdparty/simde/simde/arm/neon/dot.h | 69 +- thirdparty/simde/simde/arm/neon/dot_lane.h | 158 +- thirdparty/simde/simde/arm/neon/dup_lane.h | 499 + thirdparty/simde/simde/arm/neon/dup_n.h | 187 +- thirdparty/simde/simde/arm/neon/eor.h | 202 + thirdparty/simde/simde/arm/neon/ext.h | 286 +- thirdparty/simde/simde/arm/neon/fma.h | 51 +- thirdparty/simde/simde/arm/neon/fma_lane.h | 116 +- thirdparty/simde/simde/arm/neon/fma_n.h | 37 +- thirdparty/simde/simde/arm/neon/fmlal.h | 527 + thirdparty/simde/simde/arm/neon/fmlsl.h | 373 + thirdparty/simde/simde/arm/neon/fms.h | 139 + thirdparty/simde/simde/arm/neon/fms_lane.h | 316 + thirdparty/simde/simde/arm/neon/fms_n.h | 125 + thirdparty/simde/simde/arm/neon/get_high.h | 111 + thirdparty/simde/simde/arm/neon/get_lane.h | 198 + thirdparty/simde/simde/arm/neon/get_low.h | 111 + thirdparty/simde/simde/arm/neon/hadd.h | 60 + thirdparty/simde/simde/arm/neon/ld1.h | 265 +- thirdparty/simde/simde/arm/neon/ld1_dup.h | 141 + thirdparty/simde/simde/arm/neon/ld1_lane.h | 166 + thirdparty/simde/simde/arm/neon/ld1_x2.h | 262 +- thirdparty/simde/simde/arm/neon/ld1_x3.h | 283 +- thirdparty/simde/simde/arm/neon/ld1_x4.h | 302 +- thirdparty/simde/simde/arm/neon/ld1q_x2.h | 267 +- thirdparty/simde/simde/arm/neon/ld1q_x3.h | 284 +- thirdparty/simde/simde/arm/neon/ld1q_x4.h | 303 +- thirdparty/simde/simde/arm/neon/ld2.h | 581 + thirdparty/simde/simde/arm/neon/ld2_dup.h | 612 + thirdparty/simde/simde/arm/neon/ld2_lane.h | 638 + thirdparty/simde/simde/arm/neon/ld3.h | 628 +- thirdparty/simde/simde/arm/neon/ld3_dup.h | 610 + thirdparty/simde/simde/arm/neon/ld3_lane.h | 638 + thirdparty/simde/simde/arm/neon/ld4.h | 551 +- thirdparty/simde/simde/arm/neon/ld4_dup.h | 610 + thirdparty/simde/simde/arm/neon/ld4_lane.h | 232 + thirdparty/simde/simde/arm/neon/max.h | 71 + thirdparty/simde/simde/arm/neon/maxnm.h | 79 + thirdparty/simde/simde/arm/neon/maxnmv.h | 172 + thirdparty/simde/simde/arm/neon/maxv.h | 65 + thirdparty/simde/simde/arm/neon/min.h | 83 +- thirdparty/simde/simde/arm/neon/minnm.h | 79 + thirdparty/simde/simde/arm/neon/minnmv.h | 196 + thirdparty/simde/simde/arm/neon/minv.h | 65 + thirdparty/simde/simde/arm/neon/mla_lane.h | 241 + .../simde/simde/arm/neon/mlal_high_lane.h | 147 + thirdparty/simde/simde/arm/neon/mls.h | 18 +- thirdparty/simde/simde/arm/neon/mls_lane.h | 240 + .../simde/simde/arm/neon/mlsl_high_lane.h | 147 + thirdparty/simde/simde/arm/neon/mmlaq.h | 153 + thirdparty/simde/simde/arm/neon/mul.h | 227 +- thirdparty/simde/simde/arm/neon/mul_lane.h | 425 +- thirdparty/simde/simde/arm/neon/mul_n.h | 29 + thirdparty/simde/simde/arm/neon/mull.h | 57 + thirdparty/simde/simde/arm/neon/mull_high.h | 53 + .../simde/simde/arm/neon/mull_high_lane.h | 170 + thirdparty/simde/simde/arm/neon/mull_high_n.h | 98 + thirdparty/simde/simde/arm/neon/mulx.h | 237 + thirdparty/simde/simde/arm/neon/mulx_lane.h | 455 + thirdparty/simde/simde/arm/neon/mulx_n.h | 69 + thirdparty/simde/simde/arm/neon/mvn.h | 47 + thirdparty/simde/simde/arm/neon/neg.h | 61 + thirdparty/simde/simde/arm/neon/padd.h | 29 + thirdparty/simde/simde/arm/neon/paddl.h | 2 +- thirdparty/simde/simde/arm/neon/pmax.h | 29 + thirdparty/simde/simde/arm/neon/pmaxnm.h | 142 + thirdparty/simde/simde/arm/neon/pmin.h | 29 + thirdparty/simde/simde/arm/neon/pminnm.h | 142 + thirdparty/simde/simde/arm/neon/qabs.h | 2 +- thirdparty/simde/simde/arm/neon/qdmlal.h | 105 + thirdparty/simde/simde/arm/neon/qdmlal_high.h | 83 + .../simde/simde/arm/neon/qdmlal_high_lane.h | 125 + .../simde/simde/arm/neon/qdmlal_high_n.h | 86 + thirdparty/simde/simde/arm/neon/qdmlal_lane.h | 122 + thirdparty/simde/simde/arm/neon/qdmlal_n.h | 69 + thirdparty/simde/simde/arm/neon/qdmlsl.h | 106 + thirdparty/simde/simde/arm/neon/qdmlsl_high.h | 81 + .../simde/simde/arm/neon/qdmlsl_high_lane.h | 124 + .../simde/simde/arm/neon/qdmlsl_high_n.h | 86 + thirdparty/simde/simde/arm/neon/qdmlsl_lane.h | 122 + thirdparty/simde/simde/arm/neon/qdmlsl_n.h | 69 + thirdparty/simde/simde/arm/neon/qdmulh.h | 16 + thirdparty/simde/simde/arm/neon/qdmulh_lane.h | 23 + thirdparty/simde/simde/arm/neon/qdmull.h | 5 +- thirdparty/simde/simde/arm/neon/qdmull_high.h | 69 + .../simde/simde/arm/neon/qdmull_high_lane.h | 107 + .../simde/simde/arm/neon/qdmull_high_n.h | 70 + thirdparty/simde/simde/arm/neon/qdmull_lane.h | 206 + thirdparty/simde/simde/arm/neon/qdmull_n.h | 69 + thirdparty/simde/simde/arm/neon/qmovun_high.h | 84 + thirdparty/simde/simde/arm/neon/qrdmlah.h | 186 + .../simde/simde/arm/neon/qrdmlah_lane.h | 162 + thirdparty/simde/simde/arm/neon/qrdmlsh.h | 186 + .../simde/simde/arm/neon/qrdmlsh_lane.h | 162 + thirdparty/simde/simde/arm/neon/qrdmulh.h | 10 +- .../simde/simde/arm/neon/qrdmulh_lane.h | 21 + thirdparty/simde/simde/arm/neon/qrshl.h | 744 + .../simde/simde/arm/neon/qrshrn_high_n.h | 189 + thirdparty/simde/simde/arm/neon/qrshrn_n.h | 21 + .../simde/simde/arm/neon/qrshrun_high_n.h | 113 + thirdparty/simde/simde/arm/neon/qrshrun_n.h | 29 +- thirdparty/simde/simde/arm/neon/qshl.h | 3 +- thirdparty/simde/simde/arm/neon/qshl_n.h | 513 + thirdparty/simde/simde/arm/neon/qshlu_n.h | 17 + .../simde/simde/arm/neon/qshrn_high_n.h | 101 + thirdparty/simde/simde/arm/neon/qshrn_n.h | 21 + .../simde/simde/arm/neon/qshrun_high_n.h | 113 + thirdparty/simde/simde/arm/neon/qshrun_n.h | 11 + thirdparty/simde/simde/arm/neon/qtbl.h | 185 + thirdparty/simde/simde/arm/neon/qtbx.h | 183 + thirdparty/simde/simde/arm/neon/raddhn.h | 182 + thirdparty/simde/simde/arm/neon/raddhn_high.h | 102 + thirdparty/simde/simde/arm/neon/rax.h | 64 + thirdparty/simde/simde/arm/neon/rbit.h | 29 + thirdparty/simde/simde/arm/neon/recpe.h | 68 +- thirdparty/simde/simde/arm/neon/recps.h | 64 + thirdparty/simde/simde/arm/neon/recpx.h | 133 + thirdparty/simde/simde/arm/neon/reinterpret.h | 4361 +++++ thirdparty/simde/simde/arm/neon/rev16.h | 29 + thirdparty/simde/simde/arm/neon/rev32.h | 57 + thirdparty/simde/simde/arm/neon/rev64.h | 88 +- thirdparty/simde/simde/arm/neon/rnd.h | 63 +- thirdparty/simde/simde/arm/neon/rnd32x.h | 160 + thirdparty/simde/simde/arm/neon/rnd32z.h | 160 + thirdparty/simde/simde/arm/neon/rnd64x.h | 160 + thirdparty/simde/simde/arm/neon/rnd64z.h | 160 + thirdparty/simde/simde/arm/neon/rnda.h | 191 + thirdparty/simde/simde/arm/neon/rndi.h | 61 + thirdparty/simde/simde/arm/neon/rndm.h | 61 + thirdparty/simde/simde/arm/neon/rndn.h | 65 + thirdparty/simde/simde/arm/neon/rndp.h | 61 + thirdparty/simde/simde/arm/neon/rndx.h | 191 + thirdparty/simde/simde/arm/neon/rshl.h | 40 +- thirdparty/simde/simde/arm/neon/rshr_n.h | 15 + .../simde/simde/arm/neon/rshrn_high_n.h | 101 + thirdparty/simde/simde/arm/neon/rsqrte.h | 84 +- thirdparty/simde/simde/arm/neon/rsqrts.h | 61 + thirdparty/simde/simde/arm/neon/rsubhn.h | 182 + thirdparty/simde/simde/arm/neon/rsubhn_high.h | 102 + thirdparty/simde/simde/arm/neon/set_lane.h | 185 + thirdparty/simde/simde/arm/neon/sha1.h | 202 + thirdparty/simde/simde/arm/neon/sha256.h | 193 + thirdparty/simde/simde/arm/neon/sha512.h | 153 + thirdparty/simde/simde/arm/neon/shl.h | 9 +- thirdparty/simde/simde/arm/neon/shll_high_n.h | 180 + thirdparty/simde/simde/arm/neon/shll_n.h | 12 +- thirdparty/simde/simde/arm/neon/shr_n.h | 15 + thirdparty/simde/simde/arm/neon/shrn_high_n.h | 114 + thirdparty/simde/simde/arm/neon/shrn_n.h | 29 +- thirdparty/simde/simde/arm/neon/sli_n.h | 343 + thirdparty/simde/simde/arm/neon/sm3.h | 251 + thirdparty/simde/simde/arm/neon/sm4.h | 155 + thirdparty/simde/simde/arm/neon/sqadd.h | 3 +- thirdparty/simde/simde/arm/neon/sqrt.h | 201 + thirdparty/simde/simde/arm/neon/sri_n.h | 73 + thirdparty/simde/simde/arm/neon/st1.h | 252 +- thirdparty/simde/simde/arm/neon/st1_lane.h | 162 + thirdparty/simde/simde/arm/neon/st1_x2.h | 311 + thirdparty/simde/simde/arm/neon/st1_x3.h | 326 + thirdparty/simde/simde/arm/neon/st1_x4.h | 339 + thirdparty/simde/simde/arm/neon/st1q_x2.h | 309 + thirdparty/simde/simde/arm/neon/st1q_x3.h | 324 + thirdparty/simde/simde/arm/neon/st1q_x4.h | 339 + thirdparty/simde/simde/arm/neon/st2.h | 512 +- thirdparty/simde/simde/arm/neon/st2_lane.h | 192 + thirdparty/simde/simde/arm/neon/st3.h | 489 +- thirdparty/simde/simde/arm/neon/st3_lane.h | 192 + thirdparty/simde/simde/arm/neon/st4.h | 656 +- thirdparty/simde/simde/arm/neon/st4_lane.h | 191 + thirdparty/simde/simde/arm/neon/sub.h | 67 + thirdparty/simde/simde/arm/neon/subhn_high.h | 102 + thirdparty/simde/simde/arm/neon/sudot_lane.h | 165 + thirdparty/simde/simde/arm/neon/tbl.h | 63 + thirdparty/simde/simde/arm/neon/tbx.h | 69 + thirdparty/simde/simde/arm/neon/trn.h | 91 + thirdparty/simde/simde/arm/neon/trn1.h | 190 + thirdparty/simde/simde/arm/neon/trn2.h | 190 + thirdparty/simde/simde/arm/neon/tst.h | 97 + thirdparty/simde/simde/arm/neon/types.h | 499 +- thirdparty/simde/simde/arm/neon/uqadd.h | 3 +- thirdparty/simde/simde/arm/neon/usdot.h | 93 + thirdparty/simde/simde/arm/neon/usdot_lane.h | 165 + thirdparty/simde/simde/arm/neon/uzp.h | 91 + thirdparty/simde/simde/arm/neon/uzp1.h | 205 + thirdparty/simde/simde/arm/neon/uzp2.h | 205 + thirdparty/simde/simde/arm/neon/xar.h | 4 +- thirdparty/simde/simde/arm/neon/zip.h | 91 + thirdparty/simde/simde/arm/neon/zip1.h | 195 + thirdparty/simde/simde/arm/neon/zip2.h | 183 + thirdparty/simde/simde/arm/sve/and.h | 12 +- thirdparty/simde/simde/arm/sve/cmplt.h | 60 +- thirdparty/simde/simde/arm/sve/ld1.h | 60 +- thirdparty/simde/simde/arm/sve/ptest.h | 2 +- thirdparty/simde/simde/arm/sve/ptrue.h | 8 +- thirdparty/simde/simde/arm/sve/sel.h | 54 +- thirdparty/simde/simde/arm/sve/st1.h | 96 +- thirdparty/simde/simde/arm/sve/types.h | 2 +- thirdparty/simde/simde/arm/sve/whilelt.h | 100 +- thirdparty/simde/simde/check.h | 2 +- thirdparty/simde/simde/debug-trap.h | 2 +- thirdparty/simde/simde/hedley.h | 1 + thirdparty/simde/simde/mips/msa/ld.h | 130 +- thirdparty/simde/simde/mips/msa/madd.h | 10 +- thirdparty/simde/simde/mips/msa/st.h | 36 +- thirdparty/simde/simde/mips/msa/types.h | 2 +- thirdparty/simde/simde/simde-aes.h | 266 + thirdparty/simde/simde/simde-align.h | 6 +- thirdparty/simde/simde/simde-arch.h | 119 +- thirdparty/simde/simde/simde-bf16.h | 131 + thirdparty/simde/simde/simde-common.h | 178 +- thirdparty/simde/simde/simde-complex.h | 2 +- thirdparty/simde/simde/simde-detect-clang.h | 26 +- thirdparty/simde/simde/simde-diagnostic.h | 4 +- thirdparty/simde/simde/simde-f16.h | 120 +- thirdparty/simde/simde/simde-features.h | 96 +- thirdparty/simde/simde/simde-math.h | 135 +- thirdparty/simde/simde/wasm/relaxed-simd.h | 242 +- thirdparty/simde/simde/wasm/simd128.h | 921 +- thirdparty/simde/simde/x86/aes.h | 417 + thirdparty/simde/simde/x86/avx.h | 202 +- thirdparty/simde/simde/x86/avx2.h | 72 +- thirdparty/simde/simde/x86/avx512.h | 9 + .../simde/simde/x86/avx512/2intersect.h | 57 +- thirdparty/simde/simde/x86/avx512/abs.h | 4 +- thirdparty/simde/simde/x86/avx512/add.h | 18 +- thirdparty/simde/simde/x86/avx512/cast.h | 33 + thirdparty/simde/simde/x86/avx512/cmp.h | 1182 +- thirdparty/simde/simde/x86/avx512/cmpeq.h | 48 + thirdparty/simde/simde/x86/avx512/cmpge.h | 104 +- thirdparty/simde/simde/x86/avx512/cmpgt.h | 23 + thirdparty/simde/simde/x86/avx512/cmple.h | 104 +- thirdparty/simde/simde/x86/avx512/cmpneq.h | 32 +- thirdparty/simde/simde/x86/avx512/compress.h | 74 +- thirdparty/simde/simde/x86/avx512/cvt.h | 155 +- thirdparty/simde/simde/x86/avx512/cvts.h | 58 + thirdparty/simde/simde/x86/avx512/cvtt.h | 26 + thirdparty/simde/simde/x86/avx512/cvtus.h | 67 + thirdparty/simde/simde/x86/avx512/extract.h | 89 +- thirdparty/simde/simde/x86/avx512/fmsub.h | 24 +- thirdparty/simde/simde/x86/avx512/fpclass.h | 99 + thirdparty/simde/simde/x86/avx512/gather.h | 312 + thirdparty/simde/simde/x86/avx512/insert.h | 24 +- thirdparty/simde/simde/x86/avx512/kand.h | 53 + thirdparty/simde/simde/x86/avx512/knot.h | 106 + thirdparty/simde/simde/x86/avx512/kxor.h | 107 + thirdparty/simde/simde/x86/avx512/load.h | 17 + thirdparty/simde/simde/x86/avx512/loadu.h | 228 +- thirdparty/simde/simde/x86/avx512/madd.h | 8 +- thirdparty/simde/simde/x86/avx512/maddubs.h | 12 +- thirdparty/simde/simde/x86/avx512/max.h | 24 + thirdparty/simde/simde/x86/avx512/min.h | 24 + thirdparty/simde/simde/x86/avx512/mov.h | 6 + .../simde/simde/x86/avx512/multishift.h | 6 +- thirdparty/simde/simde/x86/avx512/permutex.h | 101 + .../simde/simde/x86/avx512/permutex2var.h | 8 +- .../simde/simde/x86/avx512/permutexvar.h | 14 + thirdparty/simde/simde/x86/avx512/range.h | 16 +- .../simde/simde/x86/avx512/range_round.h | 16 +- thirdparty/simde/simde/x86/avx512/rcp.h | 65 + thirdparty/simde/simde/x86/avx512/reduce.h | 355 + thirdparty/simde/simde/x86/avx512/rol.h | 2 +- thirdparty/simde/simde/x86/avx512/ror.h | 2 +- thirdparty/simde/simde/x86/avx512/round.h | 4 +- .../simde/simde/x86/avx512/roundscale.h | 24 +- .../simde/simde/x86/avx512/roundscale_round.h | 52 +- thirdparty/simde/simde/x86/avx512/set.h | 86 +- thirdparty/simde/simde/x86/avx512/set1.h | 21 + thirdparty/simde/simde/x86/avx512/setone.h | 6 + thirdparty/simde/simde/x86/avx512/setzero.h | 15 + thirdparty/simde/simde/x86/avx512/shuffle.h | 176 +- thirdparty/simde/simde/x86/avx512/sll.h | 2 +- thirdparty/simde/simde/x86/avx512/srai.h | 26 + thirdparty/simde/simde/x86/avx512/storeu.h | 131 +- thirdparty/simde/simde/x86/avx512/types.h | 161 +- thirdparty/simde/simde/x86/avx512/xorsign.h | 2 +- thirdparty/simde/simde/x86/clmul.h | 121 +- thirdparty/simde/simde/x86/f16c.h | 110 +- thirdparty/simde/simde/x86/fma.h | 4 +- thirdparty/simde/simde/x86/gfni.h | 2 +- thirdparty/simde/simde/x86/mmx.h | 11 +- thirdparty/simde/simde/x86/sse.h | 328 +- thirdparty/simde/simde/x86/sse2.h | 425 +- thirdparty/simde/simde/x86/sse3.h | 18 +- thirdparty/simde/simde/x86/sse4.1.h | 118 +- thirdparty/simde/simde/x86/sse4.2.h | 2 + thirdparty/simde/simde/x86/ssse3.h | 12 + thirdparty/simde/simde/x86/svml.h | 48 +- thirdparty/simde/simde/x86/xop.h | 2 +- thirdparty/simde/test/arm/neon/aba.c | 1 + thirdparty/simde/test/arm/neon/abal.c | 392 + thirdparty/simde/test/arm/neon/abal_high.c | 432 + thirdparty/simde/test/arm/neon/abd.c | 212 + thirdparty/simde/test/arm/neon/abdl_high.c | 513 + thirdparty/simde/test/arm/neon/abs.c | 306 + thirdparty/simde/test/arm/neon/add.c | 868 +- thirdparty/simde/test/arm/neon/addhn_high.c | 554 + thirdparty/simde/test/arm/neon/aes.c | 412 + thirdparty/simde/test/arm/neon/bsl.c | 714 +- thirdparty/simde/test/arm/neon/cadd_rot270.c | 321 + thirdparty/simde/test/arm/neon/cadd_rot90.c | 322 + thirdparty/simde/test/arm/neon/cage.c | 10 +- thirdparty/simde/test/arm/neon/cagt.c | 12 +- thirdparty/simde/test/arm/neon/cale.c | 518 + thirdparty/simde/test/arm/neon/calt.c | 521 + thirdparty/simde/test/arm/neon/ceq.c | 211 +- thirdparty/simde/test/arm/neon/ceqz.c | 435 +- thirdparty/simde/test/arm/neon/cge.c | 8 +- thirdparty/simde/test/arm/neon/cgez.c | 158 + thirdparty/simde/test/arm/neon/cgt.c | 126 + thirdparty/simde/test/arm/neon/cgtz.c | 158 + thirdparty/simde/test/arm/neon/cle.c | 201 + thirdparty/simde/test/arm/neon/clez.c | 95 + thirdparty/simde/test/arm/neon/clt.c | 120 + thirdparty/simde/test/arm/neon/cltz.c | 313 + thirdparty/simde/test/arm/neon/cmla.c | 175 + thirdparty/simde/test/arm/neon/cmla_lane.c | 738 + thirdparty/simde/test/arm/neon/cmla_rot180.c | 175 + .../simde/test/arm/neon/cmla_rot180_lane.c | 731 + thirdparty/simde/test/arm/neon/cmla_rot270.c | 175 + .../simde/test/arm/neon/cmla_rot270_lane.c | 741 + thirdparty/simde/test/arm/neon/cmla_rot90.c | 175 + .../simde/test/arm/neon/cmla_rot90_lane.c | 737 + thirdparty/simde/test/arm/neon/cnt.c | 113 + thirdparty/simde/test/arm/neon/combine.c | 322 + thirdparty/simde/test/arm/neon/copy_lane.c | 7142 ++++++++ thirdparty/simde/test/arm/neon/crc32.c | 490 + thirdparty/simde/test/arm/neon/create.c | 233 + thirdparty/simde/test/arm/neon/cvt.c | 2650 ++- thirdparty/simde/test/arm/neon/cvt_n.c | 3353 ++++ thirdparty/simde/test/arm/neon/cvtm.c | 1173 ++ thirdparty/simde/test/arm/neon/cvtn.c | 941 + thirdparty/simde/test/arm/neon/cvtp.c | 1161 ++ thirdparty/simde/test/arm/neon/div.c | 482 + thirdparty/simde/test/arm/neon/dot.c | 135 + thirdparty/simde/test/arm/neon/dot_lane.c | 277 + thirdparty/simde/test/arm/neon/dup_lane.c | 1897 ++ thirdparty/simde/test/arm/neon/dup_n.c | 694 +- thirdparty/simde/test/arm/neon/eor.c | 1073 ++ thirdparty/simde/test/arm/neon/ext.c | 777 +- thirdparty/simde/test/arm/neon/fma.c | 185 +- thirdparty/simde/test/arm/neon/fma_lane.c | 585 + thirdparty/simde/test/arm/neon/fma_n.c | 121 + thirdparty/simde/test/arm/neon/fmlal.c | 1491 ++ thirdparty/simde/test/arm/neon/fmlsl.c | 807 + thirdparty/simde/test/arm/neon/fms.c | 322 + thirdparty/simde/test/arm/neon/fms_lane.c | 1213 ++ thirdparty/simde/test/arm/neon/fms_n.c | 278 + thirdparty/simde/test/arm/neon/get_high.c | 395 + thirdparty/simde/test/arm/neon/get_lane.c | 493 + thirdparty/simde/test/arm/neon/get_low.c | 395 + thirdparty/simde/test/arm/neon/ld1_dup.c | 570 + thirdparty/simde/test/arm/neon/ld1_lane.c | 748 +- thirdparty/simde/test/arm/neon/ld1_x2.c | 285 + thirdparty/simde/test/arm/neon/ld1_x3.c | 350 + thirdparty/simde/test/arm/neon/ld1_x4.c | 407 + thirdparty/simde/test/arm/neon/ld1q_x2.c | 367 + thirdparty/simde/test/arm/neon/ld1q_x3.c | 474 + thirdparty/simde/test/arm/neon/ld1q_x4.c | 743 + thirdparty/simde/test/arm/neon/ld2.c | 691 + thirdparty/simde/test/arm/neon/ld2_dup.c | 1910 +++ thirdparty/simde/test/arm/neon/ld2_lane.c | 2164 +++ thirdparty/simde/test/arm/neon/ld3.c | 289 + thirdparty/simde/test/arm/neon/ld3_dup.c | 2277 +++ thirdparty/simde/test/arm/neon/ld3_lane.c | 2698 +++ thirdparty/simde/test/arm/neon/ld4.c | 267 + thirdparty/simde/test/arm/neon/ld4_dup.c | 2594 +++ thirdparty/simde/test/arm/neon/ld4_lane.c | 1219 +- thirdparty/simde/test/arm/neon/max.c | 348 + thirdparty/simde/test/arm/neon/maxnm.c | 209 + thirdparty/simde/test/arm/neon/maxnmv.c | 257 + thirdparty/simde/test/arm/neon/maxv.c | 116 + thirdparty/simde/test/arm/neon/meson.build | 11 +- thirdparty/simde/test/arm/neon/min.c | 434 + thirdparty/simde/test/arm/neon/minnm.c | 209 + thirdparty/simde/test/arm/neon/minnmv.c | 251 + thirdparty/simde/test/arm/neon/minv.c | 116 + thirdparty/simde/test/arm/neon/mla_lane.c | 1730 ++ .../simde/test/arm/neon/mlal_high_lane.c | 579 + thirdparty/simde/test/arm/neon/mls_lane.c | 1576 ++ .../simde/test/arm/neon/mlsl_high_lane.c | 579 + thirdparty/simde/test/arm/neon/mmlaq.c | 444 + thirdparty/simde/test/arm/neon/modify_c.txt | 83 + thirdparty/simde/test/arm/neon/mul.c | 686 + thirdparty/simde/test/arm/neon/mul_lane.c | 308 + thirdparty/simde/test/arm/neon/mul_n.c | 62 + thirdparty/simde/test/arm/neon/mull.c | 242 + thirdparty/simde/test/arm/neon/mull_high.c | 187 + .../simde/test/arm/neon/mull_high_lane.c | 641 + thirdparty/simde/test/arm/neon/mull_high_n.c | 266 + thirdparty/simde/test/arm/neon/mulx.c | 572 + thirdparty/simde/test/arm/neon/mulx_lane.c | 1259 ++ thirdparty/simde/test/arm/neon/mulx_n.c | 143 + thirdparty/simde/test/arm/neon/mvn.c | 113 + thirdparty/simde/test/arm/neon/neg.c | 120 + thirdparty/simde/test/arm/neon/padd.c | 396 + thirdparty/simde/test/arm/neon/pmax.c | 357 + thirdparty/simde/test/arm/neon/pmaxnm.c | 414 + thirdparty/simde/test/arm/neon/pmin.c | 370 + thirdparty/simde/test/arm/neon/pminnm.c | 429 + thirdparty/simde/test/arm/neon/qdmlal.c | 232 + thirdparty/simde/test/arm/neon/qdmlal_high.c | 136 + .../simde/test/arm/neon/qdmlal_high_lane.c | 295 + .../simde/test/arm/neon/qdmlal_high_n.c | 127 + thirdparty/simde/test/arm/neon/qdmlal_lane.c | 593 + thirdparty/simde/test/arm/neon/qdmlal_n.c | 119 + thirdparty/simde/test/arm/neon/qdmlsl.c | 232 + thirdparty/simde/test/arm/neon/qdmlsl_high.c | 136 + .../simde/test/arm/neon/qdmlsl_high_lane.c | 295 + .../simde/test/arm/neon/qdmlsl_high_n.c | 127 + thirdparty/simde/test/arm/neon/qdmlsl_lane.c | 593 + thirdparty/simde/test/arm/neon/qdmlsl_n.c | 119 + thirdparty/simde/test/arm/neon/qdmulh.c | 43 + thirdparty/simde/test/arm/neon/qdmulh_lane.c | 208 + thirdparty/simde/test/arm/neon/qdmull_high.c | 116 + .../simde/test/arm/neon/qdmull_high_lane.c | 254 + .../simde/test/arm/neon/qdmull_high_n.c | 108 + thirdparty/simde/test/arm/neon/qdmull_lane.c | 696 + thirdparty/simde/test/arm/neon/qdmull_n.c | 100 + thirdparty/simde/test/arm/neon/qmovun_high.c | 242 + thirdparty/simde/test/arm/neon/qrdmlah.c | 421 + thirdparty/simde/test/arm/neon/qrdmlah_lane.c | 1279 ++ thirdparty/simde/test/arm/neon/qrdmlsh.c | 473 + thirdparty/simde/test/arm/neon/qrdmlsh_lane.c | 1279 ++ thirdparty/simde/test/arm/neon/qrdmulh.c | 14 + thirdparty/simde/test/arm/neon/qrdmulh_lane.c | 196 +- thirdparty/simde/test/arm/neon/qrdmulh_n.c | 12 + thirdparty/simde/test/arm/neon/qrshl.c | 1759 ++ .../simde/test/arm/neon/qrshrn_high_n.c | 688 + thirdparty/simde/test/arm/neon/qrshrn_n.c | 108 + .../simde/test/arm/neon/qrshrun_high_n.c | 348 + thirdparty/simde/test/arm/neon/qrshrun_n.c | 81 +- thirdparty/simde/test/arm/neon/qshl_n.c | 1269 ++ thirdparty/simde/test/arm/neon/qshlu_n.c | 102 + thirdparty/simde/test/arm/neon/qshrn_high_n.c | 687 + thirdparty/simde/test/arm/neon/qshrn_n.c | 156 + .../simde/test/arm/neon/qshrun_high_n.c | 455 + thirdparty/simde/test/arm/neon/qshrun_n.c | 101 + thirdparty/simde/test/arm/neon/qtbl.c | 652 +- thirdparty/simde/test/arm/neon/qtbx.c | 732 +- thirdparty/simde/test/arm/neon/raddhn.c | 370 + thirdparty/simde/test/arm/neon/raddhn_high.c | 443 + thirdparty/simde/test/arm/neon/rax.c | 69 + thirdparty/simde/test/arm/neon/rbit.c | 113 + thirdparty/simde/test/arm/neon/recpe.c | 151 + thirdparty/simde/test/arm/neon/recps.c | 191 + thirdparty/simde/test/arm/neon/recpx.c | 157 + thirdparty/simde/test/arm/neon/reinterpret.c | 14261 +++++++++++++++- thirdparty/simde/test/arm/neon/rev16.c | 113 + thirdparty/simde/test/arm/neon/rev32.c | 207 + thirdparty/simde/test/arm/neon/rev64.c | 323 +- thirdparty/simde/test/arm/neon/rnd.c | 159 + thirdparty/simde/test/arm/neon/rnd32x.c | 223 + thirdparty/simde/test/arm/neon/rnd32z.c | 223 + thirdparty/simde/test/arm/neon/rnd64x.c | 223 + thirdparty/simde/test/arm/neon/rnd64z.c | 223 + thirdparty/simde/test/arm/neon/rnda.c | 378 + thirdparty/simde/test/arm/neon/rndi.c | 159 + thirdparty/simde/test/arm/neon/rndm.c | 159 + thirdparty/simde/test/arm/neon/rndn.c | 135 + thirdparty/simde/test/arm/neon/rndp.c | 159 + thirdparty/simde/test/arm/neon/rndx.c | 380 + thirdparty/simde/test/arm/neon/rshl.c | 43 + thirdparty/simde/test/arm/neon/rshrn_high_n.c | 645 + thirdparty/simde/test/arm/neon/rshrn_n.c | 1 - thirdparty/simde/test/arm/neon/rsqrte.c | 116 + thirdparty/simde/test/arm/neon/rsqrts.c | 155 + thirdparty/simde/test/arm/neon/rsubhn.c | 370 + thirdparty/simde/test/arm/neon/rsubhn_high.c | 443 + thirdparty/simde/test/arm/neon/set_lane.c | 752 + thirdparty/simde/test/arm/neon/sha1.c | 405 + thirdparty/simde/test/arm/neon/sha256.c | 285 + thirdparty/simde/test/arm/neon/sha512.c | 285 + thirdparty/simde/test/arm/neon/shll_high_n.c | 754 + thirdparty/simde/test/arm/neon/shll_n.c | 285 +- thirdparty/simde/test/arm/neon/shrn_high_n.c | 1040 ++ thirdparty/simde/test/arm/neon/sli_n.c | 2614 +++ thirdparty/simde/test/arm/neon/sm3.c | 562 + thirdparty/simde/test/arm/neon/sm4.c | 129 + thirdparty/simde/test/arm/neon/sqrt.c | 286 + thirdparty/simde/test/arm/neon/sri_n.c | 696 + thirdparty/simde/test/arm/neon/st1_lane.c | 467 + thirdparty/simde/test/arm/neon/st1_x2.c | 1036 ++ thirdparty/simde/test/arm/neon/st1_x3.c | 1333 ++ thirdparty/simde/test/arm/neon/st1_x4.c | 1542 ++ thirdparty/simde/test/arm/neon/st1q_x2.c | 1348 ++ thirdparty/simde/test/arm/neon/st1q_x3.c | 1733 ++ thirdparty/simde/test/arm/neon/st1q_x4.c | 2086 +++ thirdparty/simde/test/arm/neon/st2.c | 661 +- thirdparty/simde/test/arm/neon/st2_lane.c | 656 + thirdparty/simde/test/arm/neon/st3.c | 2037 +++ thirdparty/simde/test/arm/neon/st3_lane.c | 723 + thirdparty/simde/test/arm/neon/st4.c | 2542 +++ thirdparty/simde/test/arm/neon/st4_lane.c | 825 + thirdparty/simde/test/arm/neon/sub.c | 158 + thirdparty/simde/test/arm/neon/subhn_high.c | 555 + thirdparty/simde/test/arm/neon/sudot_lane.c | 486 + thirdparty/simde/test/arm/neon/tbl.c | 270 +- thirdparty/simde/test/arm/neon/tbx.c | 302 +- thirdparty/simde/test/arm/neon/test-neon.h | 276 +- thirdparty/simde/test/arm/neon/trn.c | 786 + thirdparty/simde/test/arm/neon/trn1.c | 720 + thirdparty/simde/test/arm/neon/trn2.c | 720 + thirdparty/simde/test/arm/neon/tst.c | 201 + thirdparty/simde/test/arm/neon/usdot.c | 186 + thirdparty/simde/test/arm/neon/usdot_lane.c | 531 + thirdparty/simde/test/arm/neon/uzp.c | 747 + thirdparty/simde/test/arm/neon/uzp1.c | 722 + thirdparty/simde/test/arm/neon/uzp2.c | 710 + thirdparty/simde/test/arm/neon/zip.c | 731 + thirdparty/simde/test/arm/neon/zip1.c | 693 + thirdparty/simde/test/arm/neon/zip2.c | 693 + thirdparty/simde/test/arm/sve/and.c | 129 +- thirdparty/simde/test/arm/sve/test-sve.h | 5 + thirdparty/simde/test/check-flags.sh | 43 +- thirdparty/simde/test/mips/msa/test-msa.h | 6 + thirdparty/simde/test/munit/.appveyor.yml | 34 - thirdparty/simde/test/munit/.dir-locals.el | 2 - thirdparty/simde/test/munit/.gitignore | 6 - thirdparty/simde/test/munit/.travis.yml | 149 - thirdparty/simde/test/munit/COPYING | 21 - thirdparty/simde/test/munit/Makefile | 55 - thirdparty/simde/test/munit/README.md | 54 - thirdparty/simde/test/munit/example.c | 351 - thirdparty/simde/test/munit/meson.build | 37 - thirdparty/simde/test/munit/munit.c | 2055 --- thirdparty/simde/test/munit/munit.h | 535 - thirdparty/simde/test/native-aliases.sh | 7 +- thirdparty/simde/test/test.h | 305 +- thirdparty/simde/test/wasm/relaxed-simd/fma.c | 183 - thirdparty/simde/test/wasm/relaxed-simd/fms.c | 183 - .../relaxed-simd/{blend.c => laneselect.c} | 34 +- .../simde/test/wasm/relaxed-simd/madd.c | 183 + thirdparty/simde/test/wasm/relaxed-simd/max.c | 146 + .../simde/test/wasm/relaxed-simd/meson.build | 10 +- thirdparty/simde/test/wasm/relaxed-simd/min.c | 146 + .../simde/test/wasm/relaxed-simd/nmadd.c | 183 + .../simde/test/wasm/relaxed-simd/swizzle.c | 8 +- .../simde/test/wasm/relaxed-simd/trunc.c | 32 +- thirdparty/simde/test/wasm/simd128/abs.c | 12 +- thirdparty/simde/test/wasm/simd128/const.c | 614 + thirdparty/simde/test/wasm/simd128/demote.c | 2 +- .../simde/test/wasm/simd128/extract_lane.c | 126 +- thirdparty/simde/test/wasm/simd128/floor.c | 4 +- thirdparty/simde/test/wasm/simd128/make.c | 219 + thirdparty/simde/test/wasm/simd128/max.c | 10 +- .../simde/test/wasm/simd128/meson.build | 1 + thirdparty/simde/test/wasm/simd128/min.c | 10 +- thirdparty/simde/test/wasm/simd128/nearest.c | 4 +- thirdparty/simde/test/wasm/simd128/pmax.c | 4 +- thirdparty/simde/test/wasm/simd128/pmin.c | 4 +- .../simde/test/wasm/simd128/q15mulr_sat.c | 5 +- thirdparty/simde/test/wasm/simd128/splat.c | 192 + thirdparty/simde/test/wasm/simd128/trunc.c | 4 +- thirdparty/simde/test/wasm/test-simd128.h | 6 + thirdparty/simde/test/x86/aes.c | 355 + thirdparty/simde/test/x86/avx.c | 309 +- thirdparty/simde/test/x86/avx2.c | 196 +- thirdparty/simde/test/x86/avx512/cast.c | 259 + thirdparty/simde/test/x86/avx512/cmp.c | 3575 +++- thirdparty/simde/test/x86/avx512/cmpeq.c | 223 + thirdparty/simde/test/x86/avx512/cmpgt.c | 106 + thirdparty/simde/test/x86/avx512/compress.c | 107 + thirdparty/simde/test/x86/avx512/cvt.c | 360 + thirdparty/simde/test/x86/avx512/cvts.c | 226 + thirdparty/simde/test/x86/avx512/cvtt.c | 78 + thirdparty/simde/test/x86/avx512/cvtus.c | 165 + thirdparty/simde/test/x86/avx512/dpbf16.c | 82 +- thirdparty/simde/test/x86/avx512/extract.c | 408 + thirdparty/simde/test/x86/avx512/fpclass.c | 222 + thirdparty/simde/test/x86/avx512/gather.c | 834 + thirdparty/simde/test/x86/avx512/insert.c | 63 +- thirdparty/simde/test/x86/avx512/kand.c | 91 + thirdparty/simde/test/x86/avx512/knot.c | 260 + thirdparty/simde/test/x86/avx512/kxor.c | 316 + thirdparty/simde/test/x86/avx512/load.c | 162 + thirdparty/simde/test/x86/avx512/loadu.c | 1204 +- thirdparty/simde/test/x86/avx512/max.c | 232 + thirdparty/simde/test/x86/avx512/min.c | 232 + thirdparty/simde/test/x86/avx512/permutex.c | 249 + .../simde/test/x86/avx512/permutexvar.c | 199 + thirdparty/simde/test/x86/avx512/rcp.c | 132 + thirdparty/simde/test/x86/avx512/reduce.c | 938 + thirdparty/simde/test/x86/avx512/rol.c | 531 +- thirdparty/simde/test/x86/avx512/ror.c | 1078 +- thirdparty/simde/test/x86/avx512/round.c | 24 +- .../simde/test/x86/avx512/roundscale_round.c | 4 + thirdparty/simde/test/x86/avx512/set.c | 891 + thirdparty/simde/test/x86/avx512/set1.c | 105 + thirdparty/simde/test/x86/avx512/setzero.c | 8 + thirdparty/simde/test/x86/avx512/shuffle.c | 419 + thirdparty/simde/test/x86/avx512/slli.c | 13 +- thirdparty/simde/test/x86/avx512/srai.c | 146 + thirdparty/simde/test/x86/avx512/storeu.c | 865 +- .../simde/test/x86/avx512/test-avx512.h | 8 + thirdparty/simde/test/x86/clmul.c | 2 + thirdparty/simde/test/x86/f16c.c | 84 +- thirdparty/simde/test/x86/gfni.c | 6 + thirdparty/simde/test/x86/meson.build | 3 +- thirdparty/simde/test/x86/mmx.c | 30 +- thirdparty/simde/test/x86/sse.c | 78 +- thirdparty/simde/test/x86/sse2.c | 78 +- thirdparty/simde/test/x86/sse4.1.c | 26 +- thirdparty/simde/test/x86/test-avx.h | 275 + thirdparty/simde/test/x86/test-mmx.h | 6 + thirdparty/simde/test/x86/test-sse.h | 5 + thirdparty/simde/test/x86/test-sse2.h | 5 + thirdparty/simde/test/x86/test-x86.h | 6 + 912 files changed, 224964 insertions(+), 11502 deletions(-) delete mode 100644 test/googletest/.github/workflows/gtest-ci.yml create mode 100644 test/googletest/MODULE.bazel create mode 100644 test/googletest/WORKSPACE.bzlmod create mode 100644 test/googletest/fake_fuchsia_sdk.bzl create mode 100644 test/googletest/googletest/test/custom/gmock_dynamic_cast_message_test.proto create mode 100644 test/googletest/googletest/test/googletest-fail-if-no-test-linked-test-with-disabled-test_.cc create mode 100644 test/googletest/googletest/test/googletest-fail-if-no-test-linked-test-with-enabled-test_.cc create mode 100755 test/googletest/googletest/test/googletest-fail-if-no-test-linked-test.py create mode 100644 test/googletest/googletest/test/googletest-fail-if-no-test-selected-test.py create mode 100644 test/googletest/googletest_deps.bzl create mode 100644 thirdparty/simde/.dockerignore rename thirdparty/simde/{.drone.star => .drone.star.disabled} (100%) create mode 100644 thirdparty/simde/.github/dependabot.yml create mode 100644 thirdparty/simde/.packit.yml create mode 100644 thirdparty/simde/.packit/README.md create mode 100755 thirdparty/simde/.packit/ci.sh create mode 100644 thirdparty/simde/.packit/simde.spec create mode 100644 thirdparty/simde/docker/Dockerfile.ubuntu create mode 100644 thirdparty/simde/docker/Dockerfile.ubuntu_bionic create mode 100644 thirdparty/simde/docker/cross-files/aarch64-clang-13-debflags.cross create mode 100644 thirdparty/simde/docker/cross-files/aarch64-clang-14-debflags.cross create mode 100644 thirdparty/simde/docker/cross-files/aarch64-clang-15-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/aarch64-clang-15-debflags.cross create mode 100644 thirdparty/simde/docker/cross-files/aarch64-clang-16-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/aarch64-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/armel-clang-15-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/armel-clang-16-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/armel-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/armel-gcc-12-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/armv7-clang-15-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/armv7-clang-16-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/armv7-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/armv7-gcc-12-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/armv8-gcc-12-32bit-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/clang-11-debflags.cross create mode 100644 thirdparty/simde/docker/cross-files/clang-16.cross create mode 100644 thirdparty/simde/docker/cross-files/clang-17.cross create mode 100644 thirdparty/simde/docker/cross-files/clang-3.9.cross create mode 100644 thirdparty/simde/docker/cross-files/clang-4.cross create mode 100644 thirdparty/simde/docker/cross-files/clang-5.cross create mode 100644 thirdparty/simde/docker/cross-files/clang-6.cross create mode 100644 thirdparty/simde/docker/cross-files/clang-7.cross create mode 100644 thirdparty/simde/docker/cross-files/clang-8.cross create mode 100644 thirdparty/simde/docker/cross-files/emscripten32-relaxed.cross rename thirdparty/simde/docker/cross-files/{emscripten.cross => emscripten32.cross} (79%) create mode 100644 thirdparty/simde/docker/cross-files/emscripten64-relaxed.cross create mode 100644 thirdparty/simde/docker/cross-files/emscripten64.cross create mode 100644 thirdparty/simde/docker/cross-files/gcc-5.cross create mode 100644 thirdparty/simde/docker/cross-files/gcc-6.cross create mode 100644 thirdparty/simde/docker/cross-files/gcc-7.cross create mode 100644 thirdparty/simde/docker/cross-files/i686-gcc-14.cross create mode 100644 thirdparty/simde/docker/cross-files/intel-all-clang-7.cross create mode 100644 thirdparty/simde/docker/cross-files/intel-all-clang-8.cross create mode 100644 thirdparty/simde/docker/cross-files/intel-all-clang-9.cross create mode 100644 thirdparty/simde/docker/cross-files/intel-all-gcc-8.cross create mode 100644 thirdparty/simde/docker/cross-files/loongarch64-gcc-13-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/loongarch64-gcc-13.cross create mode 100644 thirdparty/simde/docker/cross-files/mips64el-clang-16-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/mips64el-clang-16.cross create mode 100644 thirdparty/simde/docker/cross-files/mips64el-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/mips64el-gcc-12-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/power9-clang-15-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/ppc64el-clang-14.cross create mode 100644 thirdparty/simde/docker/cross-files/ppc64el-clang-15-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/ppc64el-clang-15.cross create mode 100644 thirdparty/simde/docker/cross-files/ppc64el-clang-16-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/ppc64el-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64+rvv_vlen128_elen64-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64+rvv_vlen128_elen64_zvfh-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64+rvv_vlen256_elen64-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64+rvv_vlen256_elen64_zvfh-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64+rvv_vlen512_elen64-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64+rvv_vlen512_elen64_zvfh-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64-clang-15-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64-clang-16-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64-clang-16.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64-clang-17-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64-clang-17.cross create mode 100644 thirdparty/simde/docker/cross-files/riscv64-gcc-12-O3-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/s390x-clang-15-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/s390x-clang-16-ccache.cross create mode 100644 thirdparty/simde/docker/cross-files/s390x-clang-17-ccache.cross rename thirdparty/simde/{netlify.toml => netlify-disable.toml} (100%) create mode 100644 thirdparty/simde/simde/arm/neon/abal.h create mode 100644 thirdparty/simde/simde/arm/neon/abal_high.h create mode 100644 thirdparty/simde/simde/arm/neon/abdl_high.h create mode 100644 thirdparty/simde/simde/arm/neon/addhn_high.h create mode 100644 thirdparty/simde/simde/arm/neon/aes.h create mode 100644 thirdparty/simde/simde/arm/neon/cadd_rot270.h create mode 100644 thirdparty/simde/simde/arm/neon/cadd_rot90.h create mode 100644 thirdparty/simde/simde/arm/neon/cale.h create mode 100644 thirdparty/simde/simde/arm/neon/calt.h create mode 100644 thirdparty/simde/simde/arm/neon/cmla_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/cmla_rot180_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/cmla_rot270_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/cmla_rot90_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/copy_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/crc32.h create mode 100644 thirdparty/simde/simde/arm/neon/cvt_n.h create mode 100644 thirdparty/simde/simde/arm/neon/cvtm.h create mode 100644 thirdparty/simde/simde/arm/neon/cvtn.h create mode 100644 thirdparty/simde/simde/arm/neon/cvtp.h create mode 100644 thirdparty/simde/simde/arm/neon/div.h create mode 100644 thirdparty/simde/simde/arm/neon/fmlal.h create mode 100644 thirdparty/simde/simde/arm/neon/fmlsl.h create mode 100644 thirdparty/simde/simde/arm/neon/fms.h create mode 100644 thirdparty/simde/simde/arm/neon/fms_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/fms_n.h create mode 100644 thirdparty/simde/simde/arm/neon/ld2_dup.h create mode 100644 thirdparty/simde/simde/arm/neon/ld2_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/ld3_dup.h create mode 100644 thirdparty/simde/simde/arm/neon/ld3_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/ld4_dup.h create mode 100644 thirdparty/simde/simde/arm/neon/maxnmv.h create mode 100644 thirdparty/simde/simde/arm/neon/minnmv.h create mode 100644 thirdparty/simde/simde/arm/neon/mla_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/mlal_high_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/mls_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/mlsl_high_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/mmlaq.h create mode 100644 thirdparty/simde/simde/arm/neon/mull_high_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/mull_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/mulx.h create mode 100644 thirdparty/simde/simde/arm/neon/mulx_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/mulx_n.h create mode 100644 thirdparty/simde/simde/arm/neon/pmaxnm.h create mode 100644 thirdparty/simde/simde/arm/neon/pminnm.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlal.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlal_high.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlal_high_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlal_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlal_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlal_n.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlsl.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlsl_high.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlsl_high_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlsl_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlsl_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmlsl_n.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmull_high.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmull_high_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmull_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmull_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/qdmull_n.h create mode 100644 thirdparty/simde/simde/arm/neon/qmovun_high.h create mode 100644 thirdparty/simde/simde/arm/neon/qrdmlah.h create mode 100644 thirdparty/simde/simde/arm/neon/qrdmlah_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/qrdmlsh.h create mode 100644 thirdparty/simde/simde/arm/neon/qrdmlsh_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/qrshl.h create mode 100644 thirdparty/simde/simde/arm/neon/qrshrn_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/qrshrun_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/qshl_n.h create mode 100644 thirdparty/simde/simde/arm/neon/qshrn_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/qshrun_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/raddhn.h create mode 100644 thirdparty/simde/simde/arm/neon/raddhn_high.h create mode 100644 thirdparty/simde/simde/arm/neon/rax.h create mode 100644 thirdparty/simde/simde/arm/neon/recpx.h create mode 100644 thirdparty/simde/simde/arm/neon/rnd32x.h create mode 100644 thirdparty/simde/simde/arm/neon/rnd32z.h create mode 100644 thirdparty/simde/simde/arm/neon/rnd64x.h create mode 100644 thirdparty/simde/simde/arm/neon/rnd64z.h create mode 100644 thirdparty/simde/simde/arm/neon/rnda.h create mode 100644 thirdparty/simde/simde/arm/neon/rndx.h create mode 100644 thirdparty/simde/simde/arm/neon/rshrn_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/rsubhn.h create mode 100644 thirdparty/simde/simde/arm/neon/rsubhn_high.h create mode 100644 thirdparty/simde/simde/arm/neon/sha1.h create mode 100644 thirdparty/simde/simde/arm/neon/sha256.h create mode 100644 thirdparty/simde/simde/arm/neon/sha512.h create mode 100644 thirdparty/simde/simde/arm/neon/shll_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/shrn_high_n.h create mode 100644 thirdparty/simde/simde/arm/neon/sli_n.h create mode 100644 thirdparty/simde/simde/arm/neon/sm3.h create mode 100644 thirdparty/simde/simde/arm/neon/sm4.h create mode 100644 thirdparty/simde/simde/arm/neon/sqrt.h create mode 100644 thirdparty/simde/simde/arm/neon/st1_x2.h create mode 100644 thirdparty/simde/simde/arm/neon/st1_x3.h create mode 100644 thirdparty/simde/simde/arm/neon/st1_x4.h create mode 100644 thirdparty/simde/simde/arm/neon/st1q_x2.h create mode 100644 thirdparty/simde/simde/arm/neon/st1q_x3.h create mode 100644 thirdparty/simde/simde/arm/neon/st1q_x4.h create mode 100644 thirdparty/simde/simde/arm/neon/subhn_high.h create mode 100644 thirdparty/simde/simde/arm/neon/sudot_lane.h create mode 100644 thirdparty/simde/simde/arm/neon/usdot.h create mode 100644 thirdparty/simde/simde/arm/neon/usdot_lane.h create mode 100644 thirdparty/simde/simde/simde-aes.h create mode 100644 thirdparty/simde/simde/simde-bf16.h create mode 100644 thirdparty/simde/simde/x86/aes.h create mode 100644 thirdparty/simde/simde/x86/avx512/cvtus.h create mode 100644 thirdparty/simde/simde/x86/avx512/fpclass.h create mode 100644 thirdparty/simde/simde/x86/avx512/gather.h create mode 100644 thirdparty/simde/simde/x86/avx512/kand.h create mode 100644 thirdparty/simde/simde/x86/avx512/knot.h create mode 100644 thirdparty/simde/simde/x86/avx512/kxor.h create mode 100644 thirdparty/simde/simde/x86/avx512/permutex.h create mode 100644 thirdparty/simde/simde/x86/avx512/rcp.h create mode 100644 thirdparty/simde/simde/x86/avx512/reduce.h create mode 100644 thirdparty/simde/test/arm/neon/abal.c create mode 100644 thirdparty/simde/test/arm/neon/abal_high.c create mode 100644 thirdparty/simde/test/arm/neon/abdl_high.c create mode 100644 thirdparty/simde/test/arm/neon/addhn_high.c create mode 100644 thirdparty/simde/test/arm/neon/aes.c create mode 100644 thirdparty/simde/test/arm/neon/cadd_rot270.c create mode 100644 thirdparty/simde/test/arm/neon/cadd_rot90.c create mode 100644 thirdparty/simde/test/arm/neon/cale.c create mode 100644 thirdparty/simde/test/arm/neon/calt.c create mode 100644 thirdparty/simde/test/arm/neon/cmla_lane.c create mode 100644 thirdparty/simde/test/arm/neon/cmla_rot180_lane.c create mode 100644 thirdparty/simde/test/arm/neon/cmla_rot270_lane.c create mode 100644 thirdparty/simde/test/arm/neon/cmla_rot90_lane.c create mode 100644 thirdparty/simde/test/arm/neon/copy_lane.c create mode 100644 thirdparty/simde/test/arm/neon/crc32.c create mode 100644 thirdparty/simde/test/arm/neon/cvt_n.c create mode 100644 thirdparty/simde/test/arm/neon/cvtm.c create mode 100644 thirdparty/simde/test/arm/neon/cvtn.c create mode 100644 thirdparty/simde/test/arm/neon/cvtp.c create mode 100644 thirdparty/simde/test/arm/neon/div.c create mode 100644 thirdparty/simde/test/arm/neon/fmlal.c create mode 100644 thirdparty/simde/test/arm/neon/fmlsl.c create mode 100644 thirdparty/simde/test/arm/neon/fms.c create mode 100644 thirdparty/simde/test/arm/neon/fms_lane.c create mode 100644 thirdparty/simde/test/arm/neon/fms_n.c create mode 100644 thirdparty/simde/test/arm/neon/ld2_dup.c create mode 100644 thirdparty/simde/test/arm/neon/ld2_lane.c create mode 100644 thirdparty/simde/test/arm/neon/ld3.c create mode 100644 thirdparty/simde/test/arm/neon/ld3_dup.c create mode 100644 thirdparty/simde/test/arm/neon/ld3_lane.c create mode 100644 thirdparty/simde/test/arm/neon/ld4.c create mode 100644 thirdparty/simde/test/arm/neon/ld4_dup.c create mode 100644 thirdparty/simde/test/arm/neon/maxnmv.c create mode 100644 thirdparty/simde/test/arm/neon/minnmv.c create mode 100644 thirdparty/simde/test/arm/neon/mla_lane.c create mode 100644 thirdparty/simde/test/arm/neon/mlal_high_lane.c create mode 100644 thirdparty/simde/test/arm/neon/mls_lane.c create mode 100644 thirdparty/simde/test/arm/neon/mlsl_high_lane.c create mode 100644 thirdparty/simde/test/arm/neon/mmlaq.c create mode 100644 thirdparty/simde/test/arm/neon/modify_c.txt create mode 100644 thirdparty/simde/test/arm/neon/mull_high_lane.c create mode 100644 thirdparty/simde/test/arm/neon/mull_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/mulx.c create mode 100644 thirdparty/simde/test/arm/neon/mulx_lane.c create mode 100644 thirdparty/simde/test/arm/neon/mulx_n.c create mode 100644 thirdparty/simde/test/arm/neon/pmaxnm.c create mode 100644 thirdparty/simde/test/arm/neon/pminnm.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlal.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlal_high.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlal_high_lane.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlal_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlal_lane.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlal_n.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlsl.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlsl_high.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlsl_high_lane.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlsl_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlsl_lane.c create mode 100644 thirdparty/simde/test/arm/neon/qdmlsl_n.c create mode 100644 thirdparty/simde/test/arm/neon/qdmull_high.c create mode 100644 thirdparty/simde/test/arm/neon/qdmull_high_lane.c create mode 100644 thirdparty/simde/test/arm/neon/qdmull_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/qdmull_lane.c create mode 100644 thirdparty/simde/test/arm/neon/qdmull_n.c create mode 100644 thirdparty/simde/test/arm/neon/qmovun_high.c create mode 100644 thirdparty/simde/test/arm/neon/qrdmlah.c create mode 100644 thirdparty/simde/test/arm/neon/qrdmlah_lane.c create mode 100644 thirdparty/simde/test/arm/neon/qrdmlsh.c create mode 100644 thirdparty/simde/test/arm/neon/qrdmlsh_lane.c create mode 100644 thirdparty/simde/test/arm/neon/qrshl.c create mode 100644 thirdparty/simde/test/arm/neon/qrshrn_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/qrshrun_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/qshl_n.c create mode 100644 thirdparty/simde/test/arm/neon/qshrn_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/qshrun_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/raddhn.c create mode 100644 thirdparty/simde/test/arm/neon/raddhn_high.c create mode 100644 thirdparty/simde/test/arm/neon/rax.c create mode 100644 thirdparty/simde/test/arm/neon/recpx.c create mode 100644 thirdparty/simde/test/arm/neon/rnd32x.c create mode 100644 thirdparty/simde/test/arm/neon/rnd32z.c create mode 100644 thirdparty/simde/test/arm/neon/rnd64x.c create mode 100644 thirdparty/simde/test/arm/neon/rnd64z.c create mode 100644 thirdparty/simde/test/arm/neon/rnda.c create mode 100644 thirdparty/simde/test/arm/neon/rndx.c create mode 100644 thirdparty/simde/test/arm/neon/rshrn_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/rsubhn.c create mode 100644 thirdparty/simde/test/arm/neon/rsubhn_high.c create mode 100644 thirdparty/simde/test/arm/neon/sha1.c create mode 100644 thirdparty/simde/test/arm/neon/sha256.c create mode 100644 thirdparty/simde/test/arm/neon/sha512.c create mode 100644 thirdparty/simde/test/arm/neon/shll_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/shrn_high_n.c create mode 100644 thirdparty/simde/test/arm/neon/sli_n.c create mode 100644 thirdparty/simde/test/arm/neon/sm3.c create mode 100644 thirdparty/simde/test/arm/neon/sm4.c create mode 100644 thirdparty/simde/test/arm/neon/sqrt.c create mode 100644 thirdparty/simde/test/arm/neon/st1_x2.c create mode 100644 thirdparty/simde/test/arm/neon/st1_x3.c create mode 100644 thirdparty/simde/test/arm/neon/st1_x4.c create mode 100644 thirdparty/simde/test/arm/neon/st1q_x2.c create mode 100644 thirdparty/simde/test/arm/neon/st1q_x3.c create mode 100644 thirdparty/simde/test/arm/neon/st1q_x4.c create mode 100644 thirdparty/simde/test/arm/neon/subhn_high.c create mode 100644 thirdparty/simde/test/arm/neon/sudot_lane.c create mode 100644 thirdparty/simde/test/arm/neon/usdot.c create mode 100644 thirdparty/simde/test/arm/neon/usdot_lane.c delete mode 100644 thirdparty/simde/test/munit/.appveyor.yml delete mode 100644 thirdparty/simde/test/munit/.dir-locals.el delete mode 100644 thirdparty/simde/test/munit/.gitignore delete mode 100644 thirdparty/simde/test/munit/.travis.yml delete mode 100644 thirdparty/simde/test/munit/COPYING delete mode 100644 thirdparty/simde/test/munit/Makefile delete mode 100644 thirdparty/simde/test/munit/README.md delete mode 100644 thirdparty/simde/test/munit/example.c delete mode 100644 thirdparty/simde/test/munit/meson.build delete mode 100644 thirdparty/simde/test/munit/munit.c delete mode 100644 thirdparty/simde/test/munit/munit.h delete mode 100644 thirdparty/simde/test/wasm/relaxed-simd/fma.c delete mode 100644 thirdparty/simde/test/wasm/relaxed-simd/fms.c rename thirdparty/simde/test/wasm/relaxed-simd/{blend.c => laneselect.c} (95%) create mode 100644 thirdparty/simde/test/wasm/relaxed-simd/madd.c create mode 100644 thirdparty/simde/test/wasm/relaxed-simd/max.c create mode 100644 thirdparty/simde/test/wasm/relaxed-simd/min.c create mode 100644 thirdparty/simde/test/wasm/relaxed-simd/nmadd.c create mode 100644 thirdparty/simde/test/wasm/simd128/const.c create mode 100644 thirdparty/simde/test/x86/aes.c create mode 100644 thirdparty/simde/test/x86/avx512/cvtus.c create mode 100644 thirdparty/simde/test/x86/avx512/fpclass.c create mode 100644 thirdparty/simde/test/x86/avx512/gather.c create mode 100644 thirdparty/simde/test/x86/avx512/kand.c create mode 100644 thirdparty/simde/test/x86/avx512/knot.c create mode 100644 thirdparty/simde/test/x86/avx512/kxor.c create mode 100644 thirdparty/simde/test/x86/avx512/permutex.c create mode 100644 thirdparty/simde/test/x86/avx512/rcp.c create mode 100644 thirdparty/simde/test/x86/avx512/reduce.c diff --git a/test/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml b/test/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml index 91ad041..f3bbc09 100644 --- a/test/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml +++ b/test/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml @@ -10,21 +10,21 @@ body: description: We recommend using the latest commit from GitHub in your projects. validations: required: true - - type: textarea + - type: textarea id: why attributes: label: Why do we need this feature? description: Ideally, explain why a combination of existing features cannot be used instead. validations: required: true - - type: textarea + - type: textarea id: proposal attributes: label: Describe the proposal. description: Include a detailed description of the feature, with usage examples. validations: required: true - - type: textarea + - type: textarea id: platform attributes: label: Is the feature specific to an operating system, compiler, or build system version? diff --git a/test/googletest/.github/workflows/gtest-ci.yml b/test/googletest/.github/workflows/gtest-ci.yml deleted file mode 100644 index 03a8cc5..0000000 --- a/test/googletest/.github/workflows/gtest-ci.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: ci - -on: - push: - pull_request: - -env: - BAZEL_CXXOPTS: -std=c++14 - -jobs: - Linux: - runs-on: ubuntu-latest - steps: - - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Tests - run: bazel test --cxxopt=-std=c++14 --features=external_include_paths --test_output=errors ... - - macOS: - runs-on: macos-latest - steps: - - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Tests - run: bazel test --cxxopt=-std=c++14 --features=external_include_paths --test_output=errors ... - - - Windows: - runs-on: windows-latest - steps: - - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Tests - run: bazel test --cxxopt=/std:c++14 --features=external_include_paths --test_output=errors ... diff --git a/test/googletest/.gitignore b/test/googletest/.gitignore index f08cb72..f0df39d 100644 --- a/test/googletest/.gitignore +++ b/test/googletest/.gitignore @@ -8,6 +8,7 @@ bazel-genfiles bazel-googletest bazel-out bazel-testlogs +MODULE.bazel.lock # python *.pyc @@ -24,6 +25,10 @@ Win32-Release/ x64-Debug/ x64-Release/ +# VSCode files +.cache/ +cmake-variants.yaml + # Ignore autoconf / automake files Makefile.in aclocal.m4 diff --git a/test/googletest/BUILD.bazel b/test/googletest/BUILD.bazel index ac62251..03392c6 100644 --- a/test/googletest/BUILD.bazel +++ b/test/googletest/BUILD.bazel @@ -30,6 +30,8 @@ # # Bazel Build for Google C++ Testing Framework(Google Test) +load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") + package(default_visibility = ["//visibility:public"]) licenses(["notice"]) @@ -56,6 +58,12 @@ config_setting( constraint_values = ["@platforms//os:openbsd"], ) +# NOTE: Fuchsia is not an officially supported platform. +config_setting( + name = "fuchsia", + constraint_values = ["@platforms//os:fuchsia"], +) + config_setting( name = "msvc_compiler", flag_values = { @@ -77,6 +85,10 @@ cc_library( ) # Google Test including Google Mock + +# For an actual test, use `gtest` and also `gtest_main` if you depend on gtest's +# main(). For a library, use `gtest_for_library` instead if the library can be +# testonly. cc_library( name = "gtest", srcs = glob( @@ -132,23 +144,41 @@ cc_library( }), deps = select({ ":has_absl": [ - "@com_google_absl//absl/debugging:failure_signal_handler", - "@com_google_absl//absl/debugging:stacktrace", - "@com_google_absl//absl/debugging:symbolize", - "@com_google_absl//absl/flags:flag", - "@com_google_absl//absl/flags:parse", - "@com_google_absl//absl/flags:reflection", - "@com_google_absl//absl/flags:usage", - "@com_google_absl//absl/strings", - "@com_google_absl//absl/types:any", - "@com_google_absl//absl/types:optional", - "@com_google_absl//absl/types:variant", - "@com_googlesource_code_re2//:re2", + "@abseil-cpp//absl/container:flat_hash_set", + "@abseil-cpp//absl/debugging:failure_signal_handler", + "@abseil-cpp//absl/debugging:stacktrace", + "@abseil-cpp//absl/debugging:symbolize", + "@abseil-cpp//absl/flags:flag", + "@abseil-cpp//absl/flags:parse", + "@abseil-cpp//absl/flags:reflection", + "@abseil-cpp//absl/flags:usage", + "@abseil-cpp//absl/strings", + "@re2", + ], + "//conditions:default": [], + }) + select({ + # `gtest-death-test.cc` has `EXPECT_DEATH` that spawns a process, + # expects it to crash and inspects its logs with the given matcher, + # so that's why these libraries are needed. + # Otherwise, builds targeting Fuchsia would fail to compile. + ":fuchsia": [ + "@fuchsia_sdk//pkg/fdio", + "@fuchsia_sdk//pkg/zx", ], "//conditions:default": [], }), ) +# `gtest`, but testonly. See guidance on `gtest` for when to use this. +alias( + name = "gtest_for_library", + testonly = True, + actual = ":gtest", +) + +# Implements main() for tests using gtest. Prefer to depend on `gtest` as well +# to ensure compliance with the layering_check Bazel feature where only the +# direct hdrs values are available. cc_library( name = "gtest_main", srcs = ["googlemock/src/gmock_main.cc"], @@ -157,6 +187,7 @@ cc_library( "//conditions:default": [], }), deps = [":gtest"], + alwayslink = True, ) # The following rules build samples of how to use gTest. diff --git a/test/googletest/CMakeLists.txt b/test/googletest/CMakeLists.txt index 6af4143..793c8d3 100644 --- a/test/googletest/CMakeLists.txt +++ b/test/googletest/CMakeLists.txt @@ -1,22 +1,10 @@ # Note: CMake support is community-based. The maintainers do not use CMake # internally. -cmake_minimum_required(VERSION 3.5) - -if (POLICY CMP0048) - cmake_policy(SET CMP0048 NEW) -endif (POLICY CMP0048) - -if (POLICY CMP0069) - cmake_policy(SET CMP0069 NEW) -endif (POLICY CMP0069) - -if (POLICY CMP0077) - cmake_policy(SET CMP0077 NEW) -endif (POLICY CMP0077) +cmake_minimum_required(VERSION 3.16) project(googletest-distribution) -set(GOOGLETEST_VERSION 1.13.0) +set(GOOGLETEST_VERSION 1.18.0) if(NOT CYGWIN AND NOT MSYS AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL QNX) set(CMAKE_CXX_EXTENSIONS OFF) @@ -27,11 +15,20 @@ enable_testing() include(CMakeDependentOption) include(GNUInstallDirs) -#Note that googlemock target already builds googletest +# Note that googlemock target already builds googletest. option(BUILD_GMOCK "Builds the googlemock subproject" ON) option(INSTALL_GTEST "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" ON) option(GTEST_HAS_ABSL "Use Abseil and RE2. Requires Abseil and RE2 to be separately added to the build." OFF) +if(GTEST_HAS_ABSL) + if(NOT TARGET absl::base) + find_package(absl REQUIRED) + endif() + if(NOT TARGET re2::re2) + find_package(re2 REQUIRED) + endif() +endif() + if(BUILD_GMOCK) add_subdirectory( googlemock ) else() diff --git a/test/googletest/CONTRIBUTING.md b/test/googletest/CONTRIBUTING.md index 8bed14b..ab5a47b 100644 --- a/test/googletest/CONTRIBUTING.md +++ b/test/googletest/CONTRIBUTING.md @@ -47,11 +47,11 @@ PR is acceptable as an alternative. ## The Google Test and Google Mock Communities The Google Test community exists primarily through the -[discussion group](http://groups.google.com/group/googletestframework) and the +[discussion group](https://groups.google.com/group/googletestframework) and the GitHub repository. Likewise, the Google Mock community exists primarily through -their own [discussion group](http://groups.google.com/group/googlemock). You are -definitely encouraged to contribute to the discussion and you can also help us -to keep the effectiveness of the group high by following and promoting the +their own [discussion group](https://groups.google.com/group/googlemock). You +are definitely encouraged to contribute to the discussion and you can also help +us to keep the effectiveness of the group high by following and promoting the guidelines listed here. ### Please Be Friendly diff --git a/test/googletest/CONTRIBUTORS b/test/googletest/CONTRIBUTORS index 77397a5..ccea41e 100644 --- a/test/googletest/CONTRIBUTORS +++ b/test/googletest/CONTRIBUTORS @@ -55,6 +55,7 @@ Russ Cox Russ Rufer Sean Mcafee Sigurður Ásgeirsson +Soyeon Kim Sverre Sundsdal Szymon Sobik Takeshi Yoshino diff --git a/test/googletest/MODULE.bazel b/test/googletest/MODULE.bazel new file mode 100644 index 0000000..badf0de --- /dev/null +++ b/test/googletest/MODULE.bazel @@ -0,0 +1,80 @@ +# Copyright 2024 Google Inc. +# All Rights Reserved. +# +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# https://bazel.build/external/overview#bzlmod + +module( + name = "googletest", + version = "1.18.0", + compatibility_level = 1, +) + +# Only direct dependencies need to be listed below. +# Please keep the versions in sync with the versions in the WORKSPACE file. + +bazel_dep( + name = "abseil-cpp", + version = "20260526.0", +) +bazel_dep( + name = "platforms", + version = "1.1.0", +) +bazel_dep( + name = "re2", + version = "2025-11-05.bcr.1", +) +bazel_dep( + name = "rules_cc", + version = "0.2.22", +) + +bazel_dep( + name = "rules_python", + version = "2.2.0", + dev_dependency = True, +) + +# https://rules-python.readthedocs.io/en/stable/toolchains.html#library-modules-with-dev-only-python-usage +python = use_extension( + "@rules_python//python/extensions:python.bzl", + "python", + dev_dependency = True, +) +python.toolchain( + ignore_root_user_error = True, + is_default = True, + python_version = "3.13", +) + +# See fake_fuchsia_sdk.bzl for instructions on how to override this with a real SDK, if needed. +fuchsia_sdk = use_extension("//:fake_fuchsia_sdk.bzl", "fuchsia_sdk") +fuchsia_sdk.create_fake() +use_repo(fuchsia_sdk, "fuchsia_sdk") diff --git a/test/googletest/README.md b/test/googletest/README.md index 23eb502..b4e9b43 100644 --- a/test/googletest/README.md +++ b/test/googletest/README.md @@ -2,38 +2,28 @@ ### Announcements -#### Live at Head - -GoogleTest now follows the -[Abseil Live at Head philosophy](https://abseil.io/about/philosophy#upgrade-support). -We recommend -[updating to the latest commit in the `main` branch as often as possible](https://github.com/abseil/abseil-cpp/blob/master/FAQ.md#what-is-live-at-head-and-how-do-i-do-it). - #### Documentation Updates Our documentation is now live on GitHub Pages at https://google.github.io/googletest/. We recommend browsing the documentation on GitHub Pages rather than directly in the repository. -#### Release 1.13.0 +#### Release 1.18.0 -[Release 1.13.0](https://github.com/google/googletest/releases/tag/v1.13.0) is +[Release 1.18.0](https://github.com/google/googletest/releases/tag/v1.18.0) is now available. -The 1.13.x branch requires at least C++14. +The 1.18.x branch +[requires at least C++17](https://opensource.google/documentation/policies/cplusplus-support#c_language_standard). #### Continuous Integration -We use Google's internal systems for continuous integration. \ -GitHub Actions were added for the convenience of open source contributors. They -are exclusively maintained by the open source community and not used by the -GoogleTest team. +We use Google's internal systems for continuous integration. #### Coming Soon * We are planning to take a dependency on [Abseil](https://github.com/abseil/abseil-cpp). -* More documentation improvements are planned. ## Welcome to **GoogleTest**, Google's C++ test framework! @@ -52,16 +42,37 @@ More information about building GoogleTest can be found at ## Features -* An [xUnit](https://en.wikipedia.org/wiki/XUnit) test framework. -* Test discovery. -* A rich set of assertions. -* User-defined assertions. -* Death tests. -* Fatal and non-fatal failures. -* Value-parameterized tests. -* Type-parameterized tests. -* Various options for running the tests. -* XML test report generation. +* xUnit test framework: \ + Googletest is based on the [xUnit](https://en.wikipedia.org/wiki/XUnit) + testing framework, a popular architecture for unit testing. +* Test discovery: \ + Googletest automatically discovers and runs your tests, eliminating the need + to manually register your tests. +* Rich set of assertions: \ + Googletest provides a variety of assertions, such as equality, inequality, + exceptions, and more, making it easy to test your code. +* User-defined assertions: \ + You can define your own assertions with Googletest, making it simple to + write tests that are specific to your code. +* Death tests: \ + Googletest supports death tests, which verify that your code exits in a + certain way, making it useful for testing error-handling code. +* Fatal and non-fatal failures: \ + You can specify whether a test failure should be treated as fatal or + non-fatal with Googletest, allowing tests to continue running even if a + failure occurs. +* Value-parameterized tests: \ + Googletest supports value-parameterized tests, which run multiple times with + different input values, making it useful for testing functions that take + different inputs. +* Type-parameterized tests: \ + Googletest also supports type-parameterized tests, which run with different + data types, making it useful for testing functions that work with different + data types. +* Various options for running tests: \ + Googletest provides many options for running tests including running + individual tests, running tests in a specific order and running tests in + parallel. ## Supported Platforms @@ -69,7 +80,7 @@ GoogleTest follows Google's [Foundational C++ Support Policy](https://opensource.google/documentation/policies/cplusplus-support). See [this table](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md) -for a list of currently supported versions compilers, platforms, and build +for a list of currently supported versions of compilers, platforms, and build tools. ## Who Is Using GoogleTest? @@ -77,12 +88,12 @@ tools. In addition to many internal projects at Google, GoogleTest is also used by the following notable projects: -* The [Chromium projects](http://www.chromium.org/) (behind the Chrome browser - and Chrome OS). -* The [LLVM](http://llvm.org/) compiler. +* The [Chromium projects](https://www.chromium.org/) (behind the Chrome + browser and Chrome OS). +* The [LLVM](https://llvm.org/) compiler. * [Protocol Buffers](https://github.com/google/protobuf), Google's data interchange format. -* The [OpenCV](http://opencv.org/) computer vision library. +* The [OpenCV](https://opencv.org/) computer vision library. ## Related Open Source Projects diff --git a/test/googletest/WORKSPACE b/test/googletest/WORKSPACE index 0f10a6a..b6635f6 100644 --- a/test/googletest/WORKSPACE +++ b/test/googletest/WORKSPACE @@ -1,40 +1,66 @@ -workspace(name = "com_google_googletest") +# Copyright 2024 Google Inc. +# All Rights Reserved. +# +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +workspace(name = "googletest") + +load("//:googletest_deps.bzl", "googletest_deps") + +googletest_deps() load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( - name = "com_google_absl", # 2023-01-10T21:08:25Z - sha256 = "f9a4e749f42c386a32a90fddf0e2913ed408d10c42f7f33ccf4c59ac4f0d1d05", - strip_prefix = "abseil-cpp-52835439ca90d86b27bf8cd1708296e95604d724", - urls = ["https://github.com/abseil/abseil-cpp/archive/52835439ca90d86b27bf8cd1708296e95604d724.zip"], + name = "rules_python", + sha256 = "e11d2e1efce1589e5bdfa93986712c74fc7467a0f093143d489d2ef5ebb1ed2a", + strip_prefix = "rules_python-2.2.0", + url = "https://github.com/bazelbuild/rules_python/releases/download/2.2.0/rules_python-2.2.0.tar.gz", ) -# Note this must use a commit from the `abseil` branch of the RE2 project. -# https://github.com/google/re2/tree/abseil -http_archive( - name = "com_googlesource_code_re2", # 2022-12-21T14:29:10Z - sha256 = "b9ce3a51beebb38534d11d40f8928d40509b9e18a735f6a4a97ad3d014c87cb5", - strip_prefix = "re2-d0b1f8f2ecc2ea74956c7608b6f915175314ff0e", - urls = ["https://github.com/google/re2/archive/d0b1f8f2ecc2ea74956c7608b6f915175314ff0e.zip"], -) +# https://github.com/bazelbuild/rules_python/releases/tag/1.1.0 +load("@rules_python//python:repositories.bzl", "py_repositories") + +py_repositories() http_archive( - name = "rules_python", # 2023-01-10T22:00:51Z - sha256 = "5de54486a60ad8948dabe49605bb1c08053e04001a431ab3e96745b4d97a4419", - strip_prefix = "rules_python-70cce26432187a60b4e950118791385e6fb3c26f", - urls = ["https://github.com/bazelbuild/rules_python/archive/70cce26432187a60b4e950118791385e6fb3c26f.zip"], + name = "platforms", + sha256 = "dbad4a23abcca6171e47b79edc53bd6a41067a3b75f9e8b104656b459ff25046", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/1.1.0/platforms-1.1.0.tar.gz", + "https://github.com/bazelbuild/platforms/releases/download/1.1.0/platforms-1.1.0.tar.gz", + ], ) -http_archive( - name = "bazel_skylib", # 2022-11-16T18:29:32Z - sha256 = "a22290c26d29d3ecca286466f7f295ac6cbe32c0a9da3a91176a90e0725e3649", - strip_prefix = "bazel-skylib-5bfcb1a684550626ce138fe0fe8f5f702b3764c3", - urls = ["https://github.com/bazelbuild/bazel-skylib/archive/5bfcb1a684550626ce138fe0fe8f5f702b3764c3.zip"], -) +load("@bazel_features//:deps.bzl", "bazel_features_deps") -http_archive( - name = "platforms", # 2022-11-09T19:18:22Z - sha256 = "b4a3b45dc4202e2b3e34e3bc49d2b5b37295fc23ea58d88fb9e01f3642ad9b55", - strip_prefix = "platforms-3fbc687756043fb58a407c2ea8c944bc2fe1d922", - urls = ["https://github.com/bazelbuild/platforms/archive/3fbc687756043fb58a407c2ea8c944bc2fe1d922.zip"], -) +bazel_features_deps() + +load("@rules_cc//cc:extensions.bzl", "compatibility_proxy_repo") + +compatibility_proxy_repo() diff --git a/test/googletest/WORKSPACE.bzlmod b/test/googletest/WORKSPACE.bzlmod new file mode 100644 index 0000000..381432c --- /dev/null +++ b/test/googletest/WORKSPACE.bzlmod @@ -0,0 +1,35 @@ +# Copyright 2024 Google Inc. +# All Rights Reserved. +# +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# https://bazel.build/external/migration#workspace.bzlmod +# +# This file is intentionally empty. When bzlmod is enabled and this +# file exists, the content of WORKSPACE is ignored. This prevents +# bzlmod builds from unintentionally depending on the WORKSPACE file. diff --git a/test/googletest/ci/linux-presubmit.sh b/test/googletest/ci/linux-presubmit.sh index 626989d..26d2e7a 100644 --- a/test/googletest/ci/linux-presubmit.sh +++ b/test/googletest/ci/linux-presubmit.sh @@ -31,39 +31,66 @@ set -euox pipefail -readonly LINUX_LATEST_CONTAINER="gcr.io/google.com/absl-177019/linux_hybrid-latest:20230217" -readonly LINUX_GCC_FLOOR_CONTAINER="gcr.io/google.com/absl-177019/linux_gcc-floor:20230120" +readonly LINUX_LATEST_CONTAINER="gcr.io/google.com/absl-177019/linux_hybrid-latest@sha256:baa99e65a3cc837bab8e5246f1870d25c76d0adf2b1d598ee5a3ec77fd2e19bd" if [[ -z ${GTEST_ROOT:-} ]]; then GTEST_ROOT="$(realpath $(dirname ${0})/..)" fi -if [[ -z ${STD:-} ]]; then - STD="c++14 c++17 c++20" +# Use Bazel Vendor mode to reduce reliance on external dependencies. +# See https://bazel.build/external/vendor and the Dockerfile for +# an explaination of how this works. +if [[ ${KOKORO_GFILE_DIR:-} ]] && [[ -f "${KOKORO_GFILE_DIR}/distdir/googletest_vendor.tar.gz" ]]; then + DOCKER_EXTRA_ARGS="--mount type=bind,source=${KOKORO_GFILE_DIR}/distdir,target=/distdir,readonly --env=BAZEL_VENDOR_ARCHIVE=/distdir/googletest_vendor.tar.gz ${DOCKER_EXTRA_ARGS:-}" + BAZEL_EXTRA_ARGS="--vendor_dir=/googletest_vendor ${BAZEL_EXTRA_ARGS:-}" fi -# Test the CMake build -for cc in /usr/local/bin/gcc /opt/llvm/clang/bin/clang; do - for cmake_off_on in OFF ON; do - time docker run \ - --volume="${GTEST_ROOT}:/src:ro" \ - --tmpfs="/build:exec" \ - --workdir="/build" \ - --rm \ - --env="CC=${cc}" \ - --env=CXXFLAGS="-Werror -Wdeprecated" \ - ${LINUX_LATEST_CONTAINER} \ - /bin/bash -c " - cmake /src \ - -DCMAKE_CXX_STANDARD=14 \ - -Dgtest_build_samples=ON \ - -Dgtest_build_tests=ON \ - -Dgmock_build_tests=ON \ - -Dcxx_no_exception=${cmake_off_on} \ - -Dcxx_no_rtti=${cmake_off_on} && \ - make -j$(nproc) && \ - ctest -j$(nproc) --output-on-failure" - done +if [[ -z ${STD:-} ]]; then + STD="c++17 c++20 c++23" +fi + +# Test CMake + GCC +for cmake_off_on in OFF ON; do + time docker run \ + --volume="${GTEST_ROOT}:/src:ro" \ + --tmpfs="/build:exec" \ + --workdir="/build" \ + --rm \ + --env="CC=/usr/local/bin/gcc" \ + --env=CXXFLAGS="-Werror -Wdeprecated" \ + ${LINUX_LATEST_CONTAINER} \ + /bin/bash -c " + cmake /src \ + -DCMAKE_CXX_STANDARD=17 \ + -Dgtest_build_samples=ON \ + -Dgtest_build_tests=ON \ + -Dgmock_build_tests=ON \ + -Dcxx_no_exception=${cmake_off_on} \ + -Dcxx_no_rtti=${cmake_off_on} && \ + make -j$(nproc) && \ + ctest -j$(nproc) --output-on-failure" +done + +# Test CMake + Clang +for cmake_off_on in OFF ON; do + time docker run \ + --volume="${GTEST_ROOT}:/src:ro" \ + --tmpfs="/build:exec" \ + --workdir="/build" \ + --rm \ + --env="CC=/opt/llvm/bin/clang" \ + --env=CXXFLAGS="-Werror -Wdeprecated --gcc-toolchain=/usr/local" \ + ${LINUX_LATEST_CONTAINER} \ + /bin/bash -c " + cmake /src \ + -DCMAKE_CXX_STANDARD=17 \ + -Dgtest_build_samples=ON \ + -Dgtest_build_tests=ON \ + -Dgmock_build_tests=ON \ + -Dcxx_no_exception=${cmake_off_on} \ + -Dcxx_no_rtti=${cmake_off_on} && \ + make -j$(nproc) && \ + ctest -j$(nproc) --output-on-failure" done # Do one test with an older version of GCC @@ -71,19 +98,27 @@ time docker run \ --volume="${GTEST_ROOT}:/src:ro" \ --workdir="/src" \ --rm \ - --env="CC=/usr/local/bin/gcc" \ - --env="BAZEL_CXXOPTS=-std=c++14" \ - ${LINUX_GCC_FLOOR_CONTAINER} \ + --env="CC=/opt/gcc-10/bin/gcc" \ + --env="BAZEL_CXXOPTS=-std=c++17" \ + --env="BAZEL_LINKOPTS=-L/opt/gcc-10/lib64:-Wl,-rpath=/opt/gcc-10/lib64" \ + --env="USE_BAZEL_VERSION=8.5.1" \ + ${DOCKER_EXTRA_ARGS:-} \ + ${LINUX_LATEST_CONTAINER} \ + /bin/bash --login -c " /usr/local/bin/bazel test ... \ - --copt="-Wall" \ - --copt="-Werror" \ - --copt="-Wuninitialized" \ - --copt="-Wno-error=pragmas" \ - --distdir="/bazel-distdir" \ + --copt=\"-Wall\" \ + --copt=\"-Werror\" \ + --copt=\"-Wuninitialized\" \ + --copt=\"-Wundef\" \ + --copt=\"-Wno-error=pragmas\" \ + --enable_bzlmod=false \ + --enable_workspace=true \ --features=external_include_paths \ --keep_going \ + --per_file_copt=\"external/.*@-w\" \ --show_timestamps \ - --test_output=errors + --test_output=errors \ + ${BAZEL_EXTRA_ARGS:-}" # Test GCC for std in ${STD}; do @@ -94,17 +129,23 @@ for std in ${STD}; do --rm \ --env="CC=/usr/local/bin/gcc" \ --env="BAZEL_CXXOPTS=-std=${std}" \ + --env="USE_BAZEL_VERSION=9.1.0" \ + ${DOCKER_EXTRA_ARGS:-} \ ${LINUX_LATEST_CONTAINER} \ - /usr/local/bin/bazel test ... \ - --copt="-Wall" \ - --copt="-Werror" \ - --copt="-Wuninitialized" \ - --define="absl=${absl}" \ - --distdir="/bazel-distdir" \ - --features=external_include_paths \ - --keep_going \ - --show_timestamps \ - --test_output=errors + /bin/bash --login -c " + /usr/local/bin/bazel test ... \ + --copt=\"-Wall\" \ + --copt=\"-Werror\" \ + --copt=\"-Wuninitialized\" \ + --copt=\"-Wundef\" \ + --define=\"absl=${absl}\" \ + --enable_bzlmod=true \ + --features=external_include_paths \ + --keep_going \ + --per_file_copt=\"external/.*@-w\" \ + --show_timestamps \ + --test_output=errors \ + ${BAZEL_EXTRA_ARGS:-}" done done @@ -115,20 +156,26 @@ for std in ${STD}; do --volume="${GTEST_ROOT}:/src:ro" \ --workdir="/src" \ --rm \ - --env="CC=/opt/llvm/clang/bin/clang" \ + --env="CC=/opt/llvm/bin/clang" \ --env="BAZEL_CXXOPTS=-std=${std}" \ + --env="USE_BAZEL_VERSION=9.1.0" \ + ${DOCKER_EXTRA_ARGS:-} \ ${LINUX_LATEST_CONTAINER} \ - /usr/local/bin/bazel test ... \ - --copt="--gcc-toolchain=/usr/local" \ - --copt="-Wall" \ - --copt="-Werror" \ - --copt="-Wuninitialized" \ - --define="absl=${absl}" \ - --distdir="/bazel-distdir" \ - --features=external_include_paths \ - --keep_going \ - --linkopt="--gcc-toolchain=/usr/local" \ - --show_timestamps \ - --test_output=errors + /bin/bash --login -c " + /usr/local/bin/bazel test ... \ + --copt=\"--gcc-toolchain=/usr/local\" \ + --copt=\"-Wall\" \ + --copt=\"-Werror\" \ + --copt=\"-Wuninitialized\" \ + --copt=\"-Wundef\" \ + --define=\"absl=${absl}\" \ + --enable_bzlmod=true \ + --features=external_include_paths \ + --keep_going \ + --linkopt=\"--gcc-toolchain=/usr/local\" \ + --per_file_copt=\"external/.*@-w\" \ + --show_timestamps \ + --test_output=errors \ + ${BAZEL_EXTRA_ARGS:-}" done done diff --git a/test/googletest/ci/macos-presubmit.sh b/test/googletest/ci/macos-presubmit.sh index 8f35df5..46b7a4c 100644 --- a/test/googletest/ci/macos-presubmit.sh +++ b/test/googletest/ci/macos-presubmit.sh @@ -31,6 +31,14 @@ set -euox pipefail +# Use Xcode 26.2 +sudo xcode-select -s /Applications/Xcode_26.2.app/Contents/Developer + +brew install cmake + +export CMAKE_BUILD_PARALLEL_LEVEL=$(sysctl -n hw.ncpu) +export CTEST_PARALLEL_LEVEL=$(sysctl -n hw.ncpu) + if [[ -z ${GTEST_ROOT:-} ]]; then GTEST_ROOT="$(realpath $(dirname ${0})/..)" fi @@ -40,20 +48,20 @@ for cmake_off_on in OFF ON; do BUILD_DIR=$(mktemp -d build_dir.XXXXXXXX) cd ${BUILD_DIR} time cmake ${GTEST_ROOT} \ - -DCMAKE_CXX_STANDARD=14 \ + -DCMAKE_CXX_STANDARD=17 \ -Dgtest_build_samples=ON \ -Dgtest_build_tests=ON \ -Dgmock_build_tests=ON \ -Dcxx_no_exception=${cmake_off_on} \ -Dcxx_no_rtti=${cmake_off_on} - time make + time make -j$(nproc) time ctest -j$(nproc) --output-on-failure done # Test the Bazel build # If we are running on Kokoro, check for a versioned Bazel binary. -KOKORO_GFILE_BAZEL_BIN="bazel-5.1.1-darwin-x86_64" +KOKORO_GFILE_BAZEL_BIN="bazel-9.1.0-darwin-x86_64" if [[ ${KOKORO_GFILE_DIR:-} ]] && [[ -f ${KOKORO_GFILE_DIR}/${KOKORO_GFILE_BAZEL_BIN} ]]; then BAZEL_BIN="${KOKORO_GFILE_DIR}/${KOKORO_GFILE_BAZEL_BIN}" chmod +x ${BAZEL_BIN} @@ -61,15 +69,25 @@ else BAZEL_BIN="bazel" fi +# Use Bazel Vendor mode to reduce reliance on external dependencies. +if [[ ${KOKORO_GFILE_DIR:-} ]] && [[ -f "${KOKORO_GFILE_DIR}/distdir/googletest_vendor.tar.gz" ]]; then + tar -xf "${KOKORO_GFILE_DIR}/distdir/googletest_vendor.tar.gz" -C "${HOME}/" + BAZEL_EXTRA_ARGS="--vendor_dir=${HOME}/googletest_vendor ${BAZEL_EXTRA_ARGS:-}" +fi + cd ${GTEST_ROOT} for absl in 0 1; do ${BAZEL_BIN} test ... \ --copt="-Wall" \ --copt="-Werror" \ - --cxxopt="-std=c++14" \ + --copt="-Wundef" \ + --cxxopt="-std=c++17" \ --define="absl=${absl}" \ + --enable_bzlmod=true \ --features=external_include_paths \ --keep_going \ + --per_file_copt="external/.*@-w" \ --show_timestamps \ - --test_output=errors + --test_output=errors \ + ${BAZEL_EXTRA_ARGS:-} done diff --git a/test/googletest/ci/windows-presubmit.bat b/test/googletest/ci/windows-presubmit.bat index 8668ff3..cce732b 100644 --- a/test/googletest/ci/windows-presubmit.bat +++ b/test/googletest/ci/windows-presubmit.bat @@ -1,29 +1,29 @@ SETLOCAL ENABLEDELAYEDEXPANSION -SET BAZEL_EXE=%KOKORO_GFILE_DIR%\bazel-5.1.1-windows-x86_64.exe +SET BAZEL_EXE=%KOKORO_GFILE_DIR%\bazel-9.1.0-windows-x86_64.exe -SET PATH=C:\Python37;%PATH% -SET BAZEL_PYTHON=C:\python37\python.exe +SET PATH=C:\Python34;%PATH% +SET BAZEL_PYTHON=C:\python34\python.exe SET BAZEL_SH=C:\tools\msys64\usr\bin\bash.exe -SET CMAKE_BIN="C:\Program Files\CMake\bin\cmake.exe" -SET CTEST_BIN="C:\Program Files\CMake\bin\ctest.exe" +SET CMAKE_BIN="cmake.exe" +SET CTEST_BIN="ctest.exe" SET CTEST_OUTPUT_ON_FAILURE=1 +SET CMAKE_BUILD_PARALLEL_LEVEL=16 +SET CTEST_PARALLEL_LEVEL=16 -IF EXIST git\googletest ( - CD git\googletest -) ELSE IF EXIST github\googletest ( - CD github\googletest -) - +SET GTEST_ROOT=%~dp0\.. IF %errorlevel% neq 0 EXIT /B 1 :: ---------------------------------------------------------------------------- -:: CMake Visual Studio 15 2017 Win64 -MKDIR cmake_msvc2017 -CD cmake_msvc2017 +:: CMake +SET CMAKE_BUILD_PATH=cmake_msvc2022 +MKDIR %CMAKE_BUILD_PATH% +CD %CMAKE_BUILD_PATH% +SET CXXFLAGS="/WX" -%CMAKE_BIN% .. ^ - -G "Visual Studio 15 2017 Win64" ^ +%CMAKE_BIN% %GTEST_ROOT% ^ + -G "Visual Studio 17 2022" ^ + -DCMAKE_CXX_STANDARD=17 ^ -DPYTHON_EXECUTABLE:FILEPATH=c:\python37\python.exe ^ -DPYTHON_INCLUDE_DIR:PATH=c:\python37\include ^ -DPYTHON_LIBRARY:FILEPATH=c:\python37\lib\site-packages\pip ^ @@ -38,19 +38,52 @@ IF %errorlevel% neq 0 EXIT /B 1 %CTEST_BIN% -C Debug --timeout 600 IF %errorlevel% neq 0 EXIT /B 1 -CD .. -RMDIR /S /Q cmake_msvc2017 +SET "CXXFLAGS=" +CD %GTEST_ROOT% +RMDIR /S /Q %CMAKE_BUILD_PATH% :: ---------------------------------------------------------------------------- -:: Bazel Visual Studio 15 2017 Win64 +:: Bazel -SET BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC -%BAZEL_EXE% test ... ^ +:: The default home directory on Kokoro is a long path which causes errors +:: because of Windows limitations on path length. +:: --output_user_root=C:\tmp causes Bazel to use a shorter path. +SET BAZEL_VS=C:\Program Files\Microsoft Visual Studio\2022\Community + +:: Use Bazel Vendor mode to reduce reliance on external dependencies. +IF EXIST "%KOKORO_GFILE_DIR%\distdir\googletest_vendor.tar.gz" ( + tar --force-local -xf "%KOKORO_GFILE_DIR%\distdir\googletest_vendor.tar.gz" -C c: + SET VENDOR_FLAG=--vendor_dir=c:\googletest_vendor +) ELSE ( + SET VENDOR_FLAG= +) + +:: C++17 +%BAZEL_EXE% ^ + --output_user_root=C:\tmp ^ + test ... ^ --compilation_mode=dbg ^ - --copt=/std:c++14 ^ + --copt=/std:c++17 ^ --copt=/WX ^ - --features=external_include_paths ^ + --enable_bzlmod=true ^ --keep_going ^ + --per_file_copt=external/.*@/w ^ --test_output=errors ^ - --test_tag_filters=-no_test_msvc2017 + --test_tag_filters=-no_test_msvc2017 ^ + %VENDOR_FLAG% +IF %errorlevel% neq 0 EXIT /B 1 + +:: C++20 +%BAZEL_EXE% ^ + --output_user_root=C:\tmp ^ + test ... ^ + --compilation_mode=dbg ^ + --copt=/std:c++20 ^ + --copt=/WX ^ + --enable_bzlmod=true ^ + --keep_going ^ + --per_file_copt=external/.*@/w ^ + --test_output=errors ^ + --test_tag_filters=-no_test_msvc2017 ^ + %VENDOR_FLAG% IF %errorlevel% neq 0 EXIT /B 1 diff --git a/test/googletest/docs/_layouts/default.html b/test/googletest/docs/_layouts/default.html index c7f331b..f0ae474 100644 --- a/test/googletest/docs/_layouts/default.html +++ b/test/googletest/docs/_layouts/default.html @@ -7,15 +7,15 @@ {% seo %} + + -