File tree Expand file tree Collapse file tree 3 files changed +9
-3
lines changed
regression/verilog/preprocessor Expand file tree Collapse file tree 3 files changed +9
-3
lines changed Original file line number Diff line number Diff line change 1313
1414x-y-z
1515x-y-value
16+ moo-foo-bar
1617^EXIT=0$
1718^SIGNAL=0$
1819--
Original file line number Diff line number Diff line change 77`define with_parameter(a, b, c) a- b- c
88`with_parameter(x , y, z )
99`with_parameter(x , y, `with_value)
10+ `with_parameter (moo, foo, bar)
11+ `define no_parameter (1 + 2 )
12+ `no_parameter
Original file line number Diff line number Diff line change @@ -281,6 +281,9 @@ auto verilog_preprocessort::parse_define_arguments(const definet &define)
281281 if (define.parameters .empty ())
282282 return {};
283283
284+ // skip whitespace
285+ tokenizer ().skip_ws ();
286+
284287 if (tokenizer ().next_token () != ' (' )
285288 throw verilog_preprocessor_errort () << " expecting define arguments" ;
286289
@@ -366,11 +369,10 @@ void verilog_preprocessort::directive()
366369 auto &identifier = identifier_token.text ;
367370 auto &define = defines[identifier];
368371
369- // skip whitespace
370- tokenizer ().skip_ws ();
371-
372372 // Is there a parameter list?
373373 // These have been introduced in Verilog 2001.
374+ // 1800-2017: "The left parenthesis shall follow the text macro name
375+ // immediately, with no space in between."
374376 if (tokenizer ().peek () == ' (' )
375377 define.parameters = parse_define_parameters ();
376378
You can’t perform that action at this time.
0 commit comments