## Include them in the distribution
EXTRA_DIST = $(splintlib_DATA)
+##get rid of lcd files if the user does a make clean
+CLEANFILES = posix.lcd standard.lcd unix.lcd \
+ posixstrict.lcd standardstrict.lcd unixstrict.lcd
+
## Rules to make splint & the dumps
EXTRA_DIST = $(splintlib_DATA)
+CLEANFILES = posix.lcd standard.lcd unix.lcd \
+ posixstrict.lcd standardstrict.lcd unixstrict.lcd
+
+
SPLINT = $(top_builddir)/src/splint$(EXEEXT)
subdir = lib
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
sRef checkbufferConstraintClausesId (uentry ue)
{
+ sRef sr;
cstring s = uentry_rawName (ue);
if (cstring_equalLit (s, "result"))
}
}
- DPRINTF (("constrant id: %s", uentry_unparseFull (ue)));
- return sRef_saveCopy (uentry_getSref (ue)); /*@i523 why the saveCopy? */
+ DPRINTF (("constraint id: %s", uentry_unparseFull (ue)));
+ sr = uentry_getSref (ue);
+
+ if (sRef_isInvalid (sr) )
+ {
+ 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? */
}
void checkModifiesId (uentry ue)