]> andersk Git - splint.git/blob - src/Headers/system_constants.h
c7a34d6916313d686b0cf9f07a89c091bf78ab2c
[splint.git] / src / Headers / system_constants.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
4 */
5 # ifndef SYSTEM_CONSTANTS_H
6 # define SYSTEM_CONSTANTS_H
7
8 # ifndef NOLCL
9 # include "lcl_constants.h"
10 # endif
11
12 /* exit codes */
13
14 /*@constant int LLSUCCESS; @*/
15 # define LLSUCCESS   EXIT_SUCCESS
16
17 /*@constant int LLFAILURE; @*/
18 # define LLFAILURE   EXIT_FAILURE
19
20 /*@constant int LLGIVEUP; @*/
21 # define LLGIVEUP    EXIT_FAILURE
22
23 /*@constant int LLINTERRUPT; @*/
24 # define LLINTERRUPT EXIT_FAILURE
25
26 /*@constant int DEFAULTMAXMODS; @*/
27 # define DEFAULTMAXMODS 32
28
29 /*
30 ** number of parse errors before quiting
31 */
32
33 /*@constant int GIVEUPPARSE; @*/
34 # define GIVEUPPARSE 5
35
36 /*
37 ** how many recursive searches to do before bailing!
38 */
39
40 /*@constant int MAXDEPTH; @*/
41 # define MAXDEPTH 10
42
43 /*
44 ** This limits the number of recursive calls to aliasTable_canAliasAux.
45 ** It is necessary in the presence on recursive nested data structures.
46 ** Note that we don't want to simply detect recursion and quit, since
47 ** aliasing may be apparent only at the deeper level.  It would be better
48 ** to do something in the alias table to confirm that there are no aliases
49 ** recorded below a given depth, but in practice this is much easier!
50 */
51
52 /*@constant int ALIASSEARCHLIMIT; @*/
53 # define ALIASSEARCHLIMIT 8
54
55 /*
56 ** This one's compilcated.  You probably don't want to change
57 ** it.
58 **
59 ** lclint maintains a table of ctype's (its representation of
60 ** C types) and represents types internally as an index into
61 ** this table.  This greatly improves performance of type
62 ** checking and saves memory.  For simple derived types, it
63 ** is easy to find if the type is already in the table.  For
64 ** more complicated types (e.g., functions and structures),
65 ** we check if a type is already in the table by looking 
66 ** backwards for matches.  The last DEFAULT_OPTLEVEL types
67 ** entered into the table are checked.  Increasing this value
68 ** may improve memory performance, but cost in execution time.
69 **
70 */
71
72 /*@constant int DEFAULT_OPTLEVEL; @*/
73 # define DEFAULT_OPTLEVEL 15
74
75 /*
76 ** There are many *List and *Set types used by lclint (all
77 ** generated automatically using a template and script).  
78 ** For each, the BASESIZE is the number of entries the
79 ** structure grows by each time it runs out of space.
80 ** Depending on expected usage, each List/Set defines
81 ** its BASESIZE to one of these three values.
82 */
83
84 /*@constant int SMALLBASESIZE; @*/
85 # define SMALLBASESIZE   4
86
87 /*@constant int MIDBASESIZE; @*/
88 # define MIDBASESIZE     8
89
90 /*@constant int LARGEBASESIZE; @*/
91 # define LARGEBASESIZE  16
92
93 /*@constant int BIGBASESIZE; @*/
94 # define BIGBASESIZE   256
95
96 /*@constant int HUGEBASESIZE; @*/
97 # define HUGEBASESIZE  512
98
99 /*
100 ** Size of hash table for file names.
101 */
102
103 /*@constant int FTHASHSIZE; @*/
104 # define FTHASHSIZE 273
105
106 /*
107 ** BASESIZE for C environment frames.
108 */
109
110 /*@constant int CBASESIZE; @*/
111 # define CBASESIZE 4
112
113 /*
114 ** The global environment (across files) is stored in
115 ** a hash table.
116 */
117
118 /*@constant int CGLOBBASESIZE; @*/
119 # define CGLOBBASESIZE 1024
120
121 /*@constant int CGLOBHASHSIZE; @*/
122 # define CGLOBHASHSIZE 1795
123
124 /*@constant int LLHASHSIZE; @*/
125 # define LLHASHSIZE 1279   
126
127 # else
128 # error "Multiple include"
129 # endif
130
131
132
133
134
135
This page took 0.044441 seconds and 3 git commands to generate.