This is a preliminary patch that adds test cases for handling empty
structs in C++.
The current implementation for passing empty structs is inconsistent
with the calling convention description. For example, when there is only
one empty struct (it satisfies the condition 0 < WOA < GRLEN),
according to the calling convention, it should be passed through a
GAR (if exists). However, the current implementation does not pass it.
Upcoming patch will address these inconsistencies.