aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2009-12-14 02:42:18 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2009-12-14 02:42:18 +0000
commitf93a40eaa321c7c6cd47790dd30ddb774d33d8ed (patch)
treec4ad092727a97a5881fd2ba115edb99e6caaeb65
parentf610bc0aa11be30f054855052b92d66b75f9ce47 (diff)
downloadgcc-f93a40eaa321c7c6cd47790dd30ddb774d33d8ed.zip
gcc-f93a40eaa321c7c6cd47790dd30ddb774d33d8ed.tar.gz
gcc-f93a40eaa321c7c6cd47790dd30ddb774d33d8ed.tar.bz2
ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE type on HP-UX.
* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE type on HP-UX. From-SVN: r155205
-rw-r--r--libffi/ChangeLog5
-rw-r--r--libffi/src/pa/ffi.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index 517ac4ef..647e91f 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 c7a1435..6d7606f 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