diff options
author | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-12-14 02:42:18 +0000 |
---|---|---|
committer | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-12-14 02:42:18 +0000 |
commit | c64cba58b7b9670c0b9def8148b9736a7e69561f (patch) | |
tree | c4ad092727a97a5881fd2ba115edb99e6caaeb65 /libffi | |
parent | 0ca690d288c2ac8e1532ac55054fd53be2fe5276 (diff) | |
download | gcc-c64cba58b7b9670c0b9def8148b9736a7e69561f.tar.gz |
* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
type on HP-UX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155205 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libffi')
-rw-r--r-- | libffi/ChangeLog | 5 | ||||
-rw-r--r-- | libffi/src/pa/ffi.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog index 517ac4eff63..647e91f55da 100644 --- a/libffi/ChangeLog +++ b/libffi/ChangeLog @@ -1,3 +1,8 @@ +2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE + type on HP-UX. + 2009-12-11 Eric Botcazou <ebotcazou@adacore.com> * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long diff --git a/libffi/src/pa/ffi.c b/libffi/src/pa/ffi.c index c7a14359a0b..6d7606f89bc 100644 --- a/libffi/src/pa/ffi.c +++ b/libffi/src/pa/ffi.c @@ -492,6 +492,13 @@ ffi_status ffi_closure_inner_pa32(ffi_closure *closure, UINT32 *stack) avalue[i] = (void *)(stack - slot); break; +#ifdef PA_HPUX + case FFI_TYPE_LONGDOUBLE: + /* Long doubles are treated like a big structure. */ + avalue[i] = (void *) *(stack - slot); + break; +#endif + case FFI_TYPE_STRUCT: /* Structs smaller or equal than 4 bytes are passed in one register. Structs smaller or equal 8 bytes are passed in two |