-
Notifications
You must be signed in to change notification settings - Fork 37.7k
ci: use clang-16 in tidy task #27404
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
17ffddf
to
f2915fe
Compare
Concept ACK. |
Note that even though the CI here is "green", the tidy task has failed: In file included from common/url.cpp:5:
In file included from ./common/url.h:8:
In file included from /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/string:40:
In file included from /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/char_traits.h:39:
In file included from /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/postypes.h:40:
In file included from /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/cwchar:44:
/usr/include/wchar.h:35:10: fatal error: 'stddef.h' file not found
#include <stddef.h>
^~~~~~~~~~ |
f2915fe
to
c85da4c
Compare
FWIW, on a local Ubuntu 23.04 installation, I have no issues with running the IWYU tool manually. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/usr/include/wchar.h:35:10: fatal error: 'stddef.h' file not found #include <stddef.h> ^~~~~~~~~~
This error can be fixed with the following diff:
--- a/ci/test/00_setup_env_native_tidy.sh
+++ b/ci/test/00_setup_env_native_tidy.sh
@@ -15,5 +15,5 @@ export RUN_FUNCTIONAL_TESTS=false
export RUN_FUZZ_TESTS=false
export RUN_TIDY=true
export GOAL="install"
-export BITCOIN_CONFIG="CC=clang-16 CXX=clang++-16 --with-incompatible-bdb --disable-hardening CFLAGS='-O0 -g0' CXXFLAGS='-O0 -g0'"
+export BITCOIN_CONFIG="CC=clang-16 CXX=clang++-16 --with-incompatible-bdb --disable-hardening CFLAGS='-O0 -g0' CXXFLAGS='-O0 -g0 -I/usr/lib/llvm-16/lib/clang/16/include'"
export CCACHE_SIZE=200M
See: https://cirrus-ci.com/task/5852229609979904
Some related discussion see in include-what-you-use/include-what-you-use#679.
Note that even though the CI here is "green", the tidy task has failed
#26763 is somewhat related.
I wonder if another workaround would be to use libc++, but I haven't checked if the iwyu output is better or worse with libc++. |
Also #25466 (comment) |
c85da4c
to
a56c965
Compare
Included this. I think we could merge this as-is, but should also figure out why it's needed. It feels like there is another issue here.
Removed the related suppressions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK a56c965
lgtm ACK a56c965 |
ACK a56c965
did a little digging and found this: include-what-you-use/include-what-you-use#679 (comment) , which seems to still be an issue based on the discussion in the linked solution. fwiw, the fix you have here seems to be one of the preferred ways of dealing with this |
Follow up to #27311 (comment), as IWYU now has a clang_16 branch.
This also removes some workarounds for (now fixed) clang-tidy issues, and simplifies the IWYU install steps.