summaryrefslogtreecommitdiffstats
path: root/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch')
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
new file mode 100644
index 000000000..f13adbb6b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
@@ -0,0 +1,40 @@
+From f6cad0580e5391c37af7f60adddb71bf1a403dc4 Mon Sep 17 00:00:00 2001
+From: Cody P Schafer <dev@codyps.com>
+Date: Fri, 9 Sep 2016 15:50:26 -0400
+Subject: [PATCH 2/2] THRIFT-3831 in test/cpp explicitly use `signed char`
+
+`char`'s signed-ness is implimentation dependent, and in the case where
+`char` was not signed, we previously recieved errors like
+
+ thrift/0.9.3-r0/git/test/cpp/src/TestClient.cpp:404:15: error: narrowing conversion of '-127' from 'int' to 'char' inside { } [-Wnarrowing]
+
+(This example from gcc-6 on arm)
+---
+ test/cpp/src/TestClient.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/cpp/src/TestClient.cpp b/test/cpp/src/TestClient.cpp
+index e709899..4a961f8 100644
+--- a/test/cpp/src/TestClient.cpp
++++ b/test/cpp/src/TestClient.cpp
+@@ -383,7 +383,7 @@ int main(int argc, char** argv) {
+ * BINARY TEST
+ */
+ printf("testBinary([-128..127]) = {");
+- const char bin_data[256]
++ const signed char bin_data[256]
+ = {-128, -127, -126, -125, -124, -123, -122, -121, -120, -119, -118, -117, -116, -115, -114,
+ -113, -112, -111, -110, -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99,
+ -98, -97, -96, -95, -94, -93, -92, -91, -90, -89, -88, -87, -86, -85, -84,
+@@ -404,7 +404,7 @@ int main(int argc, char** argv) {
+ 127};
+ try {
+ string bin_result;
+- testClient.testBinary(bin_result, string(bin_data, 256));
++ testClient.testBinary(bin_result, string(reinterpret_cast<const char *>(bin_data), 256));
+ if (bin_result.size() != 256) {
+ printf("}\n*** FAILED ***\n");
+ printf("invalid length: %lu\n", bin_result.size());
+--
+2.9.3
+
OpenPOWER on IntegriCloud