Chris@16: // Chris@16: // detail/pop_options.hpp Chris@16: // ~~~~~~~~~~~~~~~~~~~~~~ Chris@16: // Chris@101: // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) Chris@16: // Chris@16: // Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@16: // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: // Chris@16: Chris@16: // No header guard Chris@16: Chris@16: #if defined(__COMO__) Chris@16: Chris@16: // Comeau C++ Chris@16: Chris@16: #elif defined(__DMC__) Chris@16: Chris@16: // Digital Mars C++ Chris@16: Chris@16: #elif defined(__INTEL_COMPILER) || defined(__ICL) \ Chris@16: || defined(__ICC) || defined(__ECC) Chris@16: Chris@16: // Intel C++ Chris@16: Chris@101: # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) Chris@101: # pragma GCC visibility pop Chris@101: # endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) Chris@101: Chris@101: #elif defined(__clang__) Chris@101: Chris@101: // Clang Chris@101: Chris@101: # if defined(__OBJC__) Chris@101: # if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1) Chris@101: # if defined(BOOST_ASIO_OBJC_WORKAROUND) Chris@101: # undef Protocol Chris@101: # undef id Chris@101: # undef BOOST_ASIO_OBJC_WORKAROUND Chris@101: # endif Chris@101: # endif Chris@101: # endif Chris@101: Chris@101: # if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) Chris@101: # pragma GCC visibility pop Chris@101: # endif // !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) Chris@101: Chris@16: #elif defined(__GNUC__) Chris@16: Chris@16: // GNU C++ Chris@16: Chris@16: # if defined(__MINGW32__) || defined(__CYGWIN__) Chris@16: # pragma pack (pop) Chris@16: # endif Chris@16: Chris@16: # if defined(__OBJC__) Chris@16: # if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1) Chris@16: # if defined(BOOST_ASIO_OBJC_WORKAROUND) Chris@16: # undef Protocol Chris@16: # undef id Chris@16: # undef BOOST_ASIO_OBJC_WORKAROUND Chris@16: # endif Chris@16: # endif Chris@16: # endif Chris@16: Chris@101: # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) Chris@101: # pragma GCC visibility pop Chris@101: # endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) Chris@101: Chris@16: #elif defined(__KCC) Chris@16: Chris@16: // Kai C++ Chris@16: Chris@16: #elif defined(__sgi) Chris@16: Chris@16: // SGI MIPSpro C++ Chris@16: Chris@16: #elif defined(__DECCXX) Chris@16: Chris@16: // Compaq Tru64 Unix cxx Chris@16: Chris@16: #elif defined(__ghs) Chris@16: Chris@16: // Greenhills C++ Chris@16: Chris@16: #elif defined(__BORLANDC__) Chris@16: Chris@16: // Borland C++ Chris@16: Chris@16: # pragma option pop Chris@16: # pragma nopushoptwarn Chris@16: # pragma nopackwarning Chris@16: Chris@16: #elif defined(__MWERKS__) Chris@16: Chris@16: // Metrowerks CodeWarrior Chris@16: Chris@16: #elif defined(__SUNPRO_CC) Chris@16: Chris@16: // Sun Workshop Compiler C++ Chris@16: Chris@16: #elif defined(__HP_aCC) Chris@16: Chris@16: // HP aCC Chris@16: Chris@16: #elif defined(__MRC__) || defined(__SC__) Chris@16: Chris@16: // MPW MrCpp or SCpp Chris@16: Chris@16: #elif defined(__IBMCPP__) Chris@16: Chris@16: // IBM Visual Age Chris@16: Chris@16: #elif defined(_MSC_VER) Chris@16: Chris@16: // Microsoft Visual C++ Chris@16: // Chris@16: // Must remain the last #elif since some other vendors (Metrowerks, for example) Chris@16: // also #define _MSC_VER Chris@16: Chris@16: # pragma warning (pop) Chris@16: # pragma pack (pop) Chris@16: Chris@16: # if defined(__cplusplus_cli) || defined(__cplusplus_winrt) Chris@16: # if defined(BOOST_ASIO_CLR_WORKAROUND) Chris@16: # undef generic Chris@16: # undef BOOST_ASIO_CLR_WORKAROUND Chris@16: # endif Chris@16: # endif Chris@16: Chris@16: #endif