]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - tools/src/tools/Utils/win32/IncludeSTL.h
Initial revision
[karo-tx-redboot.git] / tools / src / tools / Utils / win32 / IncludeSTL.h
1 //####COPYRIGHTBEGIN####
2 //                                                                          
3 // ----------------------------------------------------------------------------
4 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
5 //
6 // This program is part of the eCos host tools.
7 //
8 // This program is free software; you can redistribute it and/or modify it 
9 // under the terms of the GNU General Public License as published by the Free 
10 // Software Foundation; either version 2 of the License, or (at your option) 
11 // any later version.
12 // 
13 // This program is distributed in the hope that it will be useful, but WITHOUT 
14 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
15 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
16 // more details.
17 // 
18 // You should have received a copy of the GNU General Public License along with
19 // this program; if not, write to the Free Software Foundation, Inc., 
20 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21 //
22 // ----------------------------------------------------------------------------
23 //                                                                          
24 //####COPYRIGHTEND####
25 // This include file serves only to include others - usually from the STL -
26 // that would otherwise lead to a huge number of warning messages being generated.
27 // (because #defines cannot use the # character this cannot be done with macros)
28 // So what we do is this:
29 //      #define INCLUDEFILE file_to_include
30 //      #include IncludeSTL.h
31 // Note that the ".." or <..> must be included in the definition of INCLUDEFILE.
32
33 #ifndef INCLUDEFILE 
34     #error Need to define INCLUDEFILE
35 #endif
36
37 #pragma warning (push)
38     #pragma warning(disable:4018) // signed/unsigned mismatch
39     #pragma warning(disable:4100) // unreferenced formal parameter
40     #pragma warning(disable:4146) // unary minus operator applied to unsigned type, result still unsigned
41     #pragma warning(disable:4189) // local variable is initialized but not referenced
42     #pragma warning(disable:4244) // conversion from 'unsigned int' to 'char', possible loss of data
43     #pragma warning(disable:4250) // CdlConfigurationBody' : inherits 'CdlToplevelBody::is_active' via dominance
44     #pragma warning(disable:4284) // return type for (ie; not a UDT or reference to a UDT.  Will produce errors if applied using infix notation)
45     #pragma warning(disable:4290) // C++ Exception Specification ignored
46     #pragma warning(disable:4503) // decorated name length exceeded, name was truncated
47     #pragma warning(disable:4663) // C++ language change: to explicitly specialize class template...
48
49     // EXTERN will be (re)defined in tcl.h via cdl.hxx
50     #ifdef EXTERN
51             #undef EXTERN 
52     #endif
53     #include INCLUDEFILE
54     #undef EXTERN
55 #pragma warning (pop)
56 #undef INCLUDEFILE