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/modules/java | 2 +- auto/modules/perl | 4 ++-- auto/modules/php | 8 ++++---- auto/modules/python | 4 ++-- auto/modules/ruby | 6 +++--- 5 files changed, 12 insertions(+), 12 deletions(-) (limited to 'auto/modules') diff --git a/auto/modules/java b/auto/modules/java index e8137217..691060b3 100644 --- a/auto/modules/java +++ b/auto/modules/java @@ -191,7 +191,7 @@ nxt_feature_libs="${NXT_JAVA_LDFLAGS}" nxt_feature_test=" #include - int main() { + int main(void) { JNI_CreateJavaVM(NULL, NULL, NULL); return 0; }" diff --git a/auto/modules/perl b/auto/modules/perl index e9d7e109..2daebd0d 100644 --- a/auto/modules/perl +++ b/auto/modules/perl @@ -79,7 +79,7 @@ if /bin/sh -c "$NXT_PERL -MConfig -e 'print \"Perl version: \", static PerlInterpreter *my_perl; - int main() { + int main(void) { char argv[] = \"\\0-e\\00\"; char *embedding[] = { &argv[0], &argv[1], &argv[4] }; @@ -124,7 +124,7 @@ nxt_feature_test=" #include #include - int main() { + int main(void) { printf(\"%s\", PERL_VERSION_STRING); return 0; }" diff --git a/auto/modules/php b/auto/modules/php index 7d224ec1..f0ecb709 100644 --- a/auto/modules/php +++ b/auto/modules/php @@ -131,7 +131,7 @@ nxt_feature_libs="${NXT_PHP_LIB} ${NXT_PHP_LDFLAGS}" nxt_feature_test=" #include - int main() { + int main(void) { printf(\"%s\", PHP_VERSION); return 0; }" @@ -148,7 +148,7 @@ nxt_feature_test=" #include #include - int main() { + int main(void) { #if (PHP_VERSION_ID < 80200) php_module_startup(NULL, NULL, 0); #else @@ -176,7 +176,7 @@ nxt_feature_test=" #include #include - int main() { + int main(void) { #ifndef ZTS #error ZTS is not defined. #endif @@ -197,7 +197,7 @@ nxt_feature_test=" #include #include - int main() { + int main(void) { zend_signal_startup(); return 0; }" diff --git a/auto/modules/python b/auto/modules/python index 9be6b370..480ae1da 100644 --- a/auto/modules/python +++ b/auto/modules/python @@ -86,7 +86,7 @@ if /bin/sh -c "$NXT_PYTHON_CONFIG --prefix" >> $NXT_AUTOCONF_ERR 2>&1; then nxt_feature_test=" #include - int main() { + int main(void) { Py_Initialize(); return 0; }" @@ -114,7 +114,7 @@ nxt_feature_test=" #include #include - int main() { + int main(void) { printf(\"%s\", PY_VERSION); return 0; }" diff --git a/auto/modules/ruby b/auto/modules/ruby index dbedfd72..7c2f0102 100644 --- a/auto/modules/ruby +++ b/auto/modules/ruby @@ -106,7 +106,7 @@ if /bin/sh -c "$NXT_RUBY -v" >> $NXT_AUTOCONF_ERR 2>&1; then nxt_feature_test=" #include - int main() { + int main(void) { static const char *argv[3] = { \"NGINX_Unit\", \"-rrbconfig\", \"-eprint RbConfig::CONFIG['libdir']\" @@ -130,7 +130,7 @@ if /bin/sh -c "$NXT_RUBY -v" >> $NXT_AUTOCONF_ERR 2>&1; then nxt_feature_test=" #include - int main() { + int main(void) { ruby_init(); return ruby_cleanup(0); }" @@ -159,7 +159,7 @@ nxt_feature_test=" #include #include - int main() { + int main(void) { printf(\"%s\", ruby_version); return 0; }" -- cgit