From b4075d9d55eb335152a268fedf776e67e70bf275 Mon Sep 17 00:00:00 2001 From: simonmar Date: Thu, 14 Aug 2003 10:43:10 +0000 Subject: [PATCH] [project @ 2003-08-14 10:43:10 by simonmar] Fix terrible bug in isNonPtrRep, which was ignoring the possibily of the 64-bit reps. The result was that functions with 2 64-bit args were getting the wrong argument descriptor, leading to crashes. Thanks to Peter Thiemann for a great bug report. --- ghc/compiler/prelude/PrimRep.lhs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ghc/compiler/prelude/PrimRep.lhs b/ghc/compiler/prelude/PrimRep.lhs index 7462258..a58240b 100644 --- a/ghc/compiler/prelude/PrimRep.lhs +++ b/ghc/compiler/prelude/PrimRep.lhs @@ -119,7 +119,7 @@ Identify anything which is one word large and not a pointer. isNonPtrRep :: PrimRep -> Bool isNonPtrRep PtrRep = False isNonPtrRep VoidRep = False -isNonPtrRep r = not (isFloatingRep r) +isNonPtrRep r = not (isFloatingRep r) && not (is64BitRep r) \end{code} \begin{code} -- 1.7.10.4