2 // detail/pop_options.hpp
3 // ~~~~~~~~~~~~~~~~~~~~~~
5 // Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)
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)
17 #elif defined(__DMC__)
21 #elif defined(__INTEL_COMPILER) || defined(__ICL) \
22 || defined(__ICC) || defined(__ECC)
26 # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
27 # pragma GCC visibility pop
28 # endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
30 #elif defined(__clang__)
34 # if defined(__OBJC__)
35 # if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1)
36 # if defined(BOOST_ASIO_OBJC_WORKAROUND)
39 # undef BOOST_ASIO_OBJC_WORKAROUND
44 # if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
45 # pragma GCC visibility pop
46 # endif // !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
48 #elif defined(__GNUC__)
52 # if defined(__MINGW32__) || defined(__CYGWIN__)
56 # if defined(__OBJC__)
57 # if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1)
58 # if defined(BOOST_ASIO_OBJC_WORKAROUND)
61 # undef BOOST_ASIO_OBJC_WORKAROUND
66 # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
67 # pragma GCC visibility pop
68 # endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
78 #elif defined(__DECCXX)
80 // Compaq Tru64 Unix cxx
86 #elif defined(__BORLANDC__)
91 # pragma nopushoptwarn
92 # pragma nopackwarning
94 #elif defined(__MWERKS__)
96 // Metrowerks CodeWarrior
98 #elif defined(__SUNPRO_CC)
100 // Sun Workshop Compiler C++
102 #elif defined(__HP_aCC)
106 #elif defined(__MRC__) || defined(__SC__)
110 #elif defined(__IBMCPP__)
114 #elif defined(_MSC_VER)
116 // Microsoft Visual C++
118 // Must remain the last #elif since some other vendors (Metrowerks, for example)
119 // also #define _MSC_VER
121 # pragma warning (pop)
124 # if defined(__cplusplus_cli) || defined(__cplusplus_winrt)
125 # if defined(BOOST_ASIO_CLR_WORKAROUND)
127 # undef BOOST_ASIO_CLR_WORKAROUND