Somebody signing messages as Stephen Paul Weber wrote:
I'm not 100% sure that the attached patch is the right solution, but it seems to work both on my local system as well as with my cross-compiler, and is not so dramatic as to remove the integralness check entirely.

Feedback welcome.

It has been pointed out to me that I forgot to attach the patch.

Attached.

--
Stephen Paul Weber, @singpolyma
See <http://singpolyma.net> for how I prefer to be contacted
edition right joseph
From ecefa87381ef47e71dc83a97ea55fa7ebd6d4481 Mon Sep 17 00:00:00 2001
From: Stephen Paul Weber <singpol...@singpolyma.net>
Date: Mon, 7 Jan 2013 16:50:34 -0500
Subject: [PATCH] Possible fix for detecting Float/Double

---
 aclocal.m4 |   74 +++++++++++++++++++++++++++++-------------------------------
 1 file changed, 36 insertions(+), 38 deletions(-)

diff --git a/aclocal.m4 b/aclocal.m4
index 6e9801f..a038de8 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -126,49 +126,47 @@ AC_DEFUN([FPTOOLS_CHECK_HTYPE_ELSE],[
     AC_CACHE_VAL(AC_CV_NAME,[
         AC_CV_NAME_supported=yes
         FP_COMPUTE_INT([HTYPE_IS_INTEGRAL],
-                       [(($1)((int)(($1)1.4))) == (($1)1.4)],
-                       [FPTOOLS_HTYPE_INCLUDES],[AC_CV_NAME_supported=no])
-        if test "$AC_CV_NAME_supported" = "yes"
+                       [($1)1.4],
+                       [FPTOOLS_HTYPE_INCLUDES],[HTYPE_IS_INTEGRAL=0])
+
+        if test "$HTYPE_IS_INTEGRAL" -eq 0
         then
-            if test "$HTYPE_IS_INTEGRAL" -eq 0
+            FP_COMPUTE_INT([HTYPE_IS_FLOAT],[sizeof($1) == sizeof(float)],
+                           [FPTOOLS_HTYPE_INCLUDES],
+                           [AC_CV_NAME_supported=no])
+            FP_COMPUTE_INT([HTYPE_IS_DOUBLE],[sizeof($1) == sizeof(double)],
+                           [FPTOOLS_HTYPE_INCLUDES],
+                           [AC_CV_NAME_supported=no])
+            FP_COMPUTE_INT([HTYPE_IS_LDOUBLE],[sizeof($1) == sizeof(long double)],
+                           [FPTOOLS_HTYPE_INCLUDES],
+                           [AC_CV_NAME_supported=no])
+            if test "$HTYPE_IS_FLOAT" -eq 1
+            then
+                AC_CV_NAME=Float
+            elif test "$HTYPE_IS_DOUBLE" -eq 1
             then
-                FP_COMPUTE_INT([HTYPE_IS_FLOAT],[sizeof($1) == sizeof(float)],
-                               [FPTOOLS_HTYPE_INCLUDES],
-                               [AC_CV_NAME_supported=no])
-                FP_COMPUTE_INT([HTYPE_IS_DOUBLE],[sizeof($1) == sizeof(double)],
-                               [FPTOOLS_HTYPE_INCLUDES],
-                               [AC_CV_NAME_supported=no])
-                FP_COMPUTE_INT([HTYPE_IS_LDOUBLE],[sizeof($1) == sizeof(long double)],
-                               [FPTOOLS_HTYPE_INCLUDES],
-                               [AC_CV_NAME_supported=no])
-                if test "$HTYPE_IS_FLOAT" -eq 1
-                then
-                    AC_CV_NAME=Float
-                elif test "$HTYPE_IS_DOUBLE" -eq 1
-                then
-                    AC_CV_NAME=Double
-                elif test "$HTYPE_IS_LDOUBLE" -eq 1
-                then
-                    AC_CV_NAME=LDouble
-                else
-                    AC_CV_NAME_supported=no
-                fi
+                AC_CV_NAME=Double
+            elif test "$HTYPE_IS_LDOUBLE" -eq 1
+            then
+                AC_CV_NAME=LDouble
             else
-                FP_COMPUTE_INT([HTYPE_IS_SIGNED],[(($1)(-1)) < (($1)0)],
-                               [FPTOOLS_HTYPE_INCLUDES],
-                               [AC_CV_NAME_supported=no])
-                FP_COMPUTE_INT([HTYPE_SIZE],[sizeof($1) * 8],
-                               [FPTOOLS_HTYPE_INCLUDES],
-                               [AC_CV_NAME_supported=no])
-                if test "$HTYPE_IS_SIGNED" -eq 0
-                then
-                    AC_CV_NAME="Word$HTYPE_SIZE"
-                else
-                    AC_CV_NAME="Int$HTYPE_SIZE"
-                fi
+                AC_CV_NAME_supported=no
+            fi
+        else
+            FP_COMPUTE_INT([HTYPE_IS_SIGNED],[(($1)(-1)) < (($1)0)],
+                           [FPTOOLS_HTYPE_INCLUDES],
+                           [AC_CV_NAME_supported=no])
+            FP_COMPUTE_INT([HTYPE_SIZE],[sizeof($1) * 8],
+                           [FPTOOLS_HTYPE_INCLUDES],
+                           [AC_CV_NAME_supported=no])
+            if test "$HTYPE_IS_SIGNED" -eq 0
+            then
+                AC_CV_NAME="Word$HTYPE_SIZE"
+            else
+                AC_CV_NAME="Int$HTYPE_SIZE"
             fi
         fi
-        ])
+    ])
     if test "$AC_CV_NAME_supported" = no
     then
         $2
-- 
1.7.10.4

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to