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