fix doc example typo
[boost.git] / boost / asio / detail / push_options.hpp
blob47524b255380d20bf460797feee060f8a877aa63
1 //
2 // push_options.hpp
3 // ~~~~~~~~~~~~~~~~
4 //
5 // Copyright (c) 2003-2008 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 //
11 // No header guard
13 #if defined(__COMO__)
15 // Comeau C++
17 #elif defined(__DMC__)
19 // Digital Mars C++
21 #elif defined(__INTEL_COMPILER) || defined(__ICL) \
22 || defined(__ICC) || defined(__ECC)
24 // Intel C++
26 #elif defined(__GNUC__)
28 // GNU C++
30 # if defined(__MINGW32__) || defined(__CYGWIN__)
31 # pragma pack (push, 8)
32 # endif
34 #elif defined(__KCC)
36 // Kai C++
38 #elif defined(__sgi)
40 // SGI MIPSpro C++
42 #elif defined(__DECCXX)
44 // Compaq Tru64 Unix cxx
46 #elif defined(__ghs)
48 // Greenhills C++
50 #elif defined(__BORLANDC__)
52 // Borland C++
54 # pragma option push -a8 -b -Ve- -Vx- -w-inl -vi-
55 # pragma nopushoptwarn
56 # pragma nopackwarning
57 # if !defined(__MT__)
58 # error Multithreaded RTL must be selected.
59 # endif // !defined(__MT__)
61 #elif defined(__MWERKS__)
63 // Metrowerks CodeWarrior
65 #elif defined(__SUNPRO_CC)
67 // Sun Workshop Compiler C++
69 #elif defined(__HP_aCC)
71 // HP aCC
73 #elif defined(__MRC__) || defined(__SC__)
75 // MPW MrCpp or SCpp
77 #elif defined(__IBMCPP__)
79 // IBM Visual Age
81 #elif defined(_MSC_VER)
83 // Microsoft Visual C++
85 // Must remain the last #elif since some other vendors (Metrowerks, for example)
86 // also #define _MSC_VER
88 # pragma warning (disable:4103)
89 # pragma warning (push)
90 # pragma warning (disable:4127)
91 # pragma warning (disable:4244)
92 # pragma warning (disable:4355)
93 # pragma warning (disable:4512)
94 # pragma warning (disable:4675)
95 # if defined(_M_IX86) && defined(_Wp64)
96 // The /Wp64 option is broken. If you want to check 64 bit portability, use a
97 // 64 bit compiler!
98 # pragma warning (disable:4311)
99 # pragma warning (disable:4312)
100 # endif // defined(_M_IX86) && defined(_Wp64)
101 # pragma pack (push, 8)
102 // Note that if the /Og optimisation flag is enabled with MSVC6, the compiler
103 // has a tendency to incorrectly optimise away some calls to member template
104 // functions, even though those functions contain code that should not be
105 // optimised away! Therefore we will always disable this optimisation option
106 // for the MSVC6 compiler.
107 # if (_MSC_VER < 1300)
108 # pragma optimize ("g", off)
109 # endif
110 # if !defined(_MT)
111 # error Multithreaded RTL must be selected.
112 # endif // !defined(_MT)
114 #endif