Add LANGUAGE pragmas to compiler/ source files
authorHerbert Valerio Riedel <hvr@gnu.org>
Wed, 14 May 2014 17:46:28 +0000 (19:46 +0200)
committerHerbert Valerio Riedel <hvr@gnu.org>
Thu, 15 May 2014 08:27:05 +0000 (10:27 +0200)
In some cases, the layout of the LANGUAGE/OPTIONS_GHC lines has been
reorganized, while following the convention, to

- place `{-# LANGUAGE #-}` pragmas at the top of the source file, before
  any `{-# OPTIONS_GHC #-}`-lines.

- Moreover, if the list of language extensions fit into a single
  `{-# LANGUAGE ... -#}`-line (shorter than 80 characters), keep it on one
  line. Otherwise split into `{-# LANGUAGE ... -#}`-lines for each
  individual language extension. In both cases, try to keep the
  enumeration alphabetically ordered.
  (The latter layout is preferable as it's more diff-friendly)

While at it, this also replaces obsolete `{-# OPTIONS ... #-}` pragma
occurences by `{-# OPTIONS_GHC ... #-}` pragmas.

303 files changed:
compiler/basicTypes/ConLike.lhs
compiler/basicTypes/DataCon.lhs
compiler/basicTypes/Demand.lhs
compiler/basicTypes/Id.lhs
compiler/basicTypes/IdInfo.lhs
compiler/basicTypes/Literal.lhs
compiler/basicTypes/MkId.lhs
compiler/basicTypes/Module.lhs
compiler/basicTypes/Name.lhs
compiler/basicTypes/NameEnv.lhs
compiler/basicTypes/NameSet.lhs
compiler/basicTypes/OccName.lhs
compiler/basicTypes/PatSyn.lhs
compiler/basicTypes/RdrName.lhs
compiler/basicTypes/SrcLoc.lhs
compiler/basicTypes/UniqSupply.lhs
compiler/basicTypes/Unique.lhs
compiler/basicTypes/Var.lhs
compiler/basicTypes/VarSet.lhs
compiler/cmm/Bitmap.hs
compiler/cmm/BlockId.hs
compiler/cmm/Cmm.hs
compiler/cmm/CmmBuildInfoTables.hs
compiler/cmm/CmmCallConv.hs
compiler/cmm/CmmExpr.hs
compiler/cmm/CmmInfo.hs
compiler/cmm/CmmLayoutStack.hs
compiler/cmm/CmmLive.hs
compiler/cmm/CmmMachOp.hs
compiler/cmm/CmmNode.hs
compiler/cmm/CmmOpt.hs
compiler/cmm/CmmPipeline.hs
compiler/cmm/CmmType.hs
compiler/cmm/CmmUtils.hs
compiler/cmm/Hoopl.hs
compiler/cmm/Hoopl/Dataflow.hs
compiler/cmm/MkGraph.hs
compiler/cmm/PprC.hs
compiler/cmm/PprCmm.hs
compiler/cmm/PprCmmDecl.hs
compiler/cmm/SMRep.lhs
compiler/codeGen/CgUtils.hs
compiler/codeGen/CodeGen/Platform/ARM.hs
compiler/codeGen/CodeGen/Platform/NoRegs.hs
compiler/codeGen/CodeGen/Platform/PPC.hs
compiler/codeGen/CodeGen/Platform/PPC_Darwin.hs
compiler/codeGen/CodeGen/Platform/SPARC.hs
compiler/codeGen/CodeGen/Platform/X86.hs
compiler/codeGen/CodeGen/Platform/X86_64.hs
compiler/codeGen/StgCmm.hs
compiler/codeGen/StgCmmBind.hs
compiler/codeGen/StgCmmClosure.hs
compiler/codeGen/StgCmmCon.hs
compiler/codeGen/StgCmmEnv.hs
compiler/codeGen/StgCmmExpr.hs
compiler/codeGen/StgCmmForeign.hs
compiler/codeGen/StgCmmHeap.hs
compiler/codeGen/StgCmmLayout.hs
compiler/codeGen/StgCmmMonad.hs
compiler/codeGen/StgCmmPrim.hs
compiler/codeGen/StgCmmProf.hs
compiler/codeGen/StgCmmTicky.hs
compiler/codeGen/StgCmmUtils.hs
compiler/coreSyn/CoreArity.lhs
compiler/coreSyn/CoreFVs.lhs
compiler/coreSyn/CoreLint.lhs
compiler/coreSyn/CorePrep.lhs
compiler/coreSyn/CoreSubst.lhs
compiler/coreSyn/CoreSyn.lhs
compiler/coreSyn/CoreTidy.lhs
compiler/coreSyn/CoreUnfold.lhs
compiler/coreSyn/CoreUtils.lhs
compiler/coreSyn/MkCore.lhs
compiler/coreSyn/TrieMap.lhs
compiler/deSugar/Check.lhs
compiler/deSugar/Coverage.lhs
compiler/deSugar/Desugar.lhs
compiler/deSugar/DsArrows.lhs
compiler/deSugar/DsBinds.lhs
compiler/deSugar/DsCCall.lhs
compiler/deSugar/DsExpr.lhs
compiler/deSugar/DsForeign.lhs
compiler/deSugar/DsGRHSs.lhs
compiler/deSugar/DsListComp.lhs
compiler/deSugar/DsMeta.hs
compiler/deSugar/DsMonad.lhs
compiler/deSugar/DsUtils.lhs
compiler/deSugar/Match.lhs
compiler/deSugar/MatchCon.lhs
compiler/deSugar/MatchLit.lhs
compiler/ghc.cabal.in
compiler/ghci/ByteCodeAsm.lhs
compiler/ghci/ByteCodeGen.lhs
compiler/ghci/ByteCodeInstr.lhs
compiler/ghci/ByteCodeItbls.lhs
compiler/ghci/ByteCodeLink.lhs
compiler/ghci/Debugger.hs
compiler/ghci/DebuggerUtils.hs
compiler/ghci/Linker.lhs
compiler/ghci/RtClosureInspect.hs
compiler/hsSyn/Convert.lhs
compiler/hsSyn/HsDoc.hs
compiler/hsSyn/HsExpr.lhs
compiler/hsSyn/HsLit.lhs
compiler/hsSyn/HsUtils.lhs
compiler/iface/BinIface.hs
compiler/iface/BuildTyCl.lhs
compiler/iface/IfaceEnv.lhs
compiler/iface/IfaceSyn.lhs
compiler/iface/LoadIface.lhs
compiler/iface/MkIface.lhs
compiler/iface/TcIface.lhs
compiler/llvmGen/Llvm/PpLlvm.hs
compiler/llvmGen/Llvm/Types.hs
compiler/llvmGen/LlvmCodeGen.hs
compiler/llvmGen/LlvmCodeGen/Base.hs
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
compiler/llvmGen/LlvmCodeGen/Data.hs
compiler/llvmGen/LlvmCodeGen/Ppr.hs
compiler/llvmGen/LlvmCodeGen/Regs.hs
compiler/llvmGen/LlvmMangler.hs
compiler/main/BreakArray.hs
compiler/main/CmdLineParser.hs
compiler/main/CodeOutput.lhs
compiler/main/DriverMkDepend.hs
compiler/main/DriverPhases.hs
compiler/main/DriverPipeline.hs
compiler/main/DynFlags.hs
compiler/main/DynamicLoading.hs
compiler/main/ErrUtils.lhs
compiler/main/Finder.lhs
compiler/main/GHC.hs
compiler/main/GhcMake.hs
compiler/main/GhcMonad.hs
compiler/main/HeaderInfo.hs
compiler/main/HscMain.hs
compiler/main/HscTypes.lhs
compiler/main/InteractiveEval.hs
compiler/main/InteractiveEvalTypes.hs
compiler/main/PackageConfig.hs
compiler/main/Packages.lhs
compiler/main/PlatformConstants.hs
compiler/main/PprTyThing.hs
compiler/main/StaticFlags.hs
compiler/main/SysTools.lhs
compiler/main/TidyPgm.lhs
compiler/nativeGen/AsmCodeGen.lhs
compiler/nativeGen/NCGMonad.hs
compiler/nativeGen/PPC/CodeGen.hs
compiler/nativeGen/PPC/Cond.hs
compiler/nativeGen/PPC/Instr.hs
compiler/nativeGen/PPC/RegInfo.hs
compiler/nativeGen/PPC/Regs.hs
compiler/nativeGen/Reg.hs
compiler/nativeGen/RegAlloc/Graph/Main.hs
compiler/nativeGen/RegAlloc/Graph/Stats.hs
compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
compiler/nativeGen/RegAlloc/Linear/FreeRegs.hs
compiler/nativeGen/RegAlloc/Linear/Main.hs
compiler/nativeGen/RegAlloc/Linear/PPC/FreeRegs.hs
compiler/nativeGen/RegAlloc/Linear/State.hs
compiler/nativeGen/RegAlloc/Liveness.hs
compiler/nativeGen/RegClass.hs
compiler/nativeGen/SPARC/CodeGen.hs
compiler/nativeGen/SPARC/CodeGen/Amode.hs
compiler/nativeGen/SPARC/CodeGen/Base.hs
compiler/nativeGen/SPARC/CodeGen/CondCode.hs
compiler/nativeGen/SPARC/CodeGen/Expand.hs
compiler/nativeGen/SPARC/CodeGen/Gen32.hs
compiler/nativeGen/SPARC/CodeGen/Sanity.hs
compiler/nativeGen/SPARC/Cond.hs
compiler/nativeGen/SPARC/Imm.hs
compiler/nativeGen/SPARC/Instr.hs
compiler/nativeGen/SPARC/Ppr.hs
compiler/nativeGen/SPARC/Regs.hs
compiler/nativeGen/SPARC/ShortcutJump.hs
compiler/nativeGen/SPARC/Stack.hs
compiler/nativeGen/Size.hs
compiler/nativeGen/TargetReg.hs
compiler/nativeGen/X86/CodeGen.hs
compiler/nativeGen/X86/Instr.hs
compiler/nativeGen/X86/Ppr.hs
compiler/nativeGen/X86/RegInfo.hs
compiler/nativeGen/X86/Regs.hs
compiler/parser/Ctype.lhs
compiler/parser/RdrHsSyn.lhs
compiler/prelude/PrelInfo.lhs
compiler/prelude/PrelNames.lhs
compiler/prelude/PrelRules.lhs
compiler/prelude/PrimOp.lhs
compiler/prelude/TysPrim.lhs
compiler/prelude/TysWiredIn.lhs
compiler/profiling/CostCentre.lhs
compiler/profiling/SCCfinal.lhs
compiler/rename/RnBinds.lhs
compiler/rename/RnEnv.lhs
compiler/rename/RnExpr.lhs
compiler/rename/RnNames.lhs
compiler/rename/RnPat.lhs
compiler/rename/RnSource.lhs
compiler/rename/RnSplice.lhs
compiler/rename/RnTypes.lhs
compiler/simplCore/CSE.lhs
compiler/simplCore/CoreMonad.lhs
compiler/simplCore/FloatIn.lhs
compiler/simplCore/FloatOut.lhs
compiler/simplCore/LiberateCase.lhs
compiler/simplCore/OccurAnal.lhs
compiler/simplCore/SAT.lhs
compiler/simplCore/SetLevels.lhs
compiler/simplCore/SimplCore.lhs
compiler/simplCore/SimplEnv.lhs
compiler/simplCore/SimplUtils.lhs
compiler/simplCore/Simplify.lhs
compiler/simplStg/SimplStg.lhs
compiler/simplStg/StgStats.lhs
compiler/simplStg/UnariseStg.lhs
compiler/specialise/Rules.lhs
compiler/specialise/SpecConstr.lhs
compiler/specialise/Specialise.lhs
compiler/stgSyn/CoreToStg.lhs
compiler/stgSyn/StgLint.lhs
compiler/stgSyn/StgSyn.lhs
compiler/stranal/DmdAnal.lhs
compiler/stranal/WorkWrap.lhs
compiler/stranal/WwLib.lhs
compiler/typecheck/FamInst.lhs
compiler/typecheck/FunDeps.lhs
compiler/typecheck/Inst.lhs
compiler/typecheck/TcAnnotations.lhs
compiler/typecheck/TcArrows.lhs
compiler/typecheck/TcBinds.lhs
compiler/typecheck/TcCanonical.lhs
compiler/typecheck/TcClassDcl.lhs
compiler/typecheck/TcDefaults.lhs
compiler/typecheck/TcDeriv.lhs
compiler/typecheck/TcEnv.lhs
compiler/typecheck/TcErrors.lhs
compiler/typecheck/TcEvidence.lhs
compiler/typecheck/TcExpr.lhs
compiler/typecheck/TcForeign.lhs
compiler/typecheck/TcGenDeriv.lhs
compiler/typecheck/TcGenGenerics.lhs
compiler/typecheck/TcHsSyn.lhs
compiler/typecheck/TcHsType.lhs
compiler/typecheck/TcInstDcls.lhs
compiler/typecheck/TcInteract.lhs
compiler/typecheck/TcMType.lhs
compiler/typecheck/TcMatches.lhs
compiler/typecheck/TcPat.lhs
compiler/typecheck/TcPatSyn.lhs
compiler/typecheck/TcRnDriver.lhs
compiler/typecheck/TcRnMonad.lhs
compiler/typecheck/TcRnTypes.lhs
compiler/typecheck/TcRules.lhs
compiler/typecheck/TcSMonad.lhs
compiler/typecheck/TcSimplify.lhs
compiler/typecheck/TcSplice.lhs
compiler/typecheck/TcSplice.lhs-boot
compiler/typecheck/TcTyClsDecls.lhs
compiler/typecheck/TcTyDecls.lhs
compiler/typecheck/TcType.lhs
compiler/typecheck/TcUnify.lhs
compiler/typecheck/TcValidity.lhs
compiler/types/Class.lhs
compiler/types/CoAxiom.lhs
compiler/types/Coercion.lhs
compiler/types/FamInstEnv.lhs
compiler/types/InstEnv.lhs
compiler/types/Kind.lhs
compiler/types/OptCoercion.lhs
compiler/types/TyCon.lhs
compiler/types/Type.lhs
compiler/types/TypeRep.lhs
compiler/types/Unify.lhs
compiler/utils/Bag.lhs
compiler/utils/Binary.hs
compiler/utils/BufWrite.hs
compiler/utils/Digraph.lhs
compiler/utils/Encoding.hs
compiler/utils/ExtsCompat46.hs
compiler/utils/FastBool.lhs
compiler/utils/FastFunctions.lhs
compiler/utils/FastMutInt.lhs
compiler/utils/FastString.lhs
compiler/utils/FastTypes.lhs
compiler/utils/Fingerprint.hsc
compiler/utils/GraphBase.hs
compiler/utils/GraphPpr.hs
compiler/utils/IOEnv.hs
compiler/utils/ListSetOps.lhs
compiler/utils/Pair.lhs
compiler/utils/Panic.lhs
compiler/utils/Pretty.lhs
compiler/utils/Serialized.hs
compiler/utils/State.hs
compiler/utils/StringBuffer.lhs
compiler/utils/UniqFM.lhs
compiler/utils/Util.lhs
compiler/vectorise/Vectorise/Exp.hs
compiler/vectorise/Vectorise/Monad/InstEnv.hs
compiler/vectorise/Vectorise/Type/Env.hs
compiler/vectorise/Vectorise/Utils/Base.hs

index de10d0f..3414aa4 100644 (file)
@@ -5,6 +5,7 @@
 \section[ConLike]{@ConLike@: Constructor-like things}
 
 \begin{code}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
 
 module ConLike (
         ConLike(..)
index ad56290..0dcf98f 100644 (file)
@@ -5,7 +5,8 @@
 \section[DataCon]{@DataCon@: Data Constructors}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 8a082b9..e00a4f7 100644 (file)
@@ -5,6 +5,7 @@
 \section[Demand]{@Demand@: A decoupled implementation of a demand domain}
 
 \begin{code}
+{-# LANGUAGE CPP, FlexibleInstances, TypeSynonymInstances #-}
 
 module Demand (
         StrDmd, UseDmd(..), Count(..), 
index aada6dc..b180dc7 100644 (file)
@@ -5,6 +5,8 @@
 \section[Id]{@Ids@: Value and constructor identifiers}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 -- |
 -- #name_types#
 -- GHC uses several kinds of name internally:
index 94b3d2a..d9bce17 100644 (file)
@@ -8,7 +8,7 @@
 Haskell. [WDP 94/11])
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index c77915f..13fbb4d 100644 (file)
@@ -5,7 +5,7 @@
 \section[Literal]{@Literal@: Machine literals (unboxed, of course)}
 
 \begin{code}
-{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
 
 module Literal
         (
index 5f4b792..0678f78 100644 (file)
@@ -12,7 +12,8 @@ have a standard form, namely:
 - primitive operations
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 90bf717..080ae47 100644 (file)
@@ -9,6 +9,7 @@ These are Uniquable, hence we can build Maps with Modules as
 the keys.
 
 \begin{code}
+{-# LANGUAGE DeriveDataTypeable #-}
 
 module Module
     (
index e2742bb..c2e7aea 100644 (file)
@@ -5,6 +5,8 @@
 \section[Name]{@Name@: to transmit name info from renamer to typechecker}
 
 \begin{code}
+{-# LANGUAGE DeriveDataTypeable #-}
+
 -- |
 -- #name_types#
 -- GHC uses several kinds of name internally:
index 292ee3d..f396277 100644 (file)
@@ -5,7 +5,8 @@
 \section[NameEnv]{@NameEnv@: name environments}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index ed42c2b..9cd9fce 100644 (file)
@@ -4,7 +4,8 @@
 %
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index b41d711..7769192 100644 (file)
@@ -4,6 +4,8 @@
 %
 
 \begin{code}
+{-# LANGUAGE DeriveDataTypeable #-}
+
 -- |
 -- #name_types#
 -- GHC uses several kinds of name internally:
@@ -20,7 +22,7 @@
 --
 -- * 'Var.Var': see "Var#name_types"
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 9285b3c..fb62486 100644 (file)
@@ -5,6 +5,7 @@
 \section[PatSyn]{@PatSyn@: Pattern synonyms}
 
 \begin{code}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
 
 module PatSyn (
         -- * Main data types
index 3ff771f..ceab808 100644 (file)
@@ -4,7 +4,7 @@
 %
 
 \begin{code}
-{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
 
 -- |
 -- #name_types#
index d53ac2b..ab58a4f 100644 (file)
@@ -3,6 +3,7 @@
 %
 
 \begin{code}
+{-# LANGUAGE DeriveDataTypeable #-}
 {-# OPTIONS_GHC -fno-omit-interface-pragmas #-}
    -- Workaround for Trac #5252 crashes the bootstrap compiler without -O
    -- When the earliest compiler we want to boostrap with is
index fea1489..6ceee20 100644 (file)
@@ -4,6 +4,8 @@
 %
 
 \begin{code}
+{-# LANGUAGE UnboxedTuples #-}
+
 module UniqSupply (
         -- * Main data type
         UniqSupply, -- Abstractly
index 037aed0..897b093 100644 (file)
@@ -16,7 +16,7 @@ Some of the other hair in this code is to be able to use a
 Haskell).
 
 \begin{code}
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE CPP, BangPatterns, MagicHash #-}
 
 module Unique (
         -- * Main data types
index 70c5d44..1f20d4a 100644 (file)
@@ -5,7 +5,8 @@
 \section{@Vars@: Variables}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index b756283..8b7f755 100644 (file)
@@ -4,7 +4,8 @@
 %
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 54db1a9..e7aa072 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 --
 -- (c) The University of Glasgow 2003-2006
 --
index 8a46aed..e4cc0bc 100644 (file)
@@ -1,5 +1,7 @@
-{- BlockId module should probably go away completely, being superseded by Label -}
+{-# LANGUAGE TypeSynonymInstances #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
+
+{- BlockId module should probably go away completely, being superseded by Label -}
 module BlockId
   ( BlockId, mkBlockId -- ToDo: BlockId should be abstract, but it isn't yet
   , BlockSet, BlockEnv
index fadce0b..e21efc1 100644 (file)
@@ -1,5 +1,5 @@
 -- Cmm representations using Hoopl's Graph CmmNode e x.
-{-# LANGUAGE GADTs #-}
+{-# LANGUAGE CPP, GADTs #-}
 
 module Cmm (
      -- * Cmm top-level datatypes
index 16ace52..e10716a 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE GADTs #-}
+{-# LANGUAGE CPP, GADTs #-}
 
 -- See Note [Deprecations in Hoopl] in Hoopl module
 {-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
index 60e2c8c..f36fc0b 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 
 module CmmCallConv (
   ParamLocation(..),
index 0c0c971..1d6c97f 100644 (file)
@@ -1,4 +1,7 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
 
 module CmmExpr
index 42c9e6b..aae3ea1 100644 (file)
@@ -1,4 +1,5 @@
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index bdc9478..db22deb 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE RecordWildCards, GADTs #-}
+{-# LANGUAGE CPP, RecordWildCards, GADTs #-}
 module CmmLayoutStack (
        cmmLayoutStack, setInfoTableStackMap
   ) where
index 24202cb..dfacd13 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE ScopedTypeVariables #-}
index 684a4b9..c4ec393 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 
 module CmmMachOp
     ( MachOp(..)
index 5c520d3..7eb2b61 100644 (file)
@@ -1,9 +1,14 @@
--- CmmNode type for representation using Hoopl graphs.
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE ExplicitForAll #-}
 {-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE GADTs #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE StandaloneDeriving #-}
 {-# LANGUAGE UndecidableInstances #-}
 
+-- CmmNode type for representation using Hoopl graphs.
+
 module CmmNode (
      CmmNode(..), CmmFormal, CmmActual,
      UpdFrameOffset, Convention(..),
index 54dbbeb..84499b9 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Cmm optimisation
index 1447f6d..825ffb8 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE BangPatterns #-}
+
 module CmmPipeline (
   -- | Converts C-- with an implicit stack and native C-- calls into
   -- optimized, CPS converted and native-call-less C--.  The latter
index d03c2dc..37d92c2 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 
 module CmmType
     ( CmmType   -- Abstract
index afba245..1f6d1ac 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE GADTs #-}
+{-# LANGUAGE CPP, GADTs, RankNTypes #-}
 
 -----------------------------------------------------------------------------
 --
index 2d7139a..4b37172 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE RankNTypes, ScopedTypeVariables #-}
+
 module Hoopl (
     module Compiler.Hoopl,
     module Hoopl.Dataflow,
index 7105195..f551151 100644 (file)
@@ -1,3 +1,12 @@
+{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE GADTs #-}
+{-# LANGUAGE MultiParamTypeClasses  #-}
+{-# LANGUAGE RankNTypes #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# OPTIONS_GHC -fprof-auto-top #-}
+
 --
 -- Copyright (c) 2010, João Dias, Simon Marlow, Simon Peyton Jones,
 -- and Norman Ramsey
@@ -9,10 +18,6 @@
 -- specialised to the UniqSM monad.
 --
 
-{-# LANGUAGE RankNTypes, ScopedTypeVariables, GADTs, TypeFamilies, MultiParamTypeClasses #-}
-{-# OPTIONS_GHC -fprof-auto-top #-}
-{-# LANGUAGE Trustworthy #-}
-
 module Hoopl.Dataflow
   ( DataflowLattice(..), OldFact(..), NewFact(..), Fact, mkFactBase
   , ChangeFlag(..)
index 6f9bbf8..9bc2bd9 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE GADTs #-}
+{-# LANGUAGE BangPatterns, CPP, GADTs #-}
 
 module MkGraph
   ( CmmAGraph, CgStmt(..)
index 2398981..47b247e 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, GADTs #-}
+
 -----------------------------------------------------------------------------
 --
 -- Pretty-printing of Cmm as C, suitable for feeding gcc
@@ -16,7 +18,6 @@
 --
 -----------------------------------------------------------------------------
 
-{-# LANGUAGE GADTs #-}
 module PprC (
         writeCs,
         pprStringInCStyle
index 46257b4..b5beb07 100644 (file)
@@ -1,3 +1,6 @@
+{-# LANGUAGE GADTs, TypeFamilies, FlexibleContexts, FlexibleInstances #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+
 ----------------------------------------------------------------------------
 --
 -- Pretty-printing of Cmm as (a superset of) C--
@@ -30,8 +33,6 @@
 --
 -- A useful example pass over Cmm is in nativeGen/MachCodeGen.hs
 
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# LANGUAGE GADTs, TypeFamilies, FlexibleContexts #-}
 module PprCmm
   ( module PprCmmDecl
   , module PprCmmExpr
index 354a3d4..dd80f5c 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 ----------------------------------------------------------------------------
 --
 -- Pretty-printing of common Cmm types
index 704c22d..b23bcc1 100644 (file)
@@ -6,7 +6,7 @@
 Storage manager representation of closures
 
 \begin{code}
-{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE CPP,GeneralizedNewtypeDeriving #-}
 
 module SMRep (
         -- * Words and bytes
index 6b36ab0..51b8ed9 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, GADTs #-}
+
 -----------------------------------------------------------------------------
 --
 -- Code generator utilities; mostly monadic
@@ -6,7 +8,6 @@
 --
 -----------------------------------------------------------------------------
 
-{-# LANGUAGE GADTs #-}
 module CgUtils ( fixStgRegisters ) where
 
 #include "HsVersions.h"
index 727a435..5d11484 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 
 module CodeGen.Platform.ARM where
 
index bcbdfe2..76a2b02 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 
 module CodeGen.Platform.PPC where
 
index b49af14..991f515 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 
 module CodeGen.Platform.SPARC where
 
index 6dd74df..e74807f 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 
 module CodeGen.Platform.X86 where
 
index a92f804..740ab5f 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Stg to C-- code generation
index 06e1716..4631b2d 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Stg to C-- code generation: bindings
index c9302f2..b65d56b 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, RecordWildCards #-}
+
 -----------------------------------------------------------------------------
 --
 -- Stg to C-- code generation:
@@ -9,8 +11,6 @@
 --
 -----------------------------------------------------------------------------
 
-{-# LANGUAGE RecordWildCards #-}
-
 module StgCmmClosure (
         DynTag,  tagForCon, isSmallFamily,
         ConTagZ, dataConTagZ,
index a02a5da..1a69927 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Stg to C--: code generation for constructors
index 2b8677c..4127b67 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Stg to C-- code generation: the binding environment
index 9b9d639..ad34b5b 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Stg to C-- code generation: expressions
index bf88f1c..6937c85 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Code generation for foreign calls.
index a3a47a6..d00dc6e 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Stg to C--: heap management functions
index a56248d..99e926c 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Building info tables.
index 348b7b9..cad261b 100644 (file)
@@ -1,4 +1,5 @@
-{-# LANGUAGE GADTs #-}
+{-# LANGUAGE CPP, GADTs, UnboxedTuples #-}
+
 -----------------------------------------------------------------------------
 --
 -- Monad for Stg to C-- code generation
index 5c75acb..40a5e36 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 ----------------------------------------------------------------------------
 --
 -- Stg to C--: primitive operations
index f858c5a..1aa08a1 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Code generation for profiling
index b121820..6913c9e 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE BangPatterns, CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Code generation for ticky-ticky profiling
index 1c6c3f2..bc1a15f 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Code generator utilities; mostly monadic
index ca7216f..26669b6 100644 (file)
@@ -6,7 +6,8 @@
        Arity and eta expansion
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 636c049..4011191 100644 (file)
@@ -5,6 +5,8 @@
 Taken quite directly from the Peyton Jones/Lester paper.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 -- | A module concerned with finding the free variables of an expression.
 module CoreFVs (
         -- * Free variables of expressions and binding groups
index 8665ec4..a586810 100644 (file)
@@ -7,12 +7,7 @@
 A ``lint'' pass to check for Core correctness
 
 \begin{code}
--- The above warning supression flag is a temporary kludge.
--- While working on this module you are encouraged to remove it and
--- detab the module (please do the detabbing in a separate patch). See
---     http://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
--- for details
-
+{-# LANGUAGE CPP #-}
 {-# OPTIONS_GHC -fprof-auto #-}
 
 module CoreLint ( lintCoreBindings, lintUnfolding, lintExpr ) where
index 5e0cd65..60cb60e 100644 (file)
@@ -5,7 +5,7 @@
 Core pass to saturate constructors and PrimOps
 
 \begin{code}
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE BangPatterns, CPP #-}
 
 module CorePrep (
       corePrepPgm, corePrepExpr, cvtLitInteger,
index ef601a2..f321509 100644 (file)
@@ -6,7 +6,8 @@
 Utility functions on @Core@ syntax
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index defd669..b36cb6d 100644 (file)
@@ -4,9 +4,8 @@
 %
 
 \begin{code}
-{-# LANGUAGE DeriveDataTypeable, DeriveFunctor #-}
-
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, DeriveDataTypeable, DeriveFunctor #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index cb2af7c..af1e12c 100644 (file)
@@ -7,7 +7,8 @@ This module contains "tidying" code for *nested* expressions, bindings, rules.
 The code for *top-level* bindings is in TidyPgm.
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 3a2c237..fa9259a 100644 (file)
@@ -15,7 +15,8 @@ literal'').  In the corner of a @CoreUnfolding@ unfolding, you will
 find, unsurprisingly, a Core expression.
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 0acad9d..6f21c4e 100644 (file)
@@ -6,6 +6,8 @@
 Utility functions on @Core@ syntax
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 -- | Commonly useful utilites for manipulating the Core language
 module CoreUtils (
         -- * Constructing expressions
index f71b4b4..721dc96 100644 (file)
@@ -1,5 +1,6 @@
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index ac04ada..2744c5d 100644 (file)
@@ -4,14 +4,14 @@
 %
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
 --     http://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
 -- for details
 
-{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE RankNTypes, TypeFamilies #-}
 module TrieMap(
    CoreMap, emptyCoreMap, extendCoreMap, lookupCoreMap, foldCoreMap,
    TypeMap, emptyTypeMap, extendTypeMap, lookupTypeMap, foldTypeMap, 
index fc3150d..d008893 100644 (file)
@@ -5,6 +5,8 @@
 % Author: Juan J. Quintela    <quintela@krilin.dc.fi.udc.es>
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module Check ( check , ExhaustivePat ) where
 
 #include "HsVersions.h"
index 6bdc61d..e646667 100644 (file)
@@ -3,6 +3,8 @@
 % (c) University of Glasgow, 2007
 %
 \begin{code}
+{-# LANGUAGE NondecreasingIndentation #-}
+
 module Coverage (addTicksToBinds, hpcInitCode) where
 
 import Type
index cd75de9..a103e7e 100644 (file)
@@ -6,6 +6,8 @@
 The Desugarer: turning HsSyn into Core.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module Desugar ( deSugar, deSugarExpr ) where
 
 import DynFlags
index f878776..1bbcc05 100644 (file)
@@ -6,7 +6,8 @@
 Desugaring arrow commands
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 1dbf530..9691b99 100644 (file)
@@ -10,7 +10,8 @@ in that the @Rec@/@NonRec@/etc structure is thrown away (whereas at
 lower levels it is preserved with @let@/@letrec@s).
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 80f2ec5..217a4ce 100644 (file)
@@ -6,7 +6,8 @@
 Desugaring foreign calls
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 859309d..31c4d17 100644 (file)
@@ -6,6 +6,8 @@
 Desugaring exporessions.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module DsExpr ( dsExpr, dsLExpr, dsLocalBinds, dsValBinds, dsLit ) where
 
 #include "HsVersions.h"
index e2f4f4f..0654ebc 100644 (file)
@@ -6,6 +6,8 @@
 Desugaring foreign declarations (see also DsCCall).
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module DsForeign ( dsForeigns
                  , dsForeigns'
                  , dsFImport, dsCImport, dsFCall, dsPrimCall
index 4573e54..0a4e1ed 100644 (file)
@@ -6,6 +6,8 @@
 Matching guarded right-hand-sides (GRHSs)
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module DsGRHSs ( dsGuarded, dsGRHSs, dsGRHS ) where
 
 #include "HsVersions.h"
index a1131a8..2111c95 100644 (file)
@@ -6,7 +6,7 @@
 Desugaring list comprehensions, monad comprehensions and array comprehensions
 
 \begin{code}
-{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE CPP, NamedFieldPuns #-}
 
 module DsListComp ( dsListComp, dsPArrComp, dsMonadComp ) where
 
index 73c1adf..687cf55 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- (c) The University of Glasgow 2006
index b590f4b..c017a7c 100644 (file)
@@ -6,6 +6,8 @@
 @DsMonad@: monadery used in desugaring
 
 \begin{code}
+{-# LANGUAGE FlexibleInstances #-}
+
 module DsMonad (
         DsM, mapM, mapAndUnzipM,
         initDs, initDsTc, fixDs,
index 924ba88..557e775 100644 (file)
@@ -8,7 +8,8 @@ Utilities for desugaring
 This module exports some utility functions of no great interest.
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index b42a720..68e55bd 100644 (file)
@@ -6,6 +6,8 @@
 The @match@ function
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module Match ( match, matchEquations, matchWrapper, matchSimply, matchSinglePat ) where
 
 #include "HsVersions.h"
index 2b51638..ef74bff 100644 (file)
@@ -6,7 +6,8 @@
 Pattern-matching constructors
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 7429a61..07cf420 100644 (file)
@@ -6,6 +6,8 @@
 Pattern-matching literal patterns
 
 \begin{code}
+{-# LANGUAGE CPP, ScopedTypeVariables #-}
+
 module MatchLit ( dsLit, dsOverLit, hsLitKey, hsOverLitKey
                 , tidyLitPat, tidyNPat
                 , matchLiterals, matchNPlusKPats, matchNPats
index 9dc7826..e6f86c9 100644 (file)
@@ -54,7 +54,9 @@ Library
                    filepath   >= 1   && < 1.4,
                    Cabal,
                    hpc,
-                   transformers
+                   transformers,
+                   bin-package-db,
+                   hoopl
 
     if flag(stage1) && impl(ghc < 7.5)
         Build-Depends: old-time   >= 1   && < 1.2
@@ -71,13 +73,34 @@ Library
         CPP-Options: -DGHCI
         Include-Dirs: ../rts/dist/build @FFIIncludeDir@
 
-    Build-Depends: bin-package-db
-    Build-Depends: hoopl
-
-    Default-Extensions: CPP, MagicHash, UnboxedTuples
-                TypeSynonymInstances, MultiParamTypeClasses,
-                FlexibleInstances, RankNTypes, ScopedTypeVariables,
-                DeriveDataTypeable, BangPatterns, NondecreasingIndentation
+    Other-Extensions:
+        BangPatterns
+        CPP
+        DataKinds
+        DeriveDataTypeable
+        DeriveFoldable
+        DeriveFunctor
+        DeriveTraversable
+        DisambiguateRecordFields
+        ExplicitForAll
+        FlexibleContexts
+        FlexibleInstances
+        GADTs
+        GeneralizedNewtypeDeriving
+        MagicHash
+        MultiParamTypeClasses
+        NamedFieldPuns
+        NondecreasingIndentation
+        RankNTypes
+        RecordWildCards
+        ScopedTypeVariables
+        StandaloneDeriving
+        Trustworthy
+        TupleSections
+        TypeFamilies
+        TypeSynonymInstances
+        UnboxedTuples
+        UndecidableInstances
 
     Include-Dirs: . parser utils
 
@@ -94,8 +117,6 @@ Library
 
     c-sources:
         parser/cutils.c
-
-    c-sources:
         ghci/keepCAFsForGHCi.c
         cbits/genSym.c
 
index 9ec783a..52d6add 100644 (file)
@@ -5,8 +5,8 @@
 ByteCodeLink: Bytecode assembler and linker
 
 \begin{code}
-{-# OPTIONS -optc-DNON_POSIX_SOURCE #-}
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE BangPatterns, CPP, MagicHash #-}
+{-# OPTIONS_GHC -optc-DNON_POSIX_SOURCE #-}
 
 module ByteCodeAsm (
         assembleBCOs, assembleBCO,
index 6dfee56..d4a5804 100644 (file)
@@ -5,7 +5,8 @@
 ByteCodeGen: Generate bytecode from Core
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, MagicHash #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 005a430..548c29f 100644 (file)
@@ -4,7 +4,8 @@
 ByteCodeInstrs: Bytecode instruction definitions
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, MagicHash #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index ce6bd01..7a7a62d 100644 (file)
@@ -4,7 +4,8 @@
 ByteCodeItbls: Generate infotables for interpreter-made bytecodes
 
 \begin{code}
-{-# OPTIONS -optc-DNON_POSIX_SOURCE #-}
+{-# LANGUAGE CPP, MagicHash #-}
+{-# OPTIONS_GHC -optc-DNON_POSIX_SOURCE #-}
 
 module ByteCodeItbls ( ItblEnv, ItblPtr(..), itblCode, mkITbls, peekItbl
                      , StgInfoTable(..)
index 4c48409..d508a1c 100644 (file)
@@ -5,7 +5,12 @@ ByteCodeLink: Bytecode assembler and linker
 
 \begin{code}
 {-# LANGUAGE BangPatterns #-}
-{-# OPTIONS -optc-DNON_POSIX_SOURCE #-}
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE MagicHash #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE UnboxedTuples #-}
+{-# OPTIONS_GHC -optc-DNON_POSIX_SOURCE #-}
 
 module ByteCodeLink (
         ClosureEnv, emptyClosureEnv, extendClosureEnv,
index 0807bf1..4966714 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE MagicHash #-}
+
 -----------------------------------------------------------------------------
 --
 -- GHCi Interactive debugging commands 
index 3d73e69..67767e4 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 module DebuggerUtils (
        dataConInfoPtrToName,
   ) where
index 274f2fb..0b23985 100644 (file)
@@ -2,15 +2,16 @@
 % (c) The University of Glasgow 2005-2012
 %
 \begin{code}
+{-# LANGUAGE CPP, NondecreasingIndentation #-}
+{-# OPTIONS_GHC -fno-cse #-}
+-- -fno-cse is needed for GLOBAL_VAR's to behave properly
+
 -- | The dynamic linker for GHCi.
 --
 -- This module deals with the top-level issues of dynamic linking,
 -- calling the object-code linker and the byte-code linker where
 -- necessary.
 
-{-# OPTIONS -fno-cse #-}
--- -fno-cse is needed for GLOBAL_VAR's to behave properly
-
 module Linker ( getHValue, showLinkerState,
                 linkExpr, linkDecls, unload, withExtendedLinkEnv,
                 extendLinkEnv, deleteFromLinkEnv,
index 5e9bddc..a2f9af9 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, ScopedTypeVariables, MagicHash, UnboxedTuples #-}
+
 -----------------------------------------------------------------------------
 --
 -- GHC Interactive support for inspecting arbitrary closures at runtime
@@ -6,7 +8,7 @@
 --
 -----------------------------------------------------------------------------
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index bcea29b..fc291f2 100644 (file)
@@ -6,6 +6,8 @@
 This module converts Template Haskell syntax into HsSyn
 
 \begin{code}
+{-# LANGUAGE MagicHash #-}
+
 module Convert( convertToHsExpr, convertToPat, convertToHsDecls,
                 convertToHsType,
                 thRdrNameGuesses ) where
index 2cb2854..72bf0e5 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
 
 module HsDoc (
   HsDocString(..),
index f5ba190..938227c 100644 (file)
@@ -3,7 +3,7 @@
 % (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
 %
 \begin{code}
-{-# LANGUAGE DeriveDataTypeable, ScopedTypeVariables #-}
+{-# LANGUAGE CPP, DeriveDataTypeable, ScopedTypeVariables #-}
 
 -- | Abstract Haskell syntax for expressions.
 module HsExpr where
index 9565acb..a4749dd 100644 (file)
@@ -5,14 +5,14 @@
 \section[HsLit]{Abstract syntax: source-language literals}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
 --     http://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
 -- for details
 
-{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
 
 module HsLit where
 
index eff67df..4ac1bf0 100644 (file)
@@ -13,7 +13,8 @@ which deal with the intantiated versions are located elsewhere:
    Id                  typecheck/TcHsSyn       
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 9fd0c33..9dd95fc 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 --
 --  (c) The University of Glasgow 2002-2006
 --
index 033e8c6..d0e3232 100644 (file)
@@ -4,7 +4,8 @@
 %
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 4a00c91..c29778d 100644 (file)
@@ -1,7 +1,8 @@
 (c) The University of Glasgow 2002-2006
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, RankNTypes #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 1283b09..fb194e0 100644 (file)
@@ -4,7 +4,8 @@
 %
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index d787794..2824d92 100644 (file)
@@ -6,6 +6,7 @@
 Loading interface files
 
 \begin{code}
+{-# LANGUAGE CPP #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 module LoadIface (
         -- RnM/TcM functions
index bb51cda..6c87961 100644 (file)
@@ -4,6 +4,8 @@
 %
 
 \begin{code}
+{-# LANGUAGE CPP, NondecreasingIndentation #-}
+
 -- | Module for constructing @ModIface@ values (interface files),
 -- writing them to disk and comparing two versions to see if
 -- recompilation is required.
index 12e4e94..980796a 100644 (file)
@@ -6,6 +6,8 @@
 Type checking of type signatures in interface files
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcIface (
         tcLookupImported_maybe,
         importDecl, checkWiredInTyCon, tcHiBootIface, typecheckIface,
index b8343ce..0250782 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 --------------------------------------------------------------------------------
 -- | Pretty print LLVM IR Code.
 --
index 6b9c8c1..89b0e4e 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE CPP, GeneralizedNewtypeDeriving #-}
 
 --------------------------------------------------------------------------------
 -- | The LLVM Type System.
index 61e7e39..dd16e52 100644 (file)
@@ -1,8 +1,8 @@
+{-# LANGUAGE CPP, TypeFamilies #-}
+
 -- -----------------------------------------------------------------------------
 -- | This is the top-level module in the LLVM code generator.
 --
-
-{-# LANGUAGE TypeFamilies #-}
 module LlvmCodeGen ( llvmCodeGen, llvmFixupAsm ) where
 
 #include "HsVersions.h"
index 5d5f385..686b352 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- ----------------------------------------------------------------------------
 -- | Base LLVM Code Generation module
 --
index 1140145..342b94f 100644 (file)
@@ -1,9 +1,8 @@
-{-# OPTIONS -fno-warn-type-defaults #-}
+{-# LANGUAGE CPP, GADTs #-}
+{-# OPTIONS_GHC -fno-warn-type-defaults #-}
 -- ----------------------------------------------------------------------------
 -- | Handle conversion of CmmProc to LLVM code.
 --
-
-{-# LANGUAGE GADTs #-}
 module LlvmCodeGen.CodeGen ( genLlvmProc ) where
 
 #include "HsVersions.h"
index 6212cfc..1dbfb4b 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 -- ----------------------------------------------------------------------------
 -- | Handle conversion of CmmData to LLVM code.
 --
index 202e685..9c6a719 100644 (file)
@@ -1,7 +1,8 @@
+{-# LANGUAGE CPP #-}
+
 -- ----------------------------------------------------------------------------
 -- | Pretty print helpers for the LLVM Code generator.
 --
-
 module LlvmCodeGen.Ppr (
         pprLlvmHeader, pprLlvmCmmDecl, pprLlvmData, infoSection, iTableSuf
     ) where
index 9f20aa5..0048659 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 --------------------------------------------------------------------------------
 -- | Deal with Cmm registers
 --
index a905417..7084a2e 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- -----------------------------------------------------------------------------
 -- | GHC LLVM Mangler
 --
index d16d6f2..6455912 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, MagicHash, UnboxedTuples #-}
+
 -------------------------------------------------------------------------------
 --
 -- | Break Arrays in the IO monad
index 22811d4..5ee7086 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -------------------------------------------------------------------------------
 --
 -- | Command-line parser
index b8b1872..f6756b1 100644 (file)
@@ -4,6 +4,8 @@
 \section{Code output phase}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module CodeOutput( codeOutput, outputForeignStubs ) where
 
 #include "HsVersions.h"
index cda0b47..03545d4 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Makefile Dependency Generation
index 8c69d4e..fa8b2d0 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --  $Id: DriverPhases.hs,v 1.38 2005/05/17 11:01:59 simonmar Exp $
 --
index 762f4da..39df2a1 100644 (file)
@@ -1,5 +1,5 @@
-{-# OPTIONS -fno-cse #-}
-{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE CPP, NamedFieldPuns, NondecreasingIndentation #-}
+{-# OPTIONS_GHC -fno-cse #-}
 -- -fno-cse is needed for GLOBAL_VAR's to behave properly
 
 -----------------------------------------------------------------------------
index 7d24785..a275416 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -------------------------------------------------------------------------------
 --
 -- | Dynamic flags
@@ -11,7 +13,7 @@
 --
 -------------------------------------------------------------------------------
 
-{-# OPTIONS -fno-cse #-}
+{-# OPTIONS_GHC -fno-cse #-}
 -- -fno-cse is needed for GLOBAL_VAR's to behave properly
 
 module DynFlags (
index ffafc78..046d13c 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, MagicHash #-}
+
 -- | Dynamically lookup up values from modules and loading them.
 module DynamicLoading (
 #ifdef GHCI
index 12b6bad..02f731d 100644 (file)
@@ -4,6 +4,7 @@
 \section[ErrsUtils]{Utilities for error reporting}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
 
 module ErrUtils (
         ErrMsg, WarnMsg, Severity(..),
index 60683b2..c0e9f8a 100644 (file)
@@ -4,6 +4,8 @@
 \section[Finder]{Module Finder}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module Finder (
     flushFinderCaches,
     FindResult(..),
index 6576a50..5c0cbf7 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, NondecreasingIndentation, ScopedTypeVariables #-}
+
 -- -----------------------------------------------------------------------------
 --
 -- (c) The University of Glasgow, 2005-2012
index b7a1282..6947781 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE BangPatterns, CPP, NondecreasingIndentation, ScopedTypeVariables #-}
 {-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
 -- NB: we specifically ignore deprecations. GHC 7.6 marks the .QSem module as
 -- deprecated, although it became un-deprecated later. As a result, using 7.6
index 68b4e2b..5fa6452 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE RankNTypes #-}
 {-# OPTIONS_GHC -funbox-strict-fields #-}
 -- -----------------------------------------------------------------------------
 --
index 3e1edc3..fcf235b 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- | Parsing the top of a Haskell source file to get its module name,
index 475b124..7cda3d6 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE BangPatterns, CPP, MagicHash, NondecreasingIndentation #-}
+
 -------------------------------------------------------------------------------
 --
 -- | Main API for compiling plain Haskell source code.
index 6fcf8e2..d0f59a1 100644 (file)
@@ -4,6 +4,7 @@
 \section[HscTypes]{Types for the per-module compiler}
 
 \begin{code}
+{-# LANGUAGE CPP, DeriveDataTypeable, ScopedTypeVariables #-}
 
 -- | Types for the per-module compiler
 module HscTypes (
index ede5199..cfcc076 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, MagicHash, NondecreasingIndentation, UnboxedTuples #-}
+
 -- -----------------------------------------------------------------------------
 --
 -- (c) The University of Glasgow, 2005-2007
index e3324a3..6ea1a25 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- -----------------------------------------------------------------------------
 --
 -- (c) The University of Glasgow, 2005-2007
index d34d9e1..acedd7e 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- |
 -- Package configuration information: essentially the interface to Cabal, with
 -- some utilities
index a13b359..bb37e44 100644 (file)
@@ -2,6 +2,8 @@
 % (c) The University of Glasgow, 2006
 %
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 -- | Package manipulation
 module Packages (
         module PackageConfig,
index 03e146c..b2ca32b 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -------------------------------------------------------------------------------
 --
 -- | Platform constants
index 4934024..dadc997 100644 (file)
@@ -6,7 +6,7 @@
 --
 -----------------------------------------------------------------------------
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 01dc3b7..eb7ede0 100644 (file)
@@ -1,4 +1,5 @@
-{-# OPTIONS -fno-cse #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-cse #-}
 -- -fno-cse is needed for GLOBAL_VAR's to behave properly
 
 -----------------------------------------------------------------------------
index 53240fa..dc9642d 100644 (file)
@@ -7,6 +7,8 @@
 -----------------------------------------------------------------------------
 
 \begin{code}
+{-# LANGUAGE CPP, ScopedTypeVariables #-}
+
 module SysTools (
         -- Initialisation
         initSysTools,
index 1055e3d..b299015 100644 (file)
@@ -4,6 +4,8 @@
 \section{Tidying up Core}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TidyPgm (
        mkBootModDetailsTc, tidyProgram, globaliseAndTidyId
    ) where
index 09a3bf7..82193b4 100644 (file)
@@ -7,7 +7,8 @@
 -- -----------------------------------------------------------------------------
 
 \begin{code}
-{-# LANGUAGE GADTs #-}
+{-# LANGUAGE BangPatterns, CPP, GADTs, ScopedTypeVariables, UnboxedTuples #-}
+
 module AsmCodeGen ( nativeCodeGen ) where
 
 #include "HsVersions.h"
index 3ee3af2..a4c9f74 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- -----------------------------------------------------------------------------
 --
 -- (c) The University of Glasgow 1993-2004
index 3f0e763..91651e6 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP, GADTs #-}
 
 -----------------------------------------------------------------------------
 --
@@ -12,7 +13,6 @@
 -- (c) the #if blah_TARGET_ARCH} things, the
 -- structure should not be too overwhelming.
 
-{-# LANGUAGE GADTs #-}
 module PPC.CodeGen (
         cmmTopCodeGen,
         generateJumpTableForInstr,
index b8c5208..2568da5 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index ddb9c51..3756c64 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Machine-dependent assembly language
index 8b35d87..bffa9ea 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Machine-specific parts of the register allocator
@@ -6,7 +8,7 @@
 --
 -----------------------------------------------------------------------------
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index f92351b..0f636bf 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- -----------------------------------------------------------------------------
 --
 -- (c) The University of Glasgow 1994-2004
index fee74be..77ca748 100644 (file)
@@ -5,7 +5,7 @@
 --     by all architectures.
 --
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index dbaf509..05db68d 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE ScopedTypeVariables #-}
+
 -- | Graph coloring register allocator.
 module RegAlloc.Graph.Main (
         regAlloc
index 7bc842d..8fada96 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE BangPatterns, CPP #-}
 
 -- | Carries interesting info for debugging / profiling of the
 --   graph coloring register allocator.
index 2d58ed9..eba2e43 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE BangPatterns, CPP #-}
 
 module RegAlloc.Graph.TrivColorable (
         trivColorable,
index 0247c9d..a1a00ba 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 
 module RegAlloc.Linear.FreeRegs (
     FR(..),
index 46d5309..ee43d25 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, ScopedTypeVariables #-}
+
 -----------------------------------------------------------------------------
 --
 -- The register allocator
index dc499c9..39b5777 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE UnboxedTuples #-}
+
 -- | State monad for the linear register allocator.
 
 --      Here we keep all the state that the register allocator keeps track
index b0e763a..e5e80b2 100644 (file)
@@ -1,3 +1,8 @@
+{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TypeFamilies #-}
+
 -----------------------------------------------------------------------------
 --
 -- The register liveness determinator
@@ -5,7 +10,7 @@
 -- (c) The University of Glasgow 2004-2013
 --
 -----------------------------------------------------------------------------
-{-# LANGUAGE FlexibleContexts, TypeFamilies #-}
+
 module RegAlloc.Liveness (
         RegSet,
         RegMap, emptyRegMap,
index 7ccc0c1..cac4e64 100644 (file)
@@ -1,4 +1,4 @@
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 5d65b42..f5e61d0 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Generating machine code (instruction selection)
index 324eda9..f0aed0d 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 03b31e0..45b7801 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 375a9e1..2c3dbe6 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 03f571c..7ebc2f6 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index df876b4..43a26e5 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index d4cdaf2..5dff9ce 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index b8919a7..198e4a7 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 4c2bb5a..844a088 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 601e047..8e4a2b3 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Machine-dependent assembly language
@@ -6,7 +8,7 @@
 --
 -----------------------------------------------------------------------------
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 601b528..654179e 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Pretty-printing assembly language
index 55b6ac9..01db0ed 100644 (file)
@@ -4,7 +4,7 @@
 -- 
 -- -----------------------------------------------------------------------------
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 7f978c1..142ec6e 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 4a6f4c1..3560a0f 100644 (file)
@@ -1,5 +1,5 @@
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 45a3964..1b95ceb 100644 (file)
@@ -1,4 +1,4 @@
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 1f7f4e0..daf1e25 100644 (file)
@@ -1,5 +1,5 @@
-
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index e659488..e71a1dd 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, GADTs, NondecreasingIndentation #-}
+
 -----------------------------------------------------------------------------
 --
 -- Generating machine code (instruction selection)
@@ -10,7 +12,6 @@
 -- (a) the sectioning, and (b) the type signatures, the
 -- structure should not be too overwhelming.
 
-{-# LANGUAGE GADTs #-}
 module X86.CodeGen (
         cmmTopCodeGen,
         generateJumpTableForInstr,
index 75e5b9e..05fff9b 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP, TypeFamilies #-}
+
 -----------------------------------------------------------------------------
 --
 -- Machine-dependent assembly language
@@ -6,16 +8,15 @@
 --
 -----------------------------------------------------------------------------
 
-#include "HsVersions.h"
-#include "nativeGen/NCG.h"
-
-{-# LANGUAGE TypeFamilies #-}
 module X86.Instr (Instr(..), Operand(..), PrefetchVariant(..), JumpDest,
                   getJumpDestBlockId, canShortcut, shortcutStatics,
                   shortcutJump, i386_insert_ffrees, allocMoreStack,
                   maxSpillSlots, archWordSize)
 where
 
+#include "HsVersions.h"
+#include "nativeGen/NCG.h"
+
 import X86.Cond
 import X86.Regs
 import Instruction
index f38a04d..459c041 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Pretty-printing assembly language
index 8c63933..0303295 100644 (file)
@@ -1,5 +1,5 @@
-
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 127a811..4162e2b 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 module X86.Regs (
         -- squeese functions for the graph allocator
         virtualRegSqueeze,
index b5173b2..b8819d5 100644 (file)
@@ -1,7 +1,8 @@
 Character classification
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 03ec622..3ce3585 100644 (file)
@@ -4,6 +4,8 @@ o%
 Functions over HsSyn specialised to RdrName.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module RdrHsSyn (
         mkHsOpApp,
         mkHsIntegral, mkHsFractional, mkHsIsString,
index 014e0e7..829b5e3 100644 (file)
@@ -4,7 +4,8 @@
 \section[PrelInfo]{The @PrelInfo@ interface to the compiler's prelude knowledge}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 1d54726..caa5e2a 100644 (file)
@@ -102,6 +102,8 @@ This is accomplished through a combination of mechanisms:
           See also Note [Built-in syntax and the OrigNameCache]
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module PrelNames (
         Unique, Uniquable(..), hasKey,  -- Re-exported for convenience
 
index 7867806..d2e648f 100644 (file)
@@ -12,8 +12,8 @@ ToDo:
    (i1 + i2) only if it results in a valid Float.
 
 \begin{code}
-{-# LANGUAGE RankNTypes #-}
-{-# OPTIONS -optc-DNON_POSIX_SOURCE #-}
+{-# LANGUAGE CPP, RankNTypes #-}
+{-# OPTIONS_GHC -optc-DNON_POSIX_SOURCE #-}
 
 module PrelRules ( primOpRules, builtinRules ) where
 
index 12f71c2..4155a54 100644 (file)
@@ -4,6 +4,8 @@
 \section[PrimOp]{Primitive operations (machine-level)}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module PrimOp (
         PrimOp(..), PrimOpVecCat(..), allThePrimOps,
         primOpType, primOpSig,
index 789d121..ae9a11e 100644 (file)
@@ -6,7 +6,8 @@
 \section[TysPrim]{Wired-in knowledge about primitive types}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index dc4c775..4586b90 100644 (file)
@@ -4,6 +4,8 @@
 \section[TysWiredIn]{Wired-in knowledge about {\em non-primitive} types}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 -- | This module is about types that can be defined in Haskell, but which
 --   must be wired into the compiler nonetheless.  C.f module TysPrim
 module TysWiredIn (
index fffd646..4a7a063 100644 (file)
@@ -1,5 +1,5 @@
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index fdcf744..4a6da24 100644 (file)
@@ -2,6 +2,8 @@
 % (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
 %
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 -- Modify and collect code generation for final STG program
 
index 7251492..7d3224e 100644 (file)
@@ -9,7 +9,7 @@ type-synonym declarations; those cannot be done at this stage because
 they may be affected by renaming (which isn't fully worked out yet).
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 178f722..58f32bc 100644 (file)
@@ -4,6 +4,8 @@
 \section[RnEnv]{Environment manipulation for the renamer monad}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module RnEnv (
         newTopSrcBinder,
         lookupLocatedTopBndrRn, lookupTopBndrRn,
index 01e8a44..262fde8 100644 (file)
@@ -10,6 +10,8 @@ general, all of these functions return a renamed thing, and a set of
 free variables.
 
 \begin{code}
+{-# LANGUAGE CPP, ScopedTypeVariables #-}
+
 module RnExpr (
         rnLExpr, rnExpr, rnStmts
    ) where
index 5599764..db42586 100644 (file)
@@ -4,6 +4,8 @@
 \section[RnNames]{Extracting imported and top-level names in scope}
 
 \begin{code}
+{-# LANGUAGE CPP, NondecreasingIndentation #-}
+
 module RnNames (
         rnImports, getLocalNonValBinders,
         rnExports, extendGlobalRdrEnvRn,
index 3c48f34..a920781 100644 (file)
@@ -10,13 +10,8 @@ general, all of these functions return a renamed thing, and a set of
 free variables.
 
 \begin{code}
--- The above warning supression flag is a temporary kludge.
--- While working on this module you are encouraged to remove it and
--- detab the module (please do the detabbing in a separate patch). See
---     http://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
--- for details
+{-# LANGUAGE CPP, RankNTypes, ScopedTypeVariables #-}
 
-{-# LANGUAGE ScopedTypeVariables #-}
 module RnPat (-- main entry points
               rnPat, rnPats, rnBindPat, rnPatAndThen,
 
index fbc22c0..2618792 100644 (file)
@@ -4,6 +4,8 @@
 \section[RnSource]{Main pass of renamer}
 
 \begin{code}
+{-# LANGUAGE CPP, ScopedTypeVariables #-}
+
 module RnSource (
         rnSrcDecls, addTcgDUs, rnTyClDecls, findSplice
     ) where
index e0614d4..3c0c145 100644 (file)
@@ -1,4 +1,6 @@
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module RnSplice (
         rnTopSpliceDecls,
         rnSpliceType, rnSpliceExpr, rnSplicePat, rnSpliceDecl,
index 23c54c3..d051d72 100644 (file)
@@ -4,6 +4,8 @@
 \section[RnSource]{Main pass of renamer}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module RnTypes (
         -- Type related stuff
         rnHsType, rnLHsType, rnLHsTypes, rnContext,
index 691f883..9071573 100644 (file)
@@ -4,6 +4,8 @@
 \section{Common subexpression}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module CSE (cseProgram) where
 
 #include "HsVersions.h"
index b2f697a..c060360 100644 (file)
@@ -4,15 +4,14 @@
 \section[CoreMonad]{The core pipeline monad}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, UndecidableInstances #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
 --     http://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
 -- for details
 
-{-# LANGUAGE UndecidableInstances #-}
-
 module CoreMonad (
     -- * Configuration of the core-to-core passes
     CoreToDo(..), runWhen, runMaybe,
index 8a35749..2cf886c 100644 (file)
@@ -12,7 +12,8 @@ case, so that we don't allocate things, save them on the stack, and
 then discover that they aren't needed in the chosen branch.
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index fbe8a3e..dbab552 100644 (file)
@@ -6,8 +6,9 @@
 ``Long-distance'' floating of bindings towards the top level.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index a89396b..2593ab1 100644 (file)
@@ -4,7 +4,8 @@
 \section[LiberateCase]{Unroll recursion to allow evals to be lifted from a loop}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 2487787..c932335 100644 (file)
@@ -12,7 +12,8 @@ The occurrence analyser re-typechecks a core expression, returning a new
 core expression with (hopefully) improved usage information.
 
 \begin{code}
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE CPP, BangPatterns #-}
+
 module OccurAnal (
         occurAnalysePgm, occurAnalyseExpr, occurAnalyseExpr_NoBinderSwap
     ) where
index bc1ce42..92ebdfe 100644 (file)
@@ -49,7 +49,8 @@ essential to make this work well!
 
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 6edadb8..225d5d6 100644 (file)
@@ -42,7 +42,8 @@
   the scrutinee of the case, and we can inline it.  
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 436d1b6..59b39a9 100644 (file)
@@ -4,6 +4,8 @@
 \section[SimplCore]{Driver for simplifying @Core@ programs}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module SimplCore ( core2core, simplifyExpr ) where
 
 #include "HsVersions.h"
index 5f1013d..1c5ebc5 100644 (file)
@@ -4,6 +4,8 @@
 \section[SimplMonad]{The simplifier Monad}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module SimplEnv (
         InId, InBind, InExpr, InAlt, InArg, InType, InBndr, InVar,
         OutId, OutTyVar, OutBind, OutExpr, OutAlt, OutArg, OutType, OutBndr, OutVar,
index 59e5d4a..14789c4 100644 (file)
@@ -4,6 +4,8 @@
 \section[SimplUtils]{The simplifier utilities}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module SimplUtils (
         -- Rebuilding
         mkLam, mkCase, prepareAlts, tryEtaExpandRhs,
index eb1a703..1125c2e 100644 (file)
@@ -4,6 +4,8 @@
 \section[Simplify]{The main module of the simplifier}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module Simplify ( simplTopBinds, simplExpr ) where
 
 #include "HsVersions.h"
index c43b652..4d33e33 100644 (file)
@@ -4,6 +4,8 @@
 \section[SimplStg]{Driver for simplifying @STG@ programs}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module SimplStg ( stg2stg ) where
 
 #include "HsVersions.h"
index 5424495..2a77675 100644 (file)
@@ -21,6 +21,8 @@ The program gather statistics about
 \end{enumerate}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module StgStats ( showStgStats ) where
 
 #include "HsVersions.h"
index b1717ad..1f121f7 100644 (file)
@@ -27,6 +27,8 @@ which is the Arity taking into account any expanded arguments, and corresponds t
 the number of (possibly-void) *registers* arguments will arrive in.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module UnariseStg (unarise) where
 
 #include "HsVersions.h"
index 70fc09a..2abf7fb 100644 (file)
@@ -4,6 +4,8 @@
 \section[CoreRules]{Transformation rules}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 -- | Functions for collecting together and applying rewrite rules to a module.
 -- The 'CoreRule' datatype itself is declared elsewhere.
 module Rules (
index 9df460e..24820eb 100644 (file)
@@ -9,6 +9,8 @@ ToDo [Oct 2013]
 \section[SpecConstr]{Specialise over constructors}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module SpecConstr(
         specConstrProgram
 #ifdef GHCI
index 3191ae9..baa5d19 100644 (file)
@@ -4,6 +4,8 @@
 \section[Specialise]{Stamping out overloading, and (optionally) polymorphism}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module Specialise ( specProgram ) where
 
 #include "HsVersions.h"
index 0c47042..7807d89 100644 (file)
@@ -1,4 +1,6 @@
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 --
 -- (c) The GRASP/AQUA Project, Glasgow University, 1993-1998
 --
index 04349db..ec9f6fa 100644 (file)
@@ -4,6 +4,8 @@
 \section[StgLint]{A ``lint'' pass to check for Stg correctness}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module StgLint ( lintStgBindings ) where
 
 import StgSyn
index 3fa8c68..2ecd573 100644 (file)
@@ -9,6 +9,7 @@ being one that happens to be ideally suited to spineless tagless code
 generation.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
 
 module StgSyn (
         GenStgArg(..),
index 72137c7..bd7b5c3 100644 (file)
@@ -7,7 +7,8 @@
                        -----------------
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 
 module DmdAnal ( dmdAnalProgram ) where
 
index df7edae..5b9d0a3 100644 (file)
@@ -4,7 +4,8 @@
 \section[WorkWrap]{Worker/wrapper-generating back-end of strictness analyser}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 4610b58..7a9845b 100644 (file)
@@ -4,6 +4,8 @@
 \section[WwLib]{A library for the ``worker\/wrapper'' back-end to the strictness analyser}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module WwLib ( mkWwBodies, mkWWstr, mkWorkerArgs
              , deepSplitProductType_maybe, findTypeShape
  ) where
index 572874b..4d5eeea 100644 (file)
@@ -1,8 +1,8 @@
 The @FamInst@ type: family instance heads
 
 \begin{code}
-{-# LANGUAGE GADTs #-}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, GADTs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 1dc96aa..09e143c 100644 (file)
@@ -8,6 +8,8 @@ FunDeps - functional dependencies
 It's better to read it as: "if we know these, then we're going to know these"
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module FunDeps (
         FDEq (..),
         Equation(..), pprEquation,
index e934984..6ec39a2 100644 (file)
@@ -6,7 +6,8 @@
 The @Inst@ type: dictionaries or method instances
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index e12552f..cbd19cf 100644 (file)
@@ -5,6 +5,8 @@
 \section[TcAnnotations]{Typechecking annotations}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcAnnotations ( tcAnnotations, annCtxt ) where
 
 #ifdef GHCI
index 407e172..bf9d24b 100644 (file)
@@ -5,7 +5,8 @@
 Typecheck arrow notation
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE RankNTypes #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 17f124b..08a5af4 100644 (file)
@@ -5,6 +5,8 @@
 \section[TcBinds]{TcBinds}
 
 \begin{code}
+{-# LANGUAGE CPP, RankNTypes, ScopedTypeVariables #-}
+
 module TcBinds ( tcLocalBinds, tcTopBinds, tcRecSelBinds,
                  tcHsBootSigs, tcPolyCheck,
                  PragFun, tcSpecPrags, tcVectDecls, mkPragFun, 
index 5784d81..670f4cf 100644 (file)
@@ -1,4 +1,6 @@
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcCanonical(
     canonicalize, emitWorkNC,
     StopOrContinue (..)
index 187aea5..be5a74f 100644 (file)
@@ -6,7 +6,8 @@
 Typechecking class declarations
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index a096e50..7b5bd27 100644 (file)
@@ -5,7 +5,7 @@
 \section[TcDefaults]{Typechecking \tr{default} declarations}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 23975b9..130736f 100644 (file)
@@ -6,6 +6,8 @@
 Handles @deriving@ clauses on @data@ declarations.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcDeriv ( tcDeriving ) where
 
 #include "HsVersions.h"
index f3d7546..44df7e1 100644 (file)
@@ -3,7 +3,9 @@
 %
 
 \begin{code}
+{-# LANGUAGE CPP, FlexibleInstances #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
+
 module TcEnv(
         TyThing(..), TcTyThing(..), TcId,
 
index 3ca1319..4732769 100644 (file)
@@ -1,6 +1,6 @@
 \begin{code}
-{-# LANGUAGE ScopedTypeVariables #-}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, ScopedTypeVariables #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index a31f66a..493fa8f 100644 (file)
@@ -3,6 +3,8 @@
 %
 
 \begin{code}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
+
 module TcEvidence (
 
   -- HsWrapper
index 3397b08..12f2438 100644 (file)
@@ -5,6 +5,8 @@ c%
 \section[TcExpr]{Typecheck an expression}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcExpr ( tcPolyExpr, tcPolyExprNC, tcMonoExpr, tcMonoExprNC,
                 tcInferRho, tcInferRhoNC,
                 tcSyntaxOp, tcCheckId,
index 63eb020..c2f812b 100644 (file)
@@ -12,6 +12,8 @@ is restricted to what the outside world understands (read C), and this
 module checks to see if a foreign declaration has got a legal type.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcForeign
         ( tcForeignImports
         , tcForeignExports
index 7031e54..960e3fa 100644 (file)
@@ -11,7 +11,7 @@ This module is nominally ``subordinate'' to @TcDeriv@, which is the
 This is where we do all the grimy bindings' generation.
 
 \begin{code}
-{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE CPP, ScopedTypeVariables #-}
 
 module TcGenDeriv (
         BagDerivStuff, DerivStuff(..),
index 35bf424..648979b 100644 (file)
@@ -6,8 +6,8 @@ The deriving code for the Generic class
 (equivalent to the code in TcGenDeriv, for other classes)
 
 \begin{code}
-{-# LANGUAGE ScopedTypeVariables #-}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, ScopedTypeVariables #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 59b42ea..0ac5fd7 100644 (file)
@@ -9,6 +9,8 @@ This module is an extension of @HsSyn@ syntax, for use in the type
 checker.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcHsSyn (
         mkHsConApp, mkHsDictLet, mkHsApp,
         hsLitType, hsLPatType, hsPatType,
index eed9068..e257124 100644 (file)
@@ -5,7 +5,8 @@
 \section[TcMonoType]{Typechecking user-specified @MonoTypes@}
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 51e1528..a35d1d5 100644 (file)
@@ -6,7 +6,8 @@
 TcInstDecls: Typechecking instance declarations
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 064bda2..a6b7f44 100644 (file)
@@ -1,4 +1,6 @@
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcInteract (
      solveInteractGiven,  -- Solves [EvVar],GivenLoc
      solveInteract,       -- Solves Cts
index f646305..65bc0b7 100644 (file)
@@ -9,7 +9,8 @@ This module contains monadic operations over types that contain
 mutable type variables
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 5859e7b..32b6d1e 100644 (file)
@@ -6,7 +6,8 @@
 TcMatches: Typecheck some @Matches@
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, RankNTypes #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 0b2a200..077cdd8 100644 (file)
@@ -6,7 +6,8 @@
 TcPat: Typechecking patterns
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, RankNTypes #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 0b3b4e4..7c9f876 100644 (file)
@@ -5,6 +5,8 @@
 \section[TcPatSyn]{Typechecking pattern synonym declarations}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcPatSyn (tcPatSynDecl) where
 
 import HsSyn
index 26e83cd..b6585f0 100644 (file)
@@ -5,6 +5,8 @@
 \section[TcMovectle]{Typechecking a whole module}
 
 \begin{code}
+{-# LANGUAGE CPP, NondecreasingIndentation #-}
+
 module TcRnDriver (
 #ifdef GHCI
         tcRnStmt, tcRnExpr, tcRnType,
index 0fc4d6b..17700e7 100644 (file)
@@ -5,7 +5,9 @@
 Functions for working with the typechecker environment (setters, getters...).
 
 \begin{code}
+{-# LANGUAGE CPP, ExplicitForAll, FlexibleInstances #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
+
 module TcRnMonad(
         module TcRnMonad,
         module TcRnTypes,
index 7670566..01aece7 100644 (file)
@@ -16,6 +16,8 @@ For state that is global and should be returned at the end (e.g not part
 of the stack mechanism), you should use an TcRef (= IORef) to store them.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcRnTypes(
         TcRnIf, TcRn, TcM, RnM, IfM, IfL, IfG, -- The monad is opaque outside this module
         TcRef,
index c2f3b6b..47b38f1 100644 (file)
@@ -6,7 +6,7 @@
 TcRules: Typechecking transformation rules
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 70ba19e..4e391dc 100644 (file)
@@ -1,6 +1,7 @@
 \begin{code}
+{-# LANGUAGE CPP, TypeFamilies #-}
+
 -- Type definitions for the constraint solver
-{-# LANGUAGE TypeFamilies #-}
 module TcSMonad (
 
        -- Canonical constraints, definition is now in TcRnTypes
index 8981a36..50fcbac 100644 (file)
@@ -1,4 +1,6 @@
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcSimplify(
        simplifyInfer, quantifyPred,
        simplifyAmbiguityCheck,
index 7ec8a9e..b3991b2 100644 (file)
@@ -7,8 +7,9 @@ TcSplice: Template Haskell splices
 
 
 \begin{code}
-{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE CPP, FlexibleInstances, MagicHash, ScopedTypeVariables #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
+
 module TcSplice(
      -- These functions are defined in stage1 and stage2
      -- The raise civilised errors in stage1
index c496aed..ea3848d 100644 (file)
@@ -1,4 +1,6 @@
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcSplice where
 import HsSyn    ( HsSplice, HsBracket, HsQuasiQuote,
                   HsExpr, LHsType, LHsExpr, LPat, LHsDecl )
index 9f45732..1fa4fcf 100644 (file)
@@ -6,7 +6,7 @@
 TcTyClsDecls: Typecheck type and class declarations
 
 \begin{code}
-{-# LANGUAGE TupleSections #-}
+{-# LANGUAGE CPP, TupleSections #-}
 
 module TcTyClsDecls (
         tcTyAndClassDecls, tcAddImplicits,
index ed9a5b7..7f859cf 100644 (file)
@@ -9,7 +9,8 @@ This stuff is only used for source-code decls; it's recorded in interface
 files for imported data types.
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 08c7a62..8640a49 100644 (file)
@@ -15,6 +15,8 @@ The "tc" prefix is for "TypeChecker", because the type checker
 is the principal client.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcType (
   --------------------------------
   -- Types
index 1447448..ef06ddd 100644 (file)
@@ -6,7 +6,8 @@
 Type subsumption and unification
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 84453eb..15f60a3 100644 (file)
@@ -4,6 +4,8 @@
 %
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module TcValidity (
   Rank, UserTypeCtxt(..), checkValidType, checkValidMonoType,
   expectedKindInCtxt, 
index 2d14568..29df065 100644 (file)
@@ -6,7 +6,8 @@
 The @Class@ datatype
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index d6122b2..06b74a4 100644 (file)
@@ -4,7 +4,7 @@
 
 \begin{code}
 
-{-# LANGUAGE GADTs, ScopedTypeVariables #-}
+{-# LANGUAGE CPP, DeriveDataTypeable, GADTs, ScopedTypeVariables #-}
 
 -- | Module for coercion axioms, used to represent type family instances
 -- and newtypes
index a8f9a2e..6f237b0 100644 (file)
@@ -3,6 +3,8 @@
 %
 
 \begin{code}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
+
 -- | Module for (a) type kinds and (b) type coercions,
 -- as used in System FC. See 'CoreSyn.Expr' for
 -- more on System FC and how coercions fit into it.
index 50ced7d..525b606 100644 (file)
@@ -5,8 +5,7 @@
 FamInstEnv: Type checked family instance declarations
 
 \begin{code}
-
-{-# LANGUAGE GADTs #-}
+{-# LANGUAGE CPP, GADTs #-}
 
 module FamInstEnv (
         FamInst(..), FamFlavor(..), famInstAxiom, famInstTyCon, famInstRHS,
index 826537d..e7fcab0 100644 (file)
@@ -7,6 +7,8 @@
 The bits common to TcInstDcls and TcDeriv.
 
 \begin{code}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
+
 module InstEnv (
         DFunId, OverlapFlag(..), InstMatch, ClsInstLookupResult,
         ClsInst(..), DFunInstType, pprInstance, pprInstanceHdr, pprInstances, 
index 793aa4a..61239bc 100644 (file)
@@ -3,7 +3,8 @@
 %
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 2f03a72..12787b2 100644 (file)
@@ -3,7 +3,8 @@
 %
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index bb489b3..abdf44a 100644 (file)
@@ -6,6 +6,7 @@
 The @TyCon@ datatype
 
 \begin{code}
+{-# LANGUAGE CPP, DeriveDataTypeable #-}
 
 module TyCon(
         -- * Main TyCon data types
index 7395329..7ddd45a 100644 (file)
@@ -6,6 +6,7 @@
 Type - public interface
 
 \begin{code}
+{-# LANGUAGE CPP #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 
 -- | Main functions for manipulating types and type-related things
index 866fc77..31b73bb 100644 (file)
@@ -15,16 +15,16 @@ Note [The Type-related module hierarchy]
   Coercion imports Type
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, DeriveDataTypeable, DeriveFunctor, DeriveFoldable, DeriveTraversable #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
 --     http://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
 -- for details
-
--- We expose the relevant stuff from this module via the Type module
 {-# OPTIONS_HADDOCK hide #-}
-{-# LANGUAGE DeriveDataTypeable, DeriveFunctor, DeriveFoldable, DeriveTraversable #-}
+-- We expose the relevant stuff from this module via the Type module
+
 module TypeRep (
        TyThing(..),
        Type(..),
index d56a3f6..1ce1d62 100644 (file)
@@ -3,7 +3,8 @@
 %
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 2d823e4..65c5b39 100644 (file)
@@ -6,6 +6,8 @@
 Bag: an unordered collection with duplicates
 
 \begin{code}
+{-# LANGUAGE DeriveDataTypeable, ScopedTypeVariables #-}
+
 module Bag (
         Bag, -- abstract type
 
index e9b7123..166a948 100644 (file)
@@ -1,4 +1,4 @@
-{-# OPTIONS -cpp #-}
+{-# LANGUAGE CPP, MagicHash, UnboxedTuples #-}
 {-# OPTIONS_GHC -O -funbox-strict-fields #-}
 -- We always optimise this, otherwise performance of a non-optimised
 -- compiler is severely affected
index f85ea8e..7eba075 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -----------------------------------------------------------------------------
 --
 -- Fast write-buffered Handles
@@ -10,7 +12,7 @@
 --
 -----------------------------------------------------------------------------
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index cc68430..a89eb71 100644 (file)
@@ -3,14 +3,14 @@
 %
 
 \begin{code}
-{-# OPTIONS -fno-warn-tabs #-}
+{-# LANGUAGE CPP, ScopedTypeVariables #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
 --     http://ghc.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
 -- for details
 
-{-# LANGUAGE ScopedTypeVariables #-}
 module Digraph(
         Graph, graphFromVerticesAndAdjacency, graphFromEdgedVertices,
 
index c4a669c..115703f 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE BangPatterns, CPP, MagicHash, UnboxedTuples #-}
 {-# OPTIONS_GHC -O #-}
 -- We always optimise this, otherwise performance of a non-optimised
 -- compiler is severely affected
index da0e67a..a33fef5 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE BangPatterns, CPP #-}
+{-# LANGUAGE BangPatterns, CPP, MagicHash #-}
 
 -----------------------------------------------------------------------------
 -- |
index 32cb7ae..9558da7 100644 (file)
@@ -4,6 +4,8 @@
 \section{Fast booleans}
 
 \begin{code}
+{-# LANGUAGE CPP, MagicHash #-}
+
 module FastBool (
     --fastBool could be called bBox; isFastTrue, bUnbox; but they're not
     FastBool, fastBool, isFastTrue, fastOr, fastAnd
index b1dacdc..457fcc9 100644 (file)
@@ -4,6 +4,7 @@ Z%
 \section{Fast functions}
 
 \begin{code}
+{-# LANGUAGE CPP, MagicHash, UnboxedTuples #-}
 
 module FastFunctions (
     unsafeChr, inlinePerformIO, unsafeDupableInterleaveIO,
index 7156cdc..0f0ca78 100644 (file)
@@ -1,6 +1,5 @@
 \begin{code}
-{-# LANGUAGE BangPatterns #-}
-{-# OPTIONS -cpp #-}
+{-# LANGUAGE CPP, BangPatterns, MagicHash, UnboxedTuples #-}
 {-# OPTIONS_GHC -O #-}
 -- We always optimise this, otherwise performance of a non-optimised
 -- compiler is severely affected
index 5a78c0b..0396c02 100644 (file)
@@ -2,7 +2,7 @@
 % (c) The University of Glasgow, 1997-2006
 %
 \begin{code}
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE BangPatterns, CPP, DeriveDataTypeable, MagicHash, UnboxedTuples #-}
 {-# OPTIONS_GHC -O -funbox-strict-fields #-}
 -- We always optimise this, otherwise performance of a non-optimised
 -- compiler is severely affected
index 0ef10ad..36d8e4c 100644 (file)
@@ -4,6 +4,7 @@
 \section{Fast integers, etc... booleans moved to FastBool for using panic}
 
 \begin{code}
+{-# LANGUAGE CPP, MagicHash #-}
 
 --Even if the optimizer could handle boxed arithmetic equally well,
 --this helps automatically check the sources to make sure that
index 9a55e38..464337b 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- ----------------------------------------------------------------------------
 --
 --  (c) The University of Glasgow 2006
index 8cb3ace..2aa16ae 100644 (file)
@@ -1,7 +1,7 @@
 
 -- | Types for the general graph colorer.
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index a896bbb..2682c73 100644 (file)
@@ -1,7 +1,7 @@
 
 -- | Pretty printing of graphs.
 
-{-# OPTIONS -fno-warn-tabs #-}
+{-# OPTIONS_GHC -fno-warn-tabs #-}
 -- The above warning supression flag is a temporary kludge.
 -- While working on this module you are encouraged to remove it and
 -- detab the module (please do the detabbing in a separate patch). See
index 6885bbd..1db1553 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE DeriveDataTypeable, UndecidableInstances #-}
+
 --
 -- (c) The University of Glasgow 2002-2006
 --
@@ -7,7 +9,6 @@
 -- as its in the IO monad, mutable references can be used
 -- for updating state.
 --
-{-# LANGUAGE UndecidableInstances #-}
 
 module IOEnv (
         IOEnv, -- Instance of Monad
index 5ad402d..6247dc6 100644 (file)
@@ -5,6 +5,7 @@
 \section[ListSetOps]{Set-like operations on lists}
 
 \begin{code}
+{-# LANGUAGE CPP #-}
 
 module ListSetOps (
         unionLists, minusList, insertList,
index 9e847d6..ca7c2a7 100644 (file)
@@ -3,6 +3,8 @@ A simple homogeneous pair type with useful Functor, Applicative, and
 Traversable instances.
 
 \begin{code}
+{-# LANGUAGE CPP #-}
+
 module Pair ( Pair(..), unPair, toPair, swap ) where
 
 #include "HsVersions.h"
index fc04668..583174b 100644 (file)
@@ -8,6 +8,8 @@ It's hard to put these functions anywhere else without causing
 some unnecessary loops in the module dependency graph.
 
 \begin{code}
+{-# LANGUAGE CPP, DeriveDataTypeable, ScopedTypeVariables #-}
+
 module Panic (
      GhcException(..), showGhcException,
      throwGhcException, throwGhcExceptionIO,
index fb7fe2b..f6a5a44 100644 (file)
@@ -152,7 +152,7 @@ Relative to John's original paper, there are the following new features:
 
 
 \begin{code}
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE BangPatterns, CPP, MagicHash #-}
 
 module Pretty (
         Doc,            -- Abstract
index 902d2fe..b1576a0 100644 (file)
@@ -1,9 +1,10 @@
+{-# LANGUAGE CPP, RankNTypes, ScopedTypeVariables #-}
+
 --
 -- (c) The University of Glasgow 2002-2006
 --
 -- Serialized values
 
-{-# LANGUAGE ScopedTypeVariables #-}
 module Serialized (
     -- * Main Serialized data type
     Serialized,
index 0b6a285..216034f 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE UnboxedTuples #-}
 
 module State (module State, mapAccumLM {- XXX hack -}) where
 
index 46cce58..a54f45f 100644 (file)
@@ -6,7 +6,7 @@
 Buffers for scanning string input stored in external arrays.
 
 \begin{code}
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE BangPatterns, CPP, MagicHash, UnboxedTuples #-}
 {-# OPTIONS_GHC -O -funbox-strict-fields #-}
 -- We always optimise this, otherwise performance of a non-optimised
 -- compiler is severely affected
index a13a17c..8797330 100644 (file)
@@ -20,9 +20,9 @@ and ``addToUFM\_C'' and ``Data.IntMap.insertWith'' differ in the order
 of arguments of combining function.
 
 \begin{code}
-{-# LANGUAGE DeriveTraversable, GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE DeriveTraversable, DeriveDataTypeable, GeneralizedNewtypeDeriving #-}
+{-# OPTIONS_GHC -Wall #-}
 
-{-# OPTIONS -Wall #-}
 module UniqFM (
         -- * Unique-keyed mappings
         UniqFM,       -- abstract type
index 5c82c75..0274c59 100644 (file)
@@ -3,6 +3,7 @@
 %
 
 \begin{code}
+{-# LANGUAGE CPP #-}
 
 -- | Highly random utility functions
 --
index fb0c148..6adb9ec 100644 (file)
@@ -1,4 +1,4 @@
-{-# LANGUAGE TupleSections #-}
+{-# LANGUAGE CPP, TupleSections #-}
 
 -- |Vectorisation of expressions.
 
index 84b29ce..a97f319 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 module Vectorise.Monad.InstEnv 
   ( existsInst
   , lookupInst
index 34008ef..6ee5ca6 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- Vectorise a modules type and class declarations.
 --
 -- This produces new type constructors and family instances top be included in the module toplevel
index cb7b34e..7d4bae3 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 module Vectorise.Utils.Base 
   ( voidType
   , newLocalVVar