]> andersk Git - splint.git/blobdiff - src/Headers/constraintExpr.h
Merged this branch with the one in the splint.sf.net repository.
[splint.git] / src / Headers / constraintExpr.h
index 79230da7058837a12d9d23f5a938e743df2ec817..c5e429098dc2de20fe25b7bcbf1db7ab382e7c78 100644 (file)
@@ -10,102 +10,127 @@ typedef enum
 }
 constraintExprKind;
 
-struct _constraintExpr {
+struct s_constraintExpr {
   constraintExprKind kind;
+  bool ct; /*changed type */
+  ctype origType;
   constraintExprData data;
 };
 
-
+/*@i222*/ /*get rid of this soon */
+/*@-null@*/
 
 /*@constant null constraintExpr constraintExpr_undefined; @*/
 # define constraintExpr_undefined ((constraintExpr)NULL)
+/*@=null@*/
 
-extern /*@falsenull@*/ bool constraintExpr_isDefined (constraintExpr p_e) /*@*/ ;
-extern /*@unused@*/ /*@truenull@*/ bool constraintExpr_isUndefined (constraintExpr p_e) /*@*/ ;
-extern /*@unused@*/ /*@truenull@*/ bool constraintExpr_isError (constraintExpr p_e) /*@*/ ;
+extern /*@falsewhennull@*/ bool constraintExpr_isDefined (constraintExpr p_e) /*@*/ ;
+extern /*@unused@*/ /*@nullwhentrue@*/ bool constraintExpr_isUndefined (constraintExpr p_e) /*@*/ ;
+extern /*@unused@*/ /*@nullwhentrue@*/ bool constraintExpr_isError (constraintExpr p_e) /*@*/ ;
 
 # define constraintExpr_isDefined(e)        ((e) != constraintExpr_undefined)
 # define constraintExpr_isUndefined(e)      ((e) == constraintExpr_undefined)
 # define constraintExpr_isError(e)          ((e) == constraintExpr_undefined)
 
 
-void constraintExpr_free ( /*@only@*/ constraintExpr expr);
+void constraintExpr_free ( /*@only@*/ constraintExpr p_expr);
+
+constraintExpr constraintExpr_setFileloc (/*@returned@*/ constraintExpr p_c, fileloc p_loc) /*@modifies p_c@*/;
 
-int constraintExpr_getValue (constraintExpr expr) /*@*/;
+constraintExpr constraintExpr_copy (constraintExpr p_expr) /*@*/;
 
-constraintExpr constraintExpr_setFileloc (/*@returned@*/ constraintExpr c, fileloc loc) /*@modifies c@*/;
+/*@only@*/ cstring constraintExpr_unparse (/*@temp@*/ /*@observer@*/ constraintExpr p_ex) /*@*/;
+extern cstring constraintExpr_print (constraintExpr p_expr) /*@*/;
 
-constraintExpr constraintExpr_copy (constraintExpr expr) /*@*/;
 
-/*@only@*/ cstring constraintExpr_unparse (/*@temp@*/ /*@observer@*/ constraintExpr ex) /*@*/;
-extern cstring constraintExpr_print (constraintExpr expr) /*@*/;
+bool constraintExpr_similar (constraintExpr p_expr1, constraintExpr p_expr2) /*@*/;
+bool constraintExpr_same (constraintExpr p_expr1, constraintExpr p_expr2) /*@*/;
+/*@only@*/ constraintExpr constraintExpr_searchandreplace (/*@only@*/ /*@unique@*/ constraintExpr p_c, /*@temp@*/ /*@observer@*/ constraintExpr p_old, /*@temp@*/ /*@observer@*/ constraintExpr p_newExpr ) /*@modifies p_c@*/;
 
+bool constraintExpr_canGetValue (constraintExpr p_expr) /*@*/;
+long constraintExpr_getValue (constraintExpr p_expr) /*@*/;
 
-bool constraintExpr_similar (constraintExpr expr1, constraintExpr expr2) /*@*/;
-bool constraintExpr_same (constraintExpr expr1, constraintExpr expr2) /*@*/;
-/*@only@*/ constraintExpr constraintExpr_searchandreplace (/*@only@*/ /*@unique@*/ constraintExpr c, /*@observer@*/ constraintExpr old, /*@observer@*/ constraintExpr new ) /*@modifies c@*/;
-bool constraintExpr_canGetValue (constraintExpr expr) /*@*/;
+int constraintExpr_compare (constraintExpr p_expr1, constraintExpr p_expr2) /*@*/;
 
-int constraintExpr_compare (constraintExpr expr1, constraintExpr expr2) /*@*/;
+/* constraintExpr constraintExpr_makeValueInt (int i); */
 
-//constraintExpr constraintExpr_makeValueInt (int i);
+/*@only@*/ constraintExpr constraintExpr_makeIntLiteral (long p_i);
 
-/*@only@*/ constraintExpr constraintExpr_makeIntLiteral (int i);
+/*@only@*/ constraintExpr constraintExpr_makeValueExpr (/*@exposed@*/ exprNode p_expr);
 
-/*@only@*/ constraintExpr constraintExpr_makeValueExpr (/*@exposed@*/ exprNode expr);
+/*@only@*/ constraintExpr constraintExpr_makeMaxSetExpr (/*@exposed@*/ exprNode p_expr);
 
-/*@only@*/ constraintExpr constraintExpr_makeMaxSetExpr (/*@exposed@*/ exprNode expr);
+/*@only@*/ constraintExpr  constraintExpr_makeMaxReadExpr (/*@exposed@*/ exprNode p_expr);
 
-/*@only@*/ constraintExpr  constraintExpr_makeMaxReadExpr (/*@exposed@*/ exprNode expr);
+/*@only@*/ constraintExpr constraintExpr_makeIncConstraintExpr (/*@only@*/ constraintExpr p_expr);
 
-/*@only@*/ constraintExpr constraintExpr_makeIncConstraintExpr (/*@only@*/ constraintExpr expr);
+/*@only@*/ constraintExpr constraintExpr_makeDecConstraintExpr (/*@only@*/ constraintExpr p_expr);
 
-/*@only@*/ constraintExpr constraintExpr_makeDecConstraintExpr (/*@only@*/ constraintExpr expr);
+/*@only@*/ constraintExpr constraintExpr_simplify (/*@only@*/ constraintExpr p_c);
 
-/*@only@*/ constraintExpr constraintExpr_simplify (/*@only@*/ constraintExpr c);
+/*@only@*/ constraintExpr constraintExpr_solveBinaryExpr (constraintExpr p_lexpr, /*@only@*/ constraintExpr p_expr) /*@modifies p_lexpr, p_expr @*/;
 
-/*@only@*/ constraintExpr constraintExpr_solveBinaryExpr (constraintExpr lexpr, /*@only@*/ constraintExpr expr) /*@modifies lexpr, expr @*/;
+bool constraintExpr_search (/*@observer@*/ /*@temp@*/ constraintExpr p_c, /*@observer@*/ /*@temp@*/ constraintExpr p_old);
 
-bool constraintExpr_search (/*@observer@*/ constraintExpr c, /*@observer@*/ constraintExpr old);
+/*@only@*/ fileloc constraintExpr_getFileloc (constraintExpr p_expr);
 
-/*@only@*/ fileloc constraintExpr_getFileloc (constraintExpr expr);
 
+/*@only@*/ constraintExpr constraintExpr_makeSRefMaxset ( /*@temp@*/ /*@observer@*/ sRef p_s);
 
-/*@only@*/ constraintExpr constraintExpr_makeSRefMaxset ( /*@exposed@*/ sRef s);
+/*@only@*/ constraintExpr constraintExpr_makeSRefMaxRead(/*@temp@*/ /*@observer@*/ sRef p_s);
 
-/*@only@*/ constraintExpr constraintExpr_makeTermsRef (/*@exposed@*/ sRef s);
+/*@only@*/ constraintExpr constraintExpr_makeTermsRef (/*@temp@*/ sRef  p_s);
 
-constraintExpr constraintExpr_doSRefFixBaseParam ( /*@returned@*/ constraintExpr expr, exprNodeList arglist);
+constraintExpr constraintExpr_doSRefFixBaseParam ( /*@returned@*/ constraintExpr p_expr, exprNodeList p_arglist);
 
-/*@only@*/ constraintExpr constraintExpr_makeExprNode (/*@exposed@*/ exprNode e);
+/*@only@*/ constraintExpr constraintExpr_makeExprNode (/*@dependent@*/  exprNode p_e);
 
-/*@only@*/ constraintExpr constraintExpr_doFixResult (/*@only@*/  constraintExpr expr, /*@exposed@*/ exprNode fcnCall);
+/*@only@*/ constraintExpr constraintExpr_doFixResult (/*@only@*/  constraintExpr p_expr, /*@observer@*/ exprNode p_fcnCall);
 
-bool constraintExpr_isLit (constraintExpr expr);
+/*@falsewhennull@*/ bool constraintExpr_isLit (constraintExpr p_expr) /*@*/ ;
 
-/*@only@*/ constraintExpr constrainExpr_makeAddExpr (/*@only@*/constraintExpr expr, /*@only@*/ constraintExpr add);
+/*@only@*/ constraintExpr constraintExpr_makeAddExpr (/*@only@*/ constraintExpr p_expr, /*@only@*/ constraintExpr p_addent);
 
-/*@only@*/  constraintExpr constraintExpr_makeSubtractExpr (/*@only@*/ constraintExpr expr, /*@only@*/ constraintExpr addent);
+/*@only@*/  constraintExpr constraintExpr_makeSubtractExpr (/*@only@*/ constraintExpr p_expr, /*@only@*/ constraintExpr p_addent);
 
-/*@only@*/ constraintExpr constraintExpr_parseMakeUnaryOp (lltok op,/*@only@*/ constraintExpr cexpr);
+/*@only@*/ constraintExpr constraintExpr_parseMakeUnaryOp (lltok p_op,/*@only@*/ constraintExpr p_cexpr);
 
-constraintExpr constraintExpr_parseMakeBinaryOp (/*@only@*/ constraintExpr expr1, lltok op, /*@only@*/ constraintExpr expr2);
+constraintExpr constraintExpr_parseMakeBinaryOp (/*@only@*/ constraintExpr p_expr1, lltok p_op, /*@only@*/ constraintExpr p_expr2);
 
-bool constraintExpr_hasMaxSet (/*@observer@*/ constraintExpr expr);
+bool constraintExpr_hasMaxSet (/*@observer@*/ /*@temp@*/ constraintExpr p_expr);
 
 
-/*@only@*/ constraintExpr constraintExpr_makeSRefMaxRead(/*@exposed@*/ sRef s);
 
-/*@only@*/ constraintExpr constraintExpr_doSRefFixConstraintParam (/*@returned@*/ /*@only@*/ constraintExpr expr, exprNodeList arglist) /*@modifies expr@*/;
+/*@only@*/ constraintExpr constraintExpr_doSRefFixConstraintParam (/*@returned@*/ /*@only@*/ constraintExpr p_expr, exprNodeList p_arglist) /*@modifies p_expr@*/;
 
 /*@only@*/
-constraintExpr constraintExpr_propagateConstants (/*@only@*/ constraintExpr expr,
-                                               /*@out@*/ bool * propagate,
-                                                 /*@out@*/ int *literal);
+constraintExpr constraintExpr_propagateConstants (/*@only@*/ constraintExpr p_expr,
+                                               /*@out@*/ bool * p_propagate,
+                                                 /*@out@*/ int *p_literal);
 
-bool constraintExpr_isBinaryExpr (/*@observer@*/ constraintExpr c);
-#else
+/*@falsewhennull@*/ bool constraintExpr_isBinaryExpr (/*@observer@*/ /*@temp@*/ constraintExpr p_c) /*@*/ ;
 
-# error "Multiple include"
+extern void  constraintExpr_dump (/*@observer@*/ /*@temp@*/ constraintExpr p_expr,  FILE *p_f);
+
+extern /*@only@*/ constraintExpr  constraintExpr_undump (FILE *p_f);
+
+extern /*@only@*/ constraintExpr constraintExpr_makeTermExprNode (/*@exposed@*/ exprNode p_e) ;
+
+/* drl added 8/8/001*/
+bool constraintExpr_isTerm (/*@observer@*/ /*@temp@*/ constraintExpr p_c);
 
+/* drl added 8/8/001*/
+/*@observer@*/ /*@temp@*/ constraintTerm constraintExpr_getTerm ( /*@temp@*/ /*@observer@*/ constraintExpr p_c);
+
+/* drl added 8/8/001*/
+int constraintExpr_getDepth (/*@observer@*/ /*@temp@*/ constraintExpr p_ex);
+
+
+/*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/001*/
+/* extern / *@only@* / constraintExpr constraintExpr_doSRefFixInvarConstraint (/ *@only@* / constraintExpr p_expr, sRef p_s, ctype p_ct); */
+
+   
+#else
+# error "Multiple include"
 #endif
This page took 0.17038 seconds and 4 git commands to generate.