Use same workaround for all gcc versions.
diff --git a/asio/include/asio/detail/pop_options.hpp b/asio/include/asio/detail/pop_options.hpp index 8b4e16f..499496b 100644 --- a/asio/include/asio/detail/pop_options.hpp +++ b/asio/include/asio/detail/pop_options.hpp
@@ -32,10 +32,7 @@ # endif # if defined(__OBJC__) && !defined(__APPLE_CC__) -# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) || (__GNUC__ > 4) -# pragma pop_macro("Protocol") -# pragma pop_macro("id") -# elif defined(ASIO_OBJC_WORKAROUND) +# if defined(ASIO_OBJC_WORKAROUND) # undef Protocol # undef id # undef ASIO_OBJC_WORKAROUND
diff --git a/asio/include/asio/detail/push_options.hpp b/asio/include/asio/detail/push_options.hpp index 9b52215..6dcd04c 100644 --- a/asio/include/asio/detail/push_options.hpp +++ b/asio/include/asio/detail/push_options.hpp
@@ -32,15 +32,12 @@ # endif # if defined(__OBJC__) && !defined(__APPLE_CC__) -# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) || (__GNUC__ > 4) -# pragma push_macro("Protocol") -# define Protocol cpp_Protocol -# pragma push_macro("id") -# define id cpp_id -# elif !defined(Protocol) && !defined(id) -# define Protocol cpp_Protocol -# define id cpp_id -# define ASIO_OBJC_WORKAROUND +# if !defined(ASIO_DISABLE_OBJC_WORKAROUND) +# if !defined(Protocol) && !defined(id) +# define Protocol cpp_Protocol +# define id cpp_id +# define ASIO_OBJC_WORKAROUND +# endif # endif # endif