mirror of https://github.com/YosysHQ/yosys.git
verilog: allow spaces in macro arguments
This commit is contained in:
parent
4762cc06c6
commit
4fadcc8f25
|
@ -392,7 +392,6 @@ static bool read_argument(std::string &dest)
|
||||||
{
|
{
|
||||||
std::vector<char> openers;
|
std::vector<char> openers;
|
||||||
for (;;) {
|
for (;;) {
|
||||||
skip_spaces();
|
|
||||||
std::string tok = next_token(true);
|
std::string tok = next_token(true);
|
||||||
if (tok == ")") {
|
if (tok == ")") {
|
||||||
if (openers.empty())
|
if (openers.empty())
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
module top(
|
||||||
|
input wire [31:0] i,
|
||||||
|
output wire [31:0] x, y, z
|
||||||
|
);
|
||||||
|
|
||||||
|
`define BAR(a) a
|
||||||
|
`define FOO(a = function automatic [31:0] f) a
|
||||||
|
|
||||||
|
`BAR(function automatic [31:0] a);
|
||||||
|
input [31:0] i;
|
||||||
|
a = i * 2;
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
`FOO();
|
||||||
|
input [31:0] i;
|
||||||
|
f = i * 3;
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
`FOO(function automatic [31:0] b);
|
||||||
|
input [31:0] i;
|
||||||
|
b = i * 5;
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
assign x = a(i);
|
||||||
|
assign y = f(i);
|
||||||
|
assign z = b(i);
|
||||||
|
|
||||||
|
endmodule
|
Loading…
Reference in New Issue