Suppose you have something like 'struct foo { char data[10000000]; }', and you want to pass such objects as function parameters, and return them as function results, by value, does this currently work correctly on all supported target platforms?