-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
CCompiler: Add missing return statements in some compiled tests #3582
base: master
Are you sure you want to change the base?
Conversation
Several compiled tests were defining an int main(), but were not returning a value from it. When compiling with -Werror, that would cause the tests to spuriously fail. Signed-off-by: Philip Withnall <withnall@endlessm.com>
@@ -288,6 +288,7 @@ def has_header_symbol(self, hname, symbol, prefix, env, extra_args=None, depende | |||
#ifndef {symbol} | |||
{symbol}; | |||
#endif | |||
return 0; |
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.
Setting CFLAGS in the environment does not cause those flags to be added to compiler checks. Are you sure this is needed?
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.
It certainly seemed to cause GLib to fail to build when I tested it quickly.
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 was wrong, but we should probably also add '-Wno-error'
to compilers/c.py:get_compiler_check_args()
because some of our tests do funky stuff that will never pass through a strict compiler, f.ex. has_function()
.
See compilers/c.py:_get_compiler_check_args()
(note the underscore in this one) for a list of all source from which compiler arguments are gathered for compiler checks.
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.
... and we should also add a unit test for this to ensure that passing -Werror
in CFLAGS does not cause a compiler check that is known to error out with it to fail.
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.
👍 to those suggestions. This was only a drive-by patch and I don’t currently have time to do a good job of fixing this properly. Feel free to close this PR unmerged if you have time to implement the full fix.
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.
What’s the status of this now that #3720 is fixed?
Several compiled tests were defining an int main(), but were not
returning a value from it. When compiling with -Werror, that would cause
the tests to spuriously fail.
Signed-off-by: Philip Withnall withnall@endlessm.com
I haven’t tested several of these, due to not using them in my
meson.build
. The way to test is to simply setCFLAGS=-Werror
in the environment before callingmeson
.