This commit is contained in:
Lars-Peter Clausen 2026-05-31 21:54:05 -07:00 committed by GitHub
commit de366fd61e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 92 additions and 1 deletions

View File

@ -4101,7 +4101,8 @@ NetProc* PCallTask::elaborate_queue_method_(Design*des, NetScope*scope,
des->errors += 1;
}
ivl_type_t element_type = net->queue_type()->element_type();
vector<NetExpr*>argv (nparms+1);
unsigned expected_nparms = method_name == "insert" ? 2 : 1;
vector<NetExpr*>argv (expected_nparms+1);
argv[0] = sig;
auto args = map_named_args(des, parm_names, parms_);

View File

@ -0,0 +1,9 @@
// Check that queue insert() rejects too few arguments.
module test;
int q[$];
initial begin
q.insert(0);
end
endmodule

View File

@ -0,0 +1,9 @@
// Check that queue insert() rejects too many arguments.
module test;
int q[$];
initial begin
q.insert(0, 1, 2);
end
endmodule

View File

@ -0,0 +1,9 @@
// Check that queue push_back() rejects too few arguments.
module test;
int q[$];
initial begin
q.push_back();
end
endmodule

View File

@ -0,0 +1,9 @@
// Check that queue push_back() rejects too many arguments.
module test;
int q[$];
initial begin
q.push_back(1, 2);
end
endmodule

View File

@ -0,0 +1,9 @@
// Check that queue push_front() rejects too few arguments.
module test;
int q[$];
initial begin
q.push_front();
end
endmodule

View File

@ -0,0 +1,9 @@
// Check that queue push_front() rejects too many arguments.
module test;
int q[$];
initial begin
q.push_front(1, 2);
end
endmodule

View File

@ -351,6 +351,12 @@ sv_package_lifetime_fail vvp_tests/sv_package_lifetime_fail.json
sv_parameter_type vvp_tests/sv_parameter_type.json
sv_queue_ap_method vvp_tests/sv_queue_ap_method.json
sv_queue_assign_op vvp_tests/sv_queue_assign_op.json
sv_queue_method_insert_too_few_arg_fail vvp_tests/sv_queue_method_insert_too_few_arg_fail.json
sv_queue_method_insert_too_many_arg_fail vvp_tests/sv_queue_method_insert_too_many_arg_fail.json
sv_queue_method_push_back_too_few_arg_fail vvp_tests/sv_queue_method_push_back_too_few_arg_fail.json
sv_queue_method_push_back_too_many_arg_fail vvp_tests/sv_queue_method_push_back_too_many_arg_fail.json
sv_queue_method_push_front_too_few_arg_fail vvp_tests/sv_queue_method_push_front_too_few_arg_fail.json
sv_queue_method_push_front_too_many_arg_fail vvp_tests/sv_queue_method_push_front_too_many_arg_fail.json
sv_soft_packed_union vvp_tests/sv_soft_packed_union.json
sv_soft_packed_union_fail1 vvp_tests/sv_soft_packed_union_fail1.json
sv_super_member_fail vvp_tests/sv_super_member_fail.json

View File

@ -0,0 +1,5 @@
{
"type" : "CE",
"source" : "sv_queue_method_insert_too_few_arg_fail.v",
"iverilog-args" : [ "-g2005-sv" ]
}

View File

@ -0,0 +1,5 @@
{
"type" : "CE",
"source" : "sv_queue_method_insert_too_many_arg_fail.v",
"iverilog-args" : [ "-g2005-sv" ]
}

View File

@ -0,0 +1,5 @@
{
"type" : "CE",
"source" : "sv_queue_method_push_back_too_few_arg_fail.v",
"iverilog-args" : [ "-g2005-sv" ]
}

View File

@ -0,0 +1,5 @@
{
"type" : "CE",
"source" : "sv_queue_method_push_back_too_many_arg_fail.v",
"iverilog-args" : [ "-g2005-sv" ]
}

View File

@ -0,0 +1,5 @@
{
"type" : "CE",
"source" : "sv_queue_method_push_front_too_few_arg_fail.v",
"iverilog-args" : [ "-g2005-sv" ]
}

View File

@ -0,0 +1,5 @@
{
"type" : "CE",
"source" : "sv_queue_method_push_front_too_many_arg_fail.v",
"iverilog-args" : [ "-g2005-sv" ]
}