-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Update to Clang 15 #50049
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
Update to Clang 15 #50049
Conversation
Clang 15 added a new warning type `-Wdeprecated-non-prototype` that warns about the functions without prototypes, which have been deprecated since the C89 and will not work in the upcoming C2x. This commit disables the warning because Zephyr deliberately makes use of the functions without prototypes to allow the use of a "generic" function pointer (notoriously in the cbprintf implementation) and Zephyr will not move to the C2x in the foreseeable future. Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit removes stale clang-related variables that are not used by the Twister workflow. Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit removes stale clang-related variables that are not used by the codecov workflow. Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit removes stale clang-related variables that are not used by the bluetooth-tests workflow. Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit removes stale clang-related variables that are not used by the footprint-tracking workflow. Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit removes stale clang-related variables that are not used by the footprint workflow. Signed-off-by: Stephanos Ioannidis <[email protected]>
`CLANG_ROOT_DIR` is deprecated; use `LLVM_TOOLCHAIN_PATH` instead. Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the CI workflows to use the CI image 0.24.3, in order to pull in the LLVM/Clang 15 and Renode 1.13.1. Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the Clang workflow to build tests using Clang 15. Signed-off-by: Stephanos Ioannidis <[email protected]>
2df7d7d to
37d6bf8
Compare
|
Ready for review. DNM until the MI is updated |
andyross
left a comment
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.
No complaints here. Whose binaries are you using, specifically? I should probably pull and try them.
The official binaries from the LLVM Project: |
|
OK, thanks. (Frustratingly they don't have bare linux binaries, just ubuntu packages, but whatever, I guess I can run it in docker). Those check out for me and do everything I'm currently doing with clang 14. They don't, frustratingly, fix the issue I'm having with the SOF fuzzer where ASAN will detect a "stack-overflow" on an instruction fetch once it returns to the fuzzing stub (which it was running successfully earlier!) after OS initialization. I was hoping to get a magic fix there, but I guess I have some work to do. |
nandojve
left a comment
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.
Thank you @stephanosio !
tejlmand
left a comment
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.
lgtm
This series updates the CI to use Clang 15 for building tests.
It also includes some additional clean-up patches removing the stale Clang-related variable references.
Workflow clean-up changes tested in: https://github.com/zephyrproject-rtos/zephyr-testing/actions/runs/3016985929
Clang 15 build tested in: https://github.com/zephyrproject-rtos/zephyr-testing/actions/runs/3016991983