Skip to content

Commit 4643f41

Browse files
committed
fix element offset, missing code for c++, missing testing argument
1 parent 370944f commit 4643f41

3 files changed

Lines changed: 12 additions & 3 deletions

File tree

crates/core/src/abi.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2201,7 +2201,7 @@ impl<'a, B: Bindgen> Generator<'a, B> {
22012201
self.push_block();
22022202
self.emit(&IterBasePointer);
22032203
let elemaddr = self.stack.pop().unwrap();
2204-
self.read_from_memory(ty, elemaddr, Default::default());
2204+
self.read_from_memory(ty, elemaddr, offset);
22052205
self.finish_block(1);
22062206
self.stack.push(addr.clone());
22072207
self.emit(&FixedSizeListLiftFromMemory {

crates/cpp/src/lib.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2705,7 +2705,15 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
27052705
self.push_str("\n}\n}\n");
27062706
results.push(vec);
27072707
}
2708-
abi::Instruction::FixedSizeListLower { .. } => todo!(),
2708+
abi::Instruction::FixedSizeListLower {
2709+
element: _,
2710+
size,
2711+
id: _,
2712+
} => {
2713+
for i in 0..(*size as usize) {
2714+
results.push(format!("{}[{i}]", operands[0]));
2715+
}
2716+
}
27092717
abi::Instruction::FixedSizeListLowerToMemory {
27102718
element,
27112719
size: elemsize,

crates/test/src/runner.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ impl TestRunner {
4545
for arg in self.args.iter() {
4646
ret.arg(arg);
4747
}
48-
ret.arg("--invoke=run()");
48+
ret.arg("--invoke=run()")
49+
.arg("-Wcomponent-model-fixed-size-list");
4950
ret
5051
}
5152
}

0 commit comments

Comments
 (0)