Commit 72dde987 by Derek Mauro Committed by Copybara-Service

Add a compile test for headers that require C compatibility

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
parent 74f8c1ea
......@@ -340,6 +340,18 @@ cc_test(
],
)
cc_test(
name = "c_header_test",
srcs = ["c_header_test.c"],
tags = [
"no_test_wasm",
],
deps = [
":config",
":core_headers",
],
)
cc_library(
name = "throw_delegate",
srcs = ["internal/throw_delegate.cc"],
......
// Copyright 2024 The Abseil Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifdef __cplusplus
#error This is a C compile test
#endif
// This test ensures that headers that are included in legacy C code are
// compatible with C. Abseil is a C++ library. We do not desire to expand C
// compatibility or keep C compatibility forever. This test only exists to
// ensure C compatibility until it is no longer required. Do not add new code
// that requires C compatibility.
#include "absl/base/attributes.h" // IWYU pragma: keep
#include "absl/base/config.h" // IWYU pragma: keep
#include "absl/base/optimization.h" // IWYU pragma: keep
#include "absl/base/policy_checks.h" // IWYU pragma: keep
#include "absl/base/port.h" // IWYU pragma: keep
int main() { return 0; }
......@@ -43,9 +43,9 @@ IF NOT "%ALTERNATE_OPTIONS%"=="" copy %ALTERNATE_OPTIONS% absl\base\options.h
test ... ^
--compilation_mode=%COMPILATION_MODE% ^
--compiler=clang-cl ^
--copt=/std:%STD% ^
--copt=/WX ^
--copt=-Wno-microsoft-cast ^
--cxxopt=/std:%STD% ^
--define=absl=1 ^
--distdir=%KOKORO_GFILE_DIR%\distdir ^
--enable_bzlmod=true ^
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment