My project builds with clang-cl, but when I use this aspect, it doesn't see certain system headers. Looking into the clang invocation with (-v), it seems the toolchain is slightly different and the system header dirs aren't right when invoked by the aspect.
But when I build with the aspect (bazel build --config=clang-tidy), I see a different triple and system header dirs that don't exist:
"C:\\work\\_bazel\\grcgufmr\\execroot\\__main__\\bazel-out\\x64_windows-fastbuild\\bin\\external\\ext\\llvm\\bin\\clang-tool"
"-cc1"
"-triple"
"x86_64-pc-windows-msvc19.20.0"
[ ... omitted ... ]
"-internal-isystem"
"C:\\work\\_bazel\\grcgufmr\\execroot\\__main__\\bazel-out\\x64_windows-fastbuild\\bin\\external\\ext\\llvm\\lib\\clang\\16\\include"
"-internal-isystem"
"C:/Program Files/Microsoft Visual Studio 10.0/VC/include"
"-internal-isystem"
"C:/Program Files/Microsoft Visual Studio 9.0/VC/include"
"-internal-isystem"
"C:/Program Files/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include"
"-internal-isystem"
"C:/Program Files/Microsoft Visual Studio 8/VC/include"
"-internal-isystem"
"C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include"
I see that clang_tidy_aspect has an attribute _cc_toolchain but I'm not sure what to put there, or if/how it's being consumed. I gather that _toolchain_flags is where these flags come from.
Can anyone provide guidance? I'm unsure if this is a bug, or just an issue with my use case. Thanks!
My project builds with clang-cl, but when I use this aspect, it doesn't see certain system headers. Looking into the clang invocation with (
-v
), it seems the toolchain is slightly different and the system header dirs aren't right when invoked by the aspect.My workspace
.bazelrc
file:When I build with
bazel build
, I see this coming fromclang
:This is correct, and it builds without error.
But when I build with the aspect (
bazel build --config=clang-tidy
), I see a different triple and system header dirs that don't exist:I see that
clang_tidy_aspect
has an attribute_cc_toolchain
but I'm not sure what to put there, or if/how it's being consumed. I gather that_toolchain_flags
is where these flags come from.Can anyone provide guidance? I'm unsure if this is a bug, or just an issue with my use case. Thanks!