mirror of
https://codeberg.org/LibrEDA/libreda-lefdef
synced 2026-05-29 00:05:31 +08:00
pulls #2: merge fix for hanging on FIXEDMASK
This commit is contained in:
@@ -104,6 +104,12 @@ where
|
||||
} else if tk.test_str("RECT")? {
|
||||
let iterate = tk.test_str("ITERATE")?;
|
||||
|
||||
let mask_num: Option<u8> = if tk.test_str("MASK")? {
|
||||
Some(tk.take_and_parse()?)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let (p1, p2) = read_rect(tk)?;
|
||||
|
||||
let step_pattern = if iterate {
|
||||
@@ -617,11 +623,12 @@ where
|
||||
loop {
|
||||
if tk.test_str("END")? {
|
||||
break;
|
||||
} else if tk.test_str("FIXEDMASK")? {
|
||||
tk.expect_str(";");
|
||||
} else if tk.test_str("CLASS")? {
|
||||
let class: MacroClass = tk.take_and_parse()?;
|
||||
let with_sub_class = if !tk.test_str(";")? {
|
||||
// Read sub class.
|
||||
|
||||
let with_sub_class = match class {
|
||||
MacroClass::COVER(_) => {
|
||||
let bump = tk.test_str("BUMP")?;
|
||||
|
||||
2935
tests/data/lef_examples/freepdk45/gscl45nm_mask_test.lef
Normal file
2935
tests/data/lef_examples/freepdk45/gscl45nm_mask_test.lef
Normal file
File diff suppressed because it is too large
Load Diff
@@ -20,6 +20,18 @@ fn test_read_lef_freepdk45() {
|
||||
assert!(result.is_ok());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_read_lef_freepdk45_mask_test() {
|
||||
let f = File::open("./tests/data/lef_examples/freepdk45/gscl45nm_mask_test.lef").unwrap();
|
||||
let mut buf = BufReader::new(f);
|
||||
|
||||
let result = lef_parser::read_lef_bytes(&mut buf);
|
||||
|
||||
dbg!(&result);
|
||||
|
||||
assert!(result.is_ok());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_read_lef_asap7() {
|
||||
let f = File::open("./tests/data/lef_examples/asap7/asap7_tech_4x_201209.lef").unwrap();
|
||||
|
||||
Reference in New Issue
Block a user