Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pwithnall
Copy link
Contributor

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 set CFLAGS=-Werror in the environment before calling meson.

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;
Copy link
Member

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?

Copy link
Contributor Author

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.

Copy link
Member

@nirbheek nirbheek May 17, 2018

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.

Copy link
Member

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.

Copy link
Contributor Author

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.

Copy link
Contributor Author

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants