diff options
Diffstat (limited to 'libs/nanopb/tests/splint')
-rw-r--r-- | libs/nanopb/tests/splint/SConscript | 16 | ||||
-rw-r--r-- | libs/nanopb/tests/splint/splint.rc | 37 |
2 files changed, 53 insertions, 0 deletions
diff --git a/libs/nanopb/tests/splint/SConscript b/libs/nanopb/tests/splint/SConscript new file mode 100644 index 0000000..cd4b5b9 --- /dev/null +++ b/libs/nanopb/tests/splint/SConscript @@ -0,0 +1,16 @@ +# Check the nanopb core using splint + +Import('env') + +p = env.WhereIs('splint') + +if p: + env.Command('pb_decode.splint', '$NANOPB/pb_decode.c', + 'splint -f splint/splint.rc $SOURCE 2> $TARGET') + + env.Command('pb_encode.splint', '$NANOPB/pb_encode.c', + 'splint -f splint/splint.rc $SOURCE 2> $TARGET') + + env.Command('pb_common.splint', '$NANOPB/pb_common.c', + 'splint -f splint/splint.rc $SOURCE 2> $TARGET') + diff --git a/libs/nanopb/tests/splint/splint.rc b/libs/nanopb/tests/splint/splint.rc new file mode 100644 index 0000000..e47d3c2 --- /dev/null +++ b/libs/nanopb/tests/splint/splint.rc @@ -0,0 +1,37 @@ ++checks ++partial ++matchanyintegral ++strictlib +-nullassign +-predboolint +-predboolptr ++ptrnegate +-switchloopbreak ++ignoresigns +-infloopsuncon +-type + +# splint's memory checks don't quite work without annotations +-mustfreeonly +-compmempass +-nullret +-observertrans +-statictrans +-compdestroy +-nullpass +-nullstate +-compdef +-usereleased +-temptrans +-dependenttrans +-kepttrans +-branchstate +-immediatetrans +-mustfreefresh + +# These tests give false positives, compiler typically has +# better warnings for these. +-noret +-noeffect +-usedef + |