X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/3814599dbdafeaf8cb335d07f1d1bf1729a98417..ae13359213220016611ceaf93109dac6849be88b:/src/Headers/constraintList.h diff --git a/src/Headers/constraintList.h b/src/Headers/constraintList.h index 8f24089..c9f455c 100644 --- a/src/Headers/constraintList.h +++ b/src/Headers/constraintList.h @@ -18,14 +18,18 @@ struct s_constraintList # define constraintList_undefined ((constraintList)NULL) -extern /*@falsenull@*/ bool constraintList_isDefined (constraintList p_e) /*@*/ ; -extern /*@unused@*/ /*@truenull@*/ bool constraintList_isUndefined (constraintList p_e) /*@*/ ; -extern /*@truenull@*/ /*@unused@*/ bool constraintList_isError (constraintList p_e) /*@*/ ; +extern /*@falsewhennull@*/ bool constraintList_isDefined (constraintList p_e) /*@*/ ; +extern /*@unused@*/ /*@nullwhentrue@*/ bool constraintList_isUndefined (constraintList p_e) /*@*/ ; +extern /*@nullwhentrue@*/ /*@unused@*/ bool constraintList_isError (constraintList p_e) /*@*/ ; # define constraintList_isDefined(e) ((e) != constraintList_undefined) # define constraintList_isUndefined(e) ((e) == constraintList_undefined) # define constraintList_isError(e) ((e) == constraintList_undefined) +extern bool constraintList_isEmpty (/*@sef@*/ constraintList p_e) /*@*/; + +# define constraintList_isEmpty(e) ((constraintList_isUndefined((e)) ) ||(( (e)->nelements == 0) ) ) + extern constraintList constraintList_single (/*@only@*/ constraint) ; extern constraintList constraintList_addListFree (/*@returned@*/ constraintList, /*@only@*/ constraintList) ; @@ -42,7 +46,7 @@ extern constraintList constraintList_preserveCallInfo (/*@returned@*/ constraint extern /*@only@*/ constraintList constraintList_makeNew(void) /*@*/; extern constraintList constraintList_add (/*@returned@*/ constraintList p_s, /*@only@*/ constraint p_el) /*@modifies p_s@*/ ; -extern /*@only@*/ constraintList constraintList_addList (/*@only@*/ /*@returned@*/ constraintList p_s, /*@observer@*/ constraintList p_newList) /*@modifies p_s@*/ ; + extern /*@only@*/ constraintList constraintList_addList (/*@only@*/ /*@returned@*/ constraintList p_s, /*@observer@*/ /*@temp@*/ constraintList p_newList) /*@modifies p_s@*/ ; extern constraintList constraintList_copy ( /*@observer@*/ /*@temp@*/ constraintList p_s) /*@*/ ; @@ -51,12 +55,9 @@ extern constraintList constraintList_copy ( /*@observer@*/ /*@temp@*/ constraint extern void constraintList_free (/*@only@*/ constraintList p_s) ; -extern /*@only@*/ cstring constraintList_unparse ( /*@observer@*/ constraintList p_s) /*@*/; - -/*@only@*/ extern cstring constraintList_print ( /*@observer@*/ /*@temp@*/ constraintList p_s) /*@*/; +extern /*@only@*/ cstring constraintList_unparse (/*@observer@*/ constraintList p_s) /*@*/; -extern cstring -constraintList_printDetailed ( /*@observer@*/ constraintList p_s) /*@*/; +extern cstring constraintList_unparseDetailed (/*@observer@*/ constraintList p_s) /*@*/; extern /*@only@*/ constraintList constraintList_logicalOr ( /*@observer@*/ constraintList p_l1, /*@observer@*/ constraintList p_l2); @@ -82,10 +83,20 @@ extern /*@only@*/ constraintList constraintList_makeFixedArrayConstraints ( /*@o extern void constraintList_printErrorPostConditions (constraintList p_s, fileloc p_loc) ; extern void constraintList_printError (constraintList p_s, /*@observer@*/ fileloc p_loc) ; -void constraintList_dump (/*@observer@*/ constraintList p_c, FILE * p_f); +extern constraintList constraintList_sort (/*@returned@*/ constraintList p_ret) + /*@modifies p_ret@*/ ; + +extern void constraintList_castConstraints (constraintList p_c, ctype p_tfrom, ctype p_tto) + /*@modifies p_c@*/ ; + +extern void constraintList_dump (/*@observer@*/ constraintList p_c, FILE * p_f); /*@only@*/ constraintList constraintList_undump (FILE * p_f); +/*@only@*/ constraintList constraintList_removeSurpressed (/*@only@*/ constraintList p_s); +/*drl 1/6/2001: I didn't think these functions were solid enough to include in the stable release of splint.*/ +/*drl added 12/30/01 */ +/* / *@only@* / constraintList constraintList_doSRefFixStructConstraint(constraintList p_invars, sRef p_s, ctype p_ct ); */ # else # error "Multiple include"