2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
5 # ifndef SYSTEM_CONSTANTS_H
6 # define SYSTEM_CONSTANTS_H
9 # include "lcl_constants.h"
14 /*@constant int LLSUCCESS; @*/
15 # define LLSUCCESS EXIT_SUCCESS
17 /*@constant int LLFAILURE; @*/
18 # define LLFAILURE EXIT_FAILURE
20 /*@constant int LLGIVEUP; @*/
21 # define LLGIVEUP EXIT_FAILURE
23 /*@constant int LLINTERRUPT; @*/
24 # define LLINTERRUPT EXIT_FAILURE
26 /*@constant int DEFAULTMAXMODS; @*/
27 # define DEFAULTMAXMODS 32
30 ** number of parse errors before quiting
33 /*@constant int GIVEUPPARSE; @*/
34 # define GIVEUPPARSE 5
37 ** how many recursive searches to do before bailing!
40 /*@constant int MAXDEPTH; @*/
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!
52 /*@constant int ALIASSEARCHLIMIT; @*/
53 # define ALIASSEARCHLIMIT 8
56 ** This one's compilcated. You probably don't want to change
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.
72 /*@constant int DEFAULT_OPTLEVEL; @*/
73 # define DEFAULT_OPTLEVEL 15
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.
84 /*@constant int SMALLBASESIZE; @*/
85 # define SMALLBASESIZE 4
87 /*@constant int MIDBASESIZE; @*/
88 # define MIDBASESIZE 8
90 /*@constant int LARGEBASESIZE; @*/
91 # define LARGEBASESIZE 16
93 /*@constant int BIGBASESIZE; @*/
94 # define BIGBASESIZE 256
96 /*@constant int HUGEBASESIZE; @*/
97 # define HUGEBASESIZE 512
100 ** Size of hash table for file names.
103 /*@constant int FTHASHSIZE; @*/
104 # define FTHASHSIZE 273
107 ** BASESIZE for C environment frames.
110 /*@constant int CBASESIZE; @*/
114 ** The global environment (across files) is stored in
118 /*@constant int CGLOBBASESIZE; @*/
119 # define CGLOBBASESIZE 1024
121 /*@constant int CGLOBHASHSIZE; @*/
122 # define CGLOBHASHSIZE 1795
124 /*@constant int LLHASHSIZE; @*/
125 # define LLHASHSIZE 1279
128 # error "Multiple include"