Various minor fixes for compiler/linter (other then splint itself) warnings.
[splint-patched.git] / src / Headers / lsymbol.h
blob707d247834ce4da7a0c8e82c9b2cf72cfd7a083b
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
4 **
5 */
7 # ifndef LSYMBOL_H
8 # define LSYMBOL_H
11 ** Offset entries by 1, so 0 is available.
14 /*@constant null lsymbol lsymbol_undefined; @*/
15 # define lsymbol_undefined ((lsymbol) 0)
17 extern bool lsymbol_isDefined (lsymbol p_s);
18 # define lsymbol_isDefined(s) ((s) != lsymbol_undefined)
20 extern bool lsymbol_isUndefined (lsymbol p_s);
21 # define lsymbol_isUndefined(s) ((s) == lsymbol_undefined)
23 extern lsymbol lsymbol_fromChars (/*@temp@*/ const char *) /*@*/ ;
24 extern lsymbol lsymbol_fromString (/*@temp@*/ cstring p_s) /*@*/ ;
25 extern /*@exposed@*/ /*@null@*/ char *lsymbol_toChars (lsymbol) /*@*/ ;
26 extern /*@exposed@*/ char *lsymbol_toCharsSafe (lsymbol) /*@*/ ;
27 extern /*@observer@*/ cstring lsymbol_toString(lsymbol) /*@*/ ;
29 extern bool lsymbol_equal (lsymbol p_s1, lsymbol p_s2) /*@*/ ;
30 # define lsymbol_equal(s1, s2) ((s1) == (s2))
32 extern void lsymbol_initMod (void) /*@modifies internalState@*/ ;
33 extern void lsymbol_destroyMod (void) /*@modifies internalState@*/ ;
35 # else
36 # error "Multiple include"
37 # endif