*/
# include "splintMacros.nf"
-# include "llbasic.h"
+# include "basic.h"
# include "cgrammar.h"
# include "usymtab_interface.h"
if (usymtab_exists (n))
{
usymId llm = usymtab_getId (n);
- uentry le = usymtab_getTypeEntry (llm);
+ uentry le = usymtab_getTypeEntry (typeId_fromUsymId (llm));
uentry_setDeclared (e, g_currentloc);
uentry_setSref (e, sRef_makeGlobal (llm, uentry_getType (le), stateInfo_currentLoc ()));
{
llfatalerrorLoc (cstring_makeLiteral("Macro defined constants can not be used in function constraints unless they are specifed with the constant annotation. To use a macro defined constant include an annotation of the form /*@constant <type> <name>=<value>@*/ somewhere before the function constraint. This restriction may be removed in future releases if it is determined to be excessively burdensome." ));
}
- return sRef_saveCopy (sr); /*@i523 why the saveCopy? */
+
+ /*@ savedCopy to used to mitigate danger of accessing freed memory*/
+ return sRef_saveCopy (sr);
}
void checkModifiesId (uentry ue)
}
else
{
- /*@i222@*/
- /*drl handle structure invariant */
- /*@i222@*/
+ /* drl This is the code for structure invariants
+
+ It is no yet stable enough to be included in a Splint release.
+ */
+
/*check that we're in a structure */
-# if 0\r
+#if 0
/*@unused@*/ uentryList ueL;
/*@unused@*/ uentry ue2;
/*@unused@*/ ctype ct;\r
-# endif
+#endif
fileloc loc = fileloc_decColumn (g_currentloc, size_toInt (cstring_length (s)));
ret = sRef_undefined;
# if 0
- /*drl commenting this out for now
+
ct = context_getLastStruct ( ct );
llassert( ctype_isStruct(ct) );
return ret;
}
- */\r
-# endif\r
+
+#endif
voptgenerror
(FLG_UNRECOG,