1//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2//*                                                                           */
3//*                  This file is part of the program and library             */
4//*         SCIP --- Solving Constraint Integer Programs                      */
5//*                                                                           */
6//*    Copyright (C) 2002-2021 Konrad-Zuse-Zentrum                            */
7//*                            fuer Informationstechnik Berlin                */
8//*                                                                           */
9//*  SCIP is distributed under the terms of the ZIB Academic License.         */
10//*                                                                           */
11//*  You should have received a copy of the ZIB Academic License              */
12//*  along with SCIP; see the file COPYING. If not visit scipopt.org.         */
13//*                                                                           */
14//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15
16// use one pass of value tracking
17-vt_passes(2)
18
19// use the integer model for enums
20+fie
21
22// underlying type for enum is always int
23+fei
24
25// do not attribute responsibility for last write in callee to caller (this avoids frequent warnings if returned values are not used)
26-fcw
27
28// declare SCIP_ABORT to not return
29-sem(SCIP_ABORT, r_no)
30
31// turn off the following warning, because this often arises from old lint versions
32-e72
33
34// also turn off the following warning, because the issue was allowed in former lint versions
35-e373   // lint comments cannot appear after a #include directive on the same line
36
37// turn off general warnings:
38-e451   // Header file repeatedly included but does not have a standard include guard
39-e537   // Repeated include file
40-e717   // monocarpic do-while used to group statements
41-e730   // boolean used as argument to function
42-e731   // boolean arguments to ==
43-e773   // expression-like macro not parenthesized
44-e785   // too few initializers for aggregate of type in initialization
45-e788   // enum constant not used within default switch [possibly too strong]
46-e793   // ANSI/ISO minimum translation limit of 31 'significant characters in an external identifier' exceeded, processing  is unaffected
47-e801   // goto statement used
48-e818   // parameter of function could be pointer to const [interesting but clutters output]
49-e834   // operator '-' followed by operator '+' could be confusing without parentheses [seems uninformative]
50-e835   // zero given as left argument to - [the compiler gets rid of this, e.g., x = 0 - 1]
51-e1731  // public virtual function
52-e1784  // symbol previously declared as "C" [only for information, but clutters output]]
53-e2666  // expression with side effects passed to unexpanded parameter: parameter is not referenced in the expansion
54-e2704  // potentially negating the most negative number [often if x = -y, and y is int, only relevant if y = INT_MAX]
55
56// for the time being turn off warning 666 (expression with side effects passed to repeated parameter of macro), since it currently produces too much noise
57-e666
58
59// turn off all warnings for exprinterpret_cppad.cpp because the code is not ours
60-efile(*,src/nlpi/exprinterpret_cppad.cpp)
61
62// last value assigned to '_restat_' not used
63-emacro(438,SCIP_CALL)
64-emacro(438,SCIP_CALL_ABORT)
65
66// redundant left argument to comma
67-emacro(505,SCIPtpiInitLock)
68-emacro(505,SCIPtpiDestroyLock)
69-emacro(505,SCIPtpiAcquireLock)
70-emacro(505,SCIPtpiReleaseLock)
71-emacro(505,SCIPtpiInitCondition)
72-emacro(505,SCIPtpiWaitCondition)
73
74// constant value used in Boolean context
75-emacro(506,SCIPdebugMsg)
76-emacro(506,SCIPdebugMsgPrint)
77-emacro(506,SCIPdebugMessage)
78-emacro(506,SCIPdebugPrintf)
79-emacro(506,SCIPstatisticPrintf)
80-emacro(506,SCIPstatisticMessage)
81-emacro(506,SCIPsetDebugMsg)
82-emacro(506,SCIPsetDebugMsgPrint)
83-emacro(506,SCIPstatDebugMsg)
84-emacro(506,debugMessage)
85-emacro(506,debugPrintf)
86-emacro(506,SCIPABORT)
87
88
89// is likely uninitialized
90-emacro(530,va_*)
91-ecall(530,vsnprintf)
92
93// ignoring return value of function
94-esym(534,printf,fprintf,fclose,fputs,fputc,fseek,fflush,strcat,strcpy,SCIPfclose,SCIPfseek,memset,memcpy,memmove)
95
96// cast from 'int' to 'uint64_t' results in sign extension
97-emacro(571,SCIPhashTwo)
98-emacro(571,SCIPhashFour)
99-emacro(571,SCIPcombineTwoInt)
100-etype(571,size_t)
101
102// avoid: is potentially uninitialized
103-emacro(644,assert)
104
105// turn off messages for quad precision
106-emacro(644,SCIPquadprecSumQD)
107-emacro(644,SCIPquadprecSumQQ)
108-emacro(644,SCIPquadprecProdQD)
109-emacro(644,QUAD_ASSIGN)
110-emacro(644,QUAD_TO_DBL)
111-emacro(644,QUAD)
112-emacro(647,QUAD_ARRAY_SIZE)
113-emacro(665,QUAD)
114-emacro(666,SCIPquadprecProdQD)
115-emacro(666,SCIPquadprecSumQD)
116
117// loop is likely not entered
118-emacro(681,SCIPdebugMsg)
119-emacro(681,SCIPdebugMessage)
120-emacro(681,SCIPdebugPrintf)
121-emacro(681,SCIPdebugMsgPrint)
122-emacro(681,debugMessage)
123-emacro(681,SCIPsetDebugMsg)
124-emacro(681,SCIPstatDebugMsg)
125-emacro(681,SCIPdebugPrintf)
126-emacro(681,SCIPstatisticMessage)
127-emacro(681,SCIPstatisticPrintf)
128-emacro(681,SCIPsetDebugMsgPrint)
129
130-emacro(746,isfinite)       // turn off all messages for isfinite
131
132// generally turn off warnings about unused parameters (possibly too strong)
133-emacro(715,SCIP_DECL_*)
134-emacro(715,TCLIQUE_*)
135-emacro(715,CREATE_CONSTRAINT)
136-emacro(715,DECL_*)
137
138// loss of sign in promotion from 'int' to 'unsigned long'
139-emacro(737,SCIPfreeBlockMemoryArray)
140-emacro(737,SCIPfreeBlockMemoryArrayNull)
141-emacro(737,BMSfreeBlockMemoryArray)
142-emacro(737,BMSfreeBlockMemoryArrayNull)
143-emacro(737,BMSreallocBlockMemorySize)
144-emacro(737,BMSallocMemorySize)
145
146// cannot turn off warning otherwise: local macro not referenced
147-esym(750,_USE_MATH_DEFINES)
148-esym(750,NONLINCONSUPGD_PRIORITY)
149
150// boolean condition for 'while' always evaluates to 'false'
151-emacro(774,SCIPdebugMsg)
152-emacro(774,SCIPdebugMessage)
153-emacro(774,SCIPdebugPrintf)
154-emacro(774,SCIPsetDebugMsgPrint)
155-emacro(774,SCIPsetDebugMsg)
156-emacro(774,SCIPstatDebugMsg)
157-emacro(774,SCIPstatisticPrintf)
158-emacro(774,SCIPstatisticMessage)
159-emacro(774,SCIPdebugMsgPrint)
160-emacro(774,debugMessage)
161-emacro(774,SCIP_CALL_TERMINATE)
162-emacro(774,MCFdebugMessage)
163
164// possible truncation of addition
165-emacro(776,SCIPreallocBufferArray)
166-emacro(776,SCIPallocBufferArray)
167-emacro(776,SCIPduplicateBufferArray)
168-emacro(776,SCIPallocClearBufferArray)
169-emacro(776,SCIPallocBlockMemoryArray)
170-emacro(776,SCIPduplicateBlockMemoryArray)
171-emacro(776,BMSallocMemorySize)
172-emacro(776,BMSallocBufferMemoryArray)
173-emacro(776,BMSallocBlockMemoryArray)
174-emacro(776,BMScopyMemoryArray)
175-emacro(776,BMSallocMemoryArray)
176-emacro(776,BMSclearMemoryArray)
177-emacro(776,BMSreallocBlockMemoryArray)
178-emacro(776,BMSduplicateBlockMemoryArray)
179-emacro(776,BMSfreeBlockMemoryArray)
180-emacro(776,BMSmoveMemoryArray)
181-emacro(776,SCIPsetAllocBufferArray)
182-emacro(776,SCIPsetReallocBufferArray)
183
184// generally allow comparisons to SCIP_INVALID, testing floating point values
185-esym(777,SCIP_INVALID)
186-esym(777,SCIP_UNKNOWN)
187
188// avoid problems with pc-lint for suppressions within assert (careful!)
189-emacro(777,assert)
190
191-emacro(826,SCIP_DEF_RBTREE_FIND)
192-emacro(826,FOR_EACH_NODE)
193
194// previous value assigned to 'retcode' not used
195-emacro(838,SCIP_CALL_TERMINATE)
196
197// indeterminable mutex
198-emacro(2751,SCIPtpiInitLock)
199-emacro(2751,SCIPtpiAcquireLock)
200-emacro(2751,SCIPtpiReleaseLock)
201-emacro(2751,SCIPtpiDestroyLock)
202-emacro(2751,SCIPtpiInitCondition)
203-emacro(2751,SCIPtpiWaitCondition)
204
205// constant out of range for '>' portion of compound comparison operator '>='
206-estring(2650, ">=")
207
208