]> git.saurik.com Git - wxWidgets.git/blame - include/wx/beforestd.h
on xcode native we end up with several definitions otherwise
[wxWidgets.git] / include / wx / beforestd.h
CommitLineData
df5168c4
MB
1///////////////////////////////////////////////////////////////////////////////
2// Name: include/wx/beforestd.h
3// Purpose: #include before STL headers
4// Author: Vadim Zeitlin
5// Modified by:
6// Created: 07/07/03
7// RCS-ID: $Id$
8// Copyright: (c) 2003 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
9// Licence: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
12/**
13 Unfortunately, when compiling at maximum warning level, the standard
14 headers themselves may generate warnings -- and really lots of them. So
15 before including them, this header should be included to temporarily
16 suppress the warnings and after this the header afterstd.h should be
17 included to enable them back again.
18
19 Note that there are intentionally no inclusion guards in this file, because
20 it can be included several times.
21 */
22
282e8e0c
VZ
23// VC 7.x isn't as bad as VC6 and doesn't give these warnings
24#if defined(__VISUALC__) && __VISUALC__ <= 1200
25 // MSVC 5 does not have this
26 #if __VISUALC__ > 1100
27 #pragma warning(push, 1)
28 #else // VC 5
29 // 'expression' : signed/unsigned mismatch
30 #pragma warning(disable:4018)
31
32 // 'conversion' : conversion from 'type1' to 'type2',
33 // possible loss of data
34 #pragma warning(disable:4244)
35
36 // C++ language change: to explicitly specialize class template
37 // 'identifier' use the following syntax
38 #pragma warning(disable:4663)
39 #endif
40
df5168c4 41 // these warning have to be disabled and not just temporarily disabled
282e8e0c
VZ
42 // because they will be given at the end of the compilation of the
43 // current source and there is absolutely nothing we can do about them
df5168c4
MB
44
45 // 'foo': unreferenced inline function has been removed
46 #pragma warning(disable:4514)
47
48 // 'function' : function not inlined
49 #pragma warning(disable:4710)
50
51 // 'id': identifier was truncated to 'num' characters in the debug info
52 #pragma warning(disable:4786)
282e8e0c 53#endif // VC++ < 7
df5168c4 54