1 ///////////////////////////////////////////////////////////////////////////////
2 // Name:        include/wx/afterstd.h
3 // Purpose:     #include after STL headers
4 // Author:      Vadim Zeitlin
5 // Modified by:
6 // Created:     07/07/03
7 // RCS-ID:      $Id: afterstd.h 61871 2009-09-09 22:29:51Z VZ $
8 // Copyright:   (c) 2003 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
9 // Licence:     wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
11 
12 /**
13     See the comments in beforestd.h.
14  */
15 
16 #if defined(__WXMSW__)
17     #include "wx/msw/winundef.h"
18 #endif
19 
20 // undo what we did in wx/beforestd.h
21 #if defined(__VISUALC__) && __VISUALC__ <= 1201
22     // MSVC 5 does not have this
23     #if _MSC_VER > 1100
24         // don't restore this one for VC6, it gives it in each try/catch which is a
25         // bit annoying to say the least
26         #if _MSC_VER >= 0x1300
27             // unreachable code
28             #pragma warning(default:4702)
29         #endif // VC++ >= 7
30 
31         #pragma warning(pop)
32     #else
33         // 'expression' : signed/unsigned mismatch
34         #pragma warning(default:4018)
35 
36         // 'identifier' : unreferenced formal parameter
37         #pragma warning(default:4100)
38 
39         // 'conversion' : conversion from 'type1' to 'type2',
40         // possible loss of data
41         #pragma warning(default:4244)
42 
43         // C++ language change: to explicitly specialize class template
44         // 'identifier' use the following syntax
45         #pragma warning(default:4663)
46     #endif
47 #endif
48 
49 /*
50     Redefine _T if we undefined it in wx/beforestd.h (see comment there about
51     why do we do it) and if we need it (we always do when building wx itself
52     and might also need when compiling the user code but this must be indicated
53     by the special wxNEEDS__T macro)
54  */
55 #if defined(__SUNPRO_CC) || defined(__SUNPRO_C)
56     #if defined(WXBUILDING) || defined(wxNEEDS_T)
57         /*
58             Undefine _T in case it was defined in the standard header.
59          */
60         #undef _T
61 
62         /*
63             And define it again in the same way as it's done in wx/wxchar.h.
64          */
65         #if wxUSE_UNICODE
66             #define _T(x) wxCONCAT_HELPER(L, x)
67         #else /* !Unicode */
68             #define _T(x) x
69         #endif /* Unicode/!Unicode */
70     #endif /* we need _T() to be defined */
71 #endif /* defined(__SUNPRO_CC) || defined(__SUNPRO_C) */
72