Skip to content

Commit a61d05b

Browse files
authored
[BUILD] Ignore deprecated warning (#3845)
1 parent bb5fff0 commit a61d05b

5 files changed

Lines changed: 102 additions & 24 deletions

File tree

api/include/opentelemetry/logs/event_logger.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,17 @@ OPENTELEMETRY_BEGIN_NAMESPACE
1515
namespace logs
1616
{
1717
#if OPENTELEMETRY_ABI_VERSION_NO < 2
18+
# if defined(_MSC_VER)
19+
# pragma warning(push)
20+
# pragma warning(disable : 4996)
21+
# elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
22+
# pragma GCC diagnostic push
23+
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
24+
# elif defined(__clang__) || defined(__apple_build_version__)
25+
# pragma clang diagnostic push
26+
# pragma clang diagnostic ignored "-Wdeprecated-declarations"
27+
# endif
28+
1829
/**
1930
* Handles event log record creation.
2031
**/
@@ -77,6 +88,14 @@ class OPENTELEMETRY_DEPRECATED EventLogger
7788
void IgnoreTraitResult(ValueType &&...)
7889
{}
7990
};
91+
92+
# if defined(_MSC_VER)
93+
# pragma warning(pop)
94+
# elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
95+
# pragma GCC diagnostic pop
96+
# elif defined(__clang__) || defined(__apple_build_version__)
97+
# pragma clang diagnostic pop
98+
# endif
8099
#endif
81100
} // namespace logs
82101
OPENTELEMETRY_END_NAMESPACE

api/include/opentelemetry/logs/event_logger_provider.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,17 @@ class EventLogger;
1515
class Logger;
1616

1717
#if OPENTELEMETRY_ABI_VERSION_NO < 2
18+
# if defined(_MSC_VER)
19+
# pragma warning(push)
20+
# pragma warning(disable : 4996)
21+
# elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
22+
# pragma GCC diagnostic push
23+
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
24+
# elif defined(__clang__) || defined(__apple_build_version__)
25+
# pragma clang diagnostic push
26+
# pragma clang diagnostic ignored "-Wdeprecated-declarations"
27+
# endif
28+
1829
/**
1930
* Creates new EventLogger instances.
2031
*/
@@ -32,6 +43,14 @@ class OPENTELEMETRY_DEPRECATED EventLoggerProvider
3243
nostd::shared_ptr<Logger> delegate_logger,
3344
nostd::string_view event_domain) noexcept = 0;
3445
};
46+
47+
# if defined(_MSC_VER)
48+
# pragma warning(pop)
49+
# elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
50+
# pragma GCC diagnostic pop
51+
# elif defined(__clang__) || defined(__apple_build_version__)
52+
# pragma clang diagnostic pop
53+
# endif
3554
#endif
3655
} // namespace logs
3756
OPENTELEMETRY_END_NAMESPACE

api/include/opentelemetry/logs/noop.h

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,22 @@ class NoopLoggerProvider final : public LoggerProvider
9191
};
9292

9393
#if OPENTELEMETRY_ABI_VERSION_NO < 2
94+
# if defined(_MSC_VER)
95+
# pragma warning(push)
96+
# pragma warning(disable : 4996)
97+
# elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
98+
# pragma GCC diagnostic push
99+
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
100+
# elif defined(__clang__) || defined(__apple_build_version__)
101+
# pragma clang diagnostic push
102+
# pragma clang diagnostic ignored "-Wdeprecated-declarations"
103+
# endif
104+
94105
class NoopEventLogger final : public EventLogger
95106
{
96107
public:
97108
NoopEventLogger() : logger_{nostd::shared_ptr<NoopLogger>(new NoopLogger())} {}
109+
~NoopEventLogger() override = default;
98110

99111
const nostd::string_view GetName() noexcept override { return "noop event logger"; }
100112

@@ -112,27 +124,9 @@ class NoopEventLogger final : public EventLogger
112124
class NoopEventLoggerProvider final : public EventLoggerProvider
113125
{
114126
public:
115-
# if defined(_MSC_VER)
116-
# pragma warning(push)
117-
# pragma warning(disable : 4996)
118-
# elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
119-
# pragma GCC diagnostic push
120-
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
121-
# elif defined(__clang__) || defined(__apple_build_version__)
122-
# pragma clang diagnostic push
123-
# pragma clang diagnostic ignored "-Wdeprecated-declarations"
124-
# endif
125-
126127
NoopEventLoggerProvider() : event_logger_{nostd::shared_ptr<EventLogger>(new NoopEventLogger())}
127128
{}
128-
129-
# if defined(_MSC_VER)
130-
# pragma warning(pop)
131-
# elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
132-
# pragma GCC diagnostic pop
133-
# elif defined(__clang__) || defined(__apple_build_version__)
134-
# pragma clang diagnostic pop
135-
# endif
129+
~NoopEventLoggerProvider() override = default;
136130

137131
nostd::shared_ptr<EventLogger> CreateEventLogger(
138132
nostd::shared_ptr<Logger> /*delegate_logger*/,
@@ -144,6 +138,14 @@ class NoopEventLoggerProvider final : public EventLoggerProvider
144138
private:
145139
nostd::shared_ptr<EventLogger> event_logger_;
146140
};
141+
142+
# if defined(_MSC_VER)
143+
# pragma warning(pop)
144+
# elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
145+
# pragma GCC diagnostic pop
146+
# elif defined(__clang__) || defined(__apple_build_version__)
147+
# pragma clang diagnostic pop
148+
# endif
147149
#endif
148150

149151
} // namespace logs

api/include/opentelemetry/logs/provider.h

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,16 @@ class OPENTELEMETRY_EXPORT Provider
4848
}
4949

5050
#if OPENTELEMETRY_ABI_VERSION_NO < 2
51+
# if defined(_MSC_VER)
52+
# pragma warning(push)
53+
# pragma warning(disable : 4996)
54+
# elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
55+
# pragma GCC diagnostic push
56+
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
57+
# elif defined(__clang__) || defined(__apple_build_version__)
58+
# pragma clang diagnostic push
59+
# pragma clang diagnostic ignored "-Wdeprecated-declarations"
60+
# endif
5161
/**
5262
* Returns the singleton EventLoggerProvider.
5363
*
@@ -70,6 +80,13 @@ class OPENTELEMETRY_EXPORT Provider
7080
std::lock_guard<common::SpinLockMutex> guard(GetLock());
7181
GetEventProvider() = tp;
7282
}
83+
# if defined(_MSC_VER)
84+
# pragma warning(pop)
85+
# elif defined(__GNUC__) && !defined(__clang__) && !defined(__apple_build_version__)
86+
# pragma GCC diagnostic pop
87+
# elif defined(__clang__) || defined(__apple_build_version__)
88+
# pragma clang diagnostic pop
89+
# endif
7390
#endif
7491

7592
private:
@@ -80,10 +97,6 @@ class OPENTELEMETRY_EXPORT Provider
8097
}
8198

8299
#if OPENTELEMETRY_ABI_VERSION_NO < 2
83-
OPENTELEMETRY_DEPRECATED
84-
OPENTELEMETRY_API_SINGLETON static nostd::shared_ptr<EventLoggerProvider> &
85-
GetEventProvider() noexcept
86-
{
87100
# if defined(_MSC_VER)
88101
# pragma warning(push)
89102
# pragma warning(disable : 4996)
@@ -95,8 +108,13 @@ class OPENTELEMETRY_EXPORT Provider
95108
# pragma clang diagnostic ignored "-Wdeprecated-declarations"
96109
# endif
97110

111+
OPENTELEMETRY_DEPRECATED
112+
OPENTELEMETRY_API_SINGLETON static nostd::shared_ptr<EventLoggerProvider> &
113+
GetEventProvider() noexcept
114+
{
98115
static nostd::shared_ptr<EventLoggerProvider> provider(new NoopEventLoggerProvider);
99116
return provider;
117+
}
100118

101119
# if defined(_MSC_VER)
102120
# pragma warning(pop)
@@ -105,7 +123,6 @@ class OPENTELEMETRY_EXPORT Provider
105123
# elif defined(__clang__) || defined(__apple_build_version__)
106124
# pragma clang diagnostic pop
107125
# endif
108-
}
109126
#endif
110127

111128
OPENTELEMETRY_API_SINGLETON static common::SpinLockMutex &GetLock() noexcept

examples/common/logs_foo_library/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,24 @@ target_include_directories(common_logs_foo_library
1212
PUBLIC $<BUILD_INTERFACE:${EXAMPLES_COMMON_DIR}>)
1313

1414
target_link_libraries(common_logs_foo_library PUBLIC opentelemetry-cpp::api)
15+
16+
# Internal deprecated API calling should not failed the build in maintainer mode
17+
if(OTELCPP_MAINTAINER_MODE)
18+
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
19+
get_target_property(COMMON_LOGS_FOO_COMPILE_OPTS common_logs_foo_library
20+
COMPILE_OPTIONS)
21+
list(REMOVE_ITEM COMMON_LOGS_FOO_COMPILE_OPTS
22+
-Wno-error=deprecated-declarations)
23+
set_target_properties(
24+
common_logs_foo_library PROPERTIES COMPILE_OPTIONS
25+
"${COMMON_LOGS_FOO_COMPILE_OPTS}")
26+
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
27+
get_target_property(COMMON_LOGS_FOO_COMPILE_OPTS common_logs_foo_library
28+
COMPILE_OPTIONS)
29+
list(REMOVE_ITEM COMMON_LOGS_FOO_COMPILE_OPTS /wd4996)
30+
list(APPEND COMMON_LOGS_FOO_COMPILE_OPTS /w34996)
31+
set_target_properties(
32+
common_logs_foo_library PROPERTIES COMPILE_OPTIONS
33+
"${COMMON_LOGS_FOO_COMPILE_OPTS}")
34+
endif()
35+
endif()

0 commit comments

Comments
 (0)