From 8f0dd9478e164121e31bebaf1c10dd6e537d2918 Mon Sep 17 00:00:00 2001 From: Andrew Clayton Date: Fri, 28 Oct 2022 00:17:51 +0100 Subject: Fixed main() prototypes in auto tests. Future releases of GCC are planning to remove[0] default support for some old features that were removed from C99 but GCC still accepts. We can test for these changes by using the following -Werror= directives -Werror=implicit-int -Werror=implicit-function-declaration -Werror=int-conversion -Werror=strict-prototypes -Werror=old-style-definition Doing so revealed an issue with the auto/ tests in that the test programs always define main as int main() rather than int main(void) which results in a bunch of errors like build/autotest.c:3:23: error: function declaration isn't a prototype [-Werror=strict-prototypes] 3 | int main() { | ^~~~ build/autotest.c: In function 'main': build/autotest.c:3:23: error: old-style function definition [-Werror=old-style-definition] The fix was easy, it only required fixing the main prototype with find -type f -exec sed -i 's/int main() {/int main(void) {/g' {} \; Regardless of these upcoming GCC changes, this is probably a good thing to do anyway for correctness. [0]: https://fedoraproject.org/wiki/Changes/PortingToModernC Link: Link: Reviewed-by: Alejandro Colomar Signed-off-by: Andrew Clayton --- auto/atomic | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'auto/atomic') diff --git a/auto/atomic b/auto/atomic index 31259fc5..f99adf7e 100644 --- a/auto/atomic +++ b/auto/atomic @@ -10,7 +10,7 @@ nxt_feature_name=NXT_HAVE_GCC_ATOMIC nxt_feature_run=yes nxt_feature_incs= nxt_feature_libs= -nxt_feature_test="int main() { +nxt_feature_test="int main(void) { long n = 0; if (!__sync_bool_compare_and_swap(&n, 0, 3)) @@ -44,7 +44,7 @@ if [ $nxt_found = no ]; then nxt_feature_libs= nxt_feature_test="#include - int main() { + int main(void) { ulong_t n = 0; if (atomic_cas_ulong(&n, 0, 3) != 0) @@ -70,7 +70,7 @@ fi if [ $nxt_found = no ]; then if [ $NXT_64BIT = 1 ]; then - nxt_feature_test="int main() { + nxt_feature_test="int main(void) { long n = 0; long o = 0; @@ -87,7 +87,7 @@ if [ $nxt_found = no ]; then return 0; }" else - nxt_feature_test="int main() { + nxt_feature_test="int main(void) { int n = 0; int o = 0; -- cgit