-
-
Notifications
You must be signed in to change notification settings - Fork 150
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
Some warnings counts are not reliable #53
Comments
Other examples:
(so it's not only |
Fascinating and very subtle! Common to have interspersed output with uncontrolled parallelized processes (just using the shell); but programs like gnu Is Clang or make doing something wrong or harmful toward the other? Possibly an issue for either of these packages upstream too. Although I can see Apple saying "wont-fix, use json output"). Curious what you discover! |
https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html Could try adding that to make in the |
Yup, it seems to be the solution I have proof of concept ready - I'll turn it into proper PR later; keeping the issue open until then. |
Nice! (And sadly.. quite a trend for macOS). |
This works out of the box on Linux and MSYS2, but does not work on macOS - Xcode supplied make does not support this option, so GNU make is used instead. Unfortunately, adding new package on macOS did not invalidate the cache, this package removes the brew cache from macOS job to avoid this problem in the future. Fixes: #53
This works out of the box on Linux and MSYS2, but does not work on macOS - Xcode supplied make does not support this option, so GNU make is used instead. Unfortunately, adding new package on macOS did not invalidate the cache, this package removes the brew cache from macOS job to avoid this problem in the future. Fixes: #53
Once we started counting compiler warnings in all the jobs and all compilers, we seem to be immediately hit by warnings numbers appearing inconsistent for some configurations.
At least one of causes behind this is: logs from several compilation jobs are being merged unreliably (not line-by-line), while
count-warnings
script depends on a warning being reported in a single line e.g.:https://github.com/dreamer/dosbox-staging/runs/318215850#step:6:20 (227 warninigs)
https://github.com/dreamer/dosbox-staging/runs/318228442#step:6:20 (210 warnings)
The difference is in
format
(-9),deprecated-declarations
(-7), anddeprecated-register
(-1). I started investigation withdeprecated-register
, and in the actual number of warnings is the same in both logs (9), but script does not count one occurence because of this:https://github.com/dreamer/dosbox-staging/runs/318228442#step:5:786
It should look like this:
but looks like this:
(not sure why Clang decided to issue this warning for code compiled with C++11, but that's besides the point)
Text
1 warning generated
/X warnings generated
seems to be issued only on Clang.What is the exact root cause? I'm not sure, candidates being:
Running compilation with -j1 is not acceptable in my opinion, and we avoided it so far only because top-warnings job happened to be GCC. The issue is not macOS specific, it happened to Clang on Linux as well.
@krcroft any ideas how to resolve this and keep th clang warnings count usable?
The text was updated successfully, but these errors were encountered: