]> andersk Git - splint.git/blame - src/Headers/clabstract.h
The code almost work.
[splint.git] / src / Headers / clabstract.h
CommitLineData
885824d3 1/*
2** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000.
3** See ../LICENSE for license information.
4**
5*/
6/*
7** clabstract.h
8*/
9
10# ifndef CLABSTRACT_H
11# define CLABSTRACT_H
12
13extern void setArgsUsed (void) /*@modifies internalState@*/ ;
14extern void setSpecialFunction (qual p_qu) /*@modifies internalState@*/ ;
15extern bool isFlipOldStyle(void) /*@*/ ;
16extern bool isNewStyle(void) /*@*/ ;
17extern bool processingIterVars(void) /*@*/ ;
18
19extern ctype declareEnum (/*@only@*/ cstring p_ename, /*@only@*/ enumNameList p_el);
20extern ctype declareStruct (/*@temp@*/ cstring p_id, /*@only@*/ uentryList p_f);
21extern ctype declareUnnamedStruct (/*@only@*/ uentryList p_f);
22
23extern ctype declareUnion (/*@temp@*/ cstring p_id, /*@only@*/ uentryList p_f);
24extern ctype declareUnnamedUnion (/*@only@*/ uentryList p_f);
25
26extern void
27 setFunctionSpecialClause (lltok p_stok, /*@only@*/ sRefSet p_s, lltok p_etok);
28extern void
29 setFunctionStateSpecialClause (lltok p_stok, specialClauseKind p_kind,
30 /*@only@*/ sRefSet p_s, lltok p_etok);
31
32extern ctype declareUnnamedEnum (/*@only@*/ enumNameList p_el);
33extern ctype handleEnum (/*@only@*/ cstring p_id);
34extern ctype handleStruct (/*@only@*/ cstring p_id);
35extern ctype handleUnion (/*@only@*/ cstring p_id);
36
37extern uentryList handleParamIdList (/*@returned@*/ /*@dependent@*/ uentryList p_params);
38extern uentryList handleParamTypeList (/*@dependent@*/ /*@returned@*/ uentryList p_params);
39
40extern uentryList fixUentryList (/*@only@*/ idDeclList p_tl, qtype p_q);
41extern uentryList fixUnnamedDecl (qtype p_q) /*@*/ ;
42
43extern /*@exposed@*/ uentry getCurrentIter(void);
44
45extern void processNamedDecl (idDecl p_t);
46extern void declareFunction (/*@only@*/ idDecl p_tid)
47 /*@globals internalState@*/ ;
48extern void doVaDcl (void);
49extern void doneParams (void);
50
51extern void setCurrentParams (/*@dependent@*/ uentryList p_ue);
52extern void clearCurrentParams (void);
53
54extern /*@exposed@*/ sRef fixModifiesId (cstring p_s);
55extern /*@exposed@*/ sRef fixSpecClausesId (cstring p_s);
56
57extern void setFlipOldStyle(void);
58extern void setNewStyle(void);
59extern void unsetProcessingGlobals (void);
60extern void setProcessingIterVars (uentry p_iter);
61extern void setProcessingTypedef (/*@only@*/ qtype p_q);
62extern void setProcessingVars (/*@only@*/ qtype p_q);
63extern void setStorageClass (storageClassCode p_sc);
64extern void storeLoc (void);
65extern void unsetProcessingTypedef (void);
66extern void unsetProcessingVars (void);
67
68extern /*@only@*/ uentry makeCurrentParam (idDecl p_t);
69extern void setProcessingGlobalsList (void);
70
71extern /*@exposed@*/ sRef modListArrayFetch (sRef p_s, sRef p_mexp);
72extern /*@exposed@*/ sRef modListPointer (sRef p_s);
73extern /*@exposed@*/ sRef modListFieldAccess (sRef p_s, /*@only@*/ cstring p_f);
74extern /*@exposed@*/ sRef modListArrowAccess (sRef p_s, /*@only@*/ cstring p_f);
75
76extern sRef globListUnrecognized (cstring p_s);
77extern void globListAdd (sRef p_sr, qualList p_quals);
78
79extern void setFunctionModifies (/*@only@*/ sRefSet p_s);
80
81extern void checkDoneParams (void);
82
83extern void exitParamsTemp (void);
84extern void enterParamsTemp (void);
85
86extern void clearProcessingGlobMods (void);
87extern bool isProcessingGlobMods (void);
88extern void setProcessingGlobMods (void);
89
90extern void setFunctionNoGlobals (void);
91extern int iterParamNo (void);
92extern void nextIterParam (void);
93extern void declareCIter (cstring p_name, /*@owned@*/ uentryList p_params);
94extern void checkModifiesId (uentry p_ue);
95extern /*@exposed@*/ sRef checkSpecClausesId (uentry p_ue);
96
97extern void checkConstant (qtype p_t, idDecl p_id) ;
98extern void checkValueConstant (qtype p_t, idDecl p_id, exprNode p_e) ;
99
100extern void declareStaticFunction (/*@only@*/ idDecl p_tid)
101 /*@globals internalState@*/ ;
102
103db890 103 /*drl
104 added to header 1/19/2001
105 (added to clabstract earilier
106 */
107
108constraintList getFunctionConstraints (void);
109
110constraintList getEnsuresConstraints (void);
111
112void setEnsuresConstraints (constraintList c);
113
114void setFunctionConstraints (constraintList c);
115sRef checkbufferConstraintClausesId (uentry ue);
bb25bea6 116void setImplictfcnConstraints (void);
117
103db890 118/* end drl*/
bb25bea6 119
120
885824d3 121# else
122# error "Multiple include"
123# endif
124
125
126
127
128
129
130
131
This page took 1.742193 seconds and 5 git commands to generate.