00001 // Copyright John Maddock 2008 00002 // Use, modification, and distribution is subject to the Boost Software 00003 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 00004 // http://www.boost.org/LICENSE_1_0.txt) 00005 // 00006 // This file exists to turn off some overly-pedantic warning emitted 00007 // by certain compilers. You should include this header only in: 00008 // 00009 // * A test case, before any other headers, or, 00010 // * A library source file before any other headers. 00011 // 00012 // IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER. 00013 // 00014 // YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING. 00015 // 00016 // The only warnings disabled here are those that are: 00017 // 00018 // * Quite unreasonably pedantic. 00019 // * Generally only emitted by a single compiler. 00020 // * Can't easily be fixed: for example if the vendors own std lib 00021 // code emits these warnings! 00022 // 00023 // Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS: 00024 // not even std library ones! Doing so may turn the warning 00025 // off too late to be of any use. For example the VC++ C4996 00026 // warning can be omitted from <iosfwd> if that header is included 00027 // before or by this one :-( 00028 // 00029 00030 #ifndef BOOST_CONFIG_WARNING_DISABLE_HPP 00031 #define BOOST_CONFIG_WARNING_DISABLE_HPP 00032 00033 #if defined(_MSC_VER) && (_MSC_VER >= 1400) 00034 // Error 'function': was declared deprecated 00035 // http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx 00036 // This error is emitted when you use some perfectly conforming 00037 // std lib functions in a perfectly correct way, and also by 00038 // some of Microsoft's own std lib code ! 00039 # pragma warning(disable:4996) 00040 #endif 00041 #if defined(__INTEL_COMPILER) || defined(__ICL) 00042 // As above: gives warning when a "deprecated" 00043 // std library function is encountered. 00044 # pragma warning(disable:1786) 00045 #endif 00046 00047 #endif // BOOST_CONFIG_WARNING_DISABLE_HPP