]> andersk Git - splint.git/blame - src/Headers/clabstract.h
Made allocations involving sizeof work correctly (test/malloc.c).
[splint.git] / src / Headers / clabstract.h
CommitLineData
885824d3 1/*
c0de361f 2** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
885824d3 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
885824d3 26extern ctype declareUnnamedEnum (/*@only@*/ enumNameList p_el);
27extern ctype handleEnum (/*@only@*/ cstring p_id);
28extern ctype handleStruct (/*@only@*/ cstring p_id);
29extern ctype handleUnion (/*@only@*/ cstring p_id);
30
31extern uentryList handleParamIdList (/*@returned@*/ /*@dependent@*/ uentryList p_params);
32extern uentryList handleParamTypeList (/*@dependent@*/ /*@returned@*/ uentryList p_params);
33
34extern uentryList fixUentryList (/*@only@*/ idDeclList p_tl, qtype p_q);
35extern uentryList fixUnnamedDecl (qtype p_q) /*@*/ ;
36
37extern /*@exposed@*/ uentry getCurrentIter(void);
38
39extern void processNamedDecl (idDecl p_t);
e83c79ec 40
41extern void clabstract_declareType (/*@only@*/ exprNodeList, /*@only@*/ warnClause)
42 /*@modifies internalState@*/ ;
43
28bf4b0b 44extern void clabstract_declareFunction (/*@only@*/ idDecl p_tid)
885824d3 45 /*@globals internalState@*/ ;
46extern void doVaDcl (void);
7ebcc5bb 47extern void oldStyleDoneParams (void);
885824d3 48
49extern void setCurrentParams (/*@dependent@*/ uentryList p_ue);
50extern void clearCurrentParams (void);
51
52extern /*@exposed@*/ sRef fixModifiesId (cstring p_s);
28bf4b0b 53extern /*@exposed@*/ sRef fixStateClausesId (cstring p_s);
885824d3 54
55extern void setFlipOldStyle(void);
56extern void setNewStyle(void);
57extern void unsetProcessingGlobals (void);
58extern void setProcessingIterVars (uentry p_iter);
59extern void setProcessingTypedef (/*@only@*/ qtype p_q);
60extern void setProcessingVars (/*@only@*/ qtype p_q);
61extern void setStorageClass (storageClassCode p_sc);
62extern void storeLoc (void);
63extern void unsetProcessingTypedef (void);
64extern void unsetProcessingVars (void);
65
66extern /*@only@*/ uentry makeCurrentParam (idDecl p_t);
67extern void setProcessingGlobalsList (void);
68
28bf4b0b 69extern /*@exposed@*/ sRef modListArrayFetch (/*@exposed@*/ sRef p_s, sRef p_mexp);
70extern /*@exposed@*/ sRef modListPointer (/*@exposed@*/ sRef p_s);
885824d3 71extern /*@exposed@*/ sRef modListFieldAccess (sRef p_s, /*@only@*/ cstring p_f);
72extern /*@exposed@*/ sRef modListArrowAccess (sRef p_s, /*@only@*/ cstring p_f);
73
28bf4b0b 74extern /*@dependent@*/ sRef clabstract_unrecognizedGlobal (cstring p_s);
75extern /*@dependent@*/ sRef clabstract_createGlobal (/*@temp@*/ sRef p_sr, /*@only@*/ qualList p_quals);
885824d3 76
77extern void checkDoneParams (void);
885824d3 78extern void exitParamsTemp (void);
79extern void enterParamsTemp (void);
80
81extern void clearProcessingGlobMods (void);
82extern bool isProcessingGlobMods (void);
83extern void setProcessingGlobMods (void);
84
85extern void setFunctionNoGlobals (void);
86extern int iterParamNo (void);
87extern void nextIterParam (void);
88extern void declareCIter (cstring p_name, /*@owned@*/ uentryList p_params);
89extern void checkModifiesId (uentry p_ue);
28bf4b0b 90extern /*@exposed@*/ sRef checkStateClausesId (uentry p_ue);
885824d3 91
92extern void checkConstant (qtype p_t, idDecl p_id) ;
93extern void checkValueConstant (qtype p_t, idDecl p_id, exprNode p_e) ;
94
95extern void declareStaticFunction (/*@only@*/ idDecl p_tid)
96 /*@globals internalState@*/ ;
97
103db890 98 /*drl
99 added to header 1/19/2001
100 (added to clabstract earilier
101 */
102
b37cf05e 103extern sRef checkbufferConstraintClausesId (uentry p_ue);
6317f163 104extern void setImplicitfcnConstraints (void);
bb25bea6 105
6317f163 106/*@observer@*/ constraintList getImplicitFcnConstraints (void);
2934b455 107
103db890 108/* end drl*/
bb25bea6 109
110
28bf4b0b 111extern /*@dependent@*/ sRef clabstract_checkGlobal (/*@only@*/ exprNode) ;
112
113extern void clabstract_initMod (void) /*@modifies internalState@*/ ;
114
885824d3 115# else
116# error "Multiple include"
117# endif
118
119
120
121
122
123
124
125
This page took 0.215319 seconds and 5 git commands to generate.