Prior to this patch, paramter or return value whose type was a
structure containing empty structure members and fewer than three
floating-point members did not meet the calling convention.
With this patch, an empty struct will always be passed.
An empty struct type that is not non-trivial for the purposes of calls
will be treated as though it were the following C type:
struct { char c; };