/*
** 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)
}
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 ();