/*@constant observer char *LCL_PARSE_VERSION;@*/
# define LCL_PARSE_VERSION "LCLint 2.5q"
/*@constant observer char *LCL_COMPILE;@*/
-# define LCL_COMPILE "Compiled using gcc -DSTDC_HEADERS=1 on SunOS mamba.cs.Virginia.EDU 5.6 Generic_105181-09 sun4u sparc SUNW,Ultra-60 by drl7x"
+# define LCL_COMPILE "Compiled using gcc -DSTDC_HEADERS=1 -g on FreeBSD shankly.cs.virginia.edu 3.2-RELEASE FreeBSD 3.2-RELEASE #0: Tue May 18 04:05:08 GMT 1999 jkh@cathair:/usr/src/sys/compile/GENERIC i386 by drl7x"
/*@constant observer char *LCL_PARSE_VERSION;@*/
# define LCL_PARSE_VERSION "LCLint 2.5q"
/*@constant observer char *LCL_COMPILE;@*/
-# define LCL_COMPILE "Compiled using gcc -DSTDC_HEADERS=1 -g -Wall on SunOS mamba.cs.Virginia.EDU 5.6 Generic_105181-09 sun4u sparc SUNW,Ultra-60 by drl7x"
+# define LCL_COMPILE "Compiled using gcc -DSTDC_HEADERS=1 -g on FreeBSD shankly.cs.virginia.edu 3.2-RELEASE FreeBSD 3.2-RELEASE #0: Tue May 18 04:05:08 GMT 1999 jkh@cathair:/usr/src/sys/compile/GENERIC i386 by drl7x"
-1, -1, -1, -1, 184, -1, -1, -1, 188
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/gnu/share/bison.simple"
+#line 3 "/usr/share/misc/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
#endif
#endif
\f
-#line 196 "/gnu/share/bison.simple"
+#line 196 "/usr/share/misc/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 498 "/gnu/share/bison.simple"
+#line 498 "/usr/share/misc/bison.simple"
\f
yyvsp -= yylen;
yyssp -= yylen;
exprNode e;
e = exprNode_fakeCopy(e1);
+ if (! (e1 && e2) )
+ {
+ TPRINTF((message("Warning null exprNode, Exprnodes are %s and %s",
+ exprNode_unparse(e1), exprNode_unparse(e2) )
+ ));
+ }
+
ret->lexpr = constraintExpr_makeValueExpr (e);
ret->ar = ar;
ret->post = TRUE;
if (exprNode_isUnhandled (e) )
{
DPRINTF( (message("Warning ignoring %s", exprNode_unparse (e) ) ) );
- e->requiresConstraints = constraintList_new();
- e->ensuresConstraints = constraintList_new();
- e->trueEnsuresConstraints = constraintList_new();
- e->falseEnsuresConstraints = constraintList_new();
- llassert(FALSE);
- return FALSE;
+ e->requiresConstraints = constraintList_new();
+ e->ensuresConstraints = constraintList_new();
+ e->trueEnsuresConstraints = constraintList_new();
+ e->falseEnsuresConstraints = constraintList_new();
+ // llassert(FALSE);
+ return FALSE;
}
{
return exprNode_multiStatement (e );
}
- // llassert(FALSE);
+ BPRINTF( (message ("Ignoring non-statement %s", exprNode_unparse(e) ) ) );
+ return TRUE;
+ // llassert(FALSE);
}
DPRINTF (("Stmt") );
sRefSet_elements (s, el)
{
- llassert (el);
+ // llassert (el);
if (sRef_isFixedArray(el) )
{
int s;
test = exprData_getTripleTest (forPred->edata);
inc = exprData_getTripleInc (forPred->edata);
+ if ( ( (exprNode_isError (test) || (exprNode_isError(init) ) || (exprNode_isError) ) ) )
+ {
+ BPRINTF (("strange for statement:%s, ignoring it", exprNode_unparse(e) ) );
+ return ret;
+ }
+
test->trueEnsuresConstraints = exprNode_traversTrueEnsuresConstraints(test);
// e->requiresConstraints = reflectChanges (body->requiresConstraints, test->trueEnsuresConstraints);
e->requiresConstraints = reflectChanges (e->requiresConstraints, test->ensuresConstraints);
exprData data;
constraint cons;
- if (exprNode_handleError (e))
+ if (exprNode_isError(e) )
{
return FALSE;
}
e->trueEnsuresConstraints = constraintList_new();;
e->falseEnsuresConstraints = constraintList_new();;
+ if (exprNode_isUnhandled (e) )
+ {
+ return FALSE;
+ }
// e = makeDataTypeConstraints (e);
handledExprNode = TRUE;
lltok_unparse (exprData_getOpTok (data));
exprNode_exprTraverse (t2, definatelv, TRUE, sequencePoint );
- // DPRINTF ( ("Doing ASSign"));
- cons = constraint_makeEnsureEqual (t1, t2, sequencePoint);
+ /* this test is nessecary because some expressions generate a null expression node. function pointer do that -- drl */
+ if ( (!exprNode_isError (t1)) && (!exprNode_isError(t2)) )
+ {
+ cons = constraint_makeEnsureEqual (t1, t2, sequencePoint);
+ e->ensuresConstraints = constraintList_add(e->ensuresConstraints, cons);
+ }
- e->ensuresConstraints = constraintList_add(e->ensuresConstraints, cons);
-
break;
case XPR_OP:
t1 = exprData_getOpA (data);
constraintList c, t;
/* drl added 8-8-2000 */
- return;
+ //return;
+
exprNode_generateConstraints (body);
c = uentry_getFcnPreconditions (ue);
exprNode ret;
bool emptyErr = FALSE;
char *s;
- s = exprNode_generateConstraints (t);
+ // s = exprNode_generateConstraints (t);
// printf("pred: %s\n", s);
- s = exprNode_generateConstraints (b);
+ // s = exprNode_generateConstraints (b);
//printf ("body: %s\n", s);
//constraintList_print(b->constraints);
case SK_UNKNOWN:
return cstring_makeLiteral ("?");
case SK_PARAM:
- llcontbug (message ("sRef_unparseNoArgs: bad case: %q", sRef_unparseDebug (s)));
+ /* llcontbug (message ("sRef_unparseNoArgs: bad case: %q", sRef_unparseDebug (s))); */
return (sRef_unparseDebug (s));
}
BADEXIT;