Skip to content

Commit 06125e7

Browse files
authored
Merge pull request #1082 from diffblue/verilog_sva_sequence_type
SVA: sequence expressions should have sequence type
2 parents a766409 + 346cc58 commit 06125e7

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

src/verilog/sva_expr.h

+16-9
Original file line numberDiff line numberDiff line change
@@ -783,14 +783,15 @@ static inline sva_and_exprt &to_sva_and_expr(exprt &expr)
783783
return static_cast<sva_and_exprt &>(expr);
784784
}
785785

786-
class sva_sequence_concatenation_exprt : public binary_predicate_exprt
786+
class sva_sequence_concatenation_exprt : public binary_exprt
787787
{
788788
public:
789789
explicit sva_sequence_concatenation_exprt(exprt op0, exprt op1)
790-
: binary_predicate_exprt(
790+
: binary_exprt(
791791
std::move(op0),
792792
ID_sva_sequence_concatenation,
793-
std::move(op1))
793+
std::move(op1),
794+
verilog_sva_sequence_typet{})
794795
{
795796
}
796797
};
@@ -925,7 +926,7 @@ class sva_cycle_delay_exprt : public ternary_exprt
925926
std::move(from),
926927
std::move(to),
927928
std::move(op),
928-
bool_typet())
929+
verilog_sva_sequence_typet{})
929930
{
930931
}
931932

@@ -935,7 +936,7 @@ class sva_cycle_delay_exprt : public ternary_exprt
935936
std::move(cycles),
936937
nil_exprt{},
937938
std::move(op),
938-
bool_typet())
939+
verilog_sva_sequence_typet{})
939940
{
940941
}
941942

@@ -1001,7 +1002,10 @@ class sva_cycle_delay_plus_exprt : public unary_exprt
10011002
{
10021003
public:
10031004
explicit sva_cycle_delay_plus_exprt(exprt op)
1004-
: unary_exprt(ID_sva_cycle_delay_plus, std::move(op), bool_typet())
1005+
: unary_exprt(
1006+
ID_sva_cycle_delay_plus,
1007+
std::move(op),
1008+
verilog_sva_sequence_typet{})
10051009
{
10061010
}
10071011

@@ -1029,7 +1033,10 @@ class sva_cycle_delay_star_exprt : public unary_exprt
10291033
{
10301034
public:
10311035
explicit sva_cycle_delay_star_exprt(exprt op)
1032-
: unary_exprt(ID_sva_cycle_delay_star, std::move(op), bool_typet())
1036+
: unary_exprt(
1037+
ID_sva_cycle_delay_star,
1038+
std::move(op),
1039+
verilog_sva_sequence_typet{})
10331040
{
10341041
}
10351042

@@ -1378,7 +1385,7 @@ class sva_sequence_goto_repetition_exprt : public binary_exprt
13781385
std::move(__op),
13791386
ID_sva_sequence_goto_repetition,
13801387
std::move(__repetitions),
1381-
bool_typet{}}
1388+
verilog_sva_sequence_typet{}}
13821389
{
13831390
}
13841391

@@ -1434,7 +1441,7 @@ class sva_sequence_non_consecutive_repetition_exprt : public binary_exprt
14341441
std::move(__op),
14351442
ID_sva_sequence_non_consecutive_repetition,
14361443
std::move(__repetitions),
1437-
bool_typet{}}
1444+
verilog_sva_sequence_typet{}}
14381445
{
14391446
}
14401447

0 commit comments

Comments
 (0)