From 88c15b5fdeccfe597998c1cbf73d5be02a9ce728 Mon Sep 17 00:00:00 2001 From: misterg Date: Wed, 31 Oct 2018 15:03:46 -0400 Subject: [PATCH] Googletest export Adding GTEST_INTERNAL_DEPRECATED ability to mark deprecated PiperOrigin-RevId: 219515184 --- .../include/gtest/internal/gtest-internal.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/googletest/include/gtest/internal/gtest-internal.h b/googletest/include/gtest/internal/gtest-internal.h index f62725ad..217ee799 100644 --- a/googletest/include/gtest/internal/gtest-internal.h +++ b/googletest/include/gtest/internal/gtest-internal.h @@ -1423,4 +1423,19 @@ class FlatTuple test_case_name, test_name)>); \ void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::TestBody() +// Internal Macro to mark an API deprecated, for googletest usage only +// Usage: class GTEST_INTERNAL_DEPRECATED(message) MyClass or +// GTEST_INTERNAL_DEPRECATED(message) myFunction(); Every usage of +// a deprecated entity will trigger a warning when compiled with +// `-Wdeprecated-declarations` option (clang, gcc, any __GNUC__ compiler). +// For msvc /W3 option will need to be used +// Note that for 'other' compilers this macro evaluates to nothing to prevent +// compilations errors. +#if defined(_MSC_VER) +#define GTEST_INTERNAL_DEPRECATED(message) __declspec(deprecated(message)) +#elif defined(__GNUC__) +#define GTEST_INTERNAL_DEPRECATED(message) __attribute__((deprecated(message))) +#else +#define GTEST_INTERNAL_DEPRECATED(message) +#endif #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_INTERNAL_H_