Patchwork libffii, fix build for powerpc where DOUBLE equal LONGDOUBLE

login
register
mail settings
Submitter Andreas Tobler
Date Feb. 2, 2013, 4:36 p.m.
Message ID <510D408A.5020900@fgznet.ch>
Download mbox | patch
Permalink /patch/217693/
State New
Headers show

Comments

Andreas Tobler - Feb. 2, 2013, 4:36 p.m.
Hi,

I'm going to apply the patch below if there are no objections.

On PowerPC FreeBSD we have DOUBLE = LONGDOUBLE, so w/o the below the
compilation fails with a double 'case' entry.
Something went wrong with the latest upstream patch. And I didn't have a
chance to test earlier.

Ok?

TIA,
Andreas

2013-02-02  Andreas Tobler  <andreast@fgznet.ch>

	* src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix case where
	DOUBLE equal LONGDOUBLE.

Patch

Index: src/powerpc/ffi.c
===================================================================
--- src/powerpc/ffi.c	(revision 195611)
+++ src/powerpc/ffi.c	(working copy)
@@ -664,9 +664,11 @@ 
   switch (type)
     {
 #ifndef __NO_FPRS__
+#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
     case FFI_TYPE_LONGDOUBLE:
       flags |= FLAG_RETURNS_128BITS;
       /* Fall through.  */
+#endif
     case FFI_TYPE_DOUBLE:
       flags |= FLAG_RETURNS_64BITS;
       /* Fall through.  */