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