diff --git a/ghc/compiler/nativeGen/PprMach.lhs b/ghc/compiler/nativeGen/PprMach.lhs index 700700e2f5c06c03ee084fac652d1204433e23f2..766c2b32e47be1013fe86437303da69f2b80fc02 100644 --- a/ghc/compiler/nativeGen/PprMach.lhs +++ b/ghc/compiler/nativeGen/PprMach.lhs @@ -819,8 +819,12 @@ pprInstr (FUNBEGIN clab) where pp_lab = pprCLabel_asm clab - pp_ldgp = ptext SLIT(":\n\tldgp $29,0($27)\n") - pp_frame = ptext SLIT("..ng:\n\t.frame $30,4240,$26,0\n\t.prologue 1") + -- NEVER use commas within those string literals, cpp will ruin your day + pp_ldgp = hcat [ ptext SLIT(":\n\tldgp $29"), char ',', ptext SLIT("0($27)\n") ] + pp_frame = hcat [ ptext SLIT("..ng:\n\t.frame $30"), char ',', + ptext SLIT("4240"), char ',', + ptext SLIT("$26"), char ',', + ptext SLIT("0\n\t.prologue 1") ] pprInstr (FUNEND clab) = (<>) (ptext SLIT("\t.align 4\n\t.end ")) (pprCLabel_asm clab) diff --git a/ghc/compiler/rename/RnMonad.lhs b/ghc/compiler/rename/RnMonad.lhs index fae50f335f5ce9239bc0a34240c6fae946bdd982..5494fe39744296a96aa9732c40924e5c593c62c1 100644 --- a/ghc/compiler/rename/RnMonad.lhs +++ b/ghc/compiler/rename/RnMonad.lhs @@ -20,7 +20,11 @@ module RnMonad( #include "HsVersions.h" +#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 302 import PrelIOBase ( fixIO ) -- Should be in GlaExts +#else +import IOBase ( fixIO ) +#endif import IOExts ( IORef, newIORef, readIORef, writeIORef, unsafePerformIO ) import HsSyn