diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2012-11-05 19:13:42 +0000 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2012-11-05 19:13:42 +0000 |
commit | 71c0dcc129262e565069fbfc0b5239a05c94b86c (patch) | |
tree | 60a344ad8501a2a0da1f6fcdf277acedf077971a /test/Modules/Inputs/Module.framework/Headers/Module.h | |
parent | bd8fa30760754c902bde3e2210094833833452b9 (diff) |
On PowerPC64, integer arguments and return values need to be sign- or
zero-extended to 64 bits. This information is currently provided to
the back end by setting "signext" or "zeroext" attributes. However,
this is done only for integer types *smaller* than i32, not for i32
itself. This causes clang to generate code violating the ABI, which
results in a failure of the tramp3d-v4 test case (due to calling a
system library routine without ABI-required extension).
This patch implements custom versions of classifyArgumentType and
classifyReturnType for PPC64_SVR4_ABIInfo, which are the same as the
default versions except that they also classify "int" and "unsigned int"
as types needing extending. This fixed tramp3d-v4 on PowerPC64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167393 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Modules/Inputs/Module.framework/Headers/Module.h')
0 files changed, 0 insertions, 0 deletions