2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
5 # ifndef SYSTEM_CONSTANTS_H
6 # define SYSTEM_CONSTANTS_H
8 # include "lcl_constants.h"
12 /*@constant int LLSUCCESS; @*/
13 # define LLSUCCESS EXIT_SUCCESS
15 /*@constant int LLFAILURE; @*/
16 # define LLFAILURE EXIT_FAILURE
18 /*@constant int LLGIVEUP; @*/
19 # define LLGIVEUP EXIT_FAILURE
21 /*@constant int LLINTERRUPT; @*/
22 # define LLINTERRUPT EXIT_FAILURE
24 /*@constant int DEFAULTMAXMODS; @*/
25 # define DEFAULTMAXMODS 32
28 ** number of parse errors before quiting
31 /*@constant int GIVEUPPARSE; @*/
32 # define GIVEUPPARSE 5
35 ** how many recursive searches to do before bailing!
38 /*@constant int MAXDEPTH; @*/
42 ** This limits the number of recursive calls to aliasTable_canAliasAux.
43 ** It is necessary in the presence on recursive nested data structures.
44 ** Note that we don't want to simply detect recursion and quit, since
45 ** aliasing may be apparent only at the deeper level. It would be better
46 ** to do something in the alias table to confirm that there are no aliases
47 ** recorded below a given depth, but in practice this is much easier!
50 /*@constant int ALIASSEARCHLIMIT; @*/
51 # define ALIASSEARCHLIMIT 8
54 ** This one's compilcated. You probably don't want to change
57 ** lclint maintains a table of ctype's (its representation of
58 ** C types) and represents types internally as an index into
59 ** this table. This greatly improves performance of type
60 ** checking and saves memory. For simple derived types, it
61 ** is easy to find if the type is already in the table. For
62 ** more complicated types (e.g., functions and structures),
63 ** we check if a type is already in the table by looking
64 ** backwards for matches. The last DEFAULT_OPTLEVEL types
65 ** entered into the table are checked. Increasing this value
66 ** may improve memory performance, but cost in execution time.
70 /*@constant int DEFAULT_OPTLEVEL; @*/
71 # define DEFAULT_OPTLEVEL 15
74 ** There are many *List and *Set types used by lclint (all
75 ** generated automatically using a template and script).
76 ** For each, the BASESIZE is the number of entries the
77 ** structure grows by each time it runs out of space.
78 ** Depending on expected usage, each List/Set defines
79 ** its BASESIZE to one of these three values.
82 /*@constant int SMALLBASESIZE; @*/
83 # define SMALLBASESIZE 4
85 /*@constant int MIDBASESIZE; @*/
86 # define MIDBASESIZE 8
88 /*@constant int LARGEBASESIZE; @*/
89 # define LARGEBASESIZE 16
91 /*@constant int BIGBASESIZE; @*/
92 # define BIGBASESIZE 256
94 /*@constant int HUGEBASESIZE; @*/
95 # define HUGEBASESIZE 512
98 ** Size of hash table for file names.
101 /*@constant unsigned long FTHASHSIZE; @*/
102 # define FTHASHSIZE 273
105 ** BASESIZE for C environment frames.
108 /*@constant int CBASESIZE; @*/
112 ** The global environment (across files) is stored in
116 /*@constant int CGLOBBASESIZE; @*/
117 # define CGLOBBASESIZE 1024
119 /*@constant unsigned long CGLOBHASHSIZE; @*/
120 # define CGLOBHASHSIZE 1795
122 /*@constant int LLHASHSIZE; @*/
123 # define LLHASHSIZE 1279
126 # error "Multiple include"