[libc++][AIX] Fix trivial_abi return tests for unique_ptr/weak_ptr
authorJinsong Ji <jji@us.ibm.com>
Wed, 23 Feb 2022 18:43:27 +0000 (13:43 -0500)
committerJinsong Ji <jji@us.ibm.com>
Wed, 23 Feb 2022 19:22:34 +0000 (14:22 -0500)
commit9bd9cbfa2f7b60ddb95cb321eaf2a4804aeef611
treee9eba59e94dc9edd582902338be5960d0796bdf0
parent95f3cc222a510b31c1890ab0e840828634805204
[libc++][AIX] Fix trivial_abi return tests for unique_ptr/weak_ptr

The unique_ptr_ret and weak_ptr_ret tests are not expected to pass on
AIX. These tests check that unique_ptr and weak_ptr are returned by
value, but on AIX, all structs are always returned by reference.

```
3.9.6 Function Return Values
...

Note: Structures of any length and character strings longer than four
bytes are returned in a storage buffer allocated by the caller. The
address of this buffer is passed as a hidden first argument in GPR3,
which causes the first explicit argument word to be passed in GPR4. This
hidden argument is treated as a formal argument and corresponds to the
first word of the argument area.
```

Reviewed By: #powerpc, daltenty, #libc, Quuxplusone, philnik

Differential Revision: https://reviews.llvm.org/D119952
libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp
libcxx/test/libcxx/memory/trivial_abi/weak_ptr_ret.pass.cpp