Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
BIASpragma.hh
1 /*
2 This file is part of the BIAS library (Basic ImageAlgorithmS).
3 
4 Copyright (C) 2003-2009 (see file CONTACT for details)
5  Multimediale Systeme der Informationsverarbeitung
6  Institut fuer Informatik
7  Christian-Albrechts-Universitaet Kiel
8 
9 
10 BIAS is free software; you can redistribute it and/or modify
11 it under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14 
15 BIAS is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU Lesser General Public License for more details.
19 
20 You should have received a copy of the GNU Lesser General Public License
21 along with BIAS; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */
24 
25 /**
26  This file defines pragmas for BIAS WIN32 compilation.
27 
28  It is used as a central place to disable some warnings for pedantic W4 compilation
29  instead of spreading pragmas over all source files directly
30  (e.g. minpack and other dirty code)
31  Please include it *only* in CPP files directy to avoid side effects as
32  #include <Base/Common/BIASpragma.hh>
33 
34  If you need it in *header* files, use:
35  \verbatim
36  #include <Base/Common/BIASpragmaStart.hh>
37  //... the bad code, bad foreign headers etc...
38  #include <Base/Common/BIASpragmaEnd.hh>
39  \endverbatim
40  to avoid sie effects with client code.
41 
42  You can switch on/off each individual warning messages globally, here
43  while "dirty code" exists in BIAS/MIP.
44  This way you can compile your own project with W4
45  without taking care of possible internal problems of BIAS or third party libraries including warning noise from STL.
46 
47  And if you want to improve BIAS, just enable warning one by one and fix them in the code.
48 
49  The idea is to enable warnings one by one until all BIAS/MIP are finally fixed.
50 
51  @author Jan Woetzel 08/2005
52 */
53 
54 #if defined(WIN32) && defined(_MSC_VER)
55 
56 /* suppress STL warning noise (Jan Woetzel 2005)
57  see: http://www.codeproject.com/vcpp/stl/stl_without_warnings.asp?df=100&forumid=2917&exp=0&select=114698&tid=80903
58  warning numbers get enabled in yvals.h: */
59 /* #include <yvals.h> */
60 
61 #ifndef _CRT_SECURE_NO_DEPRECATE
62 # define _CRT_SECURE_NO_DEPRECATE
63 #endif
64 
65 #pragma warning (disable: 4005)
66 /* #pragma warning (disable: 4018) */ /* signed/unsigned mismatch */
67 #pragma warning (disable: 4056) /* overflow in floating-point constant arithmetic*/
68 #pragma warning (disable: 4099) /* .pdb not found, no debugging information (not catchable in source) */
69 #pragma warning (disable: 4100) /* unreferenced formal parameter */
70 #pragma warning (disable: 4127) /* conditional expression is constant */
71 #pragma warning (disable: 4131)
72 #pragma warning (disable: 4204)
73 #pragma warning (disable: 4210)
74 #pragma warning (disable: 4221) /* Linker warning: no public symbols found, members will be inaccessible */
75 #pragma warning (disable: 4231)
76 #pragma warning (disable: 4238)
77 #pragma warning (disable: 4244)
78 #pragma warning (disable: 4245) /* conversion from 'type1' to 'type2', signed/unsigned mismatch */
79 #pragma warning (disable: 4251) /* missing dll interface */
80 #pragma warning (disable: 4275) /* non dll-interface class used as base for dll-interface class*/
81 #pragma warning (disable: 4290)
82 #pragma warning (disable: 4305)
83 #pragma warning (disable: 4310)
84 #pragma warning (disable: 4355) /*'this' : used in base member initializer list */
85 #pragma warning (disable: 4389)
86 #pragma warning (disable: 4309) /*truncation of constant value */
87 #pragma warning (disable: 4505)
88 #pragma warning (disable: 4511)
89 #pragma warning (disable: 4512) /* 'class' : assignment operator could not be generated */
90 #pragma warning (disable: 4530)
91 /* #pragma warning (disable: 4661) */ /* no suitable def. for explicit instantiation */
92 /* #pragma warning (disable: 4663) */ /* C++ language change: to explicitly specialize class template 'vector' */
93 #pragma warning (disable: 4701)
94 #pragma warning (disable: 4702) /* unreachable code */
95 #pragma warning (disable: 4706)
96 /* #pragma warning (disable: 4710) */ /* function not inlined */
97 /* #pragma warning (disable: 4786) */ /* identifier was truncated to 'number' characters in the debug information */
98 /* #pragma warning (disable: 4798) */ /* linker tool confict (debug/release, threaded/single etc) (not catchable in source) */
99 /* #pragma warning (disable: 4799) */ /* .pdb not found, no debugging information (not catchable in source) */
100 #pragma warning (disable: 4996) /* deprecated warning (for VS2005) */
101 #pragma warning (disable: 4267) /* conversion from size_t to ..., possible loss of data */
102 #endif /* WIN32 & MSC */