Skip to content

Commit

Permalink
Merge pull request #822 from diffblue/constants2
Browse files Browse the repository at this point in the history
Verilog: test to track constant folding for all expressions
  • Loading branch information
kroening authored Nov 18, 2024
2 parents 51fa81e + 01eca40 commit fd14e56
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 0 deletions.
8 changes: 8 additions & 0 deletions regression/verilog/expressions/constants2.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
CORE
constants2.sv
--bound 0
^no properties$
^EXIT=10$
^SIGNAL=0$
--
^warning: ignoring
52 changes: 52 additions & 0 deletions regression/verilog/expressions/constants2.sv
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
module main;

// Test for 1800-2017 11.2.1 Constant expressions
// Following the order in 1800-2017 Table 11-1
parameter p01 = 1?2:3;
parameter p02 = +1;
parameter p03 = -1;
parameter p04 = !0;
parameter p05 = ~1;
parameter p06 = &1;
parameter p07 = ~&1;
parameter p08 = |1;
parameter p09 = ~|1;
parameter p10 = ^1;
parameter p11 = ~^1;
parameter p12 = ^~1;
parameter p13 = 1+1;
parameter p14 = 1-1;
parameter p15 = 1*1;
parameter p16 = 1/1;
parameter p17 = 1**1;
parameter p18 = 1%1;
parameter p19 = 1&1;
parameter p20 = 1|1;
parameter p21 = 1^1;
// parameter p22 = 1^~1;
// parameter p23 = 1~^1;
parameter p24 = 1>>1;
parameter p25 = 1<<1;
parameter p26 = 1>>>1;
parameter p27 = 1<<<1;
parameter p28 = 1&&1;
parameter p29 = 1||1;
parameter p30 = 1->1;
// parameter p31 = 1<->1;
parameter p32 = 1<1;
parameter p33 = 1<=1;
parameter p34 = 1>1;
parameter p35 = 1>=1;
// parameter p36 = 1===1;
// parameter p37 = 1!==1;
parameter p38 = 1==1;
parameter p39 = 1!=1;
// parameter p40 = 1==?1;
// parameter p41 = 1!=?1;
// parameter p42 = 1 inside {1};
parameter p43 = {1'b1, 1'b0};
parameter p44 = {2{1'b1}};
// parameter p45 = {<<{3'b101}};
// parameter p46 = {>>{3'b101}};

endmodule
2 changes: 2 additions & 0 deletions src/verilog/parser.y
Original file line number Diff line number Diff line change
Expand Up @@ -3848,6 +3848,8 @@ expression:
{ init($$, ID_bitxor); mto($$, $1); mto($$, $3); }
| expression TOK_TILDECARET expression
{ init($$, ID_bitxnor); mto($$, $1); mto($$, $3); }
| expression TOK_CARETTILDE expression
{ init($$, ID_bitxnor); mto($$, $1); mto($$, $3); }
| expression TOK_LESSLESS expression
{ init($$, ID_shl); mto($$, $1); mto($$, $3); }
| expression TOK_LESSLESSLESS expression
Expand Down

0 comments on commit fd14e56

Please sign in to comment.