From d2af3eaf8dcfc5cb92bb4c71c9e8f03b8df8add1 Mon Sep 17 00:00:00 2001 From: Paul Fd Date: Sat, 14 Mar 2020 22:54:19 +0100 Subject: [PATCH] Added a conditional move on return if CXX 11 for polymorphic unique_pointers --- src/sfizz/Macros.h | 3 +++ src/sfizz/effects/Apan.cpp | 3 ++- src/sfizz/effects/Lofi.cpp | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/sfizz/Macros.h b/src/sfizz/Macros.h index f610eefb..4eaa1a11 100644 --- a/src/sfizz/Macros.h +++ b/src/sfizz/Macros.h @@ -20,6 +20,9 @@ #if __cplusplus > 201103L #define CXX14_CONSTEXPR constexpr +#define CXX11_MOVE(x) x #else #define CXX14_CONSTEXPR +#define CXX11_MOVE(x) std::move(x) #endif + diff --git a/src/sfizz/effects/Apan.cpp b/src/sfizz/effects/Apan.cpp index 53d43774..7b370c1e 100644 --- a/src/sfizz/effects/Apan.cpp +++ b/src/sfizz/effects/Apan.cpp @@ -21,6 +21,7 @@ */ #include "Apan.h" +#include "Macros.h" #include "CommonLFO.h" #include "Opcode.h" #include @@ -108,7 +109,7 @@ namespace fx { } } - return fx; + return CXX11_MOVE(fx); } void Apan::computeLfos(float* left, float* right, unsigned nframes) diff --git a/src/sfizz/effects/Lofi.cpp b/src/sfizz/effects/Lofi.cpp index f29d9950..87d64264 100644 --- a/src/sfizz/effects/Lofi.cpp +++ b/src/sfizz/effects/Lofi.cpp @@ -92,7 +92,7 @@ namespace fx { } } - return std::move(fx); + return CXX11_MOVE(fx); } ///