-
Notifications
You must be signed in to change notification settings - Fork 14
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
Reapply CPP20 compatibility and enable check in CI #28
Conversation
@mthiede-acn2 could you please take a look? The changes from #8 are all done in one commit, but I had to patch one more file. |
@@ -8,6 +8,7 @@ jobs: | |||
strategy: | |||
matrix: | |||
platform: [posix, s32k148] | |||
cpp-standard: [14, 17, 20] |
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.
this will of course extend our build times. Would probably be enough to just run the compiler front end without generating code. We can use the compiler’s syntax-checking mode or run only the front-end to parse by using the -fsyntax-only
flag.
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.
I don't think -fsyntax-only
is supported by CMake. It would probably require a bigger hack. I tried it naively by adding -DCMAKE_C_FLAGS
which resulted in CMake complaining about a broken compiler which doesn't produce binaries.
We could add ccache in the future. This could help bring down compilation times. Somebody already created a ccache-action which combines ccache with github's cache.
Signed-off-by: Thomas Frank <[email protected]>
Signed-off-by: Thomas Frank <[email protected]>
Signed-off-by: Thomas Frank <[email protected]>
Signed-off-by: Thomas Frank <[email protected]>
Regarding the C++ 20 compatibility changes, some of them seem to be highly controversial. and..does it really make sense to get rid of compound assignments on volatile anyway? |
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.
do not just remove volatile
Changes from previous PR #8 were overwritten. This reapplies them and enables CI builds for cpp 14,17 and 20.