From: simonmar Date: Thu, 14 Aug 2003 10:43:10 +0000 (+0000) Subject: [project @ 2003-08-14 10:43:10 by simonmar] X-Git-Tag: Approx_11550_changesets_converted~583 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=b4075d9d55eb335152a268fedf776e67e70bf275 [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. --- 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}