@@ -1,36 +1,37 @@
-From b2bd82a0c0d3d5dda588d12cc1672a03a9630784 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 17 Dec 2018 17:27:43 -0800
-Subject: [PATCH] Remove redundant move
+From 7d7428fd09d1bcee281f7b678df8fb71e9365b17 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?=
+ <martin.horenovsky@gmail.com>
+Date: Thu, 27 Dec 2018 16:08:04 +0100
+Subject: [PATCH] A different approach
-fixes errors like below
-
-/mnt/a/yoe/build/tmp/work/aarch64-yoe-linux-musl/catch2/2.5.0-r0/git/include/internal/catch_session.cpp:52:29:
-error: redundant move in return statement [-Werror=redundant-move]
- 52 | return std::move(multi);
- | ~~~~~~~~~^~~~~~~
-/mnt/a/yoe/build/tmp/work/aarch64-yoe-linux-musl/catch2/2.5.0-r0/git/include/internal/catch_session.cpp:52:29:
-note: remove 'std::move' call
-
-Upstream-Status: Submitted [https://github.com/catchorg/Catch2/pull/1474]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- include/internal/catch_session.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ include/internal/catch_session.cpp | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
-diff --git a/include/internal/catch_session.cpp b/include/internal/catch_session.cpp
-index 0920521c..b66d57ac 100644
--- a/include/internal/catch_session.cpp
+++ b/include/internal/catch_session.cpp
-@@ -49,7 +49,7 @@ namespace Catch {
- multi->addListener(listener->create(Catch::ReporterConfig(config)));
+@@ -42,14 +42,20 @@ namespace Catch {
+ return createReporter(config->getReporterName(), config);
+ }
+
+- auto multi = std::unique_ptr<ListeningReporter>(new ListeningReporter);
++ // On older platforms, returning std::unique_ptr<ListeningReporter>
++ // when the return type is std::unique_ptr<IStreamingReporter>
++ // doesn't compile without a std::move call. However, this causes
++ // a warning on newer platforms. Thus, we have to work around
++ // it a bit and downcast the pointer manually.
++ auto ret = std::unique_ptr<IStreamingReporter>(new ListeningReporter);
++ auto& multi = static_cast<ListeningReporter&>(*ret);
+
+ auto const& listeners = Catch::getRegistryHub().getReporterRegistry().getListeners();
+ for (auto const& listener : listeners) {
+- multi->addListener(listener->create(Catch::ReporterConfig(config)));
++ multi.addListener(listener->create(Catch::ReporterConfig(config)));
}
- multi->addReporter(createReporter(config->getReporterName(), config));
+- multi->addReporter(createReporter(config->getReporterName(), config));
- return std::move(multi);
-+ return multi;
++ multi.addReporter(createReporter(config->getReporterName(), config));
++ return ret;
}
-2.20.1
-
@@ -9,7 +9,8 @@ SRC_URI = "git://github.com/catchorg/Catch2.git \
file://0001-Remove-redundant-move.patch \
"
# v2.5.0
-SRCREV = "6ccd467094973824d89efb16cbc553e279f79823"
+#SRCREV = "6ccd467094973824d89efb16cbc553e279f79823"
+SRCREV = "461843b1f02a4bf5c59db88ff201d2c56fabf3a4"
S = "${WORKDIR}/git"
@@ -23,4 +24,3 @@ do_install_append() {
# Header-only library
RDEPENDS_${PN}-dev = ""
RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
-
Update to tip of master Signed-off-by: Khem Raj <raj.khem@gmail.com> --- .../catch2/0001-Remove-redundant-move.patch | 53 ++++++++++--------- meta-oe/recipes-test/catch2/catch2_2.5.0.bb | 4 +- 2 files changed, 29 insertions(+), 28 deletions(-) -- 2.20.1 -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel