]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/asio/detail/pop_options.hpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / boost / asio / detail / pop_options.hpp
CommitLineData
7c673cae
FG
1//
2// detail/pop_options.hpp
3// ~~~~~~~~~~~~~~~~~~~~~~
4//
1e59de90 5// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
7c673cae
FG
6//
7// Distributed under the Boost Software License, Version 1.0. (See accompanying
8// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9//
10
11// No header guard
12
13#if defined(__COMO__)
14
15// Comeau C++
16
17#elif defined(__DMC__)
18
19// Digital Mars C++
20
21#elif defined(__INTEL_COMPILER) || defined(__ICL) \
22 || defined(__ICC) || defined(__ECC)
23
24// Intel C++
25
26# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
92f5a8d4
TL
27# if !defined(BOOST_ASIO_DISABLE_VISIBILITY)
28# pragma GCC visibility pop
29# endif // !defined(BOOST_ASIO_DISABLE_VISIBILITY)
7c673cae
FG
30# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
31
32#elif defined(__clang__)
33
34// Clang
35
36# if defined(__OBJC__)
37# if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1)
38# if defined(BOOST_ASIO_OBJC_WORKAROUND)
39# undef Protocol
40# undef id
41# undef BOOST_ASIO_OBJC_WORKAROUND
42# endif
43# endif
44# endif
45
46# if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
92f5a8d4
TL
47# if !defined(BOOST_ASIO_DISABLE_VISIBILITY)
48# pragma GCC visibility pop
49# endif // !defined(BOOST_ASIO_DISABLE_VISIBILITY)
7c673cae
FG
50# endif // !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
51
f67539c2
TL
52# pragma GCC diagnostic pop
53
1e59de90
TL
54# pragma pop_macro ("emit")
55# pragma pop_macro ("signal")
56# pragma pop_macro ("slot")
57
7c673cae
FG
58#elif defined(__GNUC__)
59
60// GNU C++
61
62# if defined(__MINGW32__) || defined(__CYGWIN__)
63# pragma pack (pop)
64# endif
65
66# if defined(__OBJC__)
67# if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1)
68# if defined(BOOST_ASIO_OBJC_WORKAROUND)
69# undef Protocol
70# undef id
71# undef BOOST_ASIO_OBJC_WORKAROUND
72# endif
73# endif
74# endif
75
76# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
92f5a8d4
TL
77# if !defined(BOOST_ASIO_DISABLE_VISIBILITY)
78# pragma GCC visibility pop
79# endif // !defined(BOOST_ASIO_DISABLE_VISIBILITY)
7c673cae
FG
80# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
81
f67539c2 82# pragma GCC diagnostic pop
b32b8144 83
1e59de90
TL
84# pragma pop_macro ("emit")
85# pragma pop_macro ("signal")
86# pragma pop_macro ("slot")
87
7c673cae
FG
88#elif defined(__KCC)
89
90// Kai C++
91
92#elif defined(__sgi)
93
94// SGI MIPSpro C++
95
96#elif defined(__DECCXX)
97
98// Compaq Tru64 Unix cxx
99
100#elif defined(__ghs)
101
102// Greenhills C++
103
20effc67 104#elif defined(__BORLANDC__) && !defined(__clang__)
7c673cae
FG
105
106// Borland C++
107
108# pragma option pop
109# pragma nopushoptwarn
110# pragma nopackwarning
111
112#elif defined(__MWERKS__)
113
114// Metrowerks CodeWarrior
115
116#elif defined(__SUNPRO_CC)
117
118// Sun Workshop Compiler C++
119
120#elif defined(__HP_aCC)
121
122// HP aCC
123
124#elif defined(__MRC__) || defined(__SC__)
125
126// MPW MrCpp or SCpp
127
128#elif defined(__IBMCPP__)
129
130// IBM Visual Age
131
132#elif defined(_MSC_VER)
133
134// Microsoft Visual C++
135//
136// Must remain the last #elif since some other vendors (Metrowerks, for example)
137// also #define _MSC_VER
138
139# pragma warning (pop)
140# pragma pack (pop)
141
142# if defined(__cplusplus_cli) || defined(__cplusplus_winrt)
143# if defined(BOOST_ASIO_CLR_WORKAROUND)
144# undef generic
145# undef BOOST_ASIO_CLR_WORKAROUND
146# endif
147# endif
148
1e59de90
TL
149# pragma pop_macro ("emit")
150# pragma pop_macro ("signal")
151# pragma pop_macro ("slot")
152
7c673cae 153#endif