X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FDynFlags.hs;h=731ac29b498b5cc4adafced3bf759628bd8b1399;hb=49ea1fa53acd2569b0b74c86a981b0d3779515dd;hp=0bd669041fefefd19c2daec1c6e263ce95910677;hpb=d646207d8c2768fd821bc2a383a2c2aaf6935067;p=ghc-hetmet.git diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 0bd6690..731ac29 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -145,6 +145,7 @@ data DynFlag | Opt_AllowUndecidableInstances | Opt_AllowIncoherentInstances | Opt_MonomorphismRestriction + | Opt_MonoPatBinds | Opt_GlasgowExts | Opt_FFI | Opt_PArr -- syntactic support for parallel arrays @@ -168,6 +169,7 @@ data DynFlag | Opt_DoEtaReduction | Opt_CaseMerge | Opt_UnboxStrictFields + | Opt_DictsCheap -- misc opts | Opt_Cpp @@ -391,6 +393,10 @@ defaultDynFlags = Opt_RecompChecking, Opt_ReadUserPackageConf, + Opt_MonoPatBinds, -- Experimentally, I'm making this non-standard + -- behaviour the default, to see if anyone notices + -- SLPJ July 06 + Opt_ImplicitPrelude, Opt_MonomorphismRestriction, Opt_Strictness, @@ -991,6 +997,7 @@ fFlags = [ ( "scoped-type-variables", Opt_ScopedTypeVariables ), ( "bang-patterns", Opt_BangPatterns ), ( "monomorphism-restriction", Opt_MonomorphismRestriction ), + ( "mono-pat-binds", Opt_MonoPatBinds ), ( "implicit-params", Opt_ImplicitParams ), ( "allow-overlapping-instances", Opt_AllowOverlappingInstances ), ( "allow-undecidable-instances", Opt_AllowUndecidableInstances ), @@ -1007,6 +1014,7 @@ fFlags = [ ( "do-eta-reduction", Opt_DoEtaReduction ), ( "case-merge", Opt_CaseMerge ), ( "unbox-strict-fields", Opt_UnboxStrictFields ), + ( "dicts-cheap", Opt_DictsCheap ), ( "excess-precision", Opt_ExcessPrecision ), ( "asm-mangling", Opt_DoAsmMangling ) ] @@ -1256,6 +1264,13 @@ machdepCCOpts dflags -- -fomit-frame-pointer, so we disable it first here. "-mno-omit-leaf-frame-pointer", #endif +#ifdef HAVE_GCC_HAS_NO_UNIT_AT_A_TIME + "-fno-unit-at-a-time", + -- unit-at-a-time doesn't do us any good, and screws + -- up -split-objs by moving the split markers around. + -- It's only turned on with -O2, but put it here just + -- in case someone uses -optc-O2. +#endif "-fomit-frame-pointer", -- we want -fno-builtin, because when gcc inlines -- built-in functions like memcpy() it tends to