diff --git a/gcc7-fix.patch b/gcc7-fix.patch new file mode 100644 index 0000000..b390c8f --- /dev/null +++ b/gcc7-fix.patch @@ -0,0 +1,60 @@ +diff --git a/json_object.c b/json_object.c +index 6cc73bc..6c1451e 100644 +--- a/json_object.c ++++ b/json_object.c +@@ -551,7 +551,9 @@ int64_t json_object_get_int64(struct json_object *jso) + 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; ++ 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 9a76293..ae7b1ae 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; diff --git a/json-c.changes b/json-c.changes index 450142a..4f8c13f 100644 --- a/json-c.changes +++ b/json-c.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Mar 23 09:29:23 UTC 2017 - mliska@suse.cz + +- Added gcc7-fix.patch + ------------------------------------------------------------------- Mon Jul 18 17:39:03 UTC 2016 - rpm@fthiessen.de diff --git a/json-c.spec b/json-c.spec index ca73b93..a891fe5 100644 --- a/json-c.spec +++ b/json-c.spec @@ -1,7 +1,7 @@ # # spec file for package json-c # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -31,6 +31,8 @@ Source0: https://s3.amazonaws.com/json-c_releases/releases/%{name}-%{vers Source1: baselibs.conf # PATCH-FIX-UPSTREAM fix-set-but-not-used.patch -- Fix set-but-not-used compile error in tests https://github.com/json-c/json-c/issues/240 Patch0: fix-set-but-not-used.patch +# PATCH-FIX-UPSTREAM gcc7-fix.patch -- Fix new warnings seen by GCC7 +Patch1: gcc7-fix.patch BuildRequires: fdupes BuildRequires: libtool BuildRequires: pkgconfig @@ -90,6 +92,7 @@ This package includes the json-c documentation. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build %if 0%{?suse_version} <= 1110