prior to C++17. `absl::string_view` is now an alias for `std::string_view`.
It is recommended that clients simply use `std::string_view`.
PiperOrigin-RevId: 845822478
Change-Id: I220530c84118e5b9ef110baa002c232ac8f2c5f2
where it does not work when it is in ${TMP} and also fix the quoting
which was causing it to incorrectly receive the argument
https://github.com/bazelbuild/bazel/issues/27156
PiperOrigin-RevId: 823141075
Change-Id: I465f6bda0d94f4e464fa7ce3c1ee019aec78db69
/opt/llvm/clang/bin/clang -v
clang version 21.0.0git (https://github.com/llvm/llvm-project 2dee1a2de3d2cc774fbd43507cf4320418fbf279)
This change adds `-Wno-unused-command-line-argument`
to the Clang builds since Bazel is now providing an unused
`-c` to rules that do header syntax checking only.
Rules that were missing copts which causes them to
encounter this error are also fixed.
PiperOrigin-RevId: 764757573
Change-Id: I1eba676327a6023c5b8afb54499e4a3a72c2cdad
This includes fixes for both the CI scripts in the new
OS image and a fix for newly detected missing nullability
annotations in string_view with an upgraded Clang.
It is also no longer necessary to uninstall google-benchmark
since it is not installed by default in the new image.
PiperOrigin-RevId: 764725127
Change-Id: I6ea8c55b4d9a9afd261bf4ae9c5e8239675ea7ca
GCC latest is now GCC-15.1
Clang on ARM is now Clang-19
Bazel 8.2.1
CMake 4.0.1
Enable Bazel "Vendor Mode" as a caching mechanism to reduce
GitHub download failures.
PiperOrigin-RevId: 755864516
Change-Id: I9bf38e20fb8a09739406798119c50ce1aa934f43
on Windows and macOS
Also upgrade to Bazel 8.2.1 since all platforms will need
to use the same version of Bazel to get the most cache hits.
Different Bazel versions have different dependencies.
PiperOrigin-RevId: 755477047
Change-Id: Ib8838c6ef1e3b55841005d877346ed8afceca15a
-fno-sanitize-recover will cause tests that encounter undefined
behavior to abort and fail, instead of just logging an error message.
PiperOrigin-RevId: 733779444
Change-Id: I3f88aef8f91d64572e9d46ad8f6cc40562f25a30
`MODULE.bazel` is now the recommended way to use Bazel.
Users that have wanted to use `WORKSPACE.bazel` still needed
to provide their own `WORKSPACE.bazel` file, so this file
provides no benefit to them. It was merely for us to test,
but there is little reason to do so.
Support for `WORKSPACE.bazel` is going away in Bazel 9.
PiperOrigin-RevId: 726117464
Change-Id: If6a2789eae2d236c0ec1b53162c7122c96967959
This allows us to get rid of the repo_mapping
since 1.16.0 is now using canonical names.
PiperOrigin-RevId: 724543391
Change-Id: I9e0b6e4ecadaa4de6c5140820b444d5af927ab6c
According to
https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md
the GCC7 is supported, but since it lacks complete C++17 support, we
can ignore it. GCC8 is only supported by openSUSE/Leap and contains a
pretty bad bug for us, so for it is best to test GCC9 instead.
PiperOrigin-RevId: 723914768
Change-Id: I8e8b2d3128651d174effd214b416b0295d65a301
Linux "latest" containers updated to
GCC 14.2
CMake 3.31.2
Bazel 8.0.0
Included are various fixes to get these versions to work.
Bazel now references repositories by their canonical names from the
Bazel Central Registry. For example, Abseil is now @abseil-cpp instead
of @com_google_absl, and GoogleTest is now @googletest instead of
@com_google_googletest. Users still using the old WORKSPACE system may
need to use `repo_mapping` on repositories using the old names. See
`WORKSPACE.bazel` in this commit for an example.
PiperOrigin-RevId: 709102146
Change-Id: I02327ed4f8fb947766480bdeef2b1930a7f831eb
Prepare for changes in Bazel 8, where cc configure scripts have been moved to rules_cc.
PiperOrigin-RevId: 703026686
Change-Id: I44c573bf84a56aed37fca0717e7e1892d7f9a267
This updates to a version of GoogleTest that fixes
https://github.com/google/googletest/issues/4581
for downstream users of rules_python
PiperOrigin-RevId: 658398482
Change-Id: I4c6d431fd38d3a108e3c252eb26be9d81ff05a8e
windows_clangcl_bazel.bat includes a change from --copt to --cxxopt to
only pass /std:c++XX to C++ compiles
PiperOrigin-RevId: 646157298
Change-Id: Ib6d9861a2b2d45eb0d664f23b6f3a7426f8e0ab3
... even if ABSL_BUILD_TEST_HELPERS is not specified.
When not using ABSL_BUILD_DLL, tests builds even if ABSL_BUILD_TEST_HELPERS is not specified. Make this work for ABSL_BUILD_DLL, by ensuring that (BUILD_TESTING AND ABSL_BUILD_TESTING) triggers abseil_test_dll build.
PiperOrigin-RevId: 637493023
Change-Id: Icd5868c547365f4788caac47e002fbfc32a03e94
When bzlmod is enabled and WORKSPACE.bzlmod exists, the content of
WORKSPACE is ignored. This prevents bzlmod builds from unintentionally
depending on the WORKSPACE file.
This exposed some small problems with our clang-cl configuration,
which are also fixed in this change.
PiperOrigin-RevId: 602511311
Change-Id: I0ba411edde2df0e17f4eeede4117ddb6934dd8f8
https://bazel.build/external/overview#bzlmod
Bzlmod will be the default in a future Bazel release.
By default it requires projects to be registered with the
Bazel Central Registry (https://registry.bazel.build/) and
thus uses regular releases by default.
Users that want to "live-at-head" can still do this through
with overrides (https://bazel.build/external/module#overrides).
This change updates Abseil dependencies to use released versions.
CI uses Bzlmod except in the case of linux_gcc-floor, which will
keep testing the old WORKSPACE-based dependency system.
PiperOrigin-RevId: 597676666
Change-Id: I8d33facc432477c6dc7daa06fd00bb4ae8c4adba
This changes the way in which clang-cl is selected on Windows
as it has changed:
https://bazel.build/configure/windows#clang
--features=external_include_paths has been removed from Windows builds
since it appears cause build command errors currently
PiperOrigin-RevId: 596965732
Change-Id: I95b636a9a4fdcc4172c3bb8c6cb28d5f7db592c9
types when they are available.
This makes them interchangeable in contexts known to be compiled as C++20.
This also makes `absl::` ordering types compatible with `<=>`, allowing to
unconditionally use `absl::` spelling for types but conditionally use `<=>`
when available.
PiperOrigin-RevId: 588085408
Change-Id: I1aa5247f0e31acbb838ee76829b7a13c74b0a94f
The following are the major updates
* LLVM 17 branch (https://github.com/llvm/llvm-project b744f4c99cf91155c74a3c92db6f1335232ff3d)
* GCC 13.2
* CMake 3.27.1
* Bazel 6.2.1
PiperOrigin-RevId: 557594251
Change-Id: I86f72c8035ab4f3b9fe602bdaf3bfb8200ec3633
This includes an upgrade to CMake 3.26.3 and Bazel 6.2.0
This change includes support for both GCC 12 and 13 since we
were only testing GCC 11 before this change.
PiperOrigin-RevId: 534235753
Change-Id: I4183a02469b1c3425c52a31b71fcefe403315a42
coverage of the accelerated CRC implementation and some differences
bewteen the internal and external implementation.
This change adds CI coverage to the
linux_clang-latest_libstdcxx_bazel.sh script assuming this script
always runs on machines of at least the Intel Haswell generation.
Fixes include:
* Remove the use of the deprecated xor operator on crc32c_t
* Remove #pragma unroll_completely, which isn't known by GCC or Clang:
https://godbolt.org/z/97j4vbacs
* Fixes for -Wsign-compare, -Wsign-conversion and -Wshorten-64-to-32
PiperOrigin-RevId: 491965029
Change-Id: Ic5e1f3a20f69fcd35fe81ebef63443ad26bf7931