summaryrefslogtreecommitdiffstats
path: root/meta-ivi-common/recipes-automotive/automotive-message-broker/automotive-message-broker/0001-Improve-backward-compatibility-with-old-linaro-gcc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ivi-common/recipes-automotive/automotive-message-broker/automotive-message-broker/0001-Improve-backward-compatibility-with-old-linaro-gcc.patch')
-rw-r--r--meta-ivi-common/recipes-automotive/automotive-message-broker/automotive-message-broker/0001-Improve-backward-compatibility-with-old-linaro-gcc.patch82
1 files changed, 82 insertions, 0 deletions
diff --git a/meta-ivi-common/recipes-automotive/automotive-message-broker/automotive-message-broker/0001-Improve-backward-compatibility-with-old-linaro-gcc.patch b/meta-ivi-common/recipes-automotive/automotive-message-broker/automotive-message-broker/0001-Improve-backward-compatibility-with-old-linaro-gcc.patch
new file mode 100644
index 000000000..11726aadc
--- /dev/null
+++ b/meta-ivi-common/recipes-automotive/automotive-message-broker/automotive-message-broker/0001-Improve-backward-compatibility-with-old-linaro-gcc.patch
@@ -0,0 +1,82 @@
+From fb401094c3d88da14e1b909d786a86c3a68d2199 Mon Sep 17 00:00:00 2001
+From: Petr Nechaev <petr.nechaev@cogentembedded.com>
+Date: Mon, 27 Jul 2015 20:34:47 +0300
+Subject: [PATCH 1/9] Improve backward compatibility with old linaro gcc
+
+---
+ lib/listplusplus.h | 8 ++++++--
+ plugins/common/jsonprotocol.cpp | 6 +++---
+ plugins/testplugin/testplugin.cpp | 2 +-
+ 3 files changed, 10 insertions(+), 6 deletions(-)
+
+diff --git a/lib/listplusplus.h b/lib/listplusplus.h
+index 433d34c..e653615 100644
+--- a/lib/listplusplus.h
++++ b/lib/listplusplus.h
+@@ -27,13 +27,17 @@
+ template <class T, class V, class Predicate>
+ bool contains(const T & iteratable, V value, Predicate comparator )
+ {
+- return std::any_of(iteratable.begin(), iteratable.end(), [value, &comparator](auto i) { return comparator(value, i); });
++ for(auto i : iteratable)
++ {
++ if(comparator(value, i))
++ return true;
++ }
+ }
+
+ template <class T, class V>
+ bool contains(const T & iteratable, V value)
+ {
+- return contains(iteratable, value, [](auto a, auto b) { return a == b; });
++ return iteratable.size() > 0 && (std::find(iteratable.begin(), iteratable.end(), value) != iteratable.end());
+ }
+
+
+diff --git a/plugins/common/jsonprotocol.cpp b/plugins/common/jsonprotocol.cpp
+index a534900..43ef8cf 100644
+--- a/plugins/common/jsonprotocol.cpp
++++ b/plugins/common/jsonprotocol.cpp
+@@ -149,7 +149,7 @@ void amb::AmbRemoteClient::hasJsonMessage(const picojson::value &json)
+
+ const ListMethodCall::Ptr listMethod = listMethodReply.method();
+
+- auto itr = std::find_if(mListCalls.begin(), mListCalls.end(),[&listMethod](auto o)
++ auto itr = std::find_if(mListCalls.begin(), mListCalls.end(),[&listMethod](ListMethodCall::Ptr o)
+ {
+ return o->messageId == listMethod->messageId;
+ });
+@@ -176,7 +176,7 @@ void amb::AmbRemoteClient::hasJsonMessage(const picojson::value &json)
+ reply.fromJson(json);
+ GetMethodCall::Ptr getCall = reply.method();
+
+- auto itr = std::find_if(mGetMethodCalls.begin(), mGetMethodCalls.end(),[&getCall](auto o)
++ auto itr = std::find_if(mGetMethodCalls.begin(), mGetMethodCalls.end(),[&getCall](GetMethodCall::Ptr o)
+ {
+ return o->messageId == getCall->messageId;
+ });
+@@ -205,7 +205,7 @@ void amb::AmbRemoteClient::hasJsonMessage(const picojson::value &json)
+
+ auto call = reply.method();
+
+- auto itr = std::find_if(mSetMethodCalls.begin(), mSetMethodCalls.end(),[&call](auto o)
++ auto itr = std::find_if(mSetMethodCalls.begin(), mSetMethodCalls.end(),[&call](SetMethodCall::Ptr o)
+ {
+ return o->messageId == call->messageId;
+ });
+diff --git a/plugins/testplugin/testplugin.cpp b/plugins/testplugin/testplugin.cpp
+index d854d5f..a96cf19 100644
+--- a/plugins/testplugin/testplugin.cpp
++++ b/plugins/testplugin/testplugin.cpp
+@@ -268,7 +268,7 @@ bool testListPlusPlus()
+ complexList.push_back(complex1);
+ complexList.push_back(complex2);
+
+- TEST(contains(complexList, complex1, [](auto a, auto b) { return a.foo == b.foo && a.bar == b.bar; }));
++ TEST(contains(complexList, complex1, [](Complex a, Complex b) { return a.foo == b.foo && a.bar == b.bar; }));
+
+ return true;
+ }
+--
+1.9.1
+