pkubaj commented on PR #512: URL: https://github.com/apache/openoffice/pull/512#issuecomment-6375324815
1. A UNO struct can only hold UNO types, cppumaker emits no packing or alignment attributes. Checked with base LLVM on FreeBSD 15.1-RELEASE. Nested floats, inherited doubles, nested + inherited (four doubles) and eight doubles all come back in f1-fN. Nine doubles, and mixed double/float aggregates, come back in r3/r4 or through a hidden pointer, which is what return_in_fprs() and return_in_hidden_param() pick for them. 2. Since macOS changes in August trunk has the cases for TwoFloats, AllFloats and ThreeDoubles (the last one is larger than 16 bytes, so it only works if it's classified as an HFA), SmallStruct, ThreeLongs, OneByte and MixedFloatLong (r3/r4), and MediumStruct and BigStruct (hidden pointer). Nested and inherited float structs aren't in the bridgetest. I only checked them against the compiler (above), because adding them to the bridgetest IDL means every other bridge has to pass them too. I can add them if you think that's worth it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
