/*
-** LCLint - annotation-assisted static program checker
-** Copyright (C) 1994-2000 University of Virginia,
+** Splint - annotation-assisted static program checker
+** 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 lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
-** For more information: http://lclint.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
*/
/*
**
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "shift.h"
-/*@constant static int SHIFTMAX;@*/
+/*@constant static int SHIFTMAX=200;@*/
# define SHIFTMAX 200
static o_ltoken Shifts[SHIFTMAX];
extern ltoken
LSLGenTopPopShiftStack (void)
{
+ ltoken res;
+
if (LSLGenIsEmptyShiftStack ())
{
lclfatalbug ("LSLGenTopPopShiftStack: Empty stack");
}
- /*@-retalias@*/
- return Shifts[--shiftIndex];
- /*@=retalias@*/
+ res = Shifts[--shiftIndex];
+ Shifts[shiftIndex] = ltoken_undefined;
+ /*@-retalias@*/ /*@-dependenttrans@*/
+ return res;
+ /*@=retalias@*/ /*@=dependenttrans@*/
}
void