/*
** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2002 University of Virginia,
+** Copyright (C) 1994-2003 University of Virginia,
** Massachusetts Institute of Technology
**
** This program is free software; you can redistribute it and/or modify it
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on splint: splint@cs.virginia.edu
-** To report a bug: splint-bug@cs.virginia.edu
+** For information on splint: info@splint.org
+** To report a bug: splint-bug@splint.org
** For more information: http://www.splint.org
*/
/*
return ret;
}
+/*drl added 3/7/2003*/
+bool stateClause_hasEmptyReferences (stateClause s)
+{
+ if (sRefSet_isUndefined(s->refs) )
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool stateClause_isMetaState (stateClause s)
+{
+
+ if (qual_isMetaState (s->squal) )
+ return TRUE;
+ else
+ return FALSE;
+}
+/*end drl added*/
+
stateClause
stateClause_create (lltok tok, qual q, sRefSet s)
{
/*
** An error is reported if the test is NOT true.
*/
+\r
+# ifdef WIN32\r
+/* Microsoft doesn't believe in higher order functions... */\r
+# pragma warning( disable : 4550 )\r
+# endif \r
sRefTest stateClause_getPreTestFunction (stateClause cl)
{
}
else if (qual_isAliasQual (sq))
{
- return (sRefModVal) sRef_setAliasKind; /*@i23 complete? @*/
+ return (sRefModVal) sRef_setAliasKind;
}
else
{
llassert (cl->kind == SP_QUAL || cl->kind == SP_GLOBAL);
sq = cl->squal;
-
- /*@+relaxtypes@*/ /*@i523 this is wrong, remove the enumint@*/
- /*@+enumint@*/
+
+ /*@+enumint@*/
+ /*
+ ** Since this can be many different types of state kinds, we need to allow all
+ ** enum's to be returned as int.
+ */
if (qual_isNotNull (sq))
{