]> andersk Git - splint.git/blobdiff - src/Headers/varKinds.h
Added va_copy to standard.h.
[splint.git] / src / Headers / varKinds.h
index 5c256fff77f13941a639dfc382e981e946c154e1..3a0981d2788fcca15200c31379b732fdd25f9dbd 100644 (file)
@@ -35,13 +35,16 @@ typedef enum {
   SS_LAST
 } sstate;
 
+extern bool sstate_isValid (/*@sef@*/ sstate) /*@*/ ;
+# define sstate_isValid(s) ((s) >= SS_UNKNOWN && (s) <= SS_LAST)
+
 typedef enum { 
   SCNONE, 
   SCEXTERN, 
   SCSTATIC 
 } storageClassCode ;
 
-typedef enum _nstate {
+typedef enum {
   NS_ERROR = -1,     /* error (suppress messages) */
   NS_UNKNOWN = 0,    /* no annotation */
   NS_NOTNULL,        /* definitely not null */
@@ -60,6 +63,9 @@ typedef enum _nstate {
 extern bool nstate_isKnown (nstate p_n) /*@*/ ;
 # define nstate_isKnown(n) ((n) != NS_UNKNOWN)
 
+extern bool nstate_isValid (/*@sef@*/ nstate p_n) /*@*/ ;
+# define nstate_isValid(n) ((n) >= NS_ERROR && (n) <= NS_ABSNULL)
+
 /*
 ** aliasing states
 */
@@ -78,11 +84,11 @@ typedef enum {
   AK_IMPONLY,
   AK_KEEP,
   AK_KEPT,
-  AK_TEMP, 
+  AK_TEMP,  /* 6 */
   AK_IMPTEMP,
   AK_SHARED, 
   AK_UNIQUE,
-  AK_RETURNED,
+  AK_RETURNED, /* 10 */
   AK_FRESH,        /* local only storage (may be shared) */
   AK_STACK,        /* allocated on local stack */
   AK_REFCOUNTED,
@@ -90,7 +96,7 @@ typedef enum {
   AK_KILLREF,
   AK_NEWREF,
   AK_OWNED,
-  AK_DEPENDENT,
+  AK_DEPENDENT, /* 18 */
   AK_IMPDEPENDENT,
   AK_STATIC,
   AK_LOCAL        /* AK_LOCAL must be last */
@@ -115,6 +121,12 @@ extern bool exkind_isUnknown (exkind p_e) /*@*/ ;
 extern bool exkind_isKnown (/*@sef@*/ exkind p_e) /*@*/ ;
 # define exkind_isKnown(e)      ((e) != XO_UNKNOWN && (e) != XO_NORMAL)
 
+extern bool exkind_isValid (/*@sef@*/ exkind p_e) /*@*/ ;
+# define exkind_isValid(e)      ((e) >= XO_UNKNOWN && (e) <= XO_OBSERVER)
+
+extern bool alkind_isValid (/*@sef@*/ alkind p_a) /*@*/ ;
+# define alkind_isValid(a) ((a) >= AK_UNKNOWN && (a) <= AK_LOCAL)
+
 extern bool alkind_isImplicit (/*@sef@*/ alkind p_a) /*@*/ ;
 extern bool alkind_isDependent (/*@sef@*/ alkind p_a) /*@*/ ; 
 extern bool alkind_isOnly (/*@sef@*/ alkind p_a) /*@*/ ;       
@@ -145,6 +157,8 @@ extern /*@unused@*/ bool alkind_isRefs (alkind p_a) /*@*/ ;
 extern bool alkind_isNewRef (alkind p_a) /*@*/ ;     
 extern bool alkind_isKillRef (alkind p_a) /*@*/ ;    
 
+extern alkind alkind_resolve (alkind p_a1, alkind p_a2) /*@*/ ;
+
 # define alkind_isOwned(a)      ((a) == AK_OWNED)
 # define alkind_isStack(a)      ((a) == AK_STACK)
 # define alkind_isStatic(a)     ((a) == AK_STATIC)
@@ -184,7 +198,7 @@ extern sstate sstate_fromQual (qual p_q) /*@*/ ;
 extern bool alkind_compatible (alkind p_a1, alkind p_a2) /*@*/ ;
 extern alkind alkind_fixImplicit (alkind p_a) /*@*/ ;
 
-typedef enum _exitkind
+typedef enum 
 {
   XK_ERROR,
   XK_UNKNOWN,      
This page took 0.070016 seconds and 4 git commands to generate.