Browse Source

fix: support deprecated enums for GCC < 6

Carlos O'Ryan 4 years ago
parent
commit
54d9f6a1da
1 changed files with 9 additions and 1 deletions
  1. 9 1
      src/google/protobuf/port_def.inc

+ 9 - 1
src/google/protobuf/port_def.inc

@@ -165,10 +165,18 @@
   } /* namespace protobuf */     \
   } /* namespace protobuf */     \
   } /* namespace google */
   } /* namespace google */
 
 
-#if defined(__GNUC__) || defined(__clang__)
+#if defined(__clang__)
 #define PROTOBUF_DEPRECATED __attribute__((deprecated))
 #define PROTOBUF_DEPRECATED __attribute__((deprecated))
 #define PROTOBUF_DEPRECATED_ENUM __attribute__((deprecated))
 #define PROTOBUF_DEPRECATED_ENUM __attribute__((deprecated))
 #define PROTOBUF_DEPRECATED_MSG(msg) __attribute__((deprecated(msg)))
 #define PROTOBUF_DEPRECATED_MSG(msg) __attribute__((deprecated(msg)))
+#elif defined(__GNUC__)
+#  define PROTOBUF_DEPRECATED __attribute__((deprecated))
+#  define PROTOBUF_DEPRECATED_MSG(msg) __attribute__((deprecated(msg)))
+# if __GNUC__ >= 6
+#  define PROTOBUF_DEPRECATED_ENUM __attribute__((deprecated))
+# else
+#  define PROTOBUF_DEPRECATED_ENUM
+# endif
 #elif defined(_MSC_VER)
 #elif defined(_MSC_VER)
 #define PROTOBUF_DEPRECATED __declspec(deprecated)
 #define PROTOBUF_DEPRECATED __declspec(deprecated)
 #define PROTOBUF_DEPRECATED_ENUM
 #define PROTOBUF_DEPRECATED_ENUM