Procházet zdrojové kódy

Merge pull request #2499 from ckennelly/master

Define LANG_CXX11 for port.h and use this to guard C++11 features.
Adam Cozzette před 8 roky
rodič
revize
a95e38ce8d

+ 2 - 2
src/google/protobuf/generated_message_util.h

@@ -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&

+ 9 - 0
src/google/protobuf/stubs/port.h

@@ -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 {