1#if !defined (__ICL)
2/* This header is used to turn off warnings of Microsoft compilers generated.
3 * while building STLport.
4 * For compiling user code, see stlport/config/_msvc_warnings_off.h.
5 */
6
7#  if (_MSC_VER < 1300) /* VC6/eVC4 */
8#    pragma warning( disable : 4097 ) /* typedef-name used as based class of (...) */
9#    pragma warning( disable : 4251 ) /* DLL interface needed */
10#    pragma warning( disable : 4284 ) /* for -> operator */
11#    pragma warning( disable : 4503 ) /* decorated name length exceeded, name was truncated */
12#    pragma warning( disable : 4514 ) /* unreferenced inline function has been removed */
13#    pragma warning( disable : 4660 ) /* template-class specialization '...' is already instantiated */
14#    pragma warning( disable : 4701 ) /* local variable 'base' may be used without having been initialized */
15#    pragma warning( disable : 4710 ) /* function (...) not inlined */
16#    pragma warning( disable : 4786 ) /* identifier truncated to 255 characters */
17#  endif
18
19#  if (_MSC_VER <= 1310)
20#    pragma warning( disable : 4511 ) /* copy constructor cannot be generated */
21#  endif
22
23#  if (_MSC_VER < 1300) && defined (UNDER_CE)
24#    pragma warning( disable : 4201 ) /* nonstandard extension used : nameless struct/union */
25#    pragma warning( disable : 4214 ) /* nonstandard extension used : bit field types other than int */
26#  endif
27
28/* Suppress warnings emitted from Windows CE SDK headers. */
29#  if (_MSC_VER >= 1400) && defined (UNDER_CE)
30#    pragma warning( disable : 4115 )  /* Named type definition in parentheses. */
31#    pragma warning( disable : 4201 )  /* Nameless struct/union. */
32#    pragma warning( disable : 4214 )  /* Bit field types other than int. */
33#    pragma warning( disable : 4290 )  /* C++ exception specification ignored. */
34#    pragma warning( disable : 4430 )  /* Missing type specifier, int assumed. */
35#    pragma warning( disable : 4431 )  /* Missing type specifier, int assumed. */
36#  endif
37
38#  pragma warning( disable : 4075 ) /* initializers put in unrecognized initialization area */
39/* This warning is disable only for the c_locale_win32.c file compilation:  */
40#  pragma warning( disable : 4100 ) /* unreferenced formal parameter */
41#  pragma warning( disable : 4127 ) /* conditional expression is constant */
42#  pragma warning( disable : 4146 ) /* unary minus applied to unsigned type */
43#  pragma warning( disable : 4245 ) /* conversion from 'enum ' to 'unsigned int', signed/unsigned mismatch */
44#  pragma warning( disable : 4244 ) /* implicit conversion: possible loss of data */
45#  pragma warning( disable : 4512 ) /* assignment operator could not be generated */
46#  pragma warning( disable : 4571 ) /* catch(...) blocks compiled with /EHs do not catch or re-throw Structured Exceptions */
47#  pragma warning( disable : 4702 ) /* unreachable code (appears in release with warning level4) */
48#else
49#  pragma warning( disable : 69 )   /* integer conversion resulted in truncation */
50#  pragma warning( disable : 174 )  /* expression has no effect */
51#  pragma warning( disable : 279 )  /* controling expression is constant */
52#  pragma warning( disable : 383 )  /* reference to temporary used */
53#  pragma warning( disable : 444 )  /* destructor for base class "..." is not virtual*/
54#  pragma warning( disable : 810 )  /* conversion from "int" to "char" may lose significant bits */
55#  pragma warning( disable : 981 )  /* operands are evaluated in unspecified order */
56#  pragma warning( disable : 1418 ) /* external definition with no prior declaration */
57#  pragma warning( disable : 1419 ) /* external declaration in primary source file */
58#  pragma warning( disable : 1572 ) /* floating-point equality and inequality comparisons are unreliable */
59#  pragma warning( disable : 1682 ) /* implicit conversion of a 64-bit integral type to a smaller integral type */
60#  pragma warning( disable : 1683 ) /* explicit conversion of a 64-bit integral type to a smaller integral type */
61#endif
62