ppTests IEEE1800-2017_keyword_*

This commit is contained in:
damc 2022-07-26 10:28:23 +02:00
parent 565d15ccc5
commit 4d647bf72d
7 changed files with 99 additions and 0 deletions

View File

@ -964,6 +964,57 @@ mod tests {
); );
} // }}} } // }}}
#[test]
#[allow(non_snake_case)]
fn IEEE18002017_keywords_if2_13642005() { // {{{
let (ret, _) = preprocess(
testfile_path("IEEE18002017_keywords_if2_13642005.sv"),
&HashMap::new(),
&[] as &[String],
false,
false,
)
.unwrap();
assert_eq!(
ret.text(),
testfile_contents("expected/IEEE18002017_keywords_if2_13642005.sv")
);
} // }}}
#[test]
#[allow(non_snake_case)]
fn IEEE18002017_keywords_m2_13642001() { // {{{
let (ret, _) = preprocess(
testfile_path("IEEE18002017_keywords_m2_13642001.sv"),
&HashMap::new(),
&[] as &[String],
false,
false,
)
.unwrap();
assert_eq!(
ret.text(),
testfile_contents("expected/IEEE18002017_keywords_m2_13642001.sv")
);
} // }}}
#[test]
#[allow(non_snake_case)]
fn IEEE18002017_keywords_m2_18002005() { // {{{
let (ret, _) = preprocess(
testfile_path("IEEE18002017_keywords_m2_18002005.sv"),
&HashMap::new(),
&[] as &[String],
false,
false,
)
.unwrap();
assert_eq!(
ret.text(),
testfile_contents("expected/IEEE18002017_keywords_m2_18002005.sv")
);
} // }}}
#[test] #[test]
#[allow(non_snake_case)] #[allow(non_snake_case)]
fn IEEE18002017_macro_argument_expansion() { // {{{ fn IEEE18002017_macro_argument_expansion() { // {{{

View File

@ -0,0 +1,8 @@
`begin_keywords "1364-2005" // use IEEE Std 1364-2005 Verilog keywords
interface if2 (); // ERROR: "interface" is not a keyword in 1364-2005
// This interface should pass the preprocessor, but not the main parser
// because the identifiers `interface` and `endinterface` are not reserved
// keywords in IEEE1364-2005.
endinterface // ERROR: "endinterface" is not a keyword in 1364-2005
`end_keywords

View File

@ -0,0 +1,8 @@
`begin_keywords "1364-2001"
module m2 ();
// "logic" is NOT a reserved keyword in IEEE1364-2001.
// This module should pass both the preprocessor, AND the main parser.
reg [63:0] logic;
endmodule
`end_keywords

View File

@ -0,0 +1,8 @@
`begin_keywords "1800-2005"
module m2 ();
// "logic" IS a reserved keyword in IEEE1800-2005.
// This module should pass both the preprocessor, but NOT the main parser.
reg [63:0] logic;
endmodule
`end_keywords

View File

@ -0,0 +1,8 @@
`begin_keywords "1364-2005" // use IEEE Std 1364-2005 Verilog keywords
interface if2 (); // ERROR: "interface" is not a keyword in 1364-2005
// This interface should pass the preprocessor, but not the main parser
// because the identifiers `interface` and `endinterface` are not reserved
// keywords in IEEE1364-2005.
endinterface // ERROR: "endinterface" is not a keyword in 1364-2005
`end_keywords

View File

@ -0,0 +1,8 @@
`begin_keywords "1364-2001"
module m2 ();
// "logic" is NOT a reserved keyword in IEEE1364-2001.
// This module should pass both the preprocessor, AND the main parser.
reg [63:0] logic;
endmodule
`end_keywords

View File

@ -0,0 +1,8 @@
`begin_keywords "1800-2005"
module m2 ();
// "logic" IS a reserved keyword in IEEE1800-2005.
// This module should pass both the preprocessor, but NOT the main parser.
reg [63:0] logic;
endmodule
`end_keywords