diff options
author | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-10-08 22:30:44 +0200 |
---|---|---|
committer | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-10-08 22:30:44 +0200 |
commit | ca145f2e25e5aab86ff468cfcb409db7aa738be9 (patch) | |
tree | 893f6dc5dff417e17ec7d3da85c0bd3adeed86f7 /meta-agl-bsp/meta-core/recipes-devtools/json-c/files | |
parent | 4bc02cee690a3886229082a6595902e90b95a1ee (diff) |
Fix build of json-c on newer hostsdab
Newer hosts with gcc >= 7.1 might fail to compile json-c.
Fix by backporting patchset.
Change-Id: Ic089a30d2ad1096ac3b1ef86f842eeab4460cfe1
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-bsp/meta-core/recipes-devtools/json-c/files')
-rw-r--r-- | meta-agl-bsp/meta-core/recipes-devtools/json-c/files/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-core/recipes-devtools/json-c/files/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch b/meta-agl-bsp/meta-core/recipes-devtools/json-c/files/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch new file mode 100644 index 000000000..fb130f2f1 --- /dev/null +++ b/meta-agl-bsp/meta-core/recipes-devtools/json-c/files/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch @@ -0,0 +1,100 @@ +From 14edbe3c04101a2f967862ccf162f725235f627f Mon Sep 17 00:00:00 2001 +From: marxin <mliska@suse.cz> +Date: Tue, 21 Mar 2017 08:42:11 +0100 +Subject: [PATCH] Add FALLTHRU comment to handle GCC7 warnings. + +--- + json_object.c | 30 +++++++++++++++++------------- + json_tokener.c | 1 + + linkhash.c | 22 +++++++++++----------- + 3 files changed, 29 insertions(+), 24 deletions(-) + +diff --git a/json_object.c b/json_object.c +index 6cc73bc..e271083 100644 +--- a/json_object.c ++++ b/json_object.c +@@ -542,19 +542,23 @@ int64_t json_object_get_int64(struct json_object *jso) + { + int64_t cint; + +- if(!jso) return 0; +- switch(jso->o_type) { +- case json_type_int: +- return jso->o.c_int64; +- case json_type_double: +- return (int64_t)jso->o.c_double; +- case json_type_boolean: +- return jso->o.c_boolean; +- case json_type_string: +- if (json_parse_int64(jso->o.c_string.str, &cint) == 0) return cint; +- default: +- return 0; +- } ++ if (!jso) ++ return 0; ++ switch(jso->o_type) ++ { ++ case json_type_int: ++ return jso->o.c_int64; ++ case json_type_double: ++ return (int64_t)jso->o.c_double; ++ case json_type_boolean: ++ return jso->o.c_boolean; ++ case json_type_string: ++ if (json_parse_int64(jso->o.c_string.str, &cint) == 0) ++ return cint; ++ /* FALLTHRU */ ++ default: ++ return 0; ++ } + } + + +diff --git a/json_tokener.c b/json_tokener.c +index 19de8ef..fbb5d68 100644 +--- a/json_tokener.c ++++ b/json_tokener.c +@@ -305,6 +305,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok, + tok->err = json_tokener_error_parse_unexpected; + goto out; + } ++ /* FALLTHRU */ + case '"': + state = json_tokener_state_string; + printbuf_reset(tok->pb); +diff --git a/linkhash.c b/linkhash.c +index 712c387..74e3b0f 100644 +--- a/linkhash.c ++++ b/linkhash.c +@@ -376,17 +376,17 @@ static uint32_t hashlittle( const void *key, size_t length, uint32_t initval) + /*-------------------------------- last block: affect all 32 bits of (c) */ + switch(length) /* all the case statements fall through */ + { +- case 12: c+=((uint32_t)k[11])<<24; +- case 11: c+=((uint32_t)k[10])<<16; +- case 10: c+=((uint32_t)k[9])<<8; +- case 9 : c+=k[8]; +- case 8 : b+=((uint32_t)k[7])<<24; +- case 7 : b+=((uint32_t)k[6])<<16; +- case 6 : b+=((uint32_t)k[5])<<8; +- case 5 : b+=k[4]; +- case 4 : a+=((uint32_t)k[3])<<24; +- case 3 : a+=((uint32_t)k[2])<<16; +- case 2 : a+=((uint32_t)k[1])<<8; ++ case 12: c+=((uint32_t)k[11])<<24; /* FALLTHRU */ ++ case 11: c+=((uint32_t)k[10])<<16; /* FALLTHRU */ ++ case 10: c+=((uint32_t)k[9])<<8; /* FALLTHRU */ ++ case 9 : c+=k[8]; /* FALLTHRU */ ++ case 8 : b+=((uint32_t)k[7])<<24; /* FALLTHRU */ ++ case 7 : b+=((uint32_t)k[6])<<16; /* FALLTHRU */ ++ case 6 : b+=((uint32_t)k[5])<<8; /* FALLTHRU */ ++ case 5 : b+=k[4]; /* FALLTHRU */ ++ case 4 : a+=((uint32_t)k[3])<<24; /* FALLTHRU */ ++ case 3 : a+=((uint32_t)k[2])<<16; /* FALLTHRU */ ++ case 2 : a+=((uint32_t)k[1])<<8; /* FALLTHRU */ + case 1 : a+=k[0]; + break; + case 0 : return c; +-- +2.16.4 + |