From 155987a4aa6146b13f9d5d94e78ea7a0726c85e9 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Fri, 8 Jan 2016 17:01:37 +0000 Subject: [PATCH] Fix override being used on gcc 4.3 to 4.6. --- config.lib | 6 ++++-- src/stdafx.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/config.lib b/config.lib index f01d5cdf84..c090804248 100644 --- a/config.lib +++ b/config.lib @@ -1394,10 +1394,12 @@ make_compiler_cflags() { flags="$flags -Wnon-virtual-dtor" fi - if [ $cc_version -ge 43 ]; then + if [ $cc_version -ge 47 ]; then + cxxflags="$cxxflags -std=gnu++11" + elif [ $cc_version -ge 43 ]; then # Use gnu++0x mode so static_assert() is available. # Don't use c++0x, it breaks mingw (with gcc 4.4.0). - cxxflags="$cxxflags -std=gnu++0x" + cxxflags="$cxxflags -std=gnu++0x -DDISABLE_OVERRIDE" fi if [ $cc_version -eq 45 ]; then diff --git a/src/stdafx.h b/src/stdafx.h index b63f1ea9bb..abb0f8c304 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -521,7 +521,7 @@ static inline void free(const void *ptr) * Use of the override keyword can prevent various types of problems when the base method signature is changed, but derived overriding methods are not * This is conditional to maintain compatibility with legacy compilers */ -#if __cplusplus >= 201103L || defined(__STDCXX_VERSION__) || defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(__GXX_EXPERIMENTAL_CPP0X__) +#if !defined(DISABLE_OVERRIDE) && (__cplusplus >= 201103L || defined(__STDCXX_VERSION__) || defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(__GXX_EXPERIMENTAL_CPP0X__)) #define OVERRIDE override #else #define OVERRIDE