From cc275f0b112c31381bf2258203ad58d64146900a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 23 Apr 2017 22:20:44 -0700 Subject: msgpack-c: Upgrade to 2.1.1 Fix build with gcc7 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- ...ntentional-fallthrough-in-case-statements.patch | 39 +++++++++++++++++++++ .../304ff96d04599401172568d042723ff507e78cc3.patch | 40 ++++++++++++++++++++++ .../recipes-devtools/msgpack/msgpack-c_2.0.0.bb | 15 -------- .../recipes-devtools/msgpack/msgpack-c_2.1.1.bb | 22 ++++++++++++ 4 files changed, 101 insertions(+), 15 deletions(-) create mode 100644 meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch create mode 100644 meta-oe/recipes-devtools/msgpack/msgpack-c/304ff96d04599401172568d042723ff507e78cc3.patch delete mode 100644 meta-oe/recipes-devtools/msgpack/msgpack-c_2.0.0.bb create mode 100644 meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb (limited to 'meta-oe/recipes-devtools') diff --git a/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch b/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch new file mode 100644 index 0000000000..a388297a86 --- /dev/null +++ b/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Comment-intentional-fallthrough-in-case-statements.patch @@ -0,0 +1,39 @@ +From 15d8bb6792c9639d85a9ffe2ac81431f1b986c21 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 22 Apr 2017 08:53:50 -0700 +Subject: [PATCH] Comment intentional fallthrough in case statements + +Fixes build with gcc7 + +Signed-off-by: Khem Raj +--- + include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp b/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp +index b35c21a7..4c463a90 100644 +--- a/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp ++++ b/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp +@@ -105,6 +105,7 @@ struct define_array { + switch(size) { + default: + case 2: ptr[1].convert(a1); ++ //fallthrough + case 1: ptr[0].convert(a0); + } + } +@@ -193,8 +194,11 @@ struct define_array { + switch(size) { + default: + case 4: ptr[3].convert(a3); ++ //fallthrough + case 3: ptr[2].convert(a2); ++ //fallthrough + case 2: ptr[1].convert(a1); ++ //fallthrough + case 1: ptr[0].convert(a0); + } + } +-- +2.12.2 + diff --git a/meta-oe/recipes-devtools/msgpack/msgpack-c/304ff96d04599401172568d042723ff507e78cc3.patch b/meta-oe/recipes-devtools/msgpack/msgpack-c/304ff96d04599401172568d042723ff507e78cc3.patch new file mode 100644 index 0000000000..b8b3d31871 --- /dev/null +++ b/meta-oe/recipes-devtools/msgpack/msgpack-c/304ff96d04599401172568d042723ff507e78cc3.patch @@ -0,0 +1,40 @@ +From 304ff96d04599401172568d042723ff507e78cc3 Mon Sep 17 00:00:00 2001 +From: James McCoy +Date: Thu, 13 Apr 2017 11:38:45 -0400 +Subject: [PATCH] Comment the intentional fallthrough to default from + _fixed_trail_again + +GCC 7 added a new diagnostic, -Wimplicit-fallthrough, which is enabled +with -Wextra that warns about implicitly falling through a case +statement. + + [ 4%] Building C object CMakeFiles/msgpackc-static.dir/src/unpack.c.o + /usr/lib/gcc-snapshot/bin/gcc -I/home/jamessan/src/msgpack-c/. -I/home/jamessan/src/msgpack-c/include -I/home/jamessan/src/msgpack-c/build/include -g -O2 -fdebug-prefix-map=/home/jamessan/src/msgpack-c=. -specs=/usr/share/dpkg/no-pie-compile.specs -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -Werror -g -O3 -o CMakeFiles/msgpackc-static.dir/src/unpack.c.o -c /home/jamessan/src/msgpack-c/src/unpack.c + In file included from /home/jamessan/src/msgpack-c/src/unpack.c:283:0: + /home/jamessan/src/msgpack-c/include/msgpack/unpack_template.h: In function 'template_execute': + /home/jamessan/src/msgpack-c/include/msgpack/unpack_template.h:238:17: error: this statement may fall through [-Werror=implicit-fallthrough=] + ++p; + ^~~ + /home/jamessan/src/msgpack-c/include/msgpack/unpack_template.h:240:13: note: here + default: + ^~~~~~~ + cc1: all warnings being treated as errors + +Adding the comment makes it explicit that the fallthrough is +intentional, so gcc doesn't complain. +--- + include/msgpack/unpack_template.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/msgpack/unpack_template.h b/include/msgpack/unpack_template.h +index 8450442..e557bb6 100644 +--- a/include/msgpack/unpack_template.h ++++ b/include/msgpack/unpack_template.h +@@ -236,6 +236,7 @@ msgpack_unpack_func(int, _execute)(msgpack_unpack_struct(_context)* ctx, const c + + _fixed_trail_again: + ++p; ++ // fallthrough + + default: + if((size_t)(pe - p) < trail) { goto _out; } diff --git a/meta-oe/recipes-devtools/msgpack/msgpack-c_2.0.0.bb b/meta-oe/recipes-devtools/msgpack/msgpack-c_2.0.0.bb deleted file mode 100644 index 14e860d6a9..0000000000 --- a/meta-oe/recipes-devtools/msgpack/msgpack-c_2.0.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "MessagePack implementation for C and C++" -DESCRIPTION = "MessagePack is an efficient binary serialization format. It's like JSON. but fast and small" -HOMEPAGE = "http://msgpack.org/index.html" -LICENSE = "BSL-1.0" -LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \ - file://COPYING;md5=0639c4209b6f2abf1437c813b208f2d3 \ - file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \ - " -SRC_URI = "https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/msgpack-${PV}.tar.gz" -SRC_URI[md5sum] = "55148cd856c72f954a6eb9cc889a7d2a" -SRC_URI[sha256sum] = "41de0989a3385061ab7307a1005655e780def6fc9c89af0ec942616aa787e136" - -inherit cmake pkgconfig - -S = "${WORKDIR}/msgpack-${PV}" diff --git a/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb b/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb new file mode 100644 index 0000000000..7655d94698 --- /dev/null +++ b/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "MessagePack implementation for C and C++" +DESCRIPTION = "MessagePack is an efficient binary serialization format. It's like JSON. but fast and small" +HOMEPAGE = "http://msgpack.org/index.html" +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \ + file://COPYING;md5=0639c4209b6f2abf1437c813b208f2d3 \ + file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \ + " + +PV .= "+git${SRCPV}" + +SRCREV = "20ef1f925b007f170ab1c257e4aa61fdd0927773" + +SRC_URI = "git://github.com/msgpack/msgpack-c \ + file://0001-Comment-intentional-fallthrough-in-case-statements.patch \ + " + +inherit cmake pkgconfig + +S = "${WORKDIR}/git" + +FILES_${PN}-dev += "${libdir}/cmake/msgpack/*.cmake" -- cgit 1.2.3-korg