config_begin.hpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
  4. // Software License, Version 1.0. (See accompanying file
  5. // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. //
  7. // See http://www.boost.org/libs/interprocess for documentation.
  8. //
  9. //////////////////////////////////////////////////////////////////////////////
  10. #ifndef BOOST_INTERPROCESS_CONFIG_INCLUDED
  11. #define BOOST_INTERPROCESS_CONFIG_INCLUDED
  12. #include <boost/config.hpp>
  13. #endif
  14. #ifdef BOOST_MSVC
  15. #ifndef _CRT_SECURE_NO_DEPRECATE
  16. #define BOOST_INTERPROCESS_CRT_SECURE_NO_DEPRECATE
  17. #define _CRT_SECURE_NO_DEPRECATE
  18. #endif
  19. #pragma warning (push)
  20. #pragma warning (disable : 4702) // unreachable code
  21. #pragma warning (disable : 4706) // assignment within conditional expression
  22. #pragma warning (disable : 4127) // conditional expression is constant
  23. #pragma warning (disable : 4146) // unary minus operator applied to unsigned type, result still unsigned
  24. #pragma warning (disable : 4284) // odd return type for operator->
  25. #pragma warning (disable : 4244) // possible loss of data
  26. #pragma warning (disable : 4251) // "identifier" : class "type" needs to have dll-interface to be used by clients of class "type2"
  27. #pragma warning (disable : 4267) // conversion from "X" to "Y", possible loss of data
  28. #pragma warning (disable : 4275) // non DLL-interface classkey "identifier" used as base for DLL-interface classkey "identifier"
  29. #pragma warning (disable : 4355) // "this" : used in base member initializer list
  30. #pragma warning (disable : 4503) // "identifier" : decorated name length exceeded, name was truncated
  31. #pragma warning (disable : 4511) // copy constructor could not be generated
  32. #pragma warning (disable : 4512) // assignment operator could not be generated
  33. #pragma warning (disable : 4514) // unreferenced inline removed
  34. #pragma warning (disable : 4521) // Disable "multiple copy constructors specified"
  35. #pragma warning (disable : 4522) // "class" : multiple assignment operators specified
  36. #pragma warning (disable : 4675) // "method" should be declared "static" and have exactly one parameter
  37. #pragma warning (disable : 4710) // function not inlined
  38. #pragma warning (disable : 4711) // function selected for automatic inline expansion
  39. #pragma warning (disable : 4786) // identifier truncated in debug info
  40. #pragma warning (disable : 4996) // "function": was declared deprecated
  41. #pragma warning (disable : 4197) // top-level volatile in cast is ignored
  42. #pragma warning (disable : 4541) // 'typeid' used on polymorphic type 'boost::exception'
  43. // with /GR-; unpredictable behavior may result
  44. #pragma warning (disable : 4673) // throwing '' the following types will not be considered at the catch site
  45. #pragma warning (disable : 4671) // the copy constructor is inaccessible
  46. #pragma warning (disable : 4250) // inherits 'x' via dominance
  47. #endif