From d5377dbc2e39bec7f73b5b284d2726f3fef1fedd Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Wed, 31 Aug 2016 17:54:28 +0200 Subject: [PATCH] Support pre-CXX11 compilers I'll update the toolchain one day, I promise! --- CMakeLists.txt | 5 +++-- src/core/qgsexpressioncontext.cpp | 2 ++ src/core/qgsexpressioncontext.h | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 45fbfef3a2ef..5f576e0f857b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -391,13 +391,14 @@ ELSE() ENDIF() #allow override keyword if available -IF (NOT USE_CXX_11) +IF(NOT USE_CXX_11) ADD_DEFINITIONS("-Doverride=") ADD_DEFINITIONS("-Dnoexcept=") ADD_DEFINITIONS("-Dnullptr=0") +ELSE() + ADD_DEFINITIONS("-DHAS_MOVE_SEMANTICS") ENDIF() - ############################################################# # enable warnings diff --git a/src/core/qgsexpressioncontext.cpp b/src/core/qgsexpressioncontext.cpp index 96b9bb8ff918..e8c2cd5b1d8d 100644 --- a/src/core/qgsexpressioncontext.cpp +++ b/src/core/qgsexpressioncontext.cpp @@ -217,6 +217,7 @@ QgsExpressionContext::QgsExpressionContext( const QgsExpressionContext& other ) mCachedValues = other.mCachedValues; } +#ifdef HAS_MOVE_SEMANTICS QgsExpressionContext& QgsExpressionContext::operator=( QgsExpressionContext && other ) { if ( this != &other ) @@ -231,6 +232,7 @@ QgsExpressionContext& QgsExpressionContext::operator=( QgsExpressionContext && o } return *this; } +#endif QgsExpressionContext& QgsExpressionContext::operator=( const QgsExpressionContext & other ) { diff --git a/src/core/qgsexpressioncontext.h b/src/core/qgsexpressioncontext.h index 8aa6e13be522..dfb8e4b1ed72 100644 --- a/src/core/qgsexpressioncontext.h +++ b/src/core/qgsexpressioncontext.h @@ -259,7 +259,9 @@ class CORE_EXPORT QgsExpressionContext QgsExpressionContext& operator=( const QgsExpressionContext& other ); +#ifdef HAS_MOVE_SEMANTICS QgsExpressionContext& operator=( QgsExpressionContext && other ); +#endif ~QgsExpressionContext();