comparison DEPENDENCIES/generic/include/boost/asio/detail/push_options.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children c530137014c0
comparison
equal deleted inserted replaced
15:663ca0da4350 16:2665513ce2d3
1 //
2 // detail/push_options.hpp
3 // ~~~~~~~~~~~~~~~~~~~~~~~
4 //
5 // Copyright (c) 2003-2013 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) \
22 || defined(__ICC) || defined(__ECC)
23
24 // Intel C++
25
26 #elif defined(__GNUC__)
27
28 // GNU C++
29
30 # if defined(__MINGW32__) || defined(__CYGWIN__)
31 # pragma pack (push, 8)
32 # endif
33
34 # if defined(__OBJC__)
35 # if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1)
36 # if !defined(BOOST_ASIO_DISABLE_OBJC_WORKAROUND)
37 # if !defined(Protocol) && !defined(id)
38 # define Protocol cpp_Protocol
39 # define id cpp_id
40 # define BOOST_ASIO_OBJC_WORKAROUND
41 # endif
42 # endif
43 # endif
44 # endif
45
46 #elif defined(__KCC)
47
48 // Kai C++
49
50 #elif defined(__sgi)
51
52 // SGI MIPSpro C++
53
54 #elif defined(__DECCXX)
55
56 // Compaq Tru64 Unix cxx
57
58 #elif defined(__ghs)
59
60 // Greenhills C++
61
62 #elif defined(__BORLANDC__)
63
64 // Borland C++
65
66 # pragma option push -a8 -b -Ve- -Vx- -w-inl -vi-
67 # pragma nopushoptwarn
68 # pragma nopackwarning
69 # if !defined(__MT__)
70 # error Multithreaded RTL must be selected.
71 # endif // !defined(__MT__)
72
73 #elif defined(__MWERKS__)
74
75 // Metrowerks CodeWarrior
76
77 #elif defined(__SUNPRO_CC)
78
79 // Sun Workshop Compiler C++
80
81 #elif defined(__HP_aCC)
82
83 // HP aCC
84
85 #elif defined(__MRC__) || defined(__SC__)
86
87 // MPW MrCpp or SCpp
88
89 #elif defined(__IBMCPP__)
90
91 // IBM Visual Age
92
93 #elif defined(_MSC_VER)
94
95 // Microsoft Visual C++
96 //
97 // Must remain the last #elif since some other vendors (Metrowerks, for example)
98 // also #define _MSC_VER
99
100 # pragma warning (disable:4103)
101 # pragma warning (push)
102 # pragma warning (disable:4127)
103 # pragma warning (disable:4180)
104 # pragma warning (disable:4244)
105 # pragma warning (disable:4355)
106 # pragma warning (disable:4510)
107 # pragma warning (disable:4512)
108 # pragma warning (disable:4610)
109 # pragma warning (disable:4675)
110 # if defined(_M_IX86) && defined(_Wp64)
111 // The /Wp64 option is broken. If you want to check 64 bit portability, use a
112 // 64 bit compiler!
113 # pragma warning (disable:4311)
114 # pragma warning (disable:4312)
115 # endif // defined(_M_IX86) && defined(_Wp64)
116 # pragma pack (push, 8)
117 // Note that if the /Og optimisation flag is enabled with MSVC6, the compiler
118 // has a tendency to incorrectly optimise away some calls to member template
119 // functions, even though those functions contain code that should not be
120 // optimised away! Therefore we will always disable this optimisation option
121 // for the MSVC6 compiler.
122 # if (_MSC_VER < 1300)
123 # pragma optimize ("g", off)
124 # endif
125 # if !defined(_MT)
126 # error Multithreaded RTL must be selected.
127 # endif // !defined(_MT)
128
129 # if defined(__cplusplus_cli) || defined(__cplusplus_winrt)
130 # if !defined(BOOST_ASIO_DISABLE_CLR_WORKAROUND)
131 # if !defined(generic)
132 # define generic cpp_generic
133 # define BOOST_ASIO_CLR_WORKAROUND
134 # endif
135 # endif
136 # endif
137
138 #endif