]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | /* |
2 | ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000. | |
3 | ** See ../LICENSE for license information. | |
4 | ** | |
5 | */ | |
6 | /* | |
7 | ** qual.h | |
8 | ** | |
9 | ** representation of type qualifiers | |
10 | */ | |
11 | ||
12 | # ifndef QUALH | |
13 | # define QUALH | |
14 | ||
15 | /* | |
16 | ** just use tokens to represent type qualifiers | |
17 | ** (tokens are defined in cgrammar.y) | |
18 | */ | |
19 | ||
20 | typedef enum _quals { | |
21 | QU_UNKNOWN, | |
22 | QU_CONST, QU_VOLATILE, QU_INLINE, | |
23 | QU_EXTERN, QU_STATIC, QU_AUTO, QU_REGISTER, | |
24 | QU_SHORT, QU_LONG, QU_SIGNED, QU_UNSIGNED, | |
25 | QU_OUT, QU_IN, | |
26 | QU_ONLY, QU_IMPONLY, | |
27 | QU_TEMP, QU_SHARED, QU_KEEP, QU_KEPT, QU_PARTIAL, QU_SPECIAL, | |
1ac6313d | 28 | QU_NULL, QU_RELNULL, QU_NULLTERMINATED, |
11ed4f45 | 29 | QU_SETBUFFERSIZE, |
885824d3 | 30 | QU_EXPOSED, QU_RETURNED, QU_OBSERVER, QU_UNIQUE, |
31 | QU_OWNED, QU_DEPENDENT, QU_RELDEF, | |
32 | QU_YIELD, | |
33 | QU_NEVEREXIT, QU_EXITS, QU_MAYEXIT, QU_TRUEEXIT, QU_FALSEEXIT, | |
34 | QU_UNUSED, QU_EXTERNAL, QU_SEF, | |
35 | QU_NOTNULL, | |
36 | QU_ABSTRACT, QU_CONCRETE, | |
37 | QU_MUTABLE, QU_IMMUTABLE, | |
38 | QU_REFCOUNTED, QU_REFS, QU_NEWREF, QU_KILLREF, QU_TEMPREF, | |
39 | QU_TRUENULL, QU_FALSENULL, | |
40 | QU_CHECKED, QU_UNCHECKED, QU_CHECKEDSTRICT, QU_CHECKMOD, | |
41 | QU_UNDEF, QU_KILLED, | |
42 | QU_PRINTFLIKE, QU_SCANFLIKE, QU_MESSAGELIKE, | |
43 | QU_LAST | |
44 | } qual ; | |
45 | ||
46 | /* | |
47 | ** qualifiers correspond to tokens in the grammar: | |
48 | ** | |
49 | ** standard C qualifiers: | |
50 | ** QCONST QVOLATILE QINLINE QEXTERN QSTATIC QAUTO QREGISTER | |
51 | ** QSHORT QLONG QSIGNED QUNSIGNED | |
52 | ** augmented LCL qualifiers: | |
53 | ** QOUT QONLY QTEMP QSHARED QUNIQUE QYIELD | |
1ac6313d | 54 | ** QEXITS QMAYEXIT QNULLTERMINATED |
885824d3 | 55 | */ |
56 | ||
57 | extern qual qual_fromInt (int p_q) /*@*/ ; | |
58 | extern /*@observer@*/ cstring qual_unparse (qual p_q) /*@*/ ; | |
59 | ||
60 | extern bool qual_equal (qual p_q1, qual p_q2) /*@*/ ; | |
61 | # define qual_equal(q1,q2) ((q1) == (q2)) | |
62 | ||
63 | extern bool qual_isUnknown (qual) /*@*/ ; | |
64 | extern bool qual_isTrueNull (qual) /*@*/ ; | |
65 | extern bool qual_isFalseNull (qual) /*@*/ ; | |
66 | extern bool qual_isOwned (qual) /*@*/ ; | |
67 | extern bool qual_isDependent (qual) /*@*/ ; | |
68 | extern bool qual_isRefCounted (qual) /*@*/ ; | |
69 | extern bool qual_isRefs (qual) /*@*/ ; | |
70 | extern bool qual_isNewRef (qual) /*@*/ ; | |
71 | extern bool qual_isKillRef (qual) /*@*/ ; | |
72 | extern bool qual_isTempRef (qual) /*@*/ ; | |
73 | extern bool qual_isLong (qual) /*@*/ ; | |
74 | extern bool qual_isShort (qual) /*@*/ ; | |
75 | extern bool qual_isSigned (qual) /*@*/ ; | |
76 | extern bool qual_isUnsigned (qual) /*@*/ ; | |
77 | extern bool qual_isUnique (qual) /*@*/ ; | |
78 | extern bool qual_isExits (qual) /*@*/ ; | |
79 | extern bool qual_isMayExit (qual) /*@*/ ; | |
80 | extern bool qual_isNeverExit (qual) /*@*/ ; | |
81 | extern bool qual_isTrueExit (qual) /*@*/ ; | |
82 | extern bool qual_isFalseExit (qual) /*@*/ ; | |
83 | extern bool qual_isConst (qual) /*@*/ ; | |
84 | extern bool qual_isVolatile (qual) /*@*/ ; | |
85 | extern bool qual_isInline (qual) /*@*/ ; | |
86 | extern bool qual_isExtern (qual) /*@*/ ; | |
87 | extern bool qual_isStatic (qual) /*@*/ ; | |
88 | extern bool qual_isAuto (qual) /*@*/ ; | |
89 | extern bool qual_isRegister (qual) /*@*/ ; | |
90 | extern bool qual_isOut (qual) /*@*/ ; | |
91 | extern bool qual_isIn (qual) /*@*/ ; | |
92 | extern bool qual_isYield (qual) /*@*/ ; | |
93 | extern bool qual_isOnly (qual) /*@*/ ; | |
94 | extern bool qual_isImpOnly (qual) /*@*/ ; | |
95 | extern bool qual_isPartial (qual) /*@*/ ; | |
96 | extern bool qual_isSpecial (qual) /*@*/ ; | |
97 | extern bool qual_isKeep (qual) /*@*/ ; | |
98 | extern bool qual_isKept (qual) /*@*/ ; | |
99 | extern bool qual_isTemp (qual) /*@*/ ; | |
100 | extern bool qual_isShared (qual) /*@*/ ; | |
101 | extern bool qual_isRelDef (qual) /*@*/ ; | |
102 | extern bool qual_isChecked (qual) /*@*/ ; | |
103 | extern bool qual_isCheckMod (qual) /*@*/ ; | |
104 | extern bool qual_isCheckedStrict (qual) /*@*/ ; | |
105 | extern bool qual_isUnchecked (qual) /*@*/ ; | |
106 | extern bool qual_isNull (qual) /*@*/ ; | |
107 | extern bool qual_isRelNull (qual) /*@*/ ; | |
108 | extern bool qual_isNotNull (qual) /*@*/ ; | |
109 | extern bool qual_isReturned (qual) /*@*/ ; | |
110 | extern bool qual_isExposed (qual) /*@*/ ; | |
111 | extern bool qual_isObserver (qual) /*@*/ ; | |
112 | extern bool qual_isUnused (qual) /*@*/ ; | |
113 | extern bool qual_isExternal (qual) /*@*/ ; | |
114 | extern bool qual_isSef (qual) /*@*/ ; | |
115 | extern bool qual_isAbstract (qual) /*@*/ ; | |
116 | extern bool qual_isConcrete (qual) /*@*/ ; | |
117 | extern bool qual_isMutable (qual) /*@*/ ; | |
118 | extern bool qual_isImmutable (qual) /*@*/ ; | |
119 | extern bool qual_isNullPred (/*@sef@*/ qual) /*@*/ ; | |
120 | extern bool qual_isRefQual (/*@sef@*/ qual) /*@*/ ; | |
121 | extern bool qual_isUndef (/*@sef@*/ qual) /*@*/ ; | |
122 | extern bool qual_isKilled (/*@sef@*/ qual) /*@*/ ; | |
123 | extern /*@unused@*/ bool qual_isTypeQual (/*@sef@*/ qual) /*@*/ ; | |
124 | extern /*@unused@*/ bool qual_isControlQual (/*@sef@*/ qual) /*@*/ ; | |
125 | extern /*@unused@*/ bool qual_isStorageClass (/*@sef@*/ qual) /*@*/ ; | |
126 | extern bool qual_isCQual (/*@sef@*/ qual) /*@*/ ; | |
127 | extern bool qual_isAllocQual (/*@sef@*/ qual) /*@*/ ; | |
128 | extern bool qual_isGlobalQual (/*@sef@*/ qual) /*@*/ ; | |
129 | extern bool qual_isImplied (/*@sef@*/ qual) /*@*/ ; | |
130 | extern bool qual_isExQual (/*@sef@*/ qual) /*@*/ ; | |
131 | extern bool qual_isAliasQual (/*@sef@*/ qual) /*@*/ ; | |
1ac6313d | 132 | /* start modifications */ |
133 | extern bool qual_isNullTerminated (qual) /*@*/ ; | |
134 | extern bool qual_isBufQualifier (qual) /*@*/ ; | |
135 | /* end modifications */ | |
885824d3 | 136 | |
137 | # define qual_isUnknown(q) ((q) == QU_UNKNOWN) | |
138 | # define qual_isTrueNull(q) ((q) == QU_TRUENULL) | |
139 | # define qual_isFalseNull(q) ((q) == QU_FALSENULL) | |
140 | # define qual_isOwned(q) ((q) == QU_OWNED) | |
141 | # define qual_isDependent(q) ((q) == QU_DEPENDENT) | |
142 | # define qual_isRefCounted(q) ((q) == QU_REFCOUNTED) | |
143 | # define qual_isRefs(q) ((q) == QU_REFS) | |
144 | # define qual_isNewRef(q) ((q) == QU_NEWREF) | |
145 | # define qual_isKillRef(q) ((q) == QU_KILLREF) | |
146 | # define qual_isTempRef(q) ((q) == QU_TEMPREF) | |
147 | # define qual_isLong(q) ((q) == QU_LONG) | |
148 | # define qual_isShort(q) ((q) == QU_SHORT) | |
149 | # define qual_isSigned(q) ((q) == QU_SIGNED) | |
150 | # define qual_isUnsigned(q) ((q) == QU_UNSIGNED) | |
151 | # define qual_isUnique(q) ((q) == QU_UNIQUE) | |
152 | # define qual_isExits(q) ((q) == QU_EXITS) | |
153 | # define qual_isMayExit(q) ((q) == QU_MAYEXIT) | |
154 | # define qual_isNeverExit(q) ((q) == QU_NEVEREXIT) | |
155 | # define qual_isTrueExit(q) ((q) == QU_TRUEEXIT) | |
156 | # define qual_isFalseExit(q) ((q) == QU_FALSEEXIT) | |
157 | # define qual_isConst(q) ((q) == QU_CONST) | |
158 | # define qual_isVolatile(q) ((q) == QU_VOLATILE) | |
159 | # define qual_isInline(q) ((q) == QU_INLINE) | |
160 | # define qual_isExtern(q) ((q) == QU_EXTERN) | |
161 | # define qual_isStatic(q) ((q) == QU_STATIC) | |
162 | # define qual_isAuto(q) ((q) == QU_AUTO) | |
163 | # define qual_isRegister(q) ((q) == QU_REGISTER) | |
164 | # define qual_isOut(q) ((q) == QU_OUT) | |
165 | # define qual_isIn(q) ((q) == QU_IN) | |
166 | # define qual_isYield(q) ((q) == QU_YIELD) | |
167 | # define qual_isOnly(q) ((q) == QU_ONLY) | |
168 | # define qual_isImpOnly(q) ((q) == QU_IMPONLY) | |
169 | # define qual_isPartial(q) ((q) == QU_PARTIAL) | |
170 | # define qual_isSpecial(q) ((q) == QU_SPECIAL) | |
171 | # define qual_isKeep(q) ((q) == QU_KEEP) | |
172 | # define qual_isKept(q) ((q) == QU_KEPT) | |
173 | # define qual_isTemp(q) ((q) == QU_TEMP) | |
174 | # define qual_isShared(q) ((q) == QU_SHARED) | |
175 | # define qual_isRelDef(q) ((q) == QU_RELDEF) | |
176 | # define qual_isNull(q) ((q) == QU_NULL) | |
177 | # define qual_isRelNull(q) ((q) == QU_RELNULL) | |
178 | # define qual_isNotNull(q) ((q) == QU_NOTNULL) | |
179 | # define qual_isReturned(q) ((q) == QU_RETURNED) | |
180 | # define qual_isExposed(q) ((q) == QU_EXPOSED) | |
181 | # define qual_isObserver(q) ((q) == QU_OBSERVER) | |
182 | # define qual_isUnused(q) ((q) == QU_UNUSED) | |
183 | # define qual_isExternal(q) ((q) == QU_EXTERNAL) | |
184 | # define qual_isSef(q) ((q) == QU_SEF) | |
185 | # define qual_isAbstract(q) ((q) == QU_ABSTRACT) | |
186 | # define qual_isConcrete(q) ((q) == QU_CONCRETE) | |
187 | # define qual_isMutable(q) ((q) == QU_MUTABLE) | |
188 | # define qual_isImmutable(q) ((q) == QU_IMMUTABLE) | |
189 | # define qual_isChecked(q) ((q) == QU_CHECKED) | |
190 | # define qual_isCheckMod(q) ((q) == QU_CHECKMOD) | |
191 | # define qual_isCheckedStrict(q) ((q) == QU_CHECKEDSTRICT) | |
192 | # define qual_isUnchecked(q) ((q) == QU_UNCHECKED) | |
193 | # define qual_isUndef(q) ((q) == QU_UNDEF) | |
194 | # define qual_isKilled(q) ((q) == QU_KILLED) | |
1ac6313d | 195 | # define qual_isNullTerminated(q) ((q) == QU_NULLTERMINATED) |
885824d3 | 196 | |
197 | extern qual qual_createTrueNull (void) /*@*/ ; | |
198 | extern qual qual_createFalseNull (void) /*@*/ ; | |
199 | extern qual qual_createRefCounted (void) /*@*/ ; | |
200 | extern qual qual_createRefs (void) /*@*/ ; | |
201 | extern qual qual_createNewRef (void) /*@*/ ; | |
202 | extern qual qual_createKillRef (void) /*@*/ ; | |
203 | extern qual qual_createTempRef (void) /*@*/ ; | |
204 | extern qual qual_createNotNull (void) /*@*/ ; | |
205 | extern qual qual_createAbstract (void) /*@*/ ; | |
206 | extern qual qual_createConcrete (void) /*@*/ ; | |
207 | extern qual qual_createMutable (void) /*@*/ ; | |
208 | extern qual qual_createImmutable (void) /*@*/ ; | |
209 | extern qual qual_createShort (void) /*@*/ ; | |
210 | extern qual qual_createLong (void) /*@*/ ; | |
211 | extern qual qual_createSigned (void) /*@*/ ; | |
212 | extern qual qual_createUnsigned (void) /*@*/ ; | |
213 | extern qual qual_createUnique (void) /*@*/ ; | |
214 | extern qual qual_createMayExit (void) /*@*/ ; | |
215 | extern qual qual_createExits (void) /*@*/ ; | |
216 | extern qual qual_createNeverExit (void) /*@*/ ; | |
217 | extern qual qual_createFalseExit (void) /*@*/ ; | |
218 | extern qual qual_createTrueExit (void) /*@*/ ; | |
219 | extern qual qual_createConst (void) /*@*/ ; | |
220 | extern qual qual_createVolatile (void) /*@*/ ; | |
221 | extern qual qual_createInline (void) /*@*/ ; | |
222 | extern qual qual_createExtern (void) /*@*/ ; | |
223 | extern qual qual_createStatic (void) /*@*/ ; | |
224 | extern qual qual_createAuto (void) /*@*/ ; | |
225 | extern qual qual_createRegister (void) /*@*/ ; | |
226 | extern qual qual_createOut (void) /*@*/ ; | |
227 | extern qual qual_createIn (void) /*@*/ ; | |
228 | extern qual qual_createYield (void) /*@*/ ; | |
229 | extern qual qual_createOnly (void) /*@*/ ; | |
230 | extern qual qual_createOwned (void) /*@*/ ; | |
231 | extern qual qual_createDependent (void) /*@*/ ; | |
232 | extern qual qual_createRelDef (void) /*@*/ ; | |
233 | extern qual qual_createImpOnly (void) /*@*/ ; | |
234 | extern qual qual_createPartial (void) /*@*/ ; | |
235 | extern qual qual_createSpecial (void) /*@*/ ; | |
236 | extern qual qual_createKeep (void) /*@*/ ; | |
237 | extern qual qual_createKept (void) /*@*/ ; | |
238 | extern qual qual_createTemp (void) /*@*/ ; | |
239 | extern qual qual_createShared (void) /*@*/ ; | |
240 | extern qual qual_createNull (void) /*@*/ ; | |
241 | extern qual qual_createRelNull (void) /*@*/ ; | |
242 | extern qual qual_createReturned (void) /*@*/ ; | |
243 | extern qual qual_createExposed (void) /*@*/ ; | |
244 | extern qual qual_createObserver (void) /*@*/ ; | |
245 | extern qual qual_createUnused (void) /*@*/ ; | |
246 | extern qual qual_createExternal (void) /*@*/ ; | |
247 | extern qual qual_createSef (void) /*@*/ ; | |
248 | extern qual qual_createChecked (void) /*@*/ ; | |
249 | extern qual qual_createCheckMod (void) /*@*/ ; | |
250 | extern qual qual_createUnchecked (void) /*@*/ ; | |
251 | extern qual qual_createCheckedStrict (void) /*@*/ ; | |
252 | extern qual qual_createUndef (void) /*@*/ ; | |
253 | extern qual qual_createKilled (void) /*@*/ ; | |
1ac6313d | 254 | extern qual qual_createNullTerminated (void) /*@*/ ; |
885824d3 | 255 | |
256 | # ifndef NOLCL | |
257 | extern qual qual_createUnknown (void) /*@*/ ; | |
258 | # define qual_createUnknown() (QU_UNKNOWN) | |
259 | ||
260 | extern qual qual_createPrintfLike (void) /*@*/ ; | |
261 | extern qual qual_createScanfLike (void) /*@*/ ; | |
262 | extern qual qual_createMessageLike (void) /*@*/ ; | |
263 | ||
264 | # define qual_createPrintfLike() (QU_PRINTFLIKE) | |
265 | # define qual_createScanfLike() (QU_SCANFLIKE) | |
266 | # define qual_createMessageLike() (QU_MESSAGELIKE) | |
267 | # endif | |
268 | ||
269 | # define qual_createTrueNull() (QU_TRUENULL) | |
270 | # define qual_createFalseNull() (QU_FALSENULL) | |
271 | # define qual_createRefCounted() (QU_REFCOUNTED) | |
272 | # define qual_createRefs() (QU_REFS) | |
273 | # define qual_createNewRef() (QU_NEWREF) | |
274 | # define qual_createKillRef() (QU_KILLREF) | |
275 | # define qual_createTempRef() (QU_TEMPREF) | |
276 | # define qual_createNotNull() (QU_NOTNULL) | |
277 | # define qual_createAbstract() (QU_ABSTRACT) | |
278 | # define qual_createConcrete() (QU_CONCRETE) | |
279 | # define qual_createMutable() (QU_MUTABLE) | |
280 | # define qual_createImmutable() (QU_IMMUTABLE) | |
281 | # define qual_createShort() (QU_SHORT) | |
282 | # define qual_createLong() (QU_LONG) | |
283 | # define qual_createSigned() (QU_SIGNED) | |
284 | # define qual_createUnsigned() (QU_UNSIGNED) | |
285 | # define qual_createUnique() (QU_UNIQUE) | |
286 | # define qual_createMayExit() (QU_MAYEXIT) | |
287 | # define qual_createExits() (QU_EXITS) | |
288 | # define qual_createNeverExit() (QU_NEVEREXIT) | |
289 | # define qual_createTrueExit() (QU_TRUEEXIT) | |
290 | # define qual_createFalseExit() (QU_FALSEEXIT) | |
291 | # define qual_createConst() (QU_CONST) | |
292 | # define qual_createVolatile() (QU_VOLATILE) | |
293 | # define qual_createInline() (QU_INLINE) | |
294 | # define qual_createExtern() (QU_EXTERN) | |
295 | # define qual_createStatic() (QU_STATIC) | |
296 | # define qual_createAuto() (QU_AUTO) | |
297 | # define qual_createRegister() (QU_REGISTER) | |
298 | # define qual_createOut() (QU_OUT) | |
299 | # define qual_createIn() (QU_IN) | |
300 | # define qual_createYield() (QU_YIELD) | |
301 | # define qual_createOnly() (QU_ONLY) | |
302 | # define qual_createOwned() (QU_OWNED) | |
303 | # define qual_createDependent() (QU_DEPENDENT) | |
304 | # define qual_createRelDef() (QU_RELDEF) | |
305 | # define qual_createImpOnly() (QU_IMPONLY) | |
306 | # define qual_createPartial() (QU_PARTIAL) | |
307 | # define qual_createSpecial() (QU_SPECIAL) | |
308 | # define qual_createKeep() (QU_KEEP) | |
309 | # define qual_createKept() (QU_KEPT) | |
310 | # define qual_createTemp() (QU_TEMP) | |
311 | # define qual_createShared() (QU_SHARED) | |
312 | # define qual_createNull() (QU_NULL) | |
313 | # define qual_createRelNull() (QU_RELNULL) | |
314 | # define qual_createReturned() (QU_RETURNED) | |
315 | # define qual_createExposed() (QU_EXPOSED) | |
316 | # define qual_createObserver() (QU_OBSERVER) | |
317 | # define qual_createUnused() (QU_UNUSED) | |
318 | # define qual_createExternal() (QU_EXTERNAL) | |
319 | # define qual_createSef() (QU_SEF) | |
320 | # define qual_createChecked() (QU_CHECKED) | |
321 | # define qual_createCheckMod() (QU_CHECKMOD) | |
322 | # define qual_createCheckedStrict() (QU_CHECKEDSTRICT) | |
323 | # define qual_createUnchecked() (QU_UNCHECKED) | |
324 | # define qual_createUndef() (QU_UNDEF) | |
325 | # define qual_createKilled() (QU_KILLED) | |
1ac6313d | 326 | # define qual_createNullTerminated() (QU_NULLTERMINATED) |
11ed4f45 | 327 | # define qual_createSetBufferSize() (QU_SETBUFFERSIZE) |
885824d3 | 328 | |
329 | extern bool qual_isGlobCheck (/*@sef@*/ qual p_q) /*@*/ ; | |
330 | # define qual_isGlobCheck(q) \ | |
331 | (qual_isChecked (q) || qual_isCheckMod (q) \ | |
332 | || qual_isUnchecked (q) || qual_isCheckedStrict (q)) | |
333 | ||
334 | # define qual_isNullPred(q) \ | |
335 | (qual_isTrueNull (q) || qual_isFalseNull (q)) | |
336 | ||
337 | # define qual_isRefQual(q) \ | |
338 | (qual_isRefCounted(q) || qual_isRefs(q) || qual_isNewRef (q) || \ | |
339 | qual_isKillRef (q) || qual_isTempRef (q)) | |
340 | ||
341 | # define qual_isTypeQual(q) \ | |
342 | (qual_isAbstract(q) || qual_isMutable(q) || qual_isImmutable(q)) | |
343 | ||
344 | # define qual_isControlQual(q) (qual_isExits(q) || qual_isMayExit (q)) | |
345 | # define qual_isStorageClass(q) (qual_isExtern(q) || qual_isStatic(q)) | |
346 | # define qual_isCQual(q) \ | |
347 | (qual_isAuto(q) || qual_isRegister(q) || qual_isInline(q) \ | |
348 | || qual_isConst(q) || qual_isVolatile(q) || qual_isShort(q) \ | |
349 | || qual_isLong (q) || qual_isSigned (q) || qual_isUnsigned (q)) | |
350 | ||
351 | # define qual_isAllocQual(q) \ | |
352 | (qual_isOut (q) || qual_isIn (q) || qual_isSpecial (q) \ | |
353 | || qual_isPartial (q) || qual_isRelDef (q)) | |
354 | ||
1ac6313d | 355 | /* start modifications */ |
356 | /* This is used to check if we the qualifier matches any of the | |
357 | len/size/nullterminated types */ | |
358 | ||
359 | # define qual_isBufQualifier(q) \ | |
360 | (qual_isNullTerminated(q)) | |
361 | ||
362 | /* end of modification/s */ | |
363 | ||
885824d3 | 364 | # define qual_isGlobalQual(q) \ |
365 | (qual_isUndef(q) || qual_isKilled (q)) | |
366 | ||
367 | # define qual_isImplied(q) (qual_isImpOnly(q)) | |
368 | ||
369 | # define qual_isExQual(q) (qual_isExposed (q) || qual_isObserver (q)) | |
370 | ||
371 | # define qual_isAliasQual(q) \ | |
372 | (qual_isOnly(q) || qual_isImpOnly(q) || qual_isTemp(q) \ | |
373 | || qual_isOwned (q) || qual_isShared (q) || qual_isUnique (q) \ | |
374 | || qual_isDependent (q) || qual_isKeep (q) || qual_isKept (q)) | |
375 | ||
376 | extern bool qual_isExitQual (/*@sef@*/ qual p_q) /*@*/ ; | |
377 | # define qual_isExitQual(q) \ | |
378 | (qual_isExits (q) || qual_isNeverExit (q) || qual_isMayExit (q) \ | |
379 | || qual_isTrueExit (q) || qual_isFalseExit (q)) | |
380 | ||
381 | # else | |
382 | # error "Multiple include" | |
383 | # endif | |
384 | ||
385 |