/*
** 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
# endif
# include "splintMacros.nf"
-# include "llbasic.h"
+# include "basic.h"
# include "osd.h"
# include "help.h"
-
# include "gram.h"
# include "lclscan.h"
# include "scanline.h"
# include "Headers/version.h" /* Visual C++ finds the wrong version.h */
# include "lcllib.h"
# include "cgrammar.h"
+# include "rcfiles.h"
# include "llmain.h"
-# include "portab.h"
-
extern /*@external@*/ int yydebug;
static void cleanupFiles (void);
if (++i < argc)
{
fname = cstring_fromChars (argv[i]);
- setStringFlag (opt, fname);
+ flags_setStringFlag (opt, fname);
}
else
{
** will be <tmpprefix>.<file>.c)
*/
+ /* Why was this here? It is always a bug... */
+# if 0
{
-# ifdef WIN32
+# if defined (WIN32) || defined (OS2) && defined (__IBMC__)
int nfiles = /*@-unrecog@*/ _fcloseall (); /*@=unrecog@*/
if (nfiles != 0)
}
# endif
}
+# endif
DPRINTF (("Initializing..."));
}
cstring_free (specErrors);
+
+ if (context_numBugs () > 0) {
+ expsuccess = FALSE;
+ if (!isQuiet) {
+ llmsg (message (" %d internal bugs reported", context_numBugs ()));
+ }
+ }
}
if (context_getFlag (FLG_STATS))
clock_t ttime = clock () - before;
int specLines = context_getSpecLinesProcessed ();
cstring specmsg = cstring_undefined;
-
+
rstime = clock ();
if (specLines > 0)
if (anylcl)
{
+ /* Gack: really should figure out how to make configure find snprintf... */
+# ifdef WIN32
+ (void) _snprintf (msg, 256,
+# else
(void) snprintf (msg, 256,
+# endif
"Time distribution (percent): initialize %.2f / lcl %.2f / "
"pre-process %.2f / c check %.2f / finalize %.2f \n",
(100.0 * (double) (libtime - before) / ttime),
}
else
{
+# ifdef WIN32
+ (void) _snprintf (msg, 256,
+# else
(void) snprintf (msg, 256,
+# endif
"Time distribution (percent): initialize %.2f / "
"pre-process %.2f / c check %.2f / finalize %.2f \n",
(100.0 * (double) (libtime - before) / ttime),
}
else
{
-# ifdef WIN32
+# if defined (WIN32) || defined (OS2) && defined (__IBMC__)
int nfiles = /*@-unrecog@*/ _fcloseall (); /*@=unrecog@*/
if (nfiles != 0)
{
DPRINTF (("llexit: %d", status));
-# ifdef WIN32
+# if defined (WIN32) || defined (OS2) && defined (__IBMC__)
if (status == LLFAILURE)
{
_fcloseall ();
if (status != LLFAILURE)
{
usymtab_destroyMod ();
- context_destroyMod ();
+
+ /*drl I'm commenting this line out
+ because it is causing Splint to crash when built with
+ 2.95 I'm not sure if this is a compiler bug or if if has to do with bool
+ Any way if we're going to exist the program why do we bother freeing stuff...
+ */
+ /* context_destroyMod (); */
exprNode_destroyMod ();
cppReader_destroyMod ();
sRef_destroyMod ();