@@ -32,8 +32,8 @@ class Z80ABIInfo : public DefaultABIInfo {
3232 removeExtend (Arg.info = classifyArgumentType (Arg.type ));
3333 }
3434
35- Address EmitVAArg (CodeGenFunction &CGF, Address VAListAddr,
36- QualType Ty) const override ;
35+ RValue EmitVAArg (CodeGenFunction &CGF, Address VAListAddr,
36+ QualType Ty, AggValueSlot Slot ) const override ;
3737};
3838
3939class Z80TargetCodeGenInfo : public TargetCodeGenInfo {
@@ -45,15 +45,18 @@ class Z80TargetCodeGenInfo : public TargetCodeGenInfo {
4545};
4646} // namespace
4747
48- Address Z80ABIInfo::EmitVAArg (CodeGenFunction &CGF,
49- Address VAListAddr, QualType Ty ) const {
50- Address Addr = emitVoidPtrVAArg (
48+ RValue Z80ABIInfo::EmitVAArg (CodeGenFunction &CGF, Address VAListAddr ,
49+ QualType Ty, AggValueSlot Slot ) const {
50+ return emitVoidPtrVAArg (
5151 CGF, VAListAddr, Ty, /* Indirect*/ false ,
5252 getContext ().getTypeInfoInChars (Ty),
53- CharUnits::fromQuantity (getDataLayout ().getPointerSize ()),
54- CharUnits::One (), /* AllowHigherAlign*/ false );
53+ /* SlotSize*/ CharUnits::fromQuantity (getDataLayout ().getPointerSize ()),
54+ /* SlotAlign*/ CharUnits::One (),
55+ /* AllowHigherAlign*/ false ,
56+ Slot);
57+ // TODO adriweb: comment by jacobly:
5558 // Remove SlotSize over-alignment, since stack is never aligned.
56- return Address (Addr.getPointer (), Addr. getType (), CharUnits::fromQuantity (1 ));
59+ // return Address(Addr.getPointer(), CharUnits::fromQuantity(1));
5760}
5861
5962void Z80TargetCodeGenInfo::setTargetAttributes (
0 commit comments