From 58eb122d1fd4ac4192bc9f6943d12518b32a529b Mon Sep 17 00:00:00 2001 From: Blebowski <34539154+Blebowski@users.noreply.github.com> Date: Sun, 8 Jan 2023 22:52:40 +0100 Subject: [PATCH] Replace ignore-mems coverage option with include-mems (#587) --- nvc.1 | 6 +++--- src/nvc.c | 2 +- src/rt/cover.c | 2 +- src/rt/cover.h | 2 +- test/regress/cover2.sh | 14 ++++++++++++++ test/regress/testlist.txt | 2 +- 6 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 test/regress/cover2.sh diff --git a/nvc.1 b/nvc.1 index 4d39ce97..f338a132 100644 --- a/nvc.1 +++ b/nvc.1 @@ -564,9 +564,9 @@ or .Cm 0 transitions. .It -.Cm ignore-mems -- When set, NVC does not collect toggle coverage on multidimensional arrays or -nested arrays (array of array). +.Cm include-mems +- When set, NVC collects toggle coverage on multidimensional arrays or +nested arrays (array of array), disabled by default. .It .Cm ignore-arrays-from- - When set, NVC does not collect toggle coverage for any array which is equal to diff --git a/src/nvc.c b/src/nvc.c index 6a7d3536..18dbb395 100644 --- a/src/nvc.c +++ b/src/nvc.c @@ -236,7 +236,7 @@ static void parse_cover_options(const char *str, cover_mask_t *mask, { "all", COVER_MASK_ALL }, { "count-from-undefined", COVER_MASK_TOGGLE_COUNT_FROM_UNDEFINED }, { "count-from-to-z", COVER_MASK_TOGGLE_COUNT_FROM_TO_Z }, - { "ignore-mems", COVER_MASK_TOGGLE_IGNORE_MEMS }, + { "include-mems", COVER_MASK_TOGGLE_INCLUDE_MEMS }, }; for (const char *start = str; ; str++) { diff --git a/src/rt/cover.c b/src/rt/cover.c index 9dac5d9a..21bc2927 100644 --- a/src/rt/cover.c +++ b/src/rt/cover.c @@ -184,7 +184,7 @@ bool cover_skip_array_toggle(cover_tagging_t *tagging, int a_size) return true; // Array is multi-dimensional or nested - if (cover_enabled(tagging, COVER_MASK_TOGGLE_IGNORE_MEMS) && + if ((!cover_enabled(tagging, COVER_MASK_TOGGLE_INCLUDE_MEMS)) && tagging->array_depth > 0) return true; diff --git a/src/rt/cover.h b/src/rt/cover.h index fecd04ea..d0d93f3e 100644 --- a/src/rt/cover.h +++ b/src/rt/cover.h @@ -136,7 +136,7 @@ typedef enum { COVER_MASK_EXPRESSION = (1 << 3), COVER_MASK_TOGGLE_COUNT_FROM_UNDEFINED = (1 << 8), COVER_MASK_TOGGLE_COUNT_FROM_TO_Z = (1 << 9), - COVER_MASK_TOGGLE_IGNORE_MEMS = (1 << 10) + COVER_MASK_TOGGLE_INCLUDE_MEMS = (1 << 10) } cover_mask_t; #define COVER_MASK_ALL (COVER_MASK_STMT | COVER_MASK_BRANCH | COVER_MASK_TOGGLE | COVER_MASK_EXPRESSION) diff --git a/test/regress/cover2.sh b/test/regress/cover2.sh new file mode 100644 index 00000000..3995bb2c --- /dev/null +++ b/test/regress/cover2.sh @@ -0,0 +1,14 @@ +set -xe + +pwd +which nvc + +nvc -a $TESTDIR/regress/cover2.vhd -e --cover=toggle,include-mems cover2 -r +nvc -c --report html work/_WORK.COVER2.elab.covdb 2>&1 | tee out.txt + +if [ ! -f html/index.html ]; then + echo "missing coverage report" + exit 1 +fi + +diff -u $TESTDIR/regress/gold/cover2.txt out.txt diff --git a/test/regress/testlist.txt b/test/regress/testlist.txt index daa84335..3892cb39 100644 --- a/test/regress/testlist.txt +++ b/test/regress/testlist.txt @@ -692,7 +692,7 @@ issue570 normal,2008 issue571 normal,2008,relaxed operator6 normal,2008 vecorder2 normal,2008 -cover2 cover=toggle,gold +cover2 cover,shell cover3 cover=branch,gold cover4 cover=branch,gold cover5 cover,shell -- 2.39.2