push_options.hpp
Go to the documentation of this file.
00001 //
00002 // push_options.hpp
00003 // ~~~~~~~~~~~~~~~~
00004 //
00005 // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
00006 //
00007 // Distributed under the Boost Software License, Version 1.0. (See accompanying
00008 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
00009 //
00010 
00011 // No header guard
00012 
00013 #if defined(__COMO__)
00014 
00015 // Comeau C++
00016 
00017 #elif defined(__DMC__)
00018 
00019 // Digital Mars C++
00020 
00021 #elif defined(__INTEL_COMPILER) || defined(__ICL) \
00022   || defined(__ICC) || defined(__ECC)
00023 
00024 // Intel C++
00025 
00026 #elif defined(__GNUC__)
00027 
00028 // GNU C++
00029 
00030 # if defined(__MINGW32__) || defined(__CYGWIN__)
00031 #  pragma pack (push, 8)
00032 # endif
00033 
00034 #elif defined(__KCC)
00035 
00036 // Kai C++
00037 
00038 #elif defined(__sgi)
00039 
00040 // SGI MIPSpro C++
00041 
00042 #elif defined(__DECCXX)
00043 
00044 // Compaq Tru64 Unix cxx
00045 
00046 #elif defined(__ghs)
00047 
00048 // Greenhills C++
00049 
00050 #elif defined(__BORLANDC__)
00051 
00052 // Borland C++
00053 
00054 # pragma option push -a8 -b -Ve- -Vx- -w-inl -vi-
00055 # pragma nopushoptwarn
00056 # pragma nopackwarning
00057 # if !defined(__MT__)
00058 #  error Multithreaded RTL must be selected.
00059 # endif // !defined(__MT__)
00060 
00061 #elif defined(__MWERKS__)
00062 
00063 // Metrowerks CodeWarrior
00064 
00065 #elif defined(__SUNPRO_CC)
00066 
00067 // Sun Workshop Compiler C++
00068 
00069 #elif defined(__HP_aCC)
00070 
00071 // HP aCC
00072 
00073 #elif defined(__MRC__) || defined(__SC__)
00074 
00075 // MPW MrCpp or SCpp
00076 
00077 #elif defined(__IBMCPP__)
00078 
00079 // IBM Visual Age
00080 
00081 #elif defined(_MSC_VER)
00082 
00083 // Microsoft Visual C++
00084 //
00085 // Must remain the last #elif since some other vendors (Metrowerks, for example)
00086 // also #define _MSC_VER
00087 
00088 # pragma warning (disable:4103)
00089 # pragma warning (push)
00090 # pragma warning (disable:4127)
00091 # pragma warning (disable:4244)
00092 # pragma warning (disable:4355)
00093 # pragma warning (disable:4512)
00094 # pragma warning (disable:4675)
00095 # if defined(_M_IX86) && defined(_Wp64)
00096 // The /Wp64 option is broken. If you want to check 64 bit portability, use a
00097 // 64 bit compiler!
00098 #  pragma warning (disable:4311)
00099 #  pragma warning (disable:4312)
00100 # endif // defined(_M_IX86) && defined(_Wp64)
00101 # pragma pack (push, 8)
00102 // Note that if the /Og optimisation flag is enabled with MSVC6, the compiler
00103 // has a tendency to incorrectly optimise away some calls to member template
00104 // functions, even though those functions contain code that should not be
00105 // optimised away! Therefore we will always disable this optimisation option
00106 // for the MSVC6 compiler.
00107 # if (_MSC_VER < 1300)
00108 #  pragma optimize ("g", off)
00109 # endif
00110 # if !defined(_MT)
00111 #  error Multithreaded RTL must be selected.
00112 # endif // !defined(_MT)
00113 
00114 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Castor
Author(s): Carpe Noctem
autogenerated on Fri Nov 8 2013 11:05:39