File tree Expand file tree Collapse file tree 5 files changed +32
-9
lines changed
regression/verilog/system-functions Expand file tree Collapse file tree 5 files changed +32
-9
lines changed Original file line number Diff line number Diff line change 1- KNOWNBUG
1+ CORE
22past5.sv
33
4- ^EXIT=0 $
4+ ^EXIT=10 $
55^SIGNAL=0$
66--
77^warning: ignoring
88--
9- $past doesn't support the array.
Original file line number Diff line number Diff line change @@ -2,6 +2,6 @@ module main;
22
33 logic [31 : 0 ] mem[123 ];
44
5- assert property (## 1 mem == $past (mem));
5+ assert property (mem == $past (mem));
66
77endmodule
Original file line number Diff line number Diff line change 1+ CORE
2+ past6.sv
3+
4+ ^EXIT=10$
5+ ^SIGNAL=0$
6+ --
7+ ^warning: ignoring
8+ --
Original file line number Diff line number Diff line change 1+ module main ;
2+
3+ typedef struct {
4+ bit some_bit;
5+ } inner_struct ;
6+
7+ typedef struct {
8+ bit [31 : 0 ] array [123 ];
9+ bit other_bit;
10+ inner_struct inner;
11+ } my_struct ;
12+
13+ my_struct s;
14+
15+ assert property (s == $past (s));
16+
17+ endmodule
Original file line number Diff line number Diff line change 1515#include < util/mathematical_types.h>
1616#include < util/prefix.h>
1717
18+ #include " verilog_initializer.h"
1819#include " verilog_typecheck_base.h"
1920#include " verilog_types.h"
2021
@@ -535,9 +536,7 @@ exprt verilog_inside_exprt::lower() const
535536
536537exprt verilog_past_exprt::default_value () const
537538{
538- auto zero = from_integer (0 , type ());
539- if (zero.is_nil ())
540- throw " failed to create $past default value" ;
541- else
542- return std::move (zero);
539+ auto value_opt = verilog_default_initializer (type ());
540+ CHECK_RETURN (value_opt.has_value ());
541+ return *value_opt;
543542}
You can’t perform that action at this time.
0 commit comments