X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FHsVersions.h;h=dd80922e0b3692e04b11581ab106212d07b4790e;hb=9d7da331989abcd1844e9d03b8d1e4163796fa85;hp=1c07d2c5aeb127f038c6a2c68bc5e8bbc2120c5e;hpb=2a2efb720c0fdc06fe749f96f284b00b30f8f3f7;p=ghc-hetmet.git diff --git a/ghc/compiler/HsVersions.h b/ghc/compiler/HsVersions.h index 1c07d2c..dd80922 100644 --- a/ghc/compiler/HsVersions.h +++ b/ghc/compiler/HsVersions.h @@ -90,11 +90,19 @@ name = Util.global (value) :: IORef (ty); \ -- when compiling FastString itself #ifndef COMPILING_FAST_STRING -- -import qualified FastString +import qualified FastString as FS #endif -#define SLIT(x) (FastString.mkLitString# (x#)) -#define FSLIT(x) (FastString.mkFastString# (x#)) +#define SLIT(x) (FS.mkLitString# (x#)) +#define FSLIT(x) (FS.mkFastString# (x#)) + +-- Useful for declaring arguments to be strict +#define STRICT1(f) f a b c | a `seq` False = undefined +#define STRICT2(f) f a b | a `seq` b `seq` False = undefined +#define STRICT3(f) f a b c | a `seq` b `seq` c `seq` False = undefined +#define STRICT4(f) f a b c d | a `seq` b `seq` c `seq` d `seq` False = undefined +#define STRICT5(f) f a b c d e | a `seq` b `seq` c `seq` d `seq` e `seq` False = undefined +#define STRICT6(f) f a b c d e f | a `seq` b `seq` c `seq` d `seq` e `seq` f `seq` False = undefined #endif /* HsVersions.h */