Skip to content

Commit e7ce6f0

Browse files
committed
fix element offset, missing code for c++, missing testing argument
1 parent 5b5b07f commit e7ce6f0

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

crates/core/src/abi.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2186,7 +2186,7 @@ impl<'a, B: Bindgen> Generator<'a, B> {
21862186
self.push_block();
21872187
self.emit(&IterBasePointer);
21882188
let elemaddr = self.stack.pop().unwrap();
2189-
self.read_from_memory(ty, elemaddr, Default::default());
2189+
self.read_from_memory(ty, elemaddr, offset);
21902190
self.finish_block(1);
21912191
self.stack.push(addr.clone());
21922192
self.emit(&FixedSizeListLiftFromMemory {

crates/cpp/src/lib.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2703,7 +2703,15 @@ impl<'a, 'b> Bindgen for FunctionBindgen<'a, 'b> {
27032703
self.push_str("\n}\n}\n");
27042704
results.push(vec);
27052705
}
2706-
abi::Instruction::FixedSizeListLower { .. } => todo!(),
2706+
abi::Instruction::FixedSizeListLower {
2707+
element: _,
2708+
size,
2709+
id: _,
2710+
} => {
2711+
for i in 0..(*size as usize) {
2712+
results.push(format!("{}[{i}]", operands[0]));
2713+
}
2714+
}
27072715
abi::Instruction::FixedSizeListLowerToMemory {
27082716
element,
27092717
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)