aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-test/catch2/catch2/0001-Remove-redundant-move.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-test/catch2/catch2/0001-Remove-redundant-move.patch')
-rw-r--r--meta-oe/recipes-test/catch2/catch2/0001-Remove-redundant-move.patch53
1 files changed, 27 insertions, 26 deletions
diff --git a/meta-oe/recipes-test/catch2/catch2/0001-Remove-redundant-move.patch b/meta-oe/recipes-test/catch2/catch2/0001-Remove-redundant-move.patch
index c3f5fc9ce7..dc8a8915eb 100644
--- a/meta-oe/recipes-test/catch2/catch2/0001-Remove-redundant-move.patch
+++ b/meta-oe/recipes-test/catch2/catch2/0001-Remove-redundant-move.patch
@@ -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
-