# Make sure everything imports the options, and all Instance/Argument/Hint are qualified.
$(SHOW)"COQLINT"
$(HIDE)forFILEin$(VFILES);do\
if ! fgrep -q 'From iris.prelude Require Import options.' "$$FILE"; then echo "ERROR:$$FILE does not import 'options'."; echo; exit 1; fi ; \
if ! grep -F -q 'From iris.prelude Require Import options.' "$$FILE"; then echo "ERROR:$$FILE does not import 'options'."; echo; exit 1; fi ; \
./coq-lint.sh "$$FILE" || exit 1; \
done
# Make sure main Iris does not import other Iris packages.
$(HIDE)if egrep 'iris\.(heap_lang|deprecated|unstable)' --include "*.v" -R iris; then echo "ERROR:Iris may not import modules from other Iris packages (see above for violations)."; echo; exit 1; fi
$(HIDE)if grep -E 'iris\.(heap_lang|deprecated|unstable)' --include "*.v" -R iris; then echo "ERROR:Iris may not import modules from other Iris packages (see above for violations)."; echo; exit 1; fi
.PHONY:style
# the test suite
...
...
@@ -27,7 +27,7 @@ test: $(TESTFILES:.v=.vo)
COQ_TEST=$(COQTOP)$(COQDEBUG)-batch-test-mode
# Need to make this a lazy variable (`=` instead of `:=`) since COQ_VERSION is only set later.
if egrep -n'^\s*((Existing\s+|Program\s+|Declare\s+)?Instance|Arguments|Remove|Hint\s+(Extern|Constructors|Resolve|Immediate|Mode|Opaque|Transparent|Unfold)|(Open|Close)\s+Scope|Opaque|Transparent)\b'"$FILE";then
if grep-E-n'^\s*((Existing\s+|Program\s+|Declare\s+)?Instance|Arguments|Remove|Hint\s+(Extern|Constructors|Resolve|Immediate|Mode|Opaque|Transparent|Unfold)|(Open|Close)\s+Scope|Opaque|Transparent)\b'"$FILE";then
echo"ERROR: $FILE contains 'Instance'/'Arguments'/'Hint' or another side-effect without locality (see above)."
echo"Please add 'Global' or 'Local' as appropriate."