From e7b960d3168075fb32b3cd7af7a74181a6e8b035 Mon Sep 17 00:00:00 2001
From: sof <unknown>
Date: Sun, 16 Aug 1998 17:43:28 +0000
Subject: [PATCH] [project @ 1998-08-16 17:43:27 by sof] Protect long long bits
 with HAVE_LONG_LONG

---
 ghc/includes/StgMacros.lh |  2 ++
 ghc/includes/StgTypes.lh  | 16 +++++++++-------
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/ghc/includes/StgMacros.lh b/ghc/includes/StgMacros.lh
index 2dbca4555c92..d498a01487b8 100644
--- a/ghc/includes/StgMacros.lh
+++ b/ghc/includes/StgMacros.lh
@@ -1221,6 +1221,7 @@ PK_FLT(W_ p_src[])
 
 #endif /* not __m68k__ */
 
+#if HAVE_LONG_LONG
 extern STG_INLINE
 void
 ASSIGN_Word64(W_ p_dest[], StgWord64 src)
@@ -1260,6 +1261,7 @@ PK_Int64(W_ p_src[])
     y.iu.dlo = p_src[1];
     return(y.i);
 }
+#endif
 
 \end{code}
 
diff --git a/ghc/includes/StgTypes.lh b/ghc/includes/StgTypes.lh
index 553cd4694900..824f56d6f7e8 100644
--- a/ghc/includes/StgTypes.lh
+++ b/ghc/includes/StgTypes.lh
@@ -247,6 +247,14 @@ typedef union __dt
     unpacked_double du;
   } double_thing;
 
+typedef StgWord unpacked_float;
+
+typedef union __ft
+  { StgFloat f;
+    unpacked_float fu;
+  } float_thing;
+
+#if HAVE_LONG_LONG
 typedef union __it
   { StgInt64 i;
     unpacked_double iu;
@@ -256,13 +264,7 @@ typedef union __wt
   { StgWord64 w;
     unpacked_double wu;
   } word64_thing;
-
-typedef StgWord unpacked_float;
-
-typedef union __ft
-  { StgFloat f;
-    unpacked_float fu;
-  } float_thing;
+#endif
 
 \end{code}
 
-- 
GitLab