diff --git a/sv-parser-pp/src/preprocess.rs b/sv-parser-pp/src/preprocess.rs index 062a7b2..91013b1 100644 --- a/sv-parser-pp/src/preprocess.rs +++ b/sv-parser-pp/src/preprocess.rs @@ -1097,6 +1097,22 @@ mod tests { }; } // }}} + #[test] + #[allow(non_snake_case)] + fn err_DefineArgNotFound() { // {{{ + match preprocess_usualargs("err_DefineArgNotFound.sv").unwrap_err() { + Error::DefineArgNotFound(identifier) => { + assert_eq!( + identifier, + String::from("c") + ); + } + _ => { + panic!("Error::DefineArgNotFound not raised."); + } + }; + } // }}} + #[test] #[allow(non_snake_case)] fn IEEE18002017_keywords_if2_13642005() { // {{{ diff --git a/sv-parser-pp/testcases/err_DefineArgNotFound.sv b/sv-parser-pp/testcases/err_DefineArgNotFound.sv new file mode 100644 index 0000000..c2fe5c0 --- /dev/null +++ b/sv-parser-pp/testcases/err_DefineArgNotFound.sv @@ -0,0 +1,5 @@ +/* IEEE1800-2017 Clause 22.5.1 top of page 678 +*/ +`define MACRO1(a=5,b="B",c) $display(a,,b,,c); +`MACRO1(1) // Macro called without required argument `c`. +