meson: backport fix for builds with -Werror=return-type

(From OE-Core rev: 0ccf907992a0e3560897ac300ee6b1352d969c42)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Martin Jansa
2019-08-20 09:04:41 +00:00
committed by Richard Purdie
parent cf77c4ae24
commit 5c9a02ed67
2 changed files with 85 additions and 0 deletions

View File

@@ -16,6 +16,7 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
file://cross-prop-default.patch \
file://many-cross.patch \
file://cross-libdir.patch \
file://0001-Fix-missing-return-statements-that-are-seen-with-Wer.patch \
"
SRC_URI[sha256sum] = "ef9f14326ec1e30d3ba1a26df0f92826ede5a79255ad723af78a2691c37109fd"
SRC_URI[md5sum] = "0267b0871266056184c484792572c682"

View File

@@ -0,0 +1,84 @@
From 7e83cf1edac2a57c08ebb1ce7f21c2a539d5c300 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Mon, 15 Jul 2019 10:06:17 +0200
Subject: [PATCH] Fix missing return statements that are seen with
-Werror=return-type.
Error example:
Code:
#include <locale.h>
int main () {
/* If it's not defined as a macro, try to use as a symbol */
#ifndef LC_MESSAGES
LC_MESSAGES;
#endif
}
Compiler stdout:
Compiler stderr:
In file included from /usr/include/locale.h:25,
from /tmp/tmpep_i4iwg/testfile.c:2:
/usr/include/features.h:382:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
382 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O)
| ^~~~~~~
/tmp/tmpep_i4iwg/testfile.c: In function 'main':
/tmp/tmpep_i4iwg/testfile.c:8:9: error: control reaches end of non-void function [-Werror=return-type]
8 | }
| ^
cc1: some warnings being treated as errors
Upstream-Status: Backport
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mesonbuild/compilers/c.py | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py
index b0096459..69cf84a4 100644
--- a/mesonbuild/compilers/c.py
+++ b/mesonbuild/compilers/c.py
@@ -387,6 +387,7 @@ class CCompiler(Compiler):
#ifndef {symbol}
{symbol};
#endif
+ return 0;
}}'''
return self.compiles(t.format(**fargs), env, extra_args=extra_args,
dependencies=dependencies)
@@ -563,6 +564,7 @@ class CCompiler(Compiler):
{prefix}
int main(int argc, char **argv) {{
{type} something;
+ return 0;
}}'''
if not self.compiles(t.format(**fargs), env, extra_args=extra_args,
dependencies=dependencies):
@@ -598,6 +600,7 @@ class CCompiler(Compiler):
{prefix}
int main(int argc, char **argv) {{
{type} something;
+ return 0;
}}'''
if not self.compiles(t.format(**fargs), env, extra_args=extra_args,
dependencies=dependencies):
@@ -672,6 +675,7 @@ class CCompiler(Compiler):
#include <stdio.h>
int main(int argc, char *argv[]) {{
printf ("{fmt}", {cast} {f}());
+ return 0;
}}'''.format(**fargs)
res = self.run(code, env, extra_args=extra_args, dependencies=dependencies)
if not res.compiled:
@@ -823,6 +827,7 @@ class CCompiler(Compiler):
#error "No definition for __builtin_{func} found in the prefix"
#endif
#endif
+ return 0;
}}'''
return self.links(t.format(**fargs), env, extra_args=extra_args,
dependencies=dependencies)
--
2.17.1