Define LANG_CXX11 for port.h and use this to guard C++11 features.

This commit is contained in:
Chris Kennelly 2016-12-14 14:03:55 -08:00
parent 83d681ee2c
commit a902e2588d
2 changed files with 11 additions and 2 deletions

View File

@ -46,7 +46,7 @@
#include <google/protobuf/has_bits.h>
#ifndef PROTOBUF_FINAL
#if __cplusplus >= 201103L
#if LANG_CXX11
#define PROTOBUF_FINAL final
#else
#define PROTOBUF_FINAL
@ -99,7 +99,7 @@ class ExplicitlyConstructed {
}
}
#if __cplusplus >= 201103L
#if LANG_CXX11
constexpr
#endif
const T&

View File

@ -97,6 +97,15 @@
// ===================================================================
// from google3/base/port.h
#if (defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L || \
(defined(_MSC_VER) && _MSC_VER >= 1900))
// Define this to 1 if the code is compiled in C++11 mode; leave it
// undefined otherwise. Do NOT define it to 0 -- that causes
// '#ifdef LANG_CXX11' to behave differently from '#if LANG_CXX11'.
#define LANG_CXX11 1
#endif
namespace google {
namespace protobuf {