From 9b0cb8149ce82c0e6fa3054b54d35e9bf1353bf0 Mon Sep 17 00:00:00 2001 From: André Draszik Date: Fri, 6 Oct 2017 13:24:08 +0100 Subject: json-c: backport patch to fix gcc7 compilation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (The native version might be being built using gcc-7) We can't cherry-pick a commit from master, as master has upgraded json-c at the same time as applying this patch, see commit ccf630e78aad ("json-c: Upgrade to 0.12.1 release") Signed-off-by: André Draszik Signed-off-by: Armin Kuster --- ...-FALLTHRU-comment-to-handle-GCC7-warnings.patch | 77 ++++++++++++++++++++++ meta/recipes-devtools/json-c/json-c_0.12.bb | 1 + 2 files changed, 78 insertions(+) create mode 100644 meta/recipes-devtools/json-c/json-c/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch diff --git a/meta/recipes-devtools/json-c/json-c/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch b/meta/recipes-devtools/json-c/json-c/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch new file mode 100644 index 0000000000..df3b6002aa --- /dev/null +++ b/meta/recipes-devtools/json-c/json-c/0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch @@ -0,0 +1,77 @@ +From 9522ac8e5d5b20a472f3ffc356d388d36f7f582c Mon Sep 17 00:00:00 2001 +From: marxin +Date: Tue, 21 Mar 2017 08:42:11 +0100 +Subject: [PATCH] Add FALLTHRU comment to handle GCC7 warnings. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- +Upstream-Status: Backport [https://github.com/json-c/json-c/commit/014924ba899f659917bb64392bbff7d3c803afc2] +Signed-off-by: André Draszik + + json_object.c | 1 + + json_tokener.c | 1 + + linkhash.c | 22 +++++++++++----------- + 3 files changed, 13 insertions(+), 11 deletions(-) + +diff --git a/json_object.c b/json_object.c +index 6cc73bc..77e8b21 100644 +--- a/json_object.c ++++ b/json_object.c +@@ -552,6 +552,7 @@ int64_t json_object_get_int64(struct json_object *jso) + 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 7fa32ae..b32d657 100644 +--- a/json_tokener.c ++++ b/json_tokener.c +@@ -306,6 +306,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.14.1 + diff --git a/meta/recipes-devtools/json-c/json-c_0.12.bb b/meta/recipes-devtools/json-c/json-c_0.12.bb index a15455c9bf..072c092c0e 100644 --- a/meta/recipes-devtools/json-c/json-c_0.12.bb +++ b/meta/recipes-devtools/json-c/json-c_0.12.bb @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2" SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \ file://0001-json_tokener-requires-INF-and-NAN.patch \ file://0001-Link-against-libm-when-needed.patch \ + file://0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch \ " SRC_URI[md5sum] = "3ca4bbb881dfc4017e8021b5e0a8c491" -- cgit 1.2.3-korg