diff --git a/src/verilog.l b/src/verilog.l index 2da54bccd..947e9ce03 100644 --- a/src/verilog.l +++ b/src/verilog.l @@ -530,7 +530,7 @@ vnum {vnum1}|{vnum2}|{vnum3}|{vnum4}|{vnum5} "extends" { FL; return yEXTENDS; } "extern" { FL; return yEXTERN; } "final" { FL; return yFINAL; } - "first_match" { ERROR_RSVD_WORD("SystemVerilog 2005"); } + "first_match" { FL; return yFIRST_MATCH; } "forkjoin" { FL; return yFORKJOIN; } "iff" { FL; return yIFF; } "ignore_bins" { ERROR_RSVD_WORD("SystemVerilog 2005"); } diff --git a/src/verilog.y b/src/verilog.y index b57bae87f..e8ee45fd4 100644 --- a/src/verilog.y +++ b/src/verilog.y @@ -610,7 +610,7 @@ BISONPRE_VERSION(3.7,%define api.header.include {"V3ParseBison.h"}) %token yEXTENDS "extends" %token yEXTERN "extern" %token yFINAL "final" -//UNSUP %token yFIRST_MATCH "first_match" +%token yFIRST_MATCH "first_match" %token yFOR "for" %token yFORCE "force" %token yFOREACH "foreach" @@ -6143,8 +6143,10 @@ sexpr: // ==IEEE: sequence_expr (The name sexpr is important as reg | ~p~sexpr yINTERSECT sexpr { $$ = $1; BBUNSUP($2, "Unsupported: intersect (in sequence expression)"); } // - //UNSUP yFIRST_MATCH '(' sexpr ')' { } - //UNSUP yFIRST_MATCH '(' sexpr ',' sequence_match_itemList ')' { } + | yFIRST_MATCH '(' sexpr ')' + { $$ = nullptr; BBUNSUP($1, "Unsupported: first_match (in sequence expression)"); } + | yFIRST_MATCH '(' sexpr ',' sequence_match_itemList ')' + { $$ = nullptr; BBUNSUP($1, "Unsupported: first_match (in sequence expression)"); } | ~p~sexpr/*sexpression_or_dist*/ yTHROUGHOUT sexpr { $$ = $1; BBUNSUP($2, "Unsupported: throughout (in sequence expression)"); } // // Below pexpr's are really sequence_expr, but avoid conflict @@ -6185,18 +6187,18 @@ cycle_delay_range: // IEEE: ==cycle_delay_range BBUNSUP($1, "Unsupported: ## [+] cycle delay range expression"); } ; -//UNSUPsequence_match_itemList: // IEEE: [sequence_match_item] part of sequence_expr -//UNSUP sequence_match_item { $$ = $1; } -//UNSUP | sequence_match_itemList ',' sequence_match_item { $$ = addNextNull($1, $3); } -//UNSUP ; +sequence_match_itemList: // IEEE: [sequence_match_item] part of sequence_expr + sequence_match_item { $$ = $1; } + | sequence_match_itemList ',' sequence_match_item { $$ = addNextNull($1, $3); } + ; -//UNSUPsequence_match_item: // ==IEEE: sequence_match_item -//UNSUP // // IEEE says: operator_assignment -//UNSUP // // IEEE says: inc_or_dec_expression -//UNSUP // // IEEE says: subroutine_call -//UNSUP // // This is the same list as... -//UNSUP for_step_assignment { $$ = $1; } -//UNSUP ; +sequence_match_item: // ==IEEE: sequence_match_item + // // IEEE says: operator_assignment + // // IEEE says: inc_or_dec_expression + // // IEEE says: subroutine_call + // // This is the same list as... + for_step_assignment { $$ = $1; } + ; boolean_abbrev: // ==IEEE: boolean_abbrev // // IEEE: consecutive_repetition diff --git a/test_regress/t/t_sequence_sexpr_unsup.out b/test_regress/t/t_sequence_sexpr_unsup.out index e128af57a..f72f26834 100644 --- a/test_regress/t/t_sequence_sexpr_unsup.out +++ b/test_regress/t/t_sequence_sexpr_unsup.out @@ -1,224 +1,242 @@ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:26:4: Unsupported: sequence - 26 | sequence s_a; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:27:4: Unsupported: sequence + 27 | sequence s_a; | ^~~~~~~~ ... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:29:4: Unsupported: sequence - 29 | sequence s_var; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:30:4: Unsupported: sequence + 30 | sequence s_var; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:34:4: Unsupported: sequence - 34 | sequence s_within; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:35:4: Unsupported: sequence + 35 | sequence s_within; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:35:9: Unsupported: within (in sequence expression) - 35 | a within(b); +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:36:9: Unsupported: within (in sequence expression) + 36 | a within(b); | ^~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:38:4: Unsupported: sequence - 38 | sequence s_and; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:39:4: Unsupported: sequence + 39 | sequence s_and; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:39:9: Unsupported: and (in sequence expression) - 39 | a and b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:40:9: Unsupported: and (in sequence expression) + 40 | a and b; | ^~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:42:4: Unsupported: sequence - 42 | sequence s_or; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:43:4: Unsupported: sequence + 43 | sequence s_or; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:43:9: Unsupported: or (in sequence expression) - 43 | a or b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:44:9: Unsupported: or (in sequence expression) + 44 | a or b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:46:4: Unsupported: sequence - 46 | sequence s_throughout; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:47:4: Unsupported: sequence + 47 | sequence s_throughout; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:47:9: Unsupported: throughout (in sequence expression) - 47 | a throughout b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:48:9: Unsupported: throughout (in sequence expression) + 48 | a throughout b; | ^~~~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:50:4: Unsupported: sequence - 50 | sequence s_intersect; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:51:4: Unsupported: sequence + 51 | sequence s_intersect; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:51:9: Unsupported: intersect (in sequence expression) - 51 | a intersect b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:52:9: Unsupported: intersect (in sequence expression) + 52 | a intersect b; | ^~~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:54:4: Unsupported: sequence - 54 | sequence s_uni_cycdelay_int; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:55:4: Unsupported: sequence + 55 | sequence s_uni_cycdelay_int; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:55:7: Unsupported: ## () cycle delay range expression - 55 | ## 1 b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:56:7: Unsupported: ## () cycle delay range expression + 56 | ## 1 b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:55:12: Unsupported: ## (in sequence expression) - 55 | ## 1 b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:56:12: Unsupported: ## (in sequence expression) + 56 | ## 1 b; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:57:4: Unsupported: sequence - 57 | sequence s_uni_cycdelay_id; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:58:4: Unsupported: sequence + 58 | sequence s_uni_cycdelay_id; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:58:7: Unsupported: ## id cycle delay range expression - 58 | ## DELAY b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:59:7: Unsupported: ## id cycle delay range expression + 59 | ## DELAY b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:58:16: Unsupported: ## (in sequence expression) - 58 | ## DELAY b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:59:16: Unsupported: ## (in sequence expression) + 59 | ## DELAY b; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:60:4: Unsupported: sequence - 60 | sequence s_uni_cycdelay_pid; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:61:4: Unsupported: sequence + 61 | sequence s_uni_cycdelay_pid; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:61:7: Unsupported: ## () cycle delay range expression - 61 | ## ( DELAY ) b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:62:7: Unsupported: ## () cycle delay range expression + 62 | ## ( DELAY ) b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:61:20: Unsupported: ## (in sequence expression) - 61 | ## ( DELAY ) b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:62:20: Unsupported: ## (in sequence expression) + 62 | ## ( DELAY ) b; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:63:4: Unsupported: sequence - 63 | sequence s_uni_cycdelay_range; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:64:4: Unsupported: sequence + 64 | sequence s_uni_cycdelay_range; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:64:7: Unsupported: ## range cycle delay range expression - 64 | ## [1:2] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:65:7: Unsupported: ## range cycle delay range expression + 65 | ## [1:2] b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:64:16: Unsupported: ## (in sequence expression) - 64 | ## [1:2] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:65:16: Unsupported: ## (in sequence expression) + 65 | ## [1:2] b; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:66:4: Unsupported: sequence - 66 | sequence s_uni_cycdelay_star; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:67:4: Unsupported: sequence + 67 | sequence s_uni_cycdelay_star; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:67:7: Unsupported: ## [*] cycle delay range expression - 67 | ## [*] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:68:7: Unsupported: ## [*] cycle delay range expression + 68 | ## [*] b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:67:14: Unsupported: ## (in sequence expression) - 67 | ## [*] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:68:14: Unsupported: ## (in sequence expression) + 68 | ## [*] b; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:69:4: Unsupported: sequence - 69 | sequence s_uni_cycdelay_plus; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:70:4: Unsupported: sequence + 70 | sequence s_uni_cycdelay_plus; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:70:7: Unsupported: ## [+] cycle delay range expression - 70 | ## [+] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:71:7: Unsupported: ## [+] cycle delay range expression + 71 | ## [+] b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:70:14: Unsupported: ## (in sequence expression) - 70 | ## [+] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:71:14: Unsupported: ## (in sequence expression) + 71 | ## [+] b; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:73:4: Unsupported: sequence - 73 | sequence s_cycdelay_int; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:74:4: Unsupported: sequence + 74 | sequence s_cycdelay_int; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:74:9: Unsupported: ## () cycle delay range expression - 74 | a ## 1 b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:75:9: Unsupported: ## () cycle delay range expression + 75 | a ## 1 b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:74:12: Unsupported: ## (in sequence expression) - 74 | a ## 1 b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:75:12: Unsupported: ## (in sequence expression) + 75 | a ## 1 b; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:76:4: Unsupported: sequence - 76 | sequence s_cycdelay_id; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:77:4: Unsupported: sequence + 77 | sequence s_cycdelay_id; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:77:9: Unsupported: ## id cycle delay range expression - 77 | a ## DELAY b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:78:9: Unsupported: ## id cycle delay range expression + 78 | a ## DELAY b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:77:9: Unsupported: ## (in sequence expression) - 77 | a ## DELAY b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:78:9: Unsupported: ## (in sequence expression) + 78 | a ## DELAY b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:79:4: Unsupported: sequence - 79 | sequence s_cycdelay_pid; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:80:4: Unsupported: sequence + 80 | sequence s_cycdelay_pid; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:80:9: Unsupported: ## () cycle delay range expression - 80 | a ## ( DELAY ) b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:81:9: Unsupported: ## () cycle delay range expression + 81 | a ## ( DELAY ) b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:80:14: Unsupported: ## (in sequence expression) - 80 | a ## ( DELAY ) b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:81:14: Unsupported: ## (in sequence expression) + 81 | a ## ( DELAY ) b; | ^~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:82:4: Unsupported: sequence - 82 | sequence s_cycdelay_range; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:83:4: Unsupported: sequence + 83 | sequence s_cycdelay_range; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:83:9: Unsupported: ## range cycle delay range expression - 83 | a ## [1:2] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:84:9: Unsupported: ## range cycle delay range expression + 84 | a ## [1:2] b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:83:9: Unsupported: ## (in sequence expression) - 83 | a ## [1:2] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:84:9: Unsupported: ## (in sequence expression) + 84 | a ## [1:2] b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:85:4: Unsupported: sequence - 85 | sequence s_cycdelay_star; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:86:4: Unsupported: sequence + 86 | sequence s_cycdelay_star; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:86:9: Unsupported: ## [*] cycle delay range expression - 86 | a ## [*] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:87:9: Unsupported: ## [*] cycle delay range expression + 87 | a ## [*] b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:86:9: Unsupported: ## (in sequence expression) - 86 | a ## [*] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:87:9: Unsupported: ## (in sequence expression) + 87 | a ## [*] b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:88:4: Unsupported: sequence - 88 | sequence s_cycdelay_plus; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:89:4: Unsupported: sequence + 89 | sequence s_cycdelay_plus; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:89:9: Unsupported: ## [+] cycle delay range expression - 89 | a ## [+] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:90:9: Unsupported: ## [+] cycle delay range expression + 90 | a ## [+] b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:89:9: Unsupported: ## (in sequence expression) - 89 | a ## [+] b; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:90:9: Unsupported: ## (in sequence expression) + 90 | a ## [+] b; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:92:4: Unsupported: sequence - 92 | sequence s_booleanabbrev_brastar_int; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:93:4: Unsupported: sequence + 93 | sequence s_booleanabbrev_brastar_int; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:93:9: Unsupported: [*] boolean abbrev expression - 93 | a [* 1 ]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:94:9: Unsupported: [*] boolean abbrev expression + 94 | a [* 1 ]; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:93:12: Unsupported: boolean abbrev (in sequence expression) - 93 | a [* 1 ]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:94:12: Unsupported: boolean abbrev (in sequence expression) + 94 | a [* 1 ]; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:95:4: Unsupported: sequence - 95 | sequence s_booleanabbrev_brastar; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:96:4: Unsupported: sequence + 96 | sequence s_booleanabbrev_brastar; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:96:9: Unsupported: [*] boolean abbrev expression - 96 | a [*]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:97:9: Unsupported: [*] boolean abbrev expression + 97 | a [*]; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:96:9: Unsupported: boolean abbrev (in sequence expression) - 96 | a [*]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:97:9: Unsupported: boolean abbrev (in sequence expression) + 97 | a [*]; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:98:4: Unsupported: sequence - 98 | sequence s_booleanabbrev_plus; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:99:4: Unsupported: sequence + 99 | sequence s_booleanabbrev_plus; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:99:9: Unsupported: [+] boolean abbrev expression - 99 | a [+]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:100:9: Unsupported: [+] boolean abbrev expression + 100 | a [+]; | ^~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:99:9: Unsupported: boolean abbrev (in sequence expression) - 99 | a [+]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:100:9: Unsupported: boolean abbrev (in sequence expression) + 100 | a [+]; | ^~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:101:4: Unsupported: sequence - 101 | sequence s_booleanabbrev_eq; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:102:4: Unsupported: sequence + 102 | sequence s_booleanabbrev_eq; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:102:9: Unsupported: [= boolean abbrev expression - 102 | a [= 1]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:103:9: Unsupported: [= boolean abbrev expression + 103 | a [= 1]; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:102:12: Unsupported: boolean abbrev (in sequence expression) - 102 | a [= 1]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:103:12: Unsupported: boolean abbrev (in sequence expression) + 103 | a [= 1]; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:104:4: Unsupported: sequence - 104 | sequence s_booleanabbrev_eq_range; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:105:4: Unsupported: sequence + 105 | sequence s_booleanabbrev_eq_range; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:105:9: Unsupported: [= boolean abbrev expression - 105 | a [= 1:2]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:106:9: Unsupported: [= boolean abbrev expression + 106 | a [= 1:2]; | ^~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:105:12: Unsupported: boolean abbrev (in sequence expression) - 105 | a [= 1:2]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:106:12: Unsupported: boolean abbrev (in sequence expression) + 106 | a [= 1:2]; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:107:4: Unsupported: sequence - 107 | sequence s_booleanabbrev_minusgt; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:108:4: Unsupported: sequence + 108 | sequence s_booleanabbrev_minusgt; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:108:9: Unsupported: [-> boolean abbrev expression - 108 | a [-> 1]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:109:9: Unsupported: [-> boolean abbrev expression + 109 | a [-> 1]; | ^~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:108:13: Unsupported: boolean abbrev (in sequence expression) - 108 | a [-> 1]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:109:13: Unsupported: boolean abbrev (in sequence expression) + 109 | a [-> 1]; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:110:4: Unsupported: sequence - 110 | sequence s_booleanabbrev_minusgt_range; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:111:4: Unsupported: sequence + 111 | sequence s_booleanabbrev_minusgt_range; | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:111:9: Unsupported: [-> boolean abbrev expression - 111 | a [-> 1:2]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:112:9: Unsupported: [-> boolean abbrev expression + 112 | a [-> 1:2]; | ^~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:111:13: Unsupported: boolean abbrev (in sequence expression) - 111 | a [-> 1:2]; +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:112:13: Unsupported: boolean abbrev (in sequence expression) + 112 | a [-> 1:2]; | ^ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:114:4: Unsupported: sequence - 114 | sequence p_arg_seqence(sequence inseq); +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:115:4: Unsupported: sequence + 115 | sequence p_arg_seqence(sequence inseq); | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:114:27: Unsupported: sequence argument data type - 114 | sequence p_arg_seqence(sequence inseq); +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:115:27: Unsupported: sequence argument data type + 115 | sequence p_arg_seqence(sequence inseq); | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:118:10: Unsupported: cover sequence - 118 | cover sequence (s_a) $display(""); +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:119:4: Unsupported: sequence + 119 | sequence s_firstmatch_a; + | ^~~~~~~~ +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:120:7: Unsupported: first_match (in sequence expression) + 120 | first_match (a); + | ^~~~~~~~~~~ +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:122:4: Unsupported: sequence + 122 | sequence s_firstmatch_ab; + | ^~~~~~~~ +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:123:7: Unsupported: first_match (in sequence expression) + 123 | first_match (a, res0 = 1); + | ^~~~~~~~~~~ +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:125:4: Unsupported: sequence + 125 | sequence s_firstmatch_abc; + | ^~~~~~~~ +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:126:7: Unsupported: first_match (in sequence expression) + 126 | first_match (a, res0 = 1, res1 = 2); + | ^~~~~~~~~~~ +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:129:10: Unsupported: cover sequence + 129 | cover sequence (s_a) $display(""); | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:119:10: Unsupported: cover sequence - 119 | cover sequence (@(posedge a) disable iff (b) s_a) $display(""); +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:130:10: Unsupported: cover sequence + 130 | cover sequence (@(posedge a) disable iff (b) s_a) $display(""); | ^~~~~~~~ -%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:120:10: Unsupported: cover sequence - 120 | cover sequence (disable iff (b) s_a) $display(""); +%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:131:10: Unsupported: cover sequence + 131 | cover sequence (disable iff (b) s_a) $display(""); | ^~~~~~~~ %Error: Exiting due to diff --git a/test_regress/t/t_sequence_sexpr_unsup.v b/test_regress/t/t_sequence_sexpr_unsup.v index 0ec594255..da3b99ec2 100644 --- a/test_regress/t/t_sequence_sexpr_unsup.v +++ b/test_regress/t/t_sequence_sexpr_unsup.v @@ -13,6 +13,7 @@ module t (/*AUTOARG*/ int a; int b; int cyc = 0; + int res0, res1; localparam DELAY = 1; @@ -115,6 +116,16 @@ module t (/*AUTOARG*/ inseq; endsequence + sequence s_firstmatch_a; + first_match (a); + endsequence + sequence s_firstmatch_ab; + first_match (a, res0 = 1); + endsequence + sequence s_firstmatch_abc; + first_match (a, res0 = 1, res1 = 2); + endsequence + cover sequence (s_a) $display(""); cover sequence (@(posedge a) disable iff (b) s_a) $display(""); cover sequence (disable iff (b) s_a) $display("");