File tree Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -241,7 +241,10 @@ treats it as a non-empty field since {Cpp} defines the size of an empty struct
241
241
or union as 1. However, C defines it as 0, that result from the array with an
242
242
empty struct or union having a different size between C and {Cpp}. i.e.
243
243
`struct { struct {} e[1]; float f; };` C will passed by `f0`, but {Cpp} will
244
- passed by `a0`
244
+ passed by `a0`, because `e` will be ignored in C but in for {Cpp};
245
+ The zero-length array of empty structs or union will treat be
246
+ ignored for bot C and {Cpp}. i.e. For `struct { struct {} e[0]; float f; };`,
247
+ C and {Cpp} will passed by `f0` since `e` will be ignored in both C and {Cpp}.
245
248
246
249
A real floating-point argument is passed in a floating-point argument
247
250
register if it is no more than ABI_FLEN bits wide and at least one floating-point
You can’t perform that action at this time.
0 commit comments