--- a/boost/asio/detail/pop_options.hpp 2017-10-02 13:42:41.470804700 +0200 +++ b/boost/asio/detail/pop_options.hpp 2017-11-20 16:05:58.238381600 +0100 @@ -23,28 +23,6 @@ // Intel C++ -# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) -# pragma GCC visibility pop -# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) - -#elif defined(__clang__) - -// Clang - -# if defined(__OBJC__) -# if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1) -# if defined(BOOST_ASIO_OBJC_WORKAROUND) -# undef Protocol -# undef id -# undef BOOST_ASIO_OBJC_WORKAROUND -# endif -# endif -# endif - -# if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) -# pragma GCC visibility pop -# endif // !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) - #elif defined(__GNUC__) // GNU C++ @@ -63,10 +41,6 @@ # endif # endif -# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) -# pragma GCC visibility pop -# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) - #elif defined(__KCC) // Kai C++ --- a/boost/asio/detail/push_options.hpp 2017-10-02 13:42:41.552812900 +0200 +++ b/boost/asio/detail/push_options.hpp 2017-11-20 16:05:58.426400400 +0100 @@ -23,30 +23,6 @@ // Intel C++ -# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) -# pragma GCC visibility push (default) -# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) - -#elif defined(__clang__) - -// Clang - -# if defined(__OBJC__) -# if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1) -# if !defined(BOOST_ASIO_DISABLE_OBJC_WORKAROUND) -# if !defined(Protocol) && !defined(id) -# define Protocol cpp_Protocol -# define id cpp_id -# define BOOST_ASIO_OBJC_WORKAROUND -# endif -# endif -# endif -# endif - -# if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) -# pragma GCC visibility push (default) -# endif // !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) - #elif defined(__GNUC__) // GNU C++ @@ -67,10 +43,6 @@ # endif # endif -# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) -# pragma GCC visibility push (default) -# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) - #elif defined(__KCC) // Kai C++ --- a/boost/asio/detail/service_registry.hpp 2017-10-02 13:42:41.838841500 +0200 +++ b/boost/asio/detail/service_registry.hpp 2017-11-20 16:05:58.610418800 +0100 @@ -27,9 +27,21 @@ namespace asio { namespace detail { +#if defined(__GNUC__) +# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) +# pragma GCC visibility push (default) +# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) +#endif // defined(__GNUC__) + template class typeid_wrapper {}; +#if defined(__GNUC__) +# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) +# pragma GCC visibility pop +# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) +#endif // defined(__GNUC__) + class service_registry : private noncopyable {