# include "splintMacros.nf"
# include "llbasic.h"
-# ifndef NOLCL
# include "usymtab_interface.h"
-# endif
-
# include "exprChecks.h"
# include "filelocStack.h"
-# include "fileIdList.h"
# include "llmain.h"
# include "intSet.h"
# include "osd.h"
typedef struct
{
cstring file;
- typeIdSet daccess ;
+ typeIdSet daccess;
} maccesst;
typedef enum {
gc.kind = CX_GLOBAL;
}
-# ifndef NOLCL
void
context_enterLCLfile (void)
{
gc.kind = CX_LCL;
gc.facct = typeIdSet_emptySet ();
}
-# endif
static void
addModuleAccess (/*@only@*/ cstring fname, typeIdSet mods)
addModuleAccess (cstring_copy (fname), typeIdSet_single (t));
}
-# ifndef NOLCL
void
context_exitLCLfile (void)
{
gc.kind = CX_GLOBAL;
gc.facct = typeIdSet_emptySet ();
}
-# endif
void
context_dumpModuleAccess (FILE *fout)
*/
/* commenting ou until some output issues are fixed */
- /* gc.flags[FLG_ORCONSTRAINT] = TRUE;*/
+ gc.flags[FLG_ORCONSTRAINT] = TRUE;
gc.flags[FLG_CONSTRAINTLOCATION] = TRUE;
gc.flags[FLG_WARNSYSFILES] = TRUE;
/*
- ** On by default for Win32, but not Unix (to support MS/VC++ error message format).
+ ** On by default for Win32, but not Unix
*/
# ifdef WIN32
gc.flags[FLG_PARENFILEFORMAT] = TRUE;
+ gc.flags[FLG_CASEINSENSITIVEFILENAMES] = TRUE;
# endif
}
FLG_TYPEUNUSED,
FLG_CONSTUNUSED, FLG_ENUMMEMUNUSED, FLG_FIELDUNUSED,
FLG_PTRNUMCOMPARE, FLG_BOOLCOMPARE, FLG_UNSIGNEDCOMPARE,
- FLG_MUTREP, FLG_NOEFFECT, FLG_IMPTYPE,
+ FLG_MUTREP, FLG_NOEFFECT, FLG_IMPTYPE,
FLG_RETVALOTHER, FLG_RETVALBOOL, FLG_RETVALINT,
FLG_SPECUNDEF, FLG_INCONDEFS, FLG_INCONDEFSLIB, FLG_MISPLACEDSHAREQUAL,
FLG_MATCHFIELDS,
switch (flag)
{
+ /*
+ case FLG_BOOLTRUE:
+ usymtab_supGlobalEntry
+ (uentry_makeConstantValue (val, ctype_bool,
+ fileloc_getBuiltin (), TRUE,
+ multiVal_makeInt (1)));
+ break;
+ case FLG_BOOLFALSE:
+ usymtab_supGlobalEntry
+ (uentry_makeConstantValue (val, ctype_bool,
+ fileloc_getBuiltin (), FALSE,
+ multiVal_makeInt (0)));
+ break;
+ */
case FLG_MESSAGESTREAM:
case FLG_WARNINGSTREAM:
case FLG_ERRORSTREAM:
{
; /* Okay not handle everything in this switch */
}
- }
+ /*@i523@*/ } /* evans 2002-03-24: splintme reports a spurious (I think) warning here...need to look into it */
if (cstring_length (val) >= 1
&& cstring_firstChar (val) == '\"')
{
llerror_flagWarning (message
- ("setting %s to string beginning with \". You probably "
+ ("Setting %s to string beginning with \". You probably "
"don't meant to have the \"'s.",
flagcode_unparse (flag)));
}
end_allFlagCodes ;
usymtab_initMod ();
-
context_resetAllFlags ();
assertSet (gc.flags); /* Can't use global in defines */
void
context_userSetFlag (flagcode f, bool b)
{
- DPRINTF (("set flag: %s", flagcode_unparse (f)));
+ DPRINTF (("set flag: %s / %s",
+ flagcode_unparse (f),
+ bool_unparse (context_getFlag (f))));
if (f == FLG_NEVERINCLUDE && b)
{
{
llerror_flagWarning
(cstring_makeLiteral
- ("setting +neverinclude after +exportheader. "
+ ("Setting +neverinclude after +exportheader. "
"Turning off exportheader, since headers are not checked "
"when +neverinclude is used."));
{
llerror_flagWarning
(cstring_makeLiteral
- ("setting +exportheader after +neverinclude. "
+ ("Setting +exportheader after +neverinclude. "
"Not setting exportheader, since headers are not checked "
"when +neverinclude is used."));
gc.flags[FLG_EXPORTHEADER] = FALSE;
&& !flagcode_hasArgument (f))
{
llerror_flagWarning
- (message ("setting %s%s redundant with current value",
+ (message ("Setting %s%s redundant with current value",
cstring_makeLiteralTemp (b ? "+" : "-"),
flagcode_unparse (f)));
}
if (!context_getFlag (FLG_WARNUSE))
{
llerror_flagWarning
- (message ("flag +%s is canceled by -warnuse",
+ (message ("Flag +%s is canceled by -warnuse",
flagcode_unparse (f)));
}
}
&& gc.library != f)
{
llerror_flagWarning
- (message ("selecting library %s after library %s was "
+ (message ("Selecting library %s after library %s was "
"selected (only one library may be used)",
flagcode_unparse (f),
flagcode_unparse (gc.library)));
{
llerror_flagWarning
(cstring_makeLiteral
- ("selecting unix library. Unix library is "
+ ("Selecting unix library. Unix library is "
"ad hoc addition to POSIX library. Recommend "
"use +posixlib to select POSIX library instead. "
"Use -warnunixlib to suppress this message."));
{
llerror_flagWarning
(message
- ("setting +%s will not produce warnings with -namechecks. "
+ ("Setting +%s will not produce warnings with -namechecks. "
"Must set +namechecks also.",
flagcode_unparse (f)));
}
context_destroyMod (void)
/*@globals killed gc@*/
{
+ int i;
setCodePoint ();
ctype_destroyMod ();
+ /*
setCodePoint ();
usymtab_free ();
setCodePoint ();
+ */
+
fileTable_free (gc.ftab);
+ gc.ftab = fileTable_undefined;
+
filelocStack_free (gc.locstack);
setCodePoint ();
- gc.ftab = fileTable_undefined;
macrocache_free (gc.mc);
+
+ /* evans 2002-07-12: not reported because of reldef */
+ for (i = 0; i < gc.nmods; i++)
+ {
+ cstring_free (gc.moduleaccess[i].file);
+ }
+
sfree (gc.moduleaccess);
setCodePoint ();
globSet_free (gc.globs_used);
metaStateTable_free (gc.stateTable);
annotationTable_free (gc.annotTable);
+
+
}
/*
return gc.flags [FLG_STRICTOPS];
}
-# ifndef NOLCL
bool context_msgLh (void)
{
return gc.flags [FLG_DOLH];
}
-# endif
void context_pushLoc (void)
{
return (context_getValue (FLG_EXPECT));
}
-# ifndef NOLCL
int context_getLCLExpect (void)
{
return (context_getValue (FLG_LCLEXPECT));
}
-# endif
int context_getLimit (void)
{
return context_getString (FLG_MERGE);
}
-# ifndef NOLCL
bool context_inLCLLib (void)
{
return (gc.kind == CX_LCLLIB);
{
gc.inimport = FALSE;
}
-# endif
bool context_inMacro (void)
{
return (gc.speclinesprocessed);
}
-# ifndef NOLCL
void context_processedSpecLine (void)
{
gc.speclinesprocessed++;
void context_resetSpecLines (void)
{
gc.speclinesprocessed = 0;
+
}
-# endif
bool context_inGlobalContext (void)
{
/*drl 1/6/2001: I didn't think these functions were solid enough to include in the
stable release of splint. I coomented them out so that they won't break anything
but didn't delete them because they will be fixed and included later
+
+
*/
-/*
+/*@-paramuse@*/
+
void setGlobalStructInfo(ctype ct, constraintList list)
{
- int i;
+ /* int i;
uentryList f;
f = ctype_getFields (ct);
globalStructInfo.ngetUe = 0;
- / *abstraction violation fix it * /
+ /* abstraction violation fix it * /
globalStructInfo.t = dmalloc(f->nelements * sizeof(struct getUe) );
globalStructInfo.ngetUe = f->nelements;
}
end_uentryList_elements;
}
+ */
}
-*/
+/*
-bool hasInvariants (ctype ct) /*@*/
+bool hasInvariants (ctype ct) /*@* /
{
if ( ctype_sameName(globalStructInfo.ct, ct) )
return FALSE;
}
+
+
+*/
+
+/*@=paramuse@*/