From a386a12cde5bc8fbca1e3b7338d86c7506c5cdc9 Mon Sep 17 00:00:00 2001 From: Nick Gasson Date: Sun, 14 Apr 2024 12:30:19 +0100 Subject: [PATCH] Add some labels to blocks in cover9 test --- src/parse.c | 4 +- test/regress/cover9.vhd | 22 ++++----- test/regress/data/cover9_ef1.txt | 22 ++++----- test/regress/data/cover9_ef3.txt | 2 +- test/regress/data/cover9_ef4.txt | 2 +- test/regress/gold/cover9.txt | 78 ++++++++++++++++---------------- 6 files changed, 65 insertions(+), 65 deletions(-) diff --git a/src/parse.c b/src/parse.c index ff4ead3b..d5b4c430 100644 --- a/src/parse.c +++ b/src/parse.c @@ -9868,7 +9868,7 @@ static tree_t p_if_statement(ident_t label) p_trailing_label(label); consume(tSEMI); - tree_set_loc(t, CURRENT_LOC); + set_label_and_loc(t, label, CURRENT_LOC); sem_check(t, nametab); return t; } @@ -10197,7 +10197,7 @@ static tree_t p_case_statement(ident_t label) p_trailing_label(label); consume(tSEMI); - tree_set_loc(t, CURRENT_LOC); + set_label_and_loc(t, label, CURRENT_LOC); sem_check(t, nametab); return t; } diff --git a/test/regress/cover9.vhd b/test/regress/cover9.vhd index f946f920..32ad8b8a 100644 --- a/test/regress/cover9.vhd +++ b/test/regress/cover9.vhd @@ -105,7 +105,7 @@ begin --------------------------------------------------------------------------- -- Tests that excluding bins 00,01,10,11 works --------------------------------------------------------------------------- - y <= a xor b; + P0: y <= a xor b; --------------------------------------------------------------------------- -- Tests that excluding statement and evaluated to True works @@ -113,30 +113,30 @@ begin and_gate: process(a1, b1) begin if (a1 = '1' and b1 = '1') then - y1 <= '1'; + a: y1 <= '1'; else - y1 <= '0'; + b: y1 <= '0'; end if; end process; --------------------------------------------------------------------------- -- Tests that excluding case choices bins and whole case choice works --------------------------------------------------------------------------- - process(sel) + P1: process(sel) begin - case sel is + case_stmt: case sel is when 0 => - report "Selector is 0"; + rpt1: report "Selector is 0"; when 1 => - report "Selector is 1"; + rpt2: report "Selector is 1"; when 2 => - report "Selector is 2"; + rpt3: report "Selector is 2"; when 3 => - report "Selector is 3"; + rpt4: report "Selector is 3"; when 4 => - report "Selector is 4"; + rpt5: report "Selector is 4"; when others => - report "Selector is OTHERS"; + rpt6: report "Selector is OTHERS"; end case; end process; diff --git a/test/regress/data/cover9_ef1.txt b/test/regress/data/cover9_ef1.txt index bd4dff64..f0afc845 100644 --- a/test/regress/data/cover9_ef1.txt +++ b/test/regress/data/cover9_ef1.txt @@ -7,10 +7,10 @@ exclude WORK.COVER9.SUB_BLOCK_INST.* ############################################################################### # Test statement excluding ############################################################################### -exclude WORK.COVER9.AND_GATE._S0._B0._S0 -exclude WORK.COVER9._P1._S0._S3 -exclude WORK.COVER9._p1._S0._S4 -exclude WORK.COVER9._P1._S0._S5 +exclude WORK.COVER9.AND_GATE._S0._B0.A +exclude WORK.COVER9.P1.CASE_STMT.RPT4 +exclude WORK.COVER9.p1.CASE_STMT.RPT5 +exclude WORK.COVER9.P1.CASE_STMT.RPT6 ############################################################################### # Test branch excluding @@ -20,19 +20,19 @@ exclude WORK.COVER9._P1._S0._S5 exclude WORK.COVER9.AND_GATE._S0._B0 BIN_TRUE # Choice excluded with exact bin name -exclude WORK.COVER9._P1._S0._B3._B0 BIN_CHOICE +exclude WORK.COVER9.P1.CASE_STMT._B3._B0 BIN_CHOICE # Choices excluded without bin name -exclude WORK.COVER9._P1._s0._B4._B0 -exclude WORK.COVER9._P1._S0._B_OTHERS +exclude WORK.COVER9.P1.case_stmt._B4._B0 +exclude WORK.COVER9.P1.CASE_STMT._B_OTHERS ############################################################################### # Test expression excluding ############################################################################### -exclude WORK.COVER9._P0._S0._E0 BIN_0_0 -exclude WORK.cover9._P0._S0._E0 BIN_0_1 -exclude WORK.COVER9._P0._S0._E0 BIN_1_0 -exclude WORK.COVER9._P0._S0._E0 BIN_1_1 +exclude WORK.COVER9.P0._S0._E0 BIN_0_0 +exclude WORK.cover9.P0._S0._E0 BIN_0_1 +exclude WORK.COVER9.P0._S0._E0 BIN_1_0 +exclude WORK.COVER9.P0._S0._E0 BIN_1_1 exclude WORK.COVER9.AND_GATE._S0._B0._E0 exclude WORK.COVER9.AND_GATE._S0._B0._E1 diff --git a/test/regress/data/cover9_ef3.txt b/test/regress/data/cover9_ef3.txt index e4908036..30a8d0c0 100644 --- a/test/regress/data/cover9_ef3.txt +++ b/test/regress/data/cover9_ef3.txt @@ -1,3 +1,3 @@ # Invalid bin name WTF_BIN -exclude WORK.COVER9._P0._S0._E0 WTF_BIN \ No newline at end of file +exclude WORK.COVER9.P0._S0._E0 WTF_BIN diff --git a/test/regress/data/cover9_ef4.txt b/test/regress/data/cover9_ef4.txt index d3ce0dea..f13cc48b 100644 --- a/test/regress/data/cover9_ef4.txt +++ b/test/regress/data/cover9_ef4.txt @@ -1,3 +1,3 @@ # Bin name placed for statements - Should not be there -exclude WORK.COVER9._P1._S0._S5 ADDED_BIN_WHERE_IT_SHOULD_NOT_BE \ No newline at end of file +exclude WORK.COVER9.P1.CASE_STMT.RPT6 ADDED_BIN_WHERE_IT_SHOULD_NOT_BE diff --git a/test/regress/gold/cover9.txt b/test/regress/gold/cover9.txt index ef9a0a63..deff25a7 100644 --- a/test/regress/gold/cover9.txt +++ b/test/regress/gold/cover9.txt @@ -123,26 +123,26 @@ | 5 | exclude WORK.COVER9.SUB_BLOCK_INST.* | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding statement: 'WORK.COVER9.AND_GATE._S0._B0._S0' +** Note: excluding statement: 'WORK.COVER9.AND_GATE._S0._B0.A' > data/cover9_ef1.txt:10 | - 10 | exclude WORK.COVER9.AND_GATE._S0._B0._S0 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding statement: 'WORK.COVER9._P1._S0._S3' + 10 | exclude WORK.COVER9.AND_GATE._S0._B0.A + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +** Note: excluding statement: 'WORK.COVER9.P1.CASE_STMT.RPT4' > data/cover9_ef1.txt:11 | - 11 | exclude WORK.COVER9._P1._S0._S3 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding statement: 'WORK.COVER9._P1._S0._S4' + 11 | exclude WORK.COVER9.P1.CASE_STMT.RPT4 + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +** Note: excluding statement: 'WORK.COVER9.P1.CASE_STMT.RPT5' > data/cover9_ef1.txt:12 | - 12 | exclude WORK.COVER9._p1._S0._S4 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding statement: 'WORK.COVER9._P1._S0._S5' + 12 | exclude WORK.COVER9.p1.CASE_STMT.RPT5 + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +** Note: excluding statement: 'WORK.COVER9.P1.CASE_STMT.RPT6' > data/cover9_ef1.txt:13 | - 13 | exclude WORK.COVER9._P1._S0._S5 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + 13 | exclude WORK.COVER9.P1.CASE_STMT.RPT6 + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ** Note: excluding branch: 'WORK.COVER9.AND_GATE._S0._B0' bins: BIN_TRUE > data/cover9_ef1.txt:20 | @@ -153,41 +153,41 @@ | 20 | exclude WORK.COVER9.AND_GATE._S0._B0 BIN_TRUE | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding branch: 'WORK.COVER9._P1._S0._B3._B0' bins: BIN_CHOICE +** Note: excluding branch: 'WORK.COVER9.P1.CASE_STMT._B3._B0' bins: BIN_CHOICE > data/cover9_ef1.txt:23 | - 23 | exclude WORK.COVER9._P1._S0._B3._B0 BIN_CHOICE - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding branch: 'WORK.COVER9._P1._S0._B4._B0' bins: BIN_CHOICE + 23 | exclude WORK.COVER9.P1.CASE_STMT._B3._B0 BIN_CHOICE + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +** Note: excluding branch: 'WORK.COVER9.P1.CASE_STMT._B4._B0' bins: BIN_CHOICE > data/cover9_ef1.txt:26 | - 26 | exclude WORK.COVER9._P1._s0._B4._B0 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding branch: 'WORK.COVER9._P1._S0._B_OTHERS' bins: BIN_CHOICE + 26 | exclude WORK.COVER9.P1.case_stmt._B4._B0 + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +** Note: excluding branch: 'WORK.COVER9.P1.CASE_STMT._B_OTHERS' bins: BIN_CHOICE > data/cover9_ef1.txt:27 | - 27 | exclude WORK.COVER9._P1._S0._B_OTHERS - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding expression: 'WORK.COVER9._P0._S0._E0' bins: BIN_0_0 + 27 | exclude WORK.COVER9.P1.CASE_STMT._B_OTHERS + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +** Note: excluding expression: 'WORK.COVER9.P0._S0._E0' bins: BIN_0_0 > data/cover9_ef1.txt:32 | - 32 | exclude WORK.COVER9._P0._S0._E0 BIN_0_0 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding expression: 'WORK.COVER9._P0._S0._E0' bins: BIN_0_1 + 32 | exclude WORK.COVER9.P0._S0._E0 BIN_0_0 + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +** Note: excluding expression: 'WORK.COVER9.P0._S0._E0' bins: BIN_0_1 > data/cover9_ef1.txt:33 | - 33 | exclude WORK.cover9._P0._S0._E0 BIN_0_1 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding expression: 'WORK.COVER9._P0._S0._E0' bins: BIN_1_0 + 33 | exclude WORK.cover9.P0._S0._E0 BIN_0_1 + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +** Note: excluding expression: 'WORK.COVER9.P0._S0._E0' bins: BIN_1_0 > data/cover9_ef1.txt:34 | - 34 | exclude WORK.COVER9._P0._S0._E0 BIN_1_0 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -** Note: excluding expression: 'WORK.COVER9._P0._S0._E0' bins: BIN_1_1 + 34 | exclude WORK.COVER9.P0._S0._E0 BIN_1_0 + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +** Note: excluding expression: 'WORK.COVER9.P0._S0._E0' bins: BIN_1_1 > data/cover9_ef1.txt:35 | - 35 | exclude WORK.COVER9._P0._S0._E0 BIN_1_1 - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + 35 | exclude WORK.COVER9.P0._S0._E0 BIN_1_1 + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ** Note: excluding expression: 'WORK.COVER9.AND_GATE._S0._B0._E0' bins: BIN_TRUE, BIN_FALSE > data/cover9_ef1.txt:37 | @@ -277,18 +277,18 @@ | 5 | exducles HALO.HALO | ^^^^^^^^^^^^^^^^^^ -** Fatal: invalid bin: 'WTF_BIN' for expression: 'WORK.COVER9._P0._S0._E0' +** Fatal: invalid bin: 'WTF_BIN' for expression: 'WORK.COVER9.P0._S0._E0' > data/cover9_ef3.txt:3 | - 3 | exclude WORK.COVER9._P0._S0._E0 WTF_BIN - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + 3 | exclude WORK.COVER9.P0._S0._E0 WTF_BIN + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = Note: valid bins are: BIN_0_0, BIN_0_1, BIN_1_0, BIN_1_1 -** Fatal: statements do not contain bins, but bin 'ADDED_BIN_WHERE_IT_SHOULD_NOT_BE' was given for statement: 'WORK.COVER9._P1._S0._S5' +** Fatal: statements do not contain bins, but bin 'ADDED_BIN_WHERE_IT_SHOULD_NOT_BE' was given for statement: 'WORK.COVER9.P1.CASE_STMT.RPT6' > data/cover9_ef4.txt:3 | - 3 | exclude WORK.COVER9._P1._S0._S5 ADDED_BIN_WHERE_IT_SHOULD_NOT_BE - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + 3 | exclude WORK.COVER9.P1.CASE_STMT.RPT6 ADDED_BIN_WHERE_IT_SHOULD_NOT_BE + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ** Fatal: exclude hierarchy missing! > data/cover9_ef5.txt:3 | -- 2.39.2