Home | History | Annotate | Download | only in detail
      1 //
      2 // detail/push_options.hpp
      3 // ~~~~~~~~~~~~~~~~~~~~~~~
      4 //
      5 // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com)
      6 //
      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)
      9 //
     10 
     11 // No header guard
     12 
     13 #if defined(__COMO__)
     14 
     15 // Comeau C++
     16 
     17 #elif defined(__DMC__)
     18 
     19 // Digital Mars C++
     20 
     21 #elif defined(__INTEL_COMPILER) || defined(__ICL)    || defined(__ICC) || defined(__ECC)
     22 
     23 // Intel C++
     24 
     25 # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
     26 #  pragma GCC visibility push (default)
     27 # endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
     28 
     29 #else
     30 
     31 // Clang
     32 
     33 # if defined(__OBJC__)
     34 #  if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1)
     35 #   if !defined(ASIO_DISABLE_OBJC_WORKAROUND)
     36 #    if !defined(Protocol) && !defined(id)
     37 #     define Protocol cpp_Protocol
     38 #     define id cpp_id
     39 #     define ASIO_OBJC_WORKAROUND
     40 #    endif
     41 #   endif
     42 #  endif
     43 # endif
     44 
     45 #  pragma GCC visibility push (default)
     46 
     47 #endif
     48