• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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