diff --git a/ghc/runtime/prims/PrimArith.lc b/ghc/runtime/prims/PrimArith.lc index 4cad02fa19908a8d5eae3912334eccab3a6a492b..22646ef73b8ec259e519c7baea846082187d82ce 100644 --- a/ghc/runtime/prims/PrimArith.lc +++ b/ghc/runtime/prims/PrimArith.lc @@ -7,6 +7,23 @@ \begin{code} /* basic definitions, just as if this were a module */ +/* + Sigh, ieee-flpt.h (which we need here) uses + __GLASGOW_HASKELL__ in a place or two to check + whether it is being included in a Haskell source file + or not. This is no longer the case! __GLASGOW_HASKELL__ + is also defined when compiling .c files (C code that + depend on the RTS API needs to know this). + + An unfortunate state of affairs, but since this is + the only place where the two uses of __GLASGOW_HASKELL__ + clash, we hack around and undefine it before including + the header file. -- sof 8/98 +*/ +#ifdef __GLASGOW_HASKELL__ +#undef __GLASGOW_HASKELL__ +#endif + #include "rtsdefs.h" \end{code}