From f4ceaecf682318d86ad959719767f230ce1ee38e Mon Sep 17 00:00:00 2001 From: Adam Cozzette Date: Wed, 4 Sep 2019 11:20:45 -0700 Subject: [PATCH] Updated deprecation macros to annotate deprecated code --- BUILD | 1 + src/google/protobuf/dynamic_message.h | 1 + src/google/protobuf/port_def.inc | 11 +++++++++-- src/google/protobuf/stubs/port.h | 5 +++-- src/google/protobuf/text_format.h | 1 + 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/BUILD b/BUILD index efc3d8e7fe9..07e8317d6f8 100644 --- a/BUILD +++ b/BUILD @@ -59,6 +59,7 @@ COPTS = select({ "-Wno-unused-function", # Prevents ISO C++ const string assignment warnings for pyext sources. "-Wno-write-strings", + "-Wno-deprecated-declarations", ], }) diff --git a/src/google/protobuf/dynamic_message.h b/src/google/protobuf/dynamic_message.h index 9bd609f898e..a0de9f3fbd6 100644 --- a/src/google/protobuf/dynamic_message.h +++ b/src/google/protobuf/dynamic_message.h @@ -44,6 +44,7 @@ #include #include +#include #include #include #include diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc index 134ec22bbae..54716b3693a 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -146,8 +146,15 @@ #define PROTOBUF_NAMESPACE_CLOSE \ } /* namespace protobuf */ \ } /* namespace google */ -#define PROTOBUF_DEPRECATED -#define PROTOBUF_DEPRECATED_MSG(x) + +#if defined(__GNUC__) || defined(__clang__) +#define PROTOBUF_DEPRECATED __attribute__((deprecated)) +#define PROTOBUF_DEPRECATED_MSG(msg) __attribute__((deprecated(msg))) +#elif defined(_MSC_VER) +#define PROTOBUF_DEPRECATED __declspec(deprecated) +#define PROTOBUF_DEPRECATED_MSG(msg) __declspec(deprecated(msg)) +#endif + #define PROTOBUF_SECTION_VARIABLE(x) #define PROTOBUF_MUST_USE_RESULT diff --git a/src/google/protobuf/stubs/port.h b/src/google/protobuf/stubs/port.h index d25783ea831..2903775ff4d 100644 --- a/src/google/protobuf/stubs/port.h +++ b/src/google/protobuf/stubs/port.h @@ -103,8 +103,9 @@ #define LIBPROTOC_EXPORT #endif -#define PROTOBUF_RUNTIME_DEPRECATED(message) -#define GOOGLE_PROTOBUF_RUNTIME_DEPRECATED(message) +#define PROTOBUF_RUNTIME_DEPRECATED(message) PROTOBUF_DEPRECATED_MSG(message) +#define GOOGLE_PROTOBUF_RUNTIME_DEPRECATED(message) \ + PROTOBUF_DEPRECATED_MSG(message) // =================================================================== // from google3/base/port.h diff --git a/src/google/protobuf/text_format.h b/src/google/protobuf/text_format.h index a6f3ca792d0..ab34cd82bff 100644 --- a/src/google/protobuf/text_format.h +++ b/src/google/protobuf/text_format.h @@ -157,6 +157,7 @@ class PROTOBUF_EXPORT TextFormat { GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FastFieldValuePrinter); }; + // Deprecated: please use FastFieldValuePrinter instead. class PROTOBUF_EXPORT FieldValuePrinter { public: FieldValuePrinter();