From git at git.haskell.org Wed Jan 1 13:45:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 1 Jan 2014 13:45:56 +0000 (UTC) Subject: [commit: packages/base] master: Improve error messages for partial functions in Data.Data (d0b74ca) Message-ID: <20140101134557.0B0052406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d0b74cac0b0ab5371d15b6f73c0e627b41c3a152/base >--------------------------------------------------------------- commit d0b74cac0b0ab5371d15b6f73c0e627b41c3a152 Author: Krzysztof Langner Date: Wed Jan 1 14:14:46 2014 +0100 Improve error messages for partial functions in Data.Data This closes: #5412 >--------------------------------------------------------------- d0b74cac0b0ab5371d15b6f73c0e627b41c3a152 Data/Data.hs | 76 ++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 53 insertions(+), 23 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc d0b74cac0b0ab5371d15b6f73c0e627b41c3a152 From git at git.haskell.org Thu Jan 2 11:39:53 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 2 Jan 2014 11:39:53 +0000 (UTC) Subject: [commit: ghc] master: Update Note [Coercible instances] (4eeaf55) Message-ID: <20140102113954.11A522406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4eeaf556d4c25b0308107518ea10cb0b3e18c1e0/ghc >--------------------------------------------------------------- commit 4eeaf556d4c25b0308107518ea10cb0b3e18c1e0 Author: Joachim Breitner Date: Thu Jan 2 12:39:45 2014 +0100 Update Note [Coercible instances] >--------------------------------------------------------------- 4eeaf556d4c25b0308107518ea10cb0b3e18c1e0 compiler/typecheck/TcInteract.lhs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/compiler/typecheck/TcInteract.lhs b/compiler/typecheck/TcInteract.lhs index a19c7e3..1dcdc52 100644 --- a/compiler/typecheck/TcInteract.lhs +++ b/compiler/typecheck/TcInteract.lhs @@ -2066,10 +2066,10 @@ air, in getCoercibleInst. The following ?instances? are present: 4. instance Coercible r b => Coercible (NT t1 t2 ...) b instance Coercible a r => Coercible a (NT t1 t2 ...) - for a newtype constructor NT (nor data family instance that resolves to a + for a newtype constructor NT (or data family instance that resolves to a newtype) where * r is the concrete type of NT, instantiated with the arguments t1 t2 ... - * the data constructors of NT are in scope. + * the constructor of NT are in scope. Again, the newtype TyCon can appear undersaturated, but only if it has enough arguments to apply the newtype coercion (which is eta-reduced). Examples: @@ -2084,8 +2084,7 @@ TcCoercion therein has role Representational, which are turned into Core coercions by dsEvTerm in DsBinds. The evidence for the first three instance is generated here by -getCoercibleInst, the forth instance is implemented in the canonicalization -stage using deferTcSForAllEq. +getCoercibleInst, for the second instance deferTcSForAllEq is used. When the constraint cannot be solved, it is treated as any other unsolved constraint, i.e. it can turn up in an inferred type signature, or reported to From git at git.haskell.org Thu Jan 2 15:13:55 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 2 Jan 2014 15:13:55 +0000 (UTC) Subject: [commit: ghc] master: Handle parens in predicates when converting to TH (053a9d1) Message-ID: <20140102151355.870332406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/053a9d15031b0b33adc77eaadc5536a43dc7de33/ghc >--------------------------------------------------------------- commit 053a9d15031b0b33adc77eaadc5536a43dc7de33 Author: Simon Peyton Jones Date: Tue Dec 31 21:25:19 2013 +0000 Handle parens in predicates when converting to TH This fixes Trac #8625 >--------------------------------------------------------------- 053a9d15031b0b33adc77eaadc5536a43dc7de33 compiler/deSugar/DsMeta.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compiler/deSugar/DsMeta.hs b/compiler/deSugar/DsMeta.hs index 578b668..0ee963e 100644 --- a/compiler/deSugar/DsMeta.hs +++ b/compiler/deSugar/DsMeta.hs @@ -763,6 +763,8 @@ repLPred :: LHsType Name -> DsM (Core TH.PredQ) repLPred (L _ p) = repPred p repPred :: HsType Name -> DsM (Core TH.PredQ) +repPred (HsParTy ty) + = repLPred ty repPred ty | Just (cls, tys) <- splitHsClassTy_maybe ty = do From git at git.haskell.org Thu Jan 2 15:15:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 2 Jan 2014 15:15:17 +0000 (UTC) Subject: [commit: testsuite] master: Test Trac #8625 (6425ccb) Message-ID: <20140102151517.E48092406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/6425ccb4fc85c4e1d03dd21768697a989d3e8bc9/testsuite >--------------------------------------------------------------- commit 6425ccb4fc85c4e1d03dd21768697a989d3e8bc9 Author: Simon Peyton Jones Date: Tue Dec 31 21:28:51 2013 +0000 Test Trac #8625 >--------------------------------------------------------------- 6425ccb4fc85c4e1d03dd21768697a989d3e8bc9 tests/th/T8625.script | 6 ++++++ tests/th/T8625.stdout | 2 ++ tests/th/all.T | 1 + 3 files changed, 9 insertions(+) diff --git a/tests/th/T8625.script b/tests/th/T8625.script new file mode 100644 index 0000000..5b3c7b2 --- /dev/null +++ b/tests/th/T8625.script @@ -0,0 +1,6 @@ +:set -XTemplateHaskell +:m + Language.Haskell.TH + +class Member a +runQ [d| instance ( y ~ (t->t) ) => Member Bool |] +runQ [d| f :: (y ~ (t->t)) => y -> t; f x = x |] diff --git a/tests/th/T8625.stdout b/tests/th/T8625.stdout new file mode 100644 index 0000000..a845a1e --- /dev/null +++ b/tests/th/T8625.stdout @@ -0,0 +1,2 @@ +[InstanceD [EqualP (VarT y_0) (AppT (AppT ArrowT (VarT t_1)) (VarT t_1))] (AppT (ConT :Interactive.Member) (ConT GHC.Types.Bool)) []] +[SigD f_2 (ForallT [PlainTV y_3,PlainTV t_4] [EqualP (VarT y_3) (AppT (AppT ArrowT (VarT t_4)) (VarT t_4))] (AppT (AppT ArrowT (VarT y_3)) (VarT t_4))),FunD f_2 [Clause [VarP x_5] (NormalB (VarE x_5)) []]] diff --git a/tests/th/all.T b/tests/th/all.T index b521f79..5b064ba 100644 --- a/tests/th/all.T +++ b/tests/th/all.T @@ -316,3 +316,4 @@ test('T8577', multimod_compile_fail, ['T8577', '-v0 ' + config.ghc_th_way_flags]) test('T8633', normal, compile_and_run, ['']) +test('T8625', normal, ghci_script, ['T8625.script']) From git at git.haskell.org Fri Jan 3 11:06:10 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 11:06:10 +0000 (UTC) Subject: [commit: packages/integer-simple] master: Use a more sensible `hashInteger` implementation (9e8b924) Message-ID: <20140103110610.8CDC02406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-simple On branch : master Link : http://git.haskell.org/packages/integer-simple.git/commitdiff/9e8b924f68c4cdb6c7ae88f274baa3560aaa305e >--------------------------------------------------------------- commit 9e8b924f68c4cdb6c7ae88f274baa3560aaa305e Author: Herbert Valerio Riedel Date: Fri Jan 3 12:04:27 2014 +0100 Use a more sensible `hashInteger` implementation This makes `hashInteger` behave the same way as `integer-gmp`s `hashInteger`. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 9e8b924f68c4cdb6c7ae88f274baa3560aaa305e GHC/Integer/Type.hs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/GHC/Integer/Type.hs b/GHC/Integer/Type.hs index 144a52c..5deecd2 100644 --- a/GHC/Integer/Type.hs +++ b/GHC/Integer/Type.hs @@ -503,10 +503,9 @@ signumInteger (Negative _) = negativeOneInteger signumInteger Naught = Naught signumInteger (Positive _) = oneInteger --- XXX This isn't a great hash function {-# NOINLINE hashInteger #-} hashInteger :: Integer -> Int# -hashInteger (!_) = 42# +hashInteger = integerToInt ------------------------------------------------------------------- -- The hard work is done on positive numbers From git at git.haskell.org Fri Jan 3 16:14:34 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:14:34 +0000 (UTC) Subject: [commit: ghc] master: In ':show imports' take account of -XNoImplicitPrelude (c93d664) Message-ID: <20140103161434.DA3BD2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/c93d664baa552e43c915e995663aa624bcfcd6ff/ghc >--------------------------------------------------------------- commit c93d664baa552e43c915e995663aa624bcfcd6ff Author: Simon Peyton Jones Date: Thu Jan 2 15:16:32 2014 +0000 In ':show imports' take account of -XNoImplicitPrelude Fixes Trac #8640 >--------------------------------------------------------------- c93d664baa552e43c915e995663aa624bcfcd6ff ghc/InteractiveUI.hs | 1 + 1 file changed, 1 insertion(+) diff --git a/ghc/InteractiveUI.hs b/ghc/InteractiveUI.hs index be97bc0..c007a1c 100644 --- a/ghc/InteractiveUI.hs +++ b/ghc/InteractiveUI.hs @@ -2229,6 +2229,7 @@ showImports = do prel_imp | any isPreludeImport (rem_ctx ++ trans_ctx) = [] + | not (xopt Opt_ImplicitPrelude dflags) = [] | otherwise = ["import Prelude -- implicit"] trans_comment s = s ++ " -- added automatically" From git at git.haskell.org Fri Jan 3 16:14:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:14:37 +0000 (UTC) Subject: [commit: ghc] master: Use the GlobalRdrEnv when renaming the axuiliary bindings in 'deriving' (4853be2) Message-ID: <20140103161437.997102406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4853be24dd382f8fafa97077143c67da00b90d6e/ghc >--------------------------------------------------------------- commit 4853be24dd382f8fafa97077143c67da00b90d6e Author: Simon Peyton Jones Date: Fri Jan 3 15:35:45 2014 +0000 Use the GlobalRdrEnv when renaming the axuiliary bindings in 'deriving' I'm not sure why were were using bindLocalNames before, but it triggers an assert failure that checks that local names are Internal. This change makes things more uniform and straightforward. >--------------------------------------------------------------- 4853be24dd382f8fafa97077143c67da00b90d6e compiler/typecheck/TcDeriv.lhs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/compiler/typecheck/TcDeriv.lhs b/compiler/typecheck/TcDeriv.lhs index bc40d80..a369a60 100644 --- a/compiler/typecheck/TcDeriv.lhs +++ b/compiler/typecheck/TcDeriv.lhs @@ -29,10 +29,12 @@ import TcHsType import TcMType import TcSimplify +import RnNames( extendGlobalRdrEnvRn ) import RnBinds import RnEnv import RnSource ( addTcgDUs ) import HscTypes +import Avail import Unify( tcMatchTy ) import Id( idType ) @@ -457,8 +459,9 @@ renameDeriv is_boot inst_infos bagBinds ; let aux_val_binds = ValBindsIn aux_binds (bagToList aux_sigs) ; rn_aux_lhs <- rnTopBindsLHS emptyFsEnv aux_val_binds ; let bndrs = collectHsValBinders rn_aux_lhs - ; bindLocalNames bndrs $ - do { (rn_aux, dus_aux) <- rnValBindsRHS (LocalBindCtxt (mkNameSet bndrs)) rn_aux_lhs + ; envs <- extendGlobalRdrEnvRn (map Avail bndrs) emptyFsEnv ; + ; setEnvs envs $ + do { (rn_aux, dus_aux) <- rnValBindsRHS (TopSigCtxt (mkNameSet bndrs) False) rn_aux_lhs ; (rn_inst_infos, fvs_insts) <- mapAndUnzipM rn_inst_info inst_infos ; return (listToBag rn_inst_infos, rn_aux, dus_aux `plusDU` usesOnly (plusFVs fvs_insts)) } } From git at git.haskell.org Fri Jan 3 16:14:39 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:14:39 +0000 (UTC) Subject: [commit: ghc] master: Add alterOccEnv (5c4265f) Message-ID: <20140103161439.A941C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/5c4265f25f04f191fafc4a7f6bfde088385da53e/ghc >--------------------------------------------------------------- commit 5c4265f25f04f191fafc4a7f6bfde088385da53e Author: Simon Peyton Jones Date: Fri Jan 3 15:36:31 2014 +0000 Add alterOccEnv >--------------------------------------------------------------- 5c4265f25f04f191fafc4a7f6bfde088385da53e compiler/basicTypes/OccName.lhs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/basicTypes/OccName.lhs b/compiler/basicTypes/OccName.lhs index 7585807..9c31612 100644 --- a/compiler/basicTypes/OccName.lhs +++ b/compiler/basicTypes/OccName.lhs @@ -89,6 +89,7 @@ module OccName ( lookupOccEnv, mkOccEnv, mkOccEnv_C, extendOccEnvList, elemOccEnv, occEnvElts, foldOccEnv, plusOccEnv, plusOccEnv_C, extendOccEnv_C, extendOccEnv_Acc, filterOccEnv, delListFromOccEnv, delFromOccEnv, + alterOccEnv, -- * The 'OccSet' type OccSet, emptyOccSet, unitOccSet, mkOccSet, extendOccSet, @@ -391,6 +392,7 @@ mapOccEnv :: (a->b) -> OccEnv a -> OccEnv b delFromOccEnv :: OccEnv a -> OccName -> OccEnv a delListFromOccEnv :: OccEnv a -> [OccName] -> OccEnv a filterOccEnv :: (elt -> Bool) -> OccEnv elt -> OccEnv elt +alterOccEnv :: (Maybe elt -> Maybe elt) -> OccEnv elt -> OccName -> OccEnv elt emptyOccEnv = A emptyUFM unitOccEnv x y = A $ unitUFM x y @@ -410,6 +412,7 @@ mkOccEnv_C comb l = A $ addListToUFM_C comb emptyUFM l delFromOccEnv (A x) y = A $ delFromUFM x y delListFromOccEnv (A x) y = A $ delListFromUFM x y filterOccEnv x (A y) = A $ filterUFM x y +alterOccEnv fn (A y) k = A $ alterUFM fn y k instance Outputable a => Outputable (OccEnv a) where ppr (A x) = ppr x From git at git.haskell.org Fri Jan 3 16:14:41 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:14:41 +0000 (UTC) Subject: [commit: ghc] master: Improve error message when using qualified names in GHCi (e60a841) Message-ID: <20140103161441.E84A82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/e60a841b07d000703e7aceb0faec908ce8f3257f/ghc >--------------------------------------------------------------- commit e60a841b07d000703e7aceb0faec908ce8f3257f Author: Simon Peyton Jones Date: Fri Jan 3 15:39:35 2014 +0000 Improve error message when using qualified names in GHCi When you say ghci> :i Foo.x GHCi tries to find module Foo and get 'x' from it. But if Foo doesn't exist we don't want to say: Attempting to use module ?Foo? which is not loaded This is a bit confusing. Rather we just want to say that Foo.x is not in scope. >--------------------------------------------------------------- e60a841b07d000703e7aceb0faec908ce8f3257f compiler/iface/LoadIface.lhs | 34 +++++++++++-------- compiler/rename/RnEnv.lhs | 75 +++++++++++++++++++++++------------------- 2 files changed, 62 insertions(+), 47 deletions(-) diff --git a/compiler/iface/LoadIface.lhs b/compiler/iface/LoadIface.lhs index 08e7466..d787794 100644 --- a/compiler/iface/LoadIface.lhs +++ b/compiler/iface/LoadIface.lhs @@ -10,7 +10,8 @@ Loading interface files module LoadIface ( -- RnM/TcM functions loadModuleInterface, loadModuleInterfaces, - loadSrcInterface, loadInterfaceForName, loadInterfaceForModule, + loadSrcInterface, loadSrcInterface_maybe, + loadInterfaceForName, loadInterfaceForModule, -- IfM functions loadInterface, loadWiredInHomeIface, @@ -84,23 +85,30 @@ loadSrcInterface :: SDoc -> Maybe FastString -- "package", if any -> RnM ModIface -loadSrcInterface doc mod want_boot maybe_pkg = do +loadSrcInterface doc mod want_boot maybe_pkg + = do { res <- loadSrcInterface_maybe doc mod want_boot maybe_pkg + ; case res of + Failed err -> failWithTc err + Succeeded iface -> return iface } + +-- | Like loadSrcInterface, but returns a MaybeErr +loadSrcInterface_maybe :: SDoc + -> ModuleName + -> IsBootInterface -- {-# SOURCE #-} ? + -> Maybe FastString -- "package", if any + -> RnM (MaybeErr MsgDoc ModIface) + +loadSrcInterface_maybe doc mod want_boot maybe_pkg -- We must first find which Module this import refers to. This involves -- calling the Finder, which as a side effect will search the filesystem -- and create a ModLocation. If successful, loadIface will read the -- interface; it will call the Finder again, but the ModLocation will be -- cached from the first search. - hsc_env <- getTopEnv - res <- liftIO $ findImportedModule hsc_env mod maybe_pkg - case res of - Found _ mod -> do - mb_iface <- initIfaceTcRn $ loadInterface doc mod (ImportByUser want_boot) - case mb_iface of - Failed err -> failWithTc err - Succeeded iface -> return iface - err -> - let dflags = hsc_dflags hsc_env in - failWithTc (cannotFindInterface dflags mod err) + = do { hsc_env <- getTopEnv + ; res <- liftIO $ findImportedModule hsc_env mod maybe_pkg + ; case res of + Found _ mod -> initIfaceTcRn $ loadInterface doc mod (ImportByUser want_boot) + err -> return (Failed (cannotFindInterface (hsc_dflags hsc_env) mod err)) } -- | Load interface for a module. loadModuleInterface :: SDoc -> Module -> TcM ModIface diff --git a/compiler/rename/RnEnv.lhs b/compiler/rename/RnEnv.lhs index c49652b..c11cca0 100644 --- a/compiler/rename/RnEnv.lhs +++ b/compiler/rename/RnEnv.lhs @@ -46,7 +46,7 @@ module RnEnv ( #include "HsVersions.h" -import LoadIface ( loadInterfaceForName, loadSrcInterface ) +import LoadIface ( loadInterfaceForName, loadSrcInterface_maybe ) import IfaceEnv import HsSyn import RdrName @@ -645,23 +645,10 @@ lookupOccRn_maybe rdr_name ; case mb_name of { Just name -> return (Just name) ; Nothing -> do - { -- We allow qualified names on the command line to refer to - -- *any* name exported by any module in scope, just as if there - -- was an "import qualified M" declaration for every module. - -- But we DONT allow it under Safe Haskell as we need to check - -- imports. We can and should instead check the qualified import - -- but at the moment this requires some refactoring so leave as a TODO - ; dflags <- getDynFlags - ; let allow_qual = gopt Opt_ImplicitImportQualified dflags && - not (safeDirectImpsReq dflags) - ; is_ghci <- getIsGHCi - -- This test is not expensive, - -- and only happens for failed lookups - ; if isQual rdr_name && allow_qual && is_ghci - then lookupQualifiedName rdr_name - else do { traceRn (text "lookupOccRn failed" <+> ppr rdr_name) - ; return Nothing } } } } } } - + { dflags <- getDynFlags + ; is_ghci <- getIsGHCi -- This test is not expensive, + -- and only happens for failed lookups + ; lookupQualifiedNameGHCi dflags is_ghci rdr_name } } } } } lookupGlobalOccRn :: RdrName -> RnM Name -- lookupGlobalOccRn is like lookupOccRn, except that it looks in the global @@ -836,26 +823,46 @@ this is, after all, wired-in stuff. %* * %********************************************************* +A qualified name on the command line can refer to any module at +all: we try to load the interface if we don't already have it, just +as if there was an "import qualified M" declaration for every +module. + +If we fail we just return Nothing, rather than bleating +about "attempting to use module ?D? (./D.hs) which is not loaded" +which is what loadSrcInterface does. + +Note [Safe Haskell and GHCi] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +We DONT do this Safe Haskell as we need to check imports. We can +and should instead check the qualified import but at the moment +this requires some refactoring so leave as a TODO + \begin{code} --- A qualified name on the command line can refer to any module at all: we --- try to load the interface if we don't already have it. -lookupQualifiedName :: RdrName -> RnM (Maybe Name) -lookupQualifiedName rdr_name +lookupQualifiedNameGHCi :: DynFlags -> Bool -> RdrName -> RnM (Maybe Name) +lookupQualifiedNameGHCi dflags is_ghci rdr_name | Just (mod,occ) <- isQual_maybe rdr_name - -- Note: we want to behave as we would for a source file import here, - -- and respect hiddenness of modules/packages, hence loadSrcInterface. - = do iface <- loadSrcInterface doc mod False Nothing - - case [ name - | avail <- mi_exports iface, - name <- availNames avail, - nameOccName name == occ ] of - (n:ns) -> ASSERT(null ns) return (Just n) - _ -> do { traceRn (text "lookupQualified" <+> ppr rdr_name) - ; return Nothing } + , is_ghci + , gopt Opt_ImplicitImportQualified dflags -- Enables this GHCi behaviour + , not (safeDirectImpsReq dflags) -- See Note [Safe Haskell and GHCi] + = -- We want to behave as we would for a source file import here, + -- and respect hiddenness of modules/packages, hence loadSrcInterface. + do { res <- loadSrcInterface_maybe doc mod False Nothing + ; case res of + Succeeded iface + | (n:ns) <- [ name + | avail <- mi_exports iface + , name <- availNames avail + , nameOccName name == occ ] + -> ASSERT(null ns) return (Just n) + + _ -> -- Either we couldn't load the interface, or + -- we could but we didn't find the name in it + do { traceRn (text "lookupQualifiedNameGHCi" <+> ppr rdr_name) + ; return Nothing } } | otherwise - = pprPanic "RnEnv.lookupQualifiedName" (ppr rdr_name) + = return Nothing where doc = ptext (sLit "Need to find") <+> ppr rdr_name \end{code} From git at git.haskell.org Fri Jan 3 16:14:44 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:14:44 +0000 (UTC) Subject: [commit: ghc] master: Refactor the way shadowing in handled in GHCi (5dffb4a) Message-ID: <20140103161444.213822406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/5dffb4ac14b53362ebe9a67c5c6a01f9c9c25229/ghc >--------------------------------------------------------------- commit 5dffb4ac14b53362ebe9a67c5c6a01f9c9c25229 Author: Simon Peyton Jones Date: Fri Jan 3 15:50:39 2014 +0000 Refactor the way shadowing in handled in GHCi If you say ghci> import Foo( T ) ghci> data T = MkT ghci> data T = XXX then the second 'data T' should shadow the first. But the qualified Foo.T should still be available. We really weren't handling this correctly at all, resulting in Trac #8639 and #8628 among others This patch: * Add RdrName.extendGlobalRdrEnv, which does shadowing properly * Change HscTypes.icExtendGblRdrEnv (was badly-named icPlusGblRdrEnv) to use the new function * Change RnNames.extendGobalRdrEnvRn to use the new function * Move gresFrom Avails into RdrName * Better pprGlobalRdrEnv function in RdrName >--------------------------------------------------------------- 5dffb4ac14b53362ebe9a67c5c6a01f9c9c25229 compiler/basicTypes/Avail.hs | 23 +--- compiler/basicTypes/RdrName.lhs | 233 +++++++++++++++++++++++++++----------- compiler/deSugar/DsMonad.lhs | 1 - compiler/main/HscMain.hs | 3 +- compiler/main/HscTypes.lhs | 28 ++--- compiler/main/InteractiveEval.hs | 2 +- compiler/rename/RnNames.lhs | 41 ++++--- compiler/rename/RnSource.lhs | 1 + 8 files changed, 209 insertions(+), 123 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 5dffb4ac14b53362ebe9a67c5c6a01f9c9c25229 From git at git.haskell.org Fri Jan 3 16:14:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:14:46 +0000 (UTC) Subject: [commit: ghc] master: Improve the equality-floating story (again), to fix Trac #8644 (9e10d18) Message-ID: <20140103161446.603DC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/9e10d1883d7ea5ea422cda79b426f51d2b59b14d/ghc >--------------------------------------------------------------- commit 9e10d1883d7ea5ea422cda79b426f51d2b59b14d Author: Simon Peyton Jones Date: Fri Jan 3 16:04:04 2014 +0000 Improve the equality-floating story (again), to fix Trac #8644 We float equalities out of implications whose 'givens' include equalities. But it's a bit tricky knowing whether some givens do or do not include equalities, as #8644 shows. There the given has type 'c' (which might have equalities), but we discover that 'c ~ ()', which definitely doesn't. In short, we must look at the givens *after* normalisation, not before. Moreover, something similar happens in approximateWC, where we need to ask whether an implication has given equalities. This patch does the job: * Add a Boolean field inert_no_eqs to InertCans, which records whether we've added a non-constant equality * Add a field ic_no_eqs to Implication, which records whether the ic_given binders include any equalities * Get rid of Inst.hasEqualities altogether On the way I did some un-forced refactoring * Introduce the auxiliary function TcCanonical.flattenNestedFamApp * Kill off FamHeadMap and PredMap in favour of the new FunEqMap and DictMap respectively >--------------------------------------------------------------- 9e10d1883d7ea5ea422cda79b426f51d2b59b14d compiler/typecheck/Inst.lhs | 19 --- compiler/typecheck/TcCanonical.lhs | 81 +++++----- compiler/typecheck/TcInteract.lhs | 51 ++++--- compiler/typecheck/TcRnTypes.lhs | 11 +- compiler/typecheck/TcRules.lhs | 2 + compiler/typecheck/TcSMonad.lhs | 292 ++++++++++++++++++------------------ compiler/typecheck/TcSimplify.lhs | 64 +++++--- compiler/typecheck/TcUnify.lhs | 15 +- 8 files changed, 283 insertions(+), 252 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 9e10d1883d7ea5ea422cda79b426f51d2b59b14d From git at git.haskell.org Fri Jan 3 16:15:35 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:15:35 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Try harder to demote results from `J#` to `S#` (re #8638) (301269a) Message-ID: <20140103161535.BB2362406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://git.haskell.org/packages/integer-gmp.git/commitdiff/301269aef0fb331bf272de4f6592eb71471a3b16 >--------------------------------------------------------------- commit 301269aef0fb331bf272de4f6592eb71471a3b16 Author: Herbert Valerio Riedel Date: Mon Dec 30 16:05:20 2013 +0100 Try harder to demote results from `J#` to `S#` (re #8638) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 301269aef0fb331bf272de4f6592eb71471a3b16 GHC/Integer/Type.lhs | 92 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 59 insertions(+), 33 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 301269aef0fb331bf272de4f6592eb71471a3b16 From git at git.haskell.org Fri Jan 3 16:15:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:15:37 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Refactor and comment the smartJ# changes (re Trac #8638) (3c93d7f) Message-ID: <20140103161539.DBACD2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://git.haskell.org/packages/integer-gmp.git/commitdiff/3c93d7f61821345f29b9ee8a99346fa464d708a4 >--------------------------------------------------------------- commit 3c93d7f61821345f29b9ee8a99346fa464d708a4 Author: Simon Peyton Jones Date: Fri Jan 3 16:13:19 2014 +0000 Refactor and comment the smartJ# changes (re Trac #8638) >--------------------------------------------------------------- 3c93d7f61821345f29b9ee8a99346fa464d708a4 GHC/Integer/Type.lhs | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index c206462..77d529a 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -152,21 +152,52 @@ toBig i@(J# _ _) = i -- | Demote 'J#' to 'S#' if possible. See also 'smartJ#'. toSmall :: Integer -> Integer -toSmall i@(S# _) = i -toSmall (J# 0# _) = S# 0# -toSmall (J# 1# mb#) | isTrue# (v ># 0#) = S# v +toSmall i@(S# _) = i +toSmall (J# s# mb#) = smartJ# s# mb# + + +-- | Smart 'J#' constructor which tries to construct 'S#' if possible +smartJ# :: Int# -> ByteArray# -> Integer +smartJ# 0# _ = S# 0# +smartJ# 1# mb# | isTrue# (v ># 0#) = S# v where v = indexIntArray# mb# 0# -toSmall (J# -1# mb#) | isTrue# (v <# 0#) = S# v +smartJ# (-1#) mb# | isTrue# (v <# 0#) = S# v where v = negateInt# (indexIntArray# mb# 0#) -toSmall i = i - --- | Smart 'J#' constructor which tries to construct 'S#' if possible -smartJ# :: Int# -> ByteArray# -> Integer -smartJ# s# mb# = toSmall (J# s# mb#) +smartJ# s# mb# = J# s# mb# \end{code} +Note [Use S# if possible] +~~~~~~~~~~~~~~~~~~~~~~~~~ +It's a big win to use S#, rather than J#, whenever possible. Not only +does it take less space, but (probably more important) subsequent +operations are more efficient. See Trac #8638. + +'smartJ#' is the smart constructor for J# that performs the necessary +tests. When returning a nested result, we always use smartJ# strictly, +thus + let !r = smartJ# a b in (# r, somthing_else #) +to avoid creating a thunk that is subsequently evaluated to a J#. +smartJ# itself does a pretty small amount of work, so it's not worth +thunking it. + +We call 'smartJ#' in places like quotRemInteger where a big input +might produce a small output. + +Just using smartJ# in this way has good results: + + Program Size Allocs Runtime Elapsed TotalMem +-------------------------------------------------------------------------------- + gamteb +0.1% -19.0% 0.03 0.03 +0.0% + kahan +0.2% -1.2% 0.17 0.17 +0.0% + mandel +0.1% -7.7% 0.05 0.05 +0.0% + power +0.1% -40.8% -32.5% -32.5% +0.0% + symalg +0.2% -0.5% 0.01 0.01 +0.0% +-------------------------------------------------------------------------------- + Min +0.0% -40.8% -32.5% -32.5% -5.1% + Max +0.2% +0.1% +2.0% +2.0% +0.0% + Geometric Mean +0.1% -1.0% -2.5% -2.5% -0.1% %********************************************************* %* * @@ -200,6 +231,7 @@ quotRemInteger (J# s1 d1) (J# s2 d2) (# s3, d3, s4, d4 #) -> let !q = smartJ# s3 d3 !r = smartJ# s4 d4 in (# q, r #) + -- See Note [Use S# if possible] {-# NOINLINE divModInteger #-} divModInteger :: Integer -> Integer -> (# Integer, Integer #) From git at git.haskell.org Fri Jan 3 16:16:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:16:11 +0000 (UTC) Subject: [commit: testsuite] master: Test Trac #8639 (b56bee2) Message-ID: <20140103161611.693782406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/b56bee2c2340f0ce8f6759e989093c18d7a7bd40/testsuite >--------------------------------------------------------------- commit b56bee2c2340f0ce8f6759e989093c18d7a7bd40 Author: Simon Peyton Jones Date: Thu Jan 2 15:18:10 2014 +0000 Test Trac #8639 >--------------------------------------------------------------- b56bee2c2340f0ce8f6759e989093c18d7a7bd40 tests/ghc-api/Makefile | 4 ++++ tests/ghc-api/T8639_api.hs | 26 ++++++++++++++++++++++++++ tests/ghc-api/T8639_api.stdout | 1 + tests/ghc-api/T8639_api_a.hs | 3 +++ tests/ghc-api/all.T | 5 ++++- 5 files changed, 38 insertions(+), 1 deletion(-) diff --git a/tests/ghc-api/Makefile b/tests/ghc-api/Makefile index 57ba15c..808990c 100644 --- a/tests/ghc-api/Makefile +++ b/tests/ghc-api/Makefile @@ -9,6 +9,10 @@ T6145: clean '$(TEST_HC)' $(TEST_HC_OPTS) --make -v0 -package ghc T6145 ./T6145 "`'$(TEST_HC)' $(TEST_HC_OPTS) --print-libdir | tr -d '\r'`" +T8639_api: clean + '$(TEST_HC)' $(TEST_HC_OPTS) --make -v0 -package ghc T8639_api + ./T8639_api "`'$(TEST_HC)' $(TEST_HC_OPTS) --print-libdir | tr -d '\r'`" + .PHONY: clean T6145 diff --git a/tests/ghc-api/T8639_api.hs b/tests/ghc-api/T8639_api.hs new file mode 100644 index 0000000..4232aa0 --- /dev/null +++ b/tests/ghc-api/T8639_api.hs @@ -0,0 +1,26 @@ +module Main where + +import GHC +import GhcMonad +import Outputable +import System.IO +import System.Environment( getArgs ) + +main + = do { [libdir] <- getArgs + ; runGhc (Just libdir) $ do + flags <- getSessionDynFlags + setSessionDynFlags (flags{ hscTarget = HscInterpreted, ghcLink = LinkInMemory}) + target <- guessTarget "T8639_api_a.hs" Nothing + setTargets [target] + load LoadAllTargets + imps <- mapM parseImportDecl ["import Prelude", "import T8639_api_a"] + setContext (map IIDecl imps) + + -- With the next line, you get an "Not in scope" exception. + -- If you comment out this runStmt, it runs without error and prints the type. + runStmt "putStrLn (show 3)" RunToCompletion + + ty <- exprType "T8639_api_a.it" + liftIO (putStrLn (showPpr flags ty)) + ; hFlush stdout } diff --git a/tests/ghc-api/T8639_api.stdout b/tests/ghc-api/T8639_api.stdout new file mode 100644 index 0000000..3d957c1 --- /dev/null +++ b/tests/ghc-api/T8639_api.stdout @@ -0,0 +1 @@ +GHC.Types.Bool diff --git a/tests/ghc-api/T8639_api_a.hs b/tests/ghc-api/T8639_api_a.hs new file mode 100644 index 0000000..ed0d96d --- /dev/null +++ b/tests/ghc-api/T8639_api_a.hs @@ -0,0 +1,3 @@ +module T8639_api_a where + +it = True diff --git a/tests/ghc-api/all.T b/tests/ghc-api/all.T index ee58181..998bcd7 100644 --- a/tests/ghc-api/all.T +++ b/tests/ghc-api/all.T @@ -1,4 +1,7 @@ +test('ghcApi', normal, compile_and_run, ['-package ghc']) test('T6145', when(fast(), skip), run_command, ['$MAKE -s --no-print-directory T6145']) -test('ghcApi', normal, compile_and_run, ['-package ghc']) +test('T8639_api', when(fast(), skip), + run_command, + ['$MAKE -s --no-print-directory T8639_api']) From git at git.haskell.org Fri Jan 3 16:16:14 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:16:14 +0000 (UTC) Subject: [commit: testsuite] master: Test Trac #8639 (just the GHCi version) (0a0ca80) Message-ID: <20140103161614.2A1762406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0a0ca8097d52838bf6faa883dfab4f84a7e89527/testsuite >--------------------------------------------------------------- commit 0a0ca8097d52838bf6faa883dfab4f84a7e89527 Author: Simon Peyton Jones Date: Tue Dec 31 17:07:31 2013 +0000 Test Trac #8639 (just the GHCi version) >--------------------------------------------------------------- 0a0ca8097d52838bf6faa883dfab4f84a7e89527 tests/ghci/scripts/T8639.hs | 4 ++++ tests/ghci/scripts/T8639.script | 19 +++++++++++++++++++ tests/ghci/scripts/T8639.stderr | 4 ++++ tests/ghci/scripts/all.T | 1 + 4 files changed, 28 insertions(+) diff --git a/tests/ghci/scripts/T8639.hs b/tests/ghci/scripts/T8639.hs new file mode 100644 index 0000000..d3d4c91 --- /dev/null +++ b/tests/ghci/scripts/T8639.hs @@ -0,0 +1,4 @@ +module T8639 where + +it = True +bit = 'c' diff --git a/tests/ghci/scripts/T8639.script b/tests/ghci/scripts/T8639.script new file mode 100644 index 0000000..a7db172 --- /dev/null +++ b/tests/ghci/scripts/T8639.script @@ -0,0 +1,19 @@ +:l T8639.hs +:t it +bit +:t it + -- Gets the last thing evaluated (T8639.bit) +:t T8639.it + -- Gets 'it' from T8639 + +:m -T8639 +import T8639 as Q + +:t bit +:t Q.bit +:t H.bit + -- Should say "out of scope" +:t it + -- Gets the last thing evaluated (T8639.bit) +:t Q.it + -- Gets 'it' from T8639 diff --git a/tests/ghci/scripts/T8639.stderr b/tests/ghci/scripts/T8639.stderr new file mode 100644 index 0000000..ca52a89 --- /dev/null +++ b/tests/ghci/scripts/T8639.stderr @@ -0,0 +1,4 @@ + +:1:1: + Not in scope: ?H.bit? + Perhaps you meant ?Q.bit? (imported from T8639) diff --git a/tests/ghci/scripts/all.T b/tests/ghci/scripts/all.T index 966ea90..c1c50cd 100755 --- a/tests/ghci/scripts/all.T +++ b/tests/ghci/scripts/all.T @@ -160,3 +160,4 @@ test('T8383', normal, ghci_script, ['T8383.script']) test('T8469', normal, ghci_script, ['T8469.script']) test('T8485', normal, ghci_script, ['T8485.script']) test('T8535', normal, ghci_script, ['T8535.script']) +test('T8639', normal, ghci_script, ['T8639.script']) From git at git.haskell.org Fri Jan 3 16:16:16 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:16:16 +0000 (UTC) Subject: [commit: testsuite] master: Improved out-of-scope error for qualified names in GHCi (119a6cd) Message-ID: <20140103161616.3B5B22406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/119a6cdd2b14edc8c41aa34d1fc3b62fcb228212/testsuite >--------------------------------------------------------------- commit 119a6cdd2b14edc8c41aa34d1fc3b62fcb228212 Author: Simon Peyton Jones Date: Thu Jan 2 15:18:45 2014 +0000 Improved out-of-scope error for qualified names in GHCi >--------------------------------------------------------------- 119a6cdd2b14edc8c41aa34d1fc3b62fcb228212 tests/ghci/scripts/ghci036.stderr | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/ghci/scripts/ghci036.stderr b/tests/ghci/scripts/ghci036.stderr index 5b53b08..e15b195 100644 --- a/tests/ghci/scripts/ghci036.stderr +++ b/tests/ghci/scripts/ghci036.stderr @@ -11,8 +11,6 @@ Not in scope: ?nub? Perhaps you meant ?L.nub? (imported from Data.List) -:1:1: - Failed to load interface for ?L? - Use -v to see a list of the files searched for. +:1:1: Not in scope: ?L.nub? :1:1: Not in scope: ?nub? From git at git.haskell.org Fri Jan 3 16:16:19 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:16:19 +0000 (UTC) Subject: [commit: testsuite] master: Test Trac #8644 (2818ec6) Message-ID: <20140103161619.C096B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/2818ec6887a713211dfca69cc80241a1ef2e5d33/testsuite >--------------------------------------------------------------- commit 2818ec6887a713211dfca69cc80241a1ef2e5d33 Author: Simon Peyton Jones Date: Fri Jan 3 16:06:04 2014 +0000 Test Trac #8644 >--------------------------------------------------------------- 2818ec6887a713211dfca69cc80241a1ef2e5d33 tests/typecheck/should_compile/T8644.hs | 11 +++++++++++ tests/typecheck/should_compile/all.T | 1 + 2 files changed, 12 insertions(+) diff --git a/tests/typecheck/should_compile/T8644.hs b/tests/typecheck/should_compile/T8644.hs new file mode 100644 index 0000000..aa3ec09 --- /dev/null +++ b/tests/typecheck/should_compile/T8644.hs @@ -0,0 +1,11 @@ +{-# LANGUAGE ConstraintKinds, RankNTypes, GADTs #-} +module T8644 where + +data Dict c where Dict :: c => Dict c + +foo :: Dict c -> (c => r) -> r +foo Dict x = x + +bar :: Dict () +bar = Dict + diff --git a/tests/typecheck/should_compile/all.T b/tests/typecheck/should_compile/all.T index f773034..0fe6968 100644 --- a/tests/typecheck/should_compile/all.T +++ b/tests/typecheck/should_compile/all.T @@ -414,3 +414,4 @@ test('T8392', normal, compile, ['']) test('T8474', normal, compile, ['']) test('T8563', normal, compile, ['']) test('T8565', normal, compile, ['']) +test('T8644', normal, compile, ['']) From git at git.haskell.org Fri Jan 3 16:16:21 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:16:21 +0000 (UTC) Subject: [commit: testsuite] master: White space only (a9138b9) Message-ID: <20140103161621.97DA62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/a9138b9b21c45b4f011a4a51e6934541dea6390a/testsuite >--------------------------------------------------------------- commit a9138b9b21c45b4f011a4a51e6934541dea6390a Author: Simon Peyton Jones Date: Fri Jan 3 16:07:17 2014 +0000 White space only >--------------------------------------------------------------- a9138b9b21c45b4f011a4a51e6934541dea6390a 0 files changed From git at git.haskell.org Fri Jan 3 16:16:23 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:16:23 +0000 (UTC) Subject: [commit: testsuite] master: Update T7594 as a result of fixing #8644 (cf68a8e) Message-ID: <20140103161623.B84DB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/cf68a8e798fea44bea2804439732e534e096b0d1/testsuite >--------------------------------------------------------------- commit cf68a8e798fea44bea2804439732e534e096b0d1 Author: Simon Peyton Jones Date: Fri Jan 3 16:09:47 2014 +0000 Update T7594 as a result of fixing #8644 The fix to #8644 makes the original T7594 pass (rightly). I've added a variant that shouuld and does fail >--------------------------------------------------------------- cf68a8e798fea44bea2804439732e534e096b0d1 tests/polykinds/T7594.hs | 10 ++++++++++ tests/polykinds/T7594.stderr | 15 +++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/tests/polykinds/T7594.hs b/tests/polykinds/T7594.hs index 89e749c..2cbd3db 100644 --- a/tests/polykinds/T7594.hs +++ b/tests/polykinds/T7594.hs @@ -23,5 +23,15 @@ q :: ColD (Show :&: Real) q = ColD (1.2 :: Double) bar = app print q +-- This one works, as a result of fixing Trac #8644, +-- because the given constraint is +-- (Show :&: Real) a, which has no equality superclasses + +q2 :: ColD (c :&: Real) +q2 = error "urk" + +bar2 = app print q2 +-- This one fail, because the given constraint is +-- (c :&: Real) a, which might have equality superclasses diff --git a/tests/polykinds/T7594.stderr b/tests/polykinds/T7594.stderr index 64d0fa2..80d39f1 100644 --- a/tests/polykinds/T7594.stderr +++ b/tests/polykinds/T7594.stderr @@ -1,15 +1,14 @@ -T7594.hs:25:11: +T7594.hs:32:12: Couldn't match type ?b? with ?IO ()? ?b? is untouchable - inside the constraints ((:&:) Show Real a) - bound by a type expected by the context: - (:&:) Show Real a => a -> b - at T7594.hs:25:7-17 + inside the constraints ((:&:) c0 Real a) + bound by a type expected by the context: (:&:) c0 Real a => a -> b + at T7594.hs:32:8-19 ?b? is a rigid type variable bound by - the inferred type of bar :: b at T7594.hs:25:1 + the inferred type of bar2 :: b at T7594.hs:32:1 Expected type: a -> b Actual type: a -> IO () - Relevant bindings include bar :: b (bound at T7594.hs:25:1) + Relevant bindings include bar2 :: b (bound at T7594.hs:32:1) In the first argument of ?app?, namely ?print? - In the expression: app print q + In the expression: app print q2 From git at git.haskell.org Fri Jan 3 16:16:25 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:16:25 +0000 (UTC) Subject: [commit: testsuite] master: Do hFlush in the T8639_api test (aae5cf6) Message-ID: <20140103161625.F36642406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/aae5cf6a7de61f2502f350788e9b694bc76e62d0/testsuite >--------------------------------------------------------------- commit aae5cf6a7de61f2502f350788e9b694bc76e62d0 Author: Simon Peyton Jones Date: Fri Jan 3 16:10:27 2014 +0000 Do hFlush in the T8639_api test >--------------------------------------------------------------- aae5cf6a7de61f2502f350788e9b694bc76e62d0 tests/ghc-api/T8639_api.hs | 3 ++- tests/ghc-api/T8639_api.stdout | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/ghc-api/T8639_api.hs b/tests/ghc-api/T8639_api.hs index 4232aa0..2ddfb49 100644 --- a/tests/ghc-api/T8639_api.hs +++ b/tests/ghc-api/T8639_api.hs @@ -14,12 +14,13 @@ main target <- guessTarget "T8639_api_a.hs" Nothing setTargets [target] load LoadAllTargets - imps <- mapM parseImportDecl ["import Prelude", "import T8639_api_a"] + imps <- mapM parseImportDecl ["import Prelude", "import System.IO", "import T8639_api_a"] setContext (map IIDecl imps) -- With the next line, you get an "Not in scope" exception. -- If you comment out this runStmt, it runs without error and prints the type. runStmt "putStrLn (show 3)" RunToCompletion + runStmt "hFlush stdout" RunToCompletion ty <- exprType "T8639_api_a.it" liftIO (putStrLn (showPpr flags ty)) diff --git a/tests/ghc-api/T8639_api.stdout b/tests/ghc-api/T8639_api.stdout index 3d957c1..659a1dd 100644 --- a/tests/ghc-api/T8639_api.stdout +++ b/tests/ghc-api/T8639_api.stdout @@ -1 +1,2 @@ +3 GHC.Types.Bool From git at git.haskell.org Fri Jan 3 16:22:13 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:22:13 +0000 (UTC) Subject: [commit: testsuite] master: Test Trac #8640 (1c44663) Message-ID: <20140103162213.25A3F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/1c446635e37428d73bac7789458d291650475913/testsuite >--------------------------------------------------------------- commit 1c446635e37428d73bac7789458d291650475913 Author: Simon Peyton Jones Date: Fri Jan 3 16:22:01 2014 +0000 Test Trac #8640 >--------------------------------------------------------------- 1c446635e37428d73bac7789458d291650475913 tests/ghci/scripts/T8640.script | 3 +++ .../should_compile/ann01.stderr => ghci/scripts/T8640.stdout} | 0 tests/ghci/scripts/all.T | 1 + 3 files changed, 4 insertions(+) diff --git a/tests/ghci/scripts/T8640.script b/tests/ghci/scripts/T8640.script new file mode 100644 index 0000000..a5f3e52 --- /dev/null +++ b/tests/ghci/scripts/T8640.script @@ -0,0 +1,3 @@ +:set -XNoImplicitPrelude +:show imports + -- Should produce no output diff --git a/tests/annotations/should_compile/ann01.stderr b/tests/ghci/scripts/T8640.stdout similarity index 100% copy from tests/annotations/should_compile/ann01.stderr copy to tests/ghci/scripts/T8640.stdout diff --git a/tests/ghci/scripts/all.T b/tests/ghci/scripts/all.T index c1c50cd..cf8ebb9 100755 --- a/tests/ghci/scripts/all.T +++ b/tests/ghci/scripts/all.T @@ -161,3 +161,4 @@ test('T8469', normal, ghci_script, ['T8469.script']) test('T8485', normal, ghci_script, ['T8485.script']) test('T8535', normal, ghci_script, ['T8535.script']) test('T8639', normal, ghci_script, ['T8639.script']) +test('T8640', normal, ghci_script, ['T8640.script']) From git at git.haskell.org Fri Jan 3 16:34:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:34:09 +0000 (UTC) Subject: [commit: testsuite] master: Test Trac #8628 (e5a95b0) Message-ID: <20140103163409.77FB02406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/e5a95b0ae2318ecb2deda26e1421cf4b5c8327ab/testsuite >--------------------------------------------------------------- commit e5a95b0ae2318ecb2deda26e1421cf4b5c8327ab Author: Simon Peyton Jones Date: Fri Jan 3 16:33:59 2014 +0000 Test Trac #8628 >--------------------------------------------------------------- e5a95b0ae2318ecb2deda26e1421cf4b5c8327ab tests/ghc-api/Makefile | 4 ++++ tests/ghc-api/T8628.hs | 33 +++++++++++++++++++++++++++++++++ tests/ghc-api/T8628.stdout | 3 +++ tests/ghc-api/all.T | 3 +++ 4 files changed, 43 insertions(+) diff --git a/tests/ghc-api/Makefile b/tests/ghc-api/Makefile index 808990c..855b774 100644 --- a/tests/ghc-api/Makefile +++ b/tests/ghc-api/Makefile @@ -13,6 +13,10 @@ T8639_api: clean '$(TEST_HC)' $(TEST_HC_OPTS) --make -v0 -package ghc T8639_api ./T8639_api "`'$(TEST_HC)' $(TEST_HC_OPTS) --print-libdir | tr -d '\r'`" +T8628: clean + '$(TEST_HC)' $(TEST_HC_OPTS) --make -v0 -package ghc T8628 + ./T8628 "`'$(TEST_HC)' $(TEST_HC_OPTS) --print-libdir | tr -d '\r'`" + .PHONY: clean T6145 diff --git a/tests/ghc-api/T8628.hs b/tests/ghc-api/T8628.hs new file mode 100644 index 0000000..203d328 --- /dev/null +++ b/tests/ghc-api/T8628.hs @@ -0,0 +1,33 @@ +module Main where + +import System.IO +import DynFlags +import GHC +import Exception +import Module +import FastString +import MonadUtils +import Outputable +import Bag (filterBag,isEmptyBag) +import System.Directory (removeFile) +import System.Environment( getArgs ) +import PrelNames + +main :: IO() +main + = do [libdir] <- getArgs + ok <- runGhc (Just libdir) $ do + dflags <- getSessionDynFlags + setSessionDynFlags dflags + liftIO (setUnsafeGlobalDynFlags dflags) + + setContext [ IIDecl (simpleImportDecl pRELUDE_NAME) + , IIDecl (simpleImportDecl (mkModuleNameFS (fsLit "System.IO")))] + runDecls "data X = Y ()" + runStmt "print True" RunToCompletion + gtry $ runStmt "print (Y ())" RunToCompletion :: GhcMonad m => m (Either SomeException RunResult) + runDecls "data X = Y () deriving Show" + _ <- dynCompileExpr "'x'" + runStmt "print (Y ())" RunToCompletion + runStmt "System.IO.hFlush System.IO.stdout" RunToCompletion + print "done" diff --git a/tests/ghc-api/T8628.stdout b/tests/ghc-api/T8628.stdout new file mode 100644 index 0000000..d18820e --- /dev/null +++ b/tests/ghc-api/T8628.stdout @@ -0,0 +1,3 @@ +True +Y () +"done" diff --git a/tests/ghc-api/all.T b/tests/ghc-api/all.T index 998bcd7..1f83dcd 100644 --- a/tests/ghc-api/all.T +++ b/tests/ghc-api/all.T @@ -5,3 +5,6 @@ test('T6145', when(fast(), skip), test('T8639_api', when(fast(), skip), run_command, ['$MAKE -s --no-print-directory T8639_api']) +test('T8628', when(fast(), skip), + run_command, + ['$MAKE -s --no-print-directory T8628']) From git at git.haskell.org Fri Jan 3 16:50:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 16:50:26 +0000 (UTC) Subject: [commit: testsuite] master: Test Trac #8579 (d009423) Message-ID: <20140103165026.83C8C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d00942324c0835d3840c72eb9c9803b2ff36b28a/testsuite >--------------------------------------------------------------- commit d00942324c0835d3840c72eb9c9803b2ff36b28a Author: Simon Peyton Jones Date: Fri Jan 3 16:50:12 2014 +0000 Test Trac #8579 >--------------------------------------------------------------- d00942324c0835d3840c72eb9c9803b2ff36b28a tests/ghci/scripts/T8579.script | 5 +++++ tests/ghci/scripts/T8579.stdout | 2 ++ tests/ghci/scripts/all.T | 1 + 3 files changed, 8 insertions(+) diff --git a/tests/ghci/scripts/T8579.script b/tests/ghci/scripts/T8579.script new file mode 100644 index 0000000..64aadf0 --- /dev/null +++ b/tests/ghci/scripts/T8579.script @@ -0,0 +1,5 @@ +data A = X +data A = Y +:i A +:m Data.List +:i A diff --git a/tests/ghci/scripts/T8579.stdout b/tests/ghci/scripts/T8579.stdout new file mode 100644 index 0000000..5220e7e --- /dev/null +++ b/tests/ghci/scripts/T8579.stdout @@ -0,0 +1,2 @@ +data A = Y -- Defined at :3:1 +data A = Y -- Defined at :3:1 diff --git a/tests/ghci/scripts/all.T b/tests/ghci/scripts/all.T index cf8ebb9..e7a520c 100755 --- a/tests/ghci/scripts/all.T +++ b/tests/ghci/scripts/all.T @@ -162,3 +162,4 @@ test('T8485', normal, ghci_script, ['T8485.script']) test('T8535', normal, ghci_script, ['T8535.script']) test('T8639', normal, ghci_script, ['T8639.script']) test('T8640', normal, ghci_script, ['T8640.script']) +test('T8579', normal, ghci_script, ['T8579.script']) From git at git.haskell.org Fri Jan 3 21:25:01 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 21:25:01 +0000 (UTC) Subject: [commit: ghc] master: Fix #5209: Reset GHCi prompt in multiline mode (4d70840) Message-ID: <20140103212501.1C7FE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4d70840db82065bf19767a5f7231a9b1a3f56e38/ghc >--------------------------------------------------------------- commit 4d70840db82065bf19767a5f7231a9b1a3f56e38 Author: Benno F?nfst?ck Date: Fri Jan 3 17:17:30 2014 +0100 Fix #5209: Reset GHCi prompt in multiline mode GHCi didn't reset the multiline prompt when an exception (in particular, the UserInterrupt exception) occured. This commit uses `finally` to reset the prompt in all cases. >--------------------------------------------------------------- 4d70840db82065bf19767a5f7231a9b1a3f56e38 ghc/InteractiveUI.hs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ghc/InteractiveUI.hs b/ghc/InteractiveUI.hs index c007a1c..5375812 100644 --- a/ghc/InteractiveUI.hs +++ b/ghc/InteractiveUI.hs @@ -726,8 +726,7 @@ runOneCommand eh gCmd = do st <- lift getGHCiState let p = prompt st lift $ setGHCiState st{ prompt = prompt2 st } - mb_cmd <- collectCommand q "" - lift $ getGHCiState >>= \st' -> setGHCiState st'{ prompt = p } + mb_cmd <- collectCommand q "" `GHC.gfinally` lift (getGHCiState >>= \st' -> setGHCiState st' { prompt = p }) return mb_cmd -- we can't use removeSpaces for the sublines here, so -- multiline commands are somewhat more brittle against From git at git.haskell.org Fri Jan 3 22:17:53 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 22:17:53 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Make use of `quotRemInt#` primop in `quotRemInteger` (c6f046a) Message-ID: <20140103221753.7509E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://git.haskell.org/packages/integer-gmp.git/commitdiff/c6f046a32a51898cc4ce96b3d4954b2133acd75a >--------------------------------------------------------------- commit c6f046a32a51898cc4ce96b3d4954b2133acd75a Author: Herbert Valerio Riedel Date: Fri Jan 3 22:42:33 2014 +0100 Make use of `quotRemInt#` primop in `quotRemInteger` Otoh, `divModInt#` is not a proper primop (it's implemented as wrapper around `quotRemInt#` in `GHC.Base`), so we can't do the same for `divModInteger` yet. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- c6f046a32a51898cc4ce96b3d4954b2133acd75a GHC/Integer/Type.lhs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index 77d529a..a64f157 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -28,7 +28,7 @@ import GHC.Prim ( -- Conversions between those types int2Word#, int2Double#, int2Float#, word2Int#, -- Operations on Int# that we use for operations on S# - quotInt#, remInt#, negateInt#, + quotInt#, remInt#, quotRemInt#, negateInt#, (*#), (-#), (==#), (/=#), (<=#), (>=#), (<#), (>#), mulIntMayOflo#, addIntC#, subIntC#, @@ -216,14 +216,8 @@ Just using smartJ# in this way has good results: {-# NOINLINE quotRemInteger #-} quotRemInteger :: Integer -> Integer -> (# Integer, Integer #) quotRemInteger a@(S# INT_MINBOUND) b = quotRemInteger (toBig a) b -quotRemInteger (S# i) (S# j) = (# S# q, S# r #) - where - -- NB. don't inline these. (# S# (i `quotInt#` j), ... #) means - -- (# let q = i `quotInt#` j in S# q, ... #) which builds a - -- useless thunk. Placing the bindings here means they'll be - -- evaluated strictly. - !q = i `quotInt#` j - !r = i `remInt#` j +quotRemInteger (S# i) (S# j) = case quotRemInt# i j of + (# q, r #) -> (# S# q, S# r #) quotRemInteger i1@(J# _ _) i2@(S# _) = quotRemInteger i1 (toBig i2) quotRemInteger i1@(S# _) i2@(J# _ _) = quotRemInteger (toBig i1) i2 quotRemInteger (J# s1 d1) (J# s2 d2) @@ -238,7 +232,10 @@ divModInteger :: Integer -> Integer -> (# Integer, Integer #) divModInteger a@(S# INT_MINBOUND) b = divModInteger (toBig a) b divModInteger (S# i) (S# j) = (# S# d, S# m #) where - -- NB. don't inline these. See quotRemInteger above. + -- NB. don't inline these. (# S# (i `quotInt#` j), ... #) means + -- (# let q = i `quotInt#` j in S# q, ... #) which builds a + -- useless thunk. Placing the bindings here means they'll be + -- evaluated strictly. !d = i `divInt#` j !m = i `modInt#` j From git at git.haskell.org Fri Jan 3 22:17:55 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 22:17:55 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Refactor `stgReallocForGMP` to use `memcpy` (66ea120) Message-ID: <20140103221755.765412406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://git.haskell.org/packages/integer-gmp.git/commitdiff/66ea120f3a31ba8d81556fa121f9b998eef570b8 >--------------------------------------------------------------- commit 66ea120f3a31ba8d81556fa121f9b998eef570b8 Author: Herbert Valerio Riedel Date: Fri Jan 3 22:58:32 2014 +0100 Refactor `stgReallocForGMP` to use `memcpy` GCC is able to generate better code when using `memcpy` instead of manually copying bytes in a loop. Otoh, `stgAllocForGMP` is typically called for enlarging initial single-limb structures (see also #8647 for more information) and so this minor optimization won't be very visible in measurements. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 66ea120f3a31ba8d81556fa121f9b998eef570b8 cbits/alloc.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/cbits/alloc.c b/cbits/alloc.c index 1e2d56b..e711110 100644 --- a/cbits/alloc.c +++ b/cbits/alloc.c @@ -4,6 +4,8 @@ * * ---------------------------------------------------------------------------*/ +#include + #include "Rts.h" #include "gmp.h" @@ -83,19 +85,9 @@ stgAllocForGMP (size_t size_in_bytes) void * stgReallocForGMP (void *ptr, size_t old_size, size_t new_size) { - size_t min_size; - void *new_stuff_ptr = stgAllocForGMP(new_size); - nat i = 0; - char *p = (char *) ptr; - char *q = (char *) new_stuff_ptr; - - min_size = old_size < new_size ? old_size : new_size; - /* TODO: use memcpy */ - for (; i < min_size; i++, p++, q++) { - *q = *p; - } - - return(new_stuff_ptr); + size_t min_size = old_size < new_size ? old_size : new_size; + + return memcpy(stgAllocForGMP(new_size), ptr, min_size); } void From git at git.haskell.org Fri Jan 3 23:11:44 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 3 Jan 2014 23:11:44 +0000 (UTC) Subject: [commit: packages/base] master: Add functions to compare Nat and Symbol types for equality. (c5c8c4d) Message-ID: <20140103231144.D8ED52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/c5c8c4dfbdc8493bcfaa804751eff2a9a41cc07a/base >--------------------------------------------------------------- commit c5c8c4dfbdc8493bcfaa804751eff2a9a41cc07a Author: Iavor S. Diatchki Date: Fri Jan 3 15:11:34 2014 -0800 Add functions to compare Nat and Symbol types for equality. >--------------------------------------------------------------- c5c8c4dfbdc8493bcfaa804751eff2a9a41cc07a GHC/TypeLits.hs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/GHC/TypeLits.hs b/GHC/TypeLits.hs index f3ba70e..129beb3 100644 --- a/GHC/TypeLits.hs +++ b/GHC/TypeLits.hs @@ -26,6 +26,8 @@ module GHC.TypeLits , KnownSymbol, symbolVal , SomeNat(..), SomeSymbol(..) , someNatVal, someSymbolVal + , sameNat, sameSymbol + -- * Functions on type nats , type (<=), type (<=?), type (+), type (*), type (^), type (-) @@ -40,7 +42,8 @@ import GHC.Read(Read(..)) import GHC.Prim(magicDict) import Data.Maybe(Maybe(..)) import Data.Proxy(Proxy(..)) -import Data.Type.Equality(type (==)) +import Data.Type.Equality(type (==), TestEquality(..), (:~:)(Refl)) +import Unsafe.Coerce(unsafeCoerce) -- | (Kind) This is the kind of type-level natural numbers. data Nat @@ -167,6 +170,23 @@ type family (m :: Nat) ^ (n :: Nat) :: Nat type family (m :: Nat) - (n :: Nat) :: Nat +-------------------------------------------------------------------------------- + +-- | We either get evidence that this function was instantiated with the +-- same type-level numbers, or 'Nothing'. +sameNat :: (KnownNat a, KnownNat b) => + Proxy a -> Proxy b -> Maybe (a :~: b) +sameNat x y + | natVal x == natVal y = Just (unsafeCoerce Refl) + | otherwise = Nothing + +-- | We either get evidence that this function was instantiated with the +-- same type-level symbols, or 'Nothing'. +sameSymbol :: (KnownSymbol a, KnownSymbol b) => + Proxy a -> Proxy b -> Maybe (a :~: b) +sameSymbol x y + | symbolVal x == symbolVal y = Just (unsafeCoerce Refl) + | otherwise = Nothing -------------------------------------------------------------------------------- -- PRIVATE: @@ -187,3 +207,4 @@ withSSymbol :: (KnownSymbol a => Proxy a -> b) -> SSymbol a -> Proxy a -> b withSSymbol f x y = magicDict (WrapS f) x y + From git at git.haskell.org Sat Jan 4 00:44:35 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 4 Jan 2014 00:44:35 +0000 (UTC) Subject: [commit: packages/base] master: add 'Since' annotations and remove an unneeded import (b62f687) Message-ID: <20140104004435.3BE652406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/b62f687e23d90c2ff4536e4e7788e5d9acb2b66c/base >--------------------------------------------------------------- commit b62f687e23d90c2ff4536e4e7788e5d9acb2b66c Author: Gabor Greif Date: Sat Jan 4 01:43:27 2014 +0100 add 'Since' annotations and remove an unneeded import >--------------------------------------------------------------- b62f687e23d90c2ff4536e4e7788e5d9acb2b66c GHC/TypeLits.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/GHC/TypeLits.hs b/GHC/TypeLits.hs index 129beb3..c572dda 100644 --- a/GHC/TypeLits.hs +++ b/GHC/TypeLits.hs @@ -42,7 +42,7 @@ import GHC.Read(Read(..)) import GHC.Prim(magicDict) import Data.Maybe(Maybe(..)) import Data.Proxy(Proxy(..)) -import Data.Type.Equality(type (==), TestEquality(..), (:~:)(Refl)) +import Data.Type.Equality(type (==), (:~:)(Refl)) import Unsafe.Coerce(unsafeCoerce) -- | (Kind) This is the kind of type-level natural numbers. @@ -174,6 +174,7 @@ type family (m :: Nat) - (n :: Nat) :: Nat -- | We either get evidence that this function was instantiated with the -- same type-level numbers, or 'Nothing'. +-- /Since: 4.7.0.0/ sameNat :: (KnownNat a, KnownNat b) => Proxy a -> Proxy b -> Maybe (a :~: b) sameNat x y @@ -182,6 +183,7 @@ sameNat x y -- | We either get evidence that this function was instantiated with the -- same type-level symbols, or 'Nothing'. +-- /Since: 4.7.0.0/ sameSymbol :: (KnownSymbol a, KnownSymbol b) => Proxy a -> Proxy b -> Maybe (a :~: b) sameSymbol x y From git at git.haskell.org Sat Jan 4 08:16:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 4 Jan 2014 08:16:54 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Refactor C-- wrappers to use macros for mpz_t access (ebec308) Message-ID: <20140104081654.4413A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://git.haskell.org/packages/integer-gmp.git/commitdiff/ebec3089e10a4a415b0ebf856c827bfbf8726d96 >--------------------------------------------------------------- commit ebec3089e10a4a415b0ebf856c827bfbf8726d96 Author: Herbert Valerio Riedel Date: Sat Jan 4 08:42:01 2014 +0100 Refactor C-- wrappers to use macros for mpz_t access This factors out the recurring task of converting mpz_t structures to/from Int#/ByteArrays# pairs and makes the code more readable. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- ebec3089e10a4a415b0ebf856c827bfbf8726d96 cbits/gmp-wrappers.cmm | 133 ++++++++++++++++-------------------------------- 1 file changed, 43 insertions(+), 90 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc ebec3089e10a4a415b0ebf856c827bfbf8726d96 From git at git.haskell.org Sat Jan 4 11:48:06 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 4 Jan 2014 11:48:06 +0000 (UTC) Subject: [commit: packages/integer-gmp] branch 'wip/T8638' created Message-ID: <20140104114806.3FCCF2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp New branch : wip/T8638 Referencing: 03c093c720f1ca76f62fc55d0693375b35009dd5 From git at git.haskell.org Sat Jan 4 11:48:08 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 4 Jan 2014 11:48:08 +0000 (UTC) Subject: [commit: packages/integer-gmp] wip/T8638: Add new `mpz_{sub, add}_ui`-based primops (03c093c) Message-ID: <20140104114808.E731F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : wip/T8638 Link : http://git.haskell.org/packages/integer-gmp.git/commitdiff/03c093c720f1ca76f62fc55d0693375b35009dd5 >--------------------------------------------------------------- commit 03c093c720f1ca76f62fc55d0693375b35009dd5 Author: Herbert Valerio Riedel Date: Fri Jan 3 22:36:04 2014 +0100 Add new `mpz_{sub,add}_ui`-based primops This adds `minusIntegerInt#`, `minusIntInteger#` and `plusIntegerInt#` which help to reduce temporary allocations. See also previous commit introducing `timesIntegerInt#`. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 03c093c720f1ca76f62fc55d0693375b35009dd5 GHC/Integer/GMP/Prim.hs | 18 +++++++++++++++++ GHC/Integer/Type.lhs | 31 +++++++++++++++++++---------- cbits/gmp-wrappers.cmm | 50 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 10 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 03c093c720f1ca76f62fc55d0693375b35009dd5 From git at git.haskell.org Sat Jan 4 11:48:10 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 4 Jan 2014 11:48:10 +0000 (UTC) Subject: [commit: packages/integer-gmp] wip/T8638: Add new `mpz_mul_si`-based primop (14d9702) Message-ID: <20140104114810.4319E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : wip/T8638 Link : http://git.haskell.org/packages/integer-gmp.git/commitdiff/14d97025d9e95b6d1ff04a0ed63caf9e2c02fe08 >--------------------------------------------------------------- commit 14d97025d9e95b6d1ff04a0ed63caf9e2c02fe08 Author: Herbert Valerio Riedel Date: Thu Jan 2 09:31:50 2014 +0100 Add new `mpz_mul_si`-based primop This primop helps reducing allocation by being able to pass one `S#` argument directly to the GMP multiplication primitive without needing to promote (and thus allocate a `ByteArray#` as well) the `J#` first. This benefits a few nofib benchmarks wrt to allocations (having most impact on `kahan` resulting in about 10% less allocations) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 14d97025d9e95b6d1ff04a0ed63caf9e2c02fe08 GHC/Integer/GMP/Prim.hs | 6 ++++++ GHC/Integer/Type.lhs | 11 +++++++---- cbits/gmp-wrappers.cmm | 2 ++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/GHC/Integer/GMP/Prim.hs b/GHC/Integer/GMP/Prim.hs index 0fd1b37..3958f13 100644 --- a/GHC/Integer/GMP/Prim.hs +++ b/GHC/Integer/GMP/Prim.hs @@ -10,6 +10,7 @@ module GHC.Integer.GMP.Prim ( plusInteger#, minusInteger#, timesInteger#, + timesIntegerInt#, quotRemInteger#, quotInteger#, @@ -97,6 +98,11 @@ foreign import prim "integer_cmm_minusIntegerzh" minusInteger# foreign import prim "integer_cmm_timesIntegerzh" timesInteger# :: Int# -> ByteArray# -> Int# -> ByteArray# -> (# Int#, ByteArray# #) +-- | Optimized version of 'timesInteger#' for multiplying big-ints with small-ints +-- +foreign import prim "integer_cmm_timesIntegerIntzh" timesIntegerInt# + :: Int# -> ByteArray# -> Int# -> (# Int#, ByteArray# #) + -- | Compute div and mod simultaneously, where div rounds towards negative -- infinity and\ @(q,r) = divModInteger#(x,y)@ implies -- @plusInteger# (timesInteger# q y) r = x at . diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index a64f157..5c6919c 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -38,7 +38,7 @@ import GHC.Prim ( import GHC.Integer.GMP.Prim ( -- GMP-related primitives cmpInteger#, cmpIntegerInt#, - plusInteger#, minusInteger#, timesInteger#, + plusInteger#, minusInteger#, timesInteger#, timesIntegerInt#, quotRemInteger#, quotInteger#, remInteger#, divModInteger#, divInteger#, modInteger#, gcdInteger#, gcdExtInteger#, gcdIntegerInt#, gcdInt#, divExactInteger#, @@ -529,13 +529,16 @@ minusInteger (J# s1 d1) (J# s2 d2) = case minusInteger# s1 d1 s2 d2 of {-# NOINLINE timesInteger #-} timesInteger :: Integer -> Integer -> Integer -timesInteger i1@(S# i) i2@(S# j) = if isTrue# (mulIntMayOflo# i j ==# 0#) +timesInteger (S# i) (S# j) = if isTrue# (mulIntMayOflo# i j ==# 0#) then S# (i *# j) - else timesInteger (toBig i1) (toBig i2) + else case int2Integer# i of + (# s, d #) -> case timesIntegerInt# s d j of + (# s', d' #) -> smartJ# s' d' timesInteger (S# 0#) _ = S# 0# timesInteger (S# -1#) i2 = negateInteger i2 timesInteger (S# 1#) i2 = i2 -timesInteger i1@(S# _) i2@(J# _ _) = timesInteger (toBig i1) i2 +timesInteger (S# i1) (J# s2 d2) = case timesIntegerInt# s2 d2 i1 of + (# s, d #) -> J# s d timesInteger i1@(J# _ _) i2@(S# _) = timesInteger i2 i1 -- swap args & retry timesInteger (J# s1 d1) (J# s2 d2) = case timesInteger# s1 d1 s2 d2 of (# s, d #) -> J# s d diff --git a/cbits/gmp-wrappers.cmm b/cbits/gmp-wrappers.cmm index 47a333c..39b6fba 100644 --- a/cbits/gmp-wrappers.cmm +++ b/cbits/gmp-wrappers.cmm @@ -33,6 +33,7 @@ import "integer-gmp" __gmpz_add; import "integer-gmp" __gmpz_sub; import "integer-gmp" __gmpz_mul; import "integer-gmp" __gmpz_mul_2exp; +import "integer-gmp" __gmpz_mul_si; import "integer-gmp" __gmpz_tstbit; import "integer-gmp" __gmpz_fdiv_q_2exp; import "integer-gmp" __gmpz_gcd; @@ -488,6 +489,7 @@ again: \ GMP_TAKE2_RET1(integer_cmm_plusIntegerzh, __gmpz_add) GMP_TAKE2_RET1(integer_cmm_minusIntegerzh, __gmpz_sub) GMP_TAKE2_RET1(integer_cmm_timesIntegerzh, __gmpz_mul) +GMP_TAKE1_UL1_RET1(integer_cmm_timesIntegerIntzh, __gmpz_mul_si) GMP_TAKE2_RET1(integer_cmm_gcdIntegerzh, __gmpz_gcd) #define CMM_GMPZ_GCDEXT(g,s,a,b) __gmpz_gcdext(g,s,NULL,a,b) GMP_TAKE2_RET2(integer_cmm_gcdExtIntegerzh, CMM_GMPZ_GCDEXT) From git at git.haskell.org Sat Jan 4 21:54:06 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 4 Jan 2014 21:54:06 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Add new `mpz_mul_si`-based primop (re #8647) (baeeef7) Message-ID: <20140104215406.205CB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/baeeef7af6e37441d1fa28f4197a8cb878a9ef0b/integer-gmp >--------------------------------------------------------------- commit baeeef7af6e37441d1fa28f4197a8cb878a9ef0b Author: Herbert Valerio Riedel Date: Thu Jan 2 09:31:50 2014 +0100 Add new `mpz_mul_si`-based primop (re #8647) This primop helps reducing allocation by being able to pass one `S#` argument directly to the GMP multiplication primitive without needing to promote (and thus allocate a `ByteArray#` as well) the `J#` first. This benefits a few nofib benchmarks wrt to allocations (having most impact on `kahan` resulting in about 10% less allocations) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- baeeef7af6e37441d1fa28f4197a8cb878a9ef0b GHC/Integer/GMP/Prim.hs | 6 ++++++ GHC/Integer/Type.lhs | 11 +++++++---- cbits/gmp-wrappers.cmm | 2 ++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/GHC/Integer/GMP/Prim.hs b/GHC/Integer/GMP/Prim.hs index 0fd1b37..3958f13 100644 --- a/GHC/Integer/GMP/Prim.hs +++ b/GHC/Integer/GMP/Prim.hs @@ -10,6 +10,7 @@ module GHC.Integer.GMP.Prim ( plusInteger#, minusInteger#, timesInteger#, + timesIntegerInt#, quotRemInteger#, quotInteger#, @@ -97,6 +98,11 @@ foreign import prim "integer_cmm_minusIntegerzh" minusInteger# foreign import prim "integer_cmm_timesIntegerzh" timesInteger# :: Int# -> ByteArray# -> Int# -> ByteArray# -> (# Int#, ByteArray# #) +-- | Optimized version of 'timesInteger#' for multiplying big-ints with small-ints +-- +foreign import prim "integer_cmm_timesIntegerIntzh" timesIntegerInt# + :: Int# -> ByteArray# -> Int# -> (# Int#, ByteArray# #) + -- | Compute div and mod simultaneously, where div rounds towards negative -- infinity and\ @(q,r) = divModInteger#(x,y)@ implies -- @plusInteger# (timesInteger# q y) r = x at . diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index a64f157..5c6919c 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -38,7 +38,7 @@ import GHC.Prim ( import GHC.Integer.GMP.Prim ( -- GMP-related primitives cmpInteger#, cmpIntegerInt#, - plusInteger#, minusInteger#, timesInteger#, + plusInteger#, minusInteger#, timesInteger#, timesIntegerInt#, quotRemInteger#, quotInteger#, remInteger#, divModInteger#, divInteger#, modInteger#, gcdInteger#, gcdExtInteger#, gcdIntegerInt#, gcdInt#, divExactInteger#, @@ -529,13 +529,16 @@ minusInteger (J# s1 d1) (J# s2 d2) = case minusInteger# s1 d1 s2 d2 of {-# NOINLINE timesInteger #-} timesInteger :: Integer -> Integer -> Integer -timesInteger i1@(S# i) i2@(S# j) = if isTrue# (mulIntMayOflo# i j ==# 0#) +timesInteger (S# i) (S# j) = if isTrue# (mulIntMayOflo# i j ==# 0#) then S# (i *# j) - else timesInteger (toBig i1) (toBig i2) + else case int2Integer# i of + (# s, d #) -> case timesIntegerInt# s d j of + (# s', d' #) -> smartJ# s' d' timesInteger (S# 0#) _ = S# 0# timesInteger (S# -1#) i2 = negateInteger i2 timesInteger (S# 1#) i2 = i2 -timesInteger i1@(S# _) i2@(J# _ _) = timesInteger (toBig i1) i2 +timesInteger (S# i1) (J# s2 d2) = case timesIntegerInt# s2 d2 i1 of + (# s, d #) -> J# s d timesInteger i1@(J# _ _) i2@(S# _) = timesInteger i2 i1 -- swap args & retry timesInteger (J# s1 d1) (J# s2 d2) = case timesInteger# s1 d1 s2 d2 of (# s, d #) -> J# s d diff --git a/cbits/gmp-wrappers.cmm b/cbits/gmp-wrappers.cmm index 47a333c..39b6fba 100644 --- a/cbits/gmp-wrappers.cmm +++ b/cbits/gmp-wrappers.cmm @@ -33,6 +33,7 @@ import "integer-gmp" __gmpz_add; import "integer-gmp" __gmpz_sub; import "integer-gmp" __gmpz_mul; import "integer-gmp" __gmpz_mul_2exp; +import "integer-gmp" __gmpz_mul_si; import "integer-gmp" __gmpz_tstbit; import "integer-gmp" __gmpz_fdiv_q_2exp; import "integer-gmp" __gmpz_gcd; @@ -488,6 +489,7 @@ again: \ GMP_TAKE2_RET1(integer_cmm_plusIntegerzh, __gmpz_add) GMP_TAKE2_RET1(integer_cmm_minusIntegerzh, __gmpz_sub) GMP_TAKE2_RET1(integer_cmm_timesIntegerzh, __gmpz_mul) +GMP_TAKE1_UL1_RET1(integer_cmm_timesIntegerIntzh, __gmpz_mul_si) GMP_TAKE2_RET1(integer_cmm_gcdIntegerzh, __gmpz_gcd) #define CMM_GMPZ_GCDEXT(g,s,a,b) __gmpz_gcdext(g,s,NULL,a,b) GMP_TAKE2_RET2(integer_cmm_gcdExtIntegerzh, CMM_GMPZ_GCDEXT) From git at git.haskell.org Sat Jan 4 21:54:08 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 4 Jan 2014 21:54:08 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Add new `mpz_{sub, add}_ui`-based primop (re #8647) (8bf9541) Message-ID: <20140104215408.40AB32406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/8bf9541912c30ffb740d6ab67edcadcfbe4fc80b/integer-gmp >--------------------------------------------------------------- commit 8bf9541912c30ffb740d6ab67edcadcfbe4fc80b Author: Herbert Valerio Riedel Date: Fri Jan 3 22:36:04 2014 +0100 Add new `mpz_{sub,add}_ui`-based primop (re #8647) This adds `{plus,minus}IntegerInt#` which help to reduce temporary allocations in `plusInteger` and `minusInteger`. This and the previous commit introducing `timesIntegerInt#` (i.e. baeeef7af6e) result in reduced allocations for the following nofib benchmarks on Linux/amd64: Program Size Allocs Runtime Elapsed TotalMem ------------------------------------------------------------------ bernouilli +0.0% -4.2% 0.12 0.12 +0.0% kahan +0.1% -12.6% 0.17 0.17 +0.0% pidigits +0.0% -0.5% -4.7% -4.5% +0.0% power +0.0% -2.7% +3.1% +3.1% +9.1% primetest +0.0% -4.2% 0.07 0.07 +0.0% rsa +0.0% -4.1% 0.02 0.02 +0.0% scs +0.0% -2.6% -0.8% -0.7% +0.0% ------------------------------------------------------------------ Min +0.0% -12.6% -4.7% -4.5% -5.0% Max +0.1% +0.2% +3.1% +3.1% +9.1% Geometric Mean +0.1% -0.3% -0.0% +0.0% +0.1% ------------------------------------------------------------------ Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 8bf9541912c30ffb740d6ab67edcadcfbe4fc80b GHC/Integer/GMP/Prim.hs | 12 ++++++++++++ GHC/Integer/Type.lhs | 30 ++++++++++++++++++++---------- cbits/gmp-wrappers.cmm | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 10 deletions(-) diff --git a/GHC/Integer/GMP/Prim.hs b/GHC/Integer/GMP/Prim.hs index 3958f13..80a59bd 100644 --- a/GHC/Integer/GMP/Prim.hs +++ b/GHC/Integer/GMP/Prim.hs @@ -8,7 +8,9 @@ module GHC.Integer.GMP.Prim ( cmpIntegerInt#, plusInteger#, + plusIntegerInt#, minusInteger#, + minusIntegerInt#, timesInteger#, timesIntegerInt#, @@ -88,11 +90,21 @@ foreign import prim "integer_cmm_cmpIntegerIntzh" cmpIntegerInt# foreign import prim "integer_cmm_plusIntegerzh" plusInteger# :: Int# -> ByteArray# -> Int# -> ByteArray# -> (# Int#, ByteArray# #) +-- | Optimized version of 'plusInteger#' for summing big-ints with small-ints +-- +foreign import prim "integer_cmm_plusIntegerIntzh" plusIntegerInt# + :: Int# -> ByteArray# -> Int# -> (# Int#, ByteArray# #) + -- | -- foreign import prim "integer_cmm_minusIntegerzh" minusInteger# :: Int# -> ByteArray# -> Int# -> ByteArray# -> (# Int#, ByteArray# #) +-- | Optimized version of 'minusInteger#' for substracting small-ints from big-ints +-- +foreign import prim "integer_cmm_minusIntegerIntzh" minusIntegerInt# + :: Int# -> ByteArray# -> Int# -> (# Int#, ByteArray# #) + -- | -- foreign import prim "integer_cmm_timesIntegerzh" timesInteger# diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index 5c6919c..0e3cec7 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -38,7 +38,8 @@ import GHC.Prim ( import GHC.Integer.GMP.Prim ( -- GMP-related primitives cmpInteger#, cmpIntegerInt#, - plusInteger#, minusInteger#, timesInteger#, timesIntegerInt#, + plusInteger#, plusIntegerInt#, minusInteger#, minusIntegerInt#, + timesInteger#, timesIntegerInt#, quotRemInteger#, quotInteger#, remInteger#, divModInteger#, divInteger#, modInteger#, gcdInteger#, gcdExtInteger#, gcdIntegerInt#, gcdInt#, divExactInteger#, @@ -505,25 +506,34 @@ signumInteger (J# s d) {-# NOINLINE plusInteger #-} plusInteger :: Integer -> Integer -> Integer -plusInteger i1@(S# i) i2@(S# j) = case addIntC# i j of +plusInteger (S# i) (S# j) = case addIntC# i j of (# r, c #) -> if isTrue# (c ==# 0#) then S# r - else plusInteger (toBig i1) (toBig i2) -plusInteger i1@(J# _ _) i2@(S# _) = plusInteger i1 (toBig i2) -plusInteger i1@(S# _) i2@(J# _ _) = plusInteger (toBig i1) i2 + else case int2Integer# i of + (# s, d #) -> case plusIntegerInt# s d j of + (# s', d' #) -> J# s' d' +plusInteger i1@(J# _ _) (S# 0#) = i1 +plusInteger (J# s1 d1) (S# j) = case plusIntegerInt# s1 d1 j of + (# s, d #) -> smartJ# s d +plusInteger i1@(S# _) i2@(J# _ _) = plusInteger i2 i1 plusInteger (J# s1 d1) (J# s2 d2) = case plusInteger# s1 d1 s2 d2 of (# s, d #) -> smartJ# s d {-# NOINLINE minusInteger #-} minusInteger :: Integer -> Integer -> Integer -minusInteger i1@(S# i) i2@(S# j) = case subIntC# i j of +minusInteger (S# i) (S# j) = case subIntC# i j of (# r, c #) -> if isTrue# (c ==# 0#) then S# r - else minusInteger (toBig i1) - (toBig i2) -minusInteger i1@(J# _ _) i2@(S# _) = minusInteger i1 (toBig i2) -minusInteger i1@(S# _) i2@(J# _ _) = minusInteger (toBig i1) i2 + else case int2Integer# i of + (# s, d #) -> case minusIntegerInt# s d j of + (# s', d' #) -> J# s' d' +minusInteger i1@(J# _ _) (S# 0#) = i1 +minusInteger (J# s1 d1) (S# j) = case minusIntegerInt# s1 d1 j of + (# s, d #) -> smartJ# s d +minusInteger (S# 0#) (J# s2 d2) = J# (negateInt# s2) d2 +minusInteger (S# i) (J# s2 d2) = case plusIntegerInt# (negateInt# s2) d2 i of + (# s, d #) -> smartJ# s d minusInteger (J# s1 d1) (J# s2 d2) = case minusInteger# s1 d1 s2 d2 of (# s, d #) -> smartJ# s d diff --git a/cbits/gmp-wrappers.cmm b/cbits/gmp-wrappers.cmm index 39b6fba..3ab699e 100644 --- a/cbits/gmp-wrappers.cmm +++ b/cbits/gmp-wrappers.cmm @@ -30,7 +30,9 @@ import "integer-gmp" __gmpz_init; import "integer-gmp" __gmpz_add; +import "integer-gmp" __gmpz_add_ui; import "integer-gmp" __gmpz_sub; +import "integer-gmp" __gmpz_sub_ui; import "integer-gmp" __gmpz_mul; import "integer-gmp" __gmpz_mul_2exp; import "integer-gmp" __gmpz_mul_si; @@ -646,3 +648,35 @@ integer_cmm_decodeDoublezh (D_ arg) /* returns: (Int# (expn), Int#, ByteArray#) */ return (W_[mp_tmp_w], TO_W_(MP_INT__mp_size(mp_tmp1)), p); } + +/* :: Int# -> ByteArray# -> Int# -> (# Int#, ByteArray# #) */ +#define GMPX_TAKE1_UL1_RET1(name,pos_arg_fun,neg_arg_fun) \ +name(W_ ws1, P_ d1, W_ wl) \ +{ \ + W_ mp_tmp; \ + W_ mp_result; \ + \ +again: \ + STK_CHK_GEN_N (2 * SIZEOF_MP_INT); \ + MAYBE_GC(again); \ + \ + mp_tmp = Sp - 1 * SIZEOF_MP_INT; \ + mp_result = Sp - 2 * SIZEOF_MP_INT; \ + \ + MP_INT_SET_FROM_BA(mp_tmp,ws1,d1); \ + \ + ccall __gmpz_init(mp_result "ptr"); \ + \ + if(%lt(wl,0)) { \ + ccall neg_arg_fun(mp_result "ptr", mp_tmp "ptr", W_TO_LONG(-wl)); \ + return(MP_INT_AS_PAIR(mp_result)); \ + } \ + \ + ccall pos_arg_fun(mp_result "ptr", mp_tmp "ptr", W_TO_LONG(wl)); \ + return(MP_INT_AS_PAIR(mp_result)); \ +} + +/* NB: We need both primitives as we can't express 'minusIntegerInt#' + in terms of 'plusIntegerInt#' for @minBound :: Int@ */ +GMPX_TAKE1_UL1_RET1(integer_cmm_plusIntegerIntzh,__gmpz_add_ui,__gmpz_sub_ui) +GMPX_TAKE1_UL1_RET1(integer_cmm_minusIntegerIntzh,__gmpz_sub_ui,__gmpz_add_ui) From git at git.haskell.org Sat Jan 4 21:57:28 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 4 Jan 2014 21:57:28 +0000 (UTC) Subject: [commit: packages/integer-gmp] branch 'wip/T8638' deleted Message-ID: <20140104215728.5AC8C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp Deleted branch: wip/T8638 From git at git.haskell.org Mon Jan 6 12:00:36 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 6 Jan 2014 12:00:36 +0000 (UTC) Subject: [commit: testsuite] master: Update T7594 properly (4affd08) Message-ID: <20140106120036.8C1812406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4affd089fe65e036d351a3a4f54aced2b0230347/testsuite >--------------------------------------------------------------- commit 4affd089fe65e036d351a3a4f54aced2b0230347 Author: Joachim Breitner Date: Mon Jan 6 10:50:08 2014 +0000 Update T7594 properly The previous updates had the line numbers wrong. >--------------------------------------------------------------- 4affd089fe65e036d351a3a4f54aced2b0230347 tests/polykinds/T7594.stderr | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/polykinds/T7594.stderr b/tests/polykinds/T7594.stderr index 80d39f1..08bc36e 100644 --- a/tests/polykinds/T7594.stderr +++ b/tests/polykinds/T7594.stderr @@ -1,14 +1,14 @@ -T7594.hs:32:12: +T7594.hs:33:12: Couldn't match type ?b? with ?IO ()? ?b? is untouchable inside the constraints ((:&:) c0 Real a) bound by a type expected by the context: (:&:) c0 Real a => a -> b - at T7594.hs:32:8-19 + at T7594.hs:33:8-19 ?b? is a rigid type variable bound by - the inferred type of bar2 :: b at T7594.hs:32:1 + the inferred type of bar2 :: b at T7594.hs:33:1 Expected type: a -> b Actual type: a -> IO () - Relevant bindings include bar2 :: b (bound at T7594.hs:32:1) + Relevant bindings include bar2 :: b (bound at T7594.hs:33:1) In the first argument of ?app?, namely ?print? In the expression: app print q2 From git at git.haskell.org Mon Jan 6 12:00:39 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 6 Jan 2014 12:00:39 +0000 (UTC) Subject: [commit: testsuite] master: Add output for T8639 (e7a7b86) Message-ID: <20140106120039.1811B2406D@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/e7a7b860594ceb1e85249246612bdf5040339ce4/testsuite >--------------------------------------------------------------- commit e7a7b860594ceb1e85249246612bdf5040339ce4 Author: Joachim Breitner Date: Mon Jan 6 10:54:45 2014 +0000 Add output for T8639 (probably forgotten in [0a0ca809]) >--------------------------------------------------------------- e7a7b860594ceb1e85249246612bdf5040339ce4 tests/ghci/scripts/T8639.stdout | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/ghci/scripts/T8639.stdout b/tests/ghci/scripts/T8639.stdout new file mode 100644 index 0000000..98670b1 --- /dev/null +++ b/tests/ghci/scripts/T8639.stdout @@ -0,0 +1,8 @@ +it :: Bool +'c' +it :: Char +T8639.it :: Bool +bit :: Char +Q.bit :: Char +it :: Char +Q.it :: Bool From git at git.haskell.org Mon Jan 6 12:00:41 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 6 Jan 2014 12:00:41 +0000 (UTC) Subject: [commit: testsuite] master: Update perf values for T5237 (2a73e2e) Message-ID: <20140106120041.283372406F@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/2a73e2e8b5187ecb97726cb2dd1eae2594dfdc9b/testsuite >--------------------------------------------------------------- commit 2a73e2e8b5187ecb97726cb2dd1eae2594dfdc9b Author: Joachim Breitner Date: Mon Jan 6 10:57:28 2014 +0000 Update perf values for T5237 Probably improved by [9e10d188] >--------------------------------------------------------------- 2a73e2e8b5187ecb97726cb2dd1eae2594dfdc9b tests/perf/should_run/all.T | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/perf/should_run/all.T b/tests/perf/should_run/all.T index 5bbbe4b..b44d307 100644 --- a/tests/perf/should_run/all.T +++ b/tests/perf/should_run/all.T @@ -195,8 +195,9 @@ test('T5237', [stats_num_field('bytes allocated', [(wordsize(32), 78328, 5), # expected value: 78328 (i386/Linux) - (wordsize(64), 110888, 5)]), + (wordsize(64), 104176, 5)]), # expected value: 110888 (amd64/Linux) + # expected value: 104176 (amd64/Linux) only_ways(['normal']) ], compile_and_run, From git at git.haskell.org Mon Jan 6 14:37:52 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 6 Jan 2014 14:37:52 +0000 (UTC) Subject: [commit: nofib] master: Add Linux/x86 reference output for `kahan` benchmark (e6759f0) Message-ID: <20140106143752.E6F0C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/nofib On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/e6759f06bfd067e18235017fd528e2e8d3b7b5c9/nofib >--------------------------------------------------------------- commit e6759f06bfd067e18235017fd528e2e8d3b7b5c9 Author: Herbert Valerio Riedel Date: Mon Jan 6 15:35:03 2014 +0100 Add Linux/x86 reference output for `kahan` benchmark This makes the nofib testsuite pass again when run on Linux/x86. See #7462 for more details Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- e6759f06bfd067e18235017fd528e2e8d3b7b5c9 imaginary/kahan/kahan.faststdout-x86-linux | 1 + imaginary/kahan/kahan.slowstdout-x86-linux | 1 + imaginary/kahan/kahan.stdout-x86-linux | 1 + 3 files changed, 3 insertions(+) diff --git a/imaginary/kahan/kahan.faststdout-x86-linux b/imaginary/kahan/kahan.faststdout-x86-linux new file mode 100644 index 0000000..c1fec8d --- /dev/null +++ b/imaginary/kahan/kahan.faststdout-x86-linux @@ -0,0 +1 @@ +[5.00005e9,2.14762993215581e14,2.14730002822502e14,2.14751565098483e14,2.14797402189617e14,2.14750809430868e14,2.14750120416713e14,2.14750390350363e14,2.14750030511665e14,2.14748760200754e14,2.14751532079329e14,2.14756044595193e14,2.14749603303423e14,2.14750865553113e14,2.14748846455757e14,2.14749341957331e14,2.14749823226771e14,2.1475180633107e14,2.14783326525174e14,2.14751828316082e14,2.1474980072162e14,2.14749278707444e14,2.14748942040224e14,2.14748648099647e14,2.14749682324154e14,2.14749333243766e14,2.14711666002691e14,2.14750106218047e14,2.14750584505244e14,2.14751436491285e14,2.14750586689519e14,2.14751493431673e14,2.14751683788272e14,2.14749355133938e14,2.14749288352652e14,2.14777632153841e14,2.14748201860726e14,2.14751090718453e14,2.14751439944353e14,2.14577318966138e14,2.14373349458775e14,2.14748737808542e14,2.14752037004905e14,2.1475201789961e14,2.14750058197277e14,2.14748857210997e14,2.1474933220861e14,2.14749174916348e14,2.14752476626227e14,2.14746721744498e14,2.14748431 477217e14,2.14749111775707e14,2.14752101486385e14,2.14748894557844e14,2.14749884622423e14,2.14749233151796e14,2.14751035269809e14,2.14739137922365e14,2.14749111720972e14,2.14750810321042e14,2.14745765768981e14,2.14750805386737e14,2.14750152566883e14,2.14749829766516e14,2.14752414085557e14,2.14752373912927e14,2.14750958754382e14,2.14725548179797e14,2.14752121782548e14,2.1474917105822e14,2.14733723970095e14,2.14756175856533e14,2.14750489670744e14,2.14749089392247e14,2.1475119363482e14,2.1473298556149e14,2.14751138021563e14,2.14749713417523e14,2.14749431483394e14,2.14752584724092e14,2.14749984764511e14,2.14842948905524e14,2.14749331970447e14,2.14752301433558e14,2.14749641949786e14,2.14751016850897e14,2.14766731351683e14,2.14749682643408e14,2.1475128940249e14,2.14751797455797e14,2.14751741113675e14,2.14749138861274e14,2.14751217827674e14,2.14752646488799e14,2.14749725043019e14,2.14749523414482e14,2.14749299774128e14,2.147498521831e14,2.14852301519879e14,2.14752459189657e14] diff --git a/imaginary/kahan/kahan.slowstdout-x86-linux b/imaginary/kahan/kahan.slowstdout-x86-linux new file mode 100644 index 0000000..82a3fee --- /dev/null +++ b/imaginary/kahan/kahan.slowstdout-x86-linux @@ -0,0 +1 @@ +[5.000005e11,2.147468348894116e15,2.147475974955325e15,2.147486178707577e15,2.14756444806769e15,2.147486653295497e15,2.147485879432784e15,2.147484226795838e15,2.14748483762721e15,2.147489065069316e15,2.147487371244828e15,2.147487294332272e15,2.147485079995853e15,2.147487406246592e15,2.147486276615959e15,2.147488591056535e15,2.147483997721096e15,2.147487322032046e15,2.147485319917951e15,2.147486164806234e15,2.147487695626956e15,2.147483039022283e15,2.14748397925592e15,2.147485387733203e15,2.147484473103648e15,2.147484486060749e15,2.14741843103881e15,2.147486729973334e15,2.147485270818504e15,2.147484260952847e15,2.147486878246359e15,2.147487440935066e15,2.147486980603945e15,2.147484529236523e15,2.147487304578269e15,2.147504946159222e15,2.147487008277577e15,2.147487174429379e15,2.147484757041492e15,2.147415961402064e15,2.147005044701863e15,2.147487697816712e15,2.147483796615507e15,2.147486638458615e15,2.147481460891623e15,2.147485491275685e15,2.147487698972916e15,2.147486861938192e15,2 .147484035592652e15,2.147483994852137e15,2.147485740291377e15,2.147486368143325e15,2.147485752742828e15,2.147485471092229e15,2.147487372682427e15,2.147485629032336e15,2.147486756057601e15,2.147477802579879e15,2.147487754277142e15,2.147486422011442e15,2.147476559422316e15,2.147486093056869e15,2.147485744665756e15,2.147487119260087e15,2.14748661407373e15,2.147485831949159e15,2.147483808957502e15,2.147504717982836e15,2.147485509583727e15,2.147486211066342e15,2.147518146368048e15,2.14747764284431e15,2.147485066593061e15,2.147484998862637e15,2.147487180448317e15,2.147487775538171e15,2.147486464065857e15,2.147487803731397e15,2.147485060677784e15,2.147487016736859e15,2.147484221289001e15,2.147604348811407e15,2.147486500996284e15,2.147484703169015e15,2.147484909643137e15,2.14748635130478e15,2.147485770425054e15,2.147487055990233e15,2.147486397563204e15,2.147485498260224e15,2.147485999453048e15,2.147485404621905e15,2.147484006671627e15,2.147484623828679e15,2.147487433520152e15,2.147485322595 762e15,2.147487626237039e15,2.147486882580484e15,2.147555342837206e15,2.147486972254811e15] diff --git a/imaginary/kahan/kahan.stdout-x86-linux b/imaginary/kahan/kahan.stdout-x86-linux new file mode 100644 index 0000000..3be8bf1 --- /dev/null +++ b/imaginary/kahan/kahan.stdout-x86-linux @@ -0,0 +1 @@ +[3.1250125e10,5.36870300052329e14,5.36837990393551e14,5.3687312586475e14,5.36892278012076e14,5.36871047805518e14,5.3687440679156e14,5.3687150968798e14,5.36874206293665e14,5.36874289929871e14,5.36870880467025e14,5.36875752291217e14,5.36873633974166e14,5.36871490695926e14,5.36874278767665e14,5.36872044001672e14,5.36871695562571e14,5.36873241365323e14,5.36891344796027e14,5.36871364042615e14,5.3687207278968e14,5.36871448030966e14,5.36873526701777e14,5.3686969070379e14,5.36873450147425e14,5.36872888629708e14,5.36856877513993e14,5.36874914314386e14,5.36871980531699e14,5.36871094708076e14,5.36873955182668e14,5.36874682367534e14,5.36872670189794e14,5.36874208954481e14,5.36875109444419e14,5.36842522061035e14,5.36874743897417e14,5.36872676298261e14,5.3687521100164e14,5.37029772381399e14,5.36717626691437e14,5.36875098307795e14,5.3687135659988e14,5.3687220832171e14,5.36869853797463e14,5.36871593957261e14,5.36874725145677e14,5.36874015378327e14,5.36870944841328e14,5.36871037575406e14,5.368731833 58449e14,5.36882187757708e14,5.36870940912301e14,5.36871870408919e14,5.36873968990764e14,5.36871156107761e14,5.36875072608341e14,5.36858008730007e14,5.36876524461459e14,5.36878488396239e14,5.36876779527723e14,5.36872661359734e14,5.36874318642204e14,5.36871460577141e14,5.36874984929578e14,5.36871760562537e14,5.36874220890509e14,5.36901362050601e14,5.36873164135689e14,5.36870903655178e14,5.36865469589493e14,5.36875005250276e14,5.3687315418581e14,5.36874203724596e14,5.36874641590899e14,5.36864478058453e14,5.36872930904085e14,5.36875040750164e14,5.36875047071234e14,5.36873558748207e14,5.36871250001095e14,5.36835527755852e14,5.36877495114286e14,5.36872406679435e14,5.36874497481236e14,5.36872432916625e14,5.36880439868243e14,5.36874970523979e14,5.368803137722e14,5.36873202285098e14,5.36873334467439e14,5.36874672392215e14,5.36864084831155e14,5.36874402006603e14,5.36873140773385e14,5.36873395210604e14,5.36873794811151e14,5.36889150064628e14,5.37000097185173e14,5.36872851431577e14] From git at git.haskell.org Mon Jan 6 15:41:05 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 6 Jan 2014 15:41:05 +0000 (UTC) Subject: [commit: ghc] branch 'wip/cbv-conv-thunk' created Message-ID: <20140106154105.ACFE62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc New branch : wip/cbv-conv-thunk Referencing: 7b543b7439c7e01fe765c7080fd7041360202dd8 From git at git.haskell.org Mon Jan 6 15:41:07 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 6 Jan 2014 15:41:07 +0000 (UTC) Subject: [commit: ghc] wip/cbv-conv-thunk: Speculative evaluate thunks known to Converge (7b543b7) Message-ID: <20140106154107.F02272406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/cbv-conv-thunk Link : http://ghc.haskell.org/trac/ghc/changeset/7b543b7439c7e01fe765c7080fd7041360202dd8/ghc >--------------------------------------------------------------- commit 7b543b7439c7e01fe765c7080fd7041360202dd8 Author: Joachim Breitner Date: Mon Jan 6 14:12:57 2014 +0000 Speculative evaluate thunks known to Converge This is an attempt to use the by-products of nested cpr analysis. >--------------------------------------------------------------- 7b543b7439c7e01fe765c7080fd7041360202dd8 compiler/basicTypes/Demand.lhs | 9 ++++++++- compiler/basicTypes/Id.lhs | 7 ++++++- compiler/simplCore/Simplify.lhs | 4 ++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 2da8a2e..62a53d7 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -29,7 +29,7 @@ module Demand ( DmdResult, CPRResult, isBotRes, isTopRes, resTypeArgDmd, topRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, - appIsBottom, isBottomingSig, pprIfaceStrictSig, + appIsBottom, isBottomingSig, isConvSig, pprIfaceStrictSig, trimCPRInfo, returnsCPR, returnsCPR_maybe, StrictSig(..), mkStrictSig, mkClosedStrictSig, nopSig, botSig, cprProdSig, isNopSig, splitStrictSig, increaseStrictSigArity, @@ -803,6 +803,10 @@ isBotRes :: DmdResult -> Bool isBotRes Diverges = True isBotRes _ = False +isConvRes :: DmdResult -> Bool +isConvRes (Converges {}) = True +isConvRes _ = False + trimCPRInfo :: Bool -> Bool -> DmdResult -> DmdResult trimCPRInfo trim_all trim_sums res = trimR res @@ -1405,6 +1409,9 @@ isNopSig (StrictSig ty) = isNopDmdType ty isBottomingSig :: StrictSig -> Bool isBottomingSig (StrictSig (DmdType _ _ res)) = isBotRes res +isConvSig :: StrictSig -> Bool +isConvSig (StrictSig (DmdType _ _ res)) = isConvRes res + nopSig, botSig :: StrictSig nopSig = StrictSig nopDmdType botSig = StrictSig botDmdType diff --git a/compiler/basicTypes/Id.lhs b/compiler/basicTypes/Id.lhs index 50b3641..9ad99f3 100644 --- a/compiler/basicTypes/Id.lhs +++ b/compiler/basicTypes/Id.lhs @@ -47,7 +47,7 @@ module Id ( -- ** Predicates on Ids isImplicitId, isDeadBinder, - isStrictId, + isStrictId, isConvId, isExportedId, isLocalId, isGlobalId, isRecordSelector, isNaughtyRecordSelector, isClassOpId_maybe, isDFunId, @@ -495,6 +495,11 @@ isStrictId id -- Take the best of both strictnesses - old and new (isStrictDmd (idDemandInfo id)) +isConvId :: Id -> Bool +isConvId id + = ASSERT2( isId id, text "isConvId: not an id: " <+> ppr id ) + (isConvSig (idStrictness id)) + --------------------------------- -- UNFOLDING idUnfolding :: Id -> Unfolding diff --git a/compiler/simplCore/Simplify.lhs b/compiler/simplCore/Simplify.lhs index 03150c6..9cdb686 100644 --- a/compiler/simplCore/Simplify.lhs +++ b/compiler/simplCore/Simplify.lhs @@ -28,7 +28,7 @@ import DataCon ( DataCon, dataConWorkId, dataConRepStrictness --import TyCon ( isEnumerationTyCon ) -- temporalily commented out. See #8326 import CoreMonad ( Tick(..), SimplifierMode(..) ) import CoreSyn -import Demand ( StrictSig(..), dmdTypeDepth ) +import Demand ( StrictSig(..), dmdTypeDepth, splitStrictSig ) import PprCore ( pprParendExpr, pprCoreExpr ) import CoreUnfold import CoreUtils @@ -1347,7 +1347,7 @@ simplNonRecE env bndr (rhs, rhs_se) (bndrs, body) cont ; -- pprTrace "preInlineUncond" (ppr bndr <+> ppr rhs) $ simplLam (extendIdSubst env bndr (mkContEx rhs_se rhs)) bndrs body cont } - | isStrictId bndr -> -- Includes coercions + | isStrictId bndr || isConvId bndr -> -- Includes coercions do { simplExprF (rhs_se `setFloats` env) rhs (StrictBind bndr bndrs body env cont) } From git at git.haskell.org Tue Jan 7 14:30:15 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:15 +0000 (UTC) Subject: [commit: ghc] master: Fix -dynamic-too clashing with -o (#8180) (e25af05) Message-ID: <20140107143015.6948F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/e25af05656b496b997c8f3520e5ac8e377a68e7b/ghc >--------------------------------------------------------------- commit e25af05656b496b997c8f3520e5ac8e377a68e7b Author: Austin Seipp Date: Mon Dec 16 09:04:44 2013 -0600 Fix -dynamic-too clashing with -o (#8180) Signed-off-by: Austin Seipp >--------------------------------------------------------------- e25af05656b496b997c8f3520e5ac8e377a68e7b compiler/main/DynFlags.hs | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 70d2a81..829d303 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -1959,36 +1959,41 @@ parseDynamicFlagsFull activeFlags cmdline dflags0 args = do throwGhcExceptionIO (CmdLineError ("combination not supported: " ++ intercalate "/" (map wayDesc theWays))) - whenGeneratingDynamicToo dflags3 $ - unless (isJust (outputFile dflags3) == isJust (dynOutputFile dflags3)) $ - liftIO $ throwGhcExceptionIO $ CmdLineError - "With -dynamic-too, must give -dyno iff giving -o" + let chooseOutput + | isJust (outputFile dflags3) -- Only iff user specified -o ... + , not (isJust (dynOutputFile dflags3)) -- but not -dyno + = return $ dflags3 { dynOutputFile = Just $ dynOut (fromJust $ outputFile dflags3) } + | otherwise + = return dflags3 + where + dynOut = flip addExtension (dynObjectSuf dflags3) . dropExtension + dflags4 <- ifGeneratingDynamicToo dflags3 chooseOutput (return dflags3) - let (dflags4, consistency_warnings) = makeDynFlagsConsistent dflags3 + let (dflags5, consistency_warnings) = makeDynFlagsConsistent dflags4 - dflags5 <- case dllSplitFile dflags4 of - Nothing -> return (dflags4 { dllSplit = Nothing }) + dflags6 <- case dllSplitFile dflags5 of + Nothing -> return (dflags5 { dllSplit = Nothing }) Just f -> - case dllSplit dflags4 of + case dllSplit dflags5 of Just _ -> -- If dllSplit is out of date then it would have -- been set to Nothing. As it's a Just, it must be -- up-to-date. - return dflags4 + return dflags5 Nothing -> do xs <- liftIO $ readFile f let ss = map (Set.fromList . words) (lines xs) - return $ dflags4 { dllSplit = Just ss } + return $ dflags5 { dllSplit = Just ss } -- Set timer stats & heap size - when (enableTimeStats dflags5) $ liftIO enableTimingStats - case (ghcHeapSize dflags5) of + when (enableTimeStats dflags6) $ liftIO enableTimingStats + case (ghcHeapSize dflags6) of Just x -> liftIO (setHeapSize x) _ -> return () - liftIO $ setUnsafeGlobalDynFlags dflags5 + liftIO $ setUnsafeGlobalDynFlags dflags6 - return (dflags5, leftover, consistency_warnings ++ sh_warns ++ warns) + return (dflags6, leftover, consistency_warnings ++ sh_warns ++ warns) updateWays :: DynFlags -> DynFlags updateWays dflags From git at git.haskell.org Tue Jan 7 14:30:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:17 +0000 (UTC) Subject: [commit: ghc] master: Fix __GLASGOW_HASKELL_LLVM__ #define (949be3f) Message-ID: <20140107143018.282492406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/949be3f6ffb80d4f24c50fb9c9c5495762f01476/ghc >--------------------------------------------------------------- commit 949be3f6ffb80d4f24c50fb9c9c5495762f01476 Author: Austin Seipp Date: Tue Jan 7 00:59:17 2014 -0600 Fix __GLASGOW_HASKELL_LLVM__ #define (It improperly used 'show' on the Maybe Int, not the Int.) Authored-by: Karel Gardas Signed-off-by: Austin Seipp >--------------------------------------------------------------- 949be3f6ffb80d4f24c50fb9c9c5495762f01476 compiler/main/DriverPipeline.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index 337778e..f789d44 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -2086,7 +2086,9 @@ doCpp dflags raw input_fn output_fn = do getBackendDefs :: DynFlags -> IO [String] getBackendDefs dflags | hscTarget dflags == HscLlvm = do llvmVer <- figureLlvmVersion dflags - return [ "-D__GLASGOW_HASKELL_LLVM__="++show llvmVer ] + return $ case llvmVer of + Just n -> [ "-D__GLASGOW_HASKELL_LLVM__="++show n ] + _ -> [] getBackendDefs _ = return [] From git at git.haskell.org Tue Jan 7 14:30:19 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:19 +0000 (UTC) Subject: [commit: ghc] master: LLVM mangler: fix AVX instruction rewriter. (bb63e83) Message-ID: <20140107143019.EF3472406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/bb63e83ae279a1e410bdb3dc6d28943e8e024d07/ghc >--------------------------------------------------------------- commit bb63e83ae279a1e410bdb3dc6d28943e8e024d07 Author: Austin Seipp Date: Tue Jan 7 01:03:48 2014 -0600 LLVM mangler: fix AVX instruction rewriter. This was pretty badly broken... Authored-by: Ben Gamari Signed-off-by: Austin Seipp >--------------------------------------------------------------- bb63e83ae279a1e410bdb3dc6d28943e8e024d07 compiler/llvmGen/LlvmMangler.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/llvmGen/LlvmMangler.hs b/compiler/llvmGen/LlvmMangler.hs index 2e8f34d..8815011 100644 --- a/compiler/llvmGen/LlvmMangler.hs +++ b/compiler/llvmGen/LlvmMangler.hs @@ -118,7 +118,7 @@ rewriteInstructions matchBS replaceBS (hdr, cts) = where loop :: B.ByteString -> B.ByteString loop cts = - case B.breakSubstring cts matchBS of + case B.breakSubstring matchBS cts of (hd,tl) | B.null tl -> hd | otherwise -> hd `B.append` replaceBS `B.append` loop (B.drop (B.length matchBS) tl) From git at git.haskell.org Tue Jan 7 14:30:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:22 +0000 (UTC) Subject: [commit: ghc] master: Fix specification of -z origin for gold. (26fcbd0) Message-ID: <20140107143022.3C7312406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/26fcbd0a40c7bfa785baf4d1ad119ddb3abf05e7/ghc >--------------------------------------------------------------- commit 26fcbd0a40c7bfa785baf4d1ad119ddb3abf05e7 Author: Austin Seipp Date: Tue Jan 7 01:06:10 2014 -0600 Fix specification of -z origin for gold. Gold apparently doesn't recognize `-z origin`, only `-zorigin` it seems. Authored-by: Ben Gamari Signed-off-by: Austin Seipp >--------------------------------------------------------------- 26fcbd0a40c7bfa785baf4d1ad119ddb3abf05e7 rts/ghc.mk | 2 +- rules/distdir-way-opts.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rts/ghc.mk b/rts/ghc.mk index 9ed64c6..1e0b6de 100644 --- a/rts/ghc.mk +++ b/rts/ghc.mk @@ -195,7 +195,7 @@ else ifneq "$$(UseSystemLibFFI)" "YES" LIBFFI_LIBS = -Lrts/dist/build -l$$(LIBFFI_NAME) ifeq "$$(TargetElf)" "YES" -LIBFFI_LIBS += -optl-Wl,-rpath -optl-Wl,'$$$$ORIGIN' -optl-Wl,-z -optl-Wl,origin +LIBFFI_LIBS += -optl-Wl,-rpath -optl-Wl,'$$$$ORIGIN' -optl-Wl,-zorigin endif else diff --git a/rules/distdir-way-opts.mk b/rules/distdir-way-opts.mk index a6b7f57..a4f525e 100644 --- a/rules/distdir-way-opts.mk +++ b/rules/distdir-way-opts.mk @@ -136,7 +136,7 @@ ifneq "$4" "0" ifeq "$$(TargetElf)" "YES" $1_$2_$3_GHC_LD_OPTS += \ -fno-use-rpaths \ - $$(foreach d,$$($1_$2_TRANSITIVE_DEPS),-optl-Wl$$(comma)-rpath -optl-Wl$$(comma)'$$$$ORIGIN/../$$d') -optl-Wl,-z -optl-Wl,origin + $$(foreach d,$$($1_$2_TRANSITIVE_DEPS),-optl-Wl$$(comma)-rpath -optl-Wl$$(comma)'$$$$ORIGIN/../$$d') -optl-Wl,-zorigin else ifeq "$$(TargetOS_CPP)" "darwin" $1_$2_$3_GHC_LD_OPTS += -optl-Wl,-headerpad_max_install_names endif From git at git.haskell.org Tue Jan 7 14:30:24 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:24 +0000 (UTC) Subject: [commit: ghc] master: nativeGen: Fix spelling in comment (1310d75) Message-ID: <20140107143024.692CF2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/1310d75a14c8efb8ab92ee65bb57b522ad32894f/ghc >--------------------------------------------------------------- commit 1310d75a14c8efb8ab92ee65bb57b522ad32894f Author: Ben Gamari Date: Sat Dec 21 09:44:38 2013 -0500 nativeGen: Fix spelling in comment Signed-off-by: Austin Seipp >--------------------------------------------------------------- 1310d75a14c8efb8ab92ee65bb57b522ad32894f compiler/nativeGen/PIC.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/nativeGen/PIC.hs b/compiler/nativeGen/PIC.hs index b36c0ae..f988bf7 100644 --- a/compiler/nativeGen/PIC.hs +++ b/compiler/nativeGen/PIC.hs @@ -305,7 +305,7 @@ howToAccessLabel _ ArchPPC_64 os _ kind _ howToAccessLabel dflags _ os _ _ _ -- no PIC -> the dynamic linker does everything for us; -- if we don't dynamically link to Haskell code, - -- it actually manages to do so without messing thins up. + -- it actually manages to do so without messing things up. | osElfTarget os , not (gopt Opt_PIC dflags) && gopt Opt_Static dflags = AccessDirectly From git at git.haskell.org Tue Jan 7 14:30:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:26 +0000 (UTC) Subject: [commit: ghc] master: Lower unfolding threshold for windows (again.) (d783f12) Message-ID: <20140107143026.EB6B12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d783f12dae2581d2feccf53a43fbf2d1a6fb6d05/ghc >--------------------------------------------------------------- commit d783f12dae2581d2feccf53a43fbf2d1a6fb6d05 Author: Austin Seipp Date: Tue Jan 7 01:42:29 2014 -0600 Lower unfolding threshold for windows (again.) We creeped back up again past the symbol threshold on my test x86_64 win2k8 test machine. This brings it down to 60600 symbols in split windows DLL. Signed-off-by: Austin Seipp >--------------------------------------------------------------- d783f12dae2581d2feccf53a43fbf2d1a6fb6d05 mk/config.mk.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/config.mk.in b/mk/config.mk.in index 780b303..f61ecc0 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -105,7 +105,7 @@ endif # # See #5987 ifeq "$(TargetOS_CPP)" "mingw32" -GhcStage2HcOpts += -funfolding-creation-threshold=300 +GhcStage2HcOpts += -funfolding-creation-threshold=100 endif # Some platforms don't support shared libraries From git at git.haskell.org Tue Jan 7 14:30:29 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:29 +0000 (UTC) Subject: [commit: ghc] master: Re-order preprocessor args to agree with User Guide (fixes #8602) (032969f) Message-ID: <20140107143029.3DF6A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/032969f7c7493d774958e65e61690bd2a995fbbc/ghc >--------------------------------------------------------------- commit 032969f7c7493d774958e65e61690bd2a995fbbc Author: Chris Heller Date: Thu Jan 2 16:55:52 2014 -0500 Re-order preprocessor args to agree with User Guide (fixes #8602) The section of the User Guide in reference is 4.12.4 Signed-off-by: Austin Seipp >--------------------------------------------------------------- 032969f7c7493d774958e65e61690bd2a995fbbc compiler/main/SysTools.lhs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs index 46f8a86..d0545fd 100644 --- a/compiler/main/SysTools.lhs +++ b/compiler/main/SysTools.lhs @@ -395,7 +395,7 @@ runPp :: DynFlags -> [Option] -> IO () runPp dflags args = do let prog = pgm_F dflags opts = map Option (getOpts dflags opt_F) - runSomething dflags "Haskell pre-processor" prog (opts ++ args) + runSomething dflags "Haskell pre-processor" prog (args ++ opts) runCc :: DynFlags -> [Option] -> IO () runCc dflags args = do From git at git.haskell.org Tue Jan 7 14:30:31 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:31 +0000 (UTC) Subject: [commit: ghc] master: LlvmMangler: Rewrite @function symbols to @object (ed67d29) Message-ID: <20140107143031.F0FFF2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/ed67d290e7389bd87a6feea269a0275e0f0f5e2f/ghc >--------------------------------------------------------------- commit ed67d290e7389bd87a6feea269a0275e0f0f5e2f Author: Ben Gamari Date: Sat Dec 14 12:04:28 2013 -0500 LlvmMangler: Rewrite @function symbols to @object Signed-off-by: Austin Seipp >--------------------------------------------------------------- ed67d290e7389bd87a6feea269a0275e0f0f5e2f compiler/llvmGen/LlvmMangler.hs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/compiler/llvmGen/LlvmMangler.hs b/compiler/llvmGen/LlvmMangler.hs index 8815011..a36d6c1 100644 --- a/compiler/llvmGen/LlvmMangler.hs +++ b/compiler/llvmGen/LlvmMangler.hs @@ -51,11 +51,17 @@ llvmFixupAsm dflags f1 f2 = {-# SCC "llvm_mangler" #-} do w <- openBinaryFile f2 WriteMode ss <- readSections r w hClose r - let fixed = (map rewriteAVX . fixTables) ss + let fixed = (map (rewriteSymType . rewriteAVX) . fixTables) ss mapM_ (writeSection w) fixed hClose w return () +rewriteSymType :: Section -> Section +rewriteSymType = rewriteInstructions typeFunc typeObj + where + typeFunc = B.pack "@function" + typeObj = B.pack "@object" + -- | Splits the file contents into its sections readSections :: Handle -> Handle -> IO [Section] readSections r w = go B.empty [] [] @@ -111,6 +117,10 @@ rewriteVmovap = rewriteInstructions vmovap vmovup vmovap, vmovup :: B.ByteString vmovap = B.pack "vmovap" vmovup = B.pack "vmovup" +#else /* !REWRITE_AVX */ +rewriteAVX :: Section -> Section +rewriteAVX = id +#endif /* !REWRITE_SSE */ rewriteInstructions :: B.ByteString -> B.ByteString -> Section -> Section rewriteInstructions matchBS replaceBS (hdr, cts) = @@ -122,10 +132,6 @@ rewriteInstructions matchBS replaceBS (hdr, cts) = (hd,tl) | B.null tl -> hd | otherwise -> hd `B.append` replaceBS `B.append` loop (B.drop (B.length matchBS) tl) -#else /* !REWRITE_AVX */ -rewriteAVX :: Section -> Section -rewriteAVX = id -#endif /* !REWRITE_SSE */ -- | Reorder and convert sections so info tables end up next to the -- code. Also does stack fixups. From git at git.haskell.org Tue Jan 7 14:30:34 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:34 +0000 (UTC) Subject: [commit: ghc] master: LlvmMangler: Make sure no symbols slip through re-.typing (32002b3) Message-ID: <20140107143034.3DE972406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/32002b3dfdfd6a3c6a1a1eb52d8a257b42e17e51/ghc >--------------------------------------------------------------- commit 32002b3dfdfd6a3c6a1a1eb52d8a257b42e17e51 Author: Ben Gamari Date: Wed Dec 18 10:09:31 2013 -0500 LlvmMangler: Make sure no symbols slip through re-.typing Previously a few symbols weren't flipped from %function to %object as the section splitter was emitting them without processes. This may be a bug in itself but for now let's just work around the issue but rewriting all symbol `.types`. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 32002b3dfdfd6a3c6a1a1eb52d8a257b42e17e51 compiler/llvmGen/LlvmMangler.hs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/compiler/llvmGen/LlvmMangler.hs b/compiler/llvmGen/LlvmMangler.hs index a36d6c1..2e29cfb 100644 --- a/compiler/llvmGen/LlvmMangler.hs +++ b/compiler/llvmGen/LlvmMangler.hs @@ -51,16 +51,18 @@ llvmFixupAsm dflags f1 f2 = {-# SCC "llvm_mangler" #-} do w <- openBinaryFile f2 WriteMode ss <- readSections r w hClose r - let fixed = (map (rewriteSymType . rewriteAVX) . fixTables) ss + let fixed = (map rewriteAVX . fixTables) ss mapM_ (writeSection w) fixed hClose w return () -rewriteSymType :: Section -> Section -rewriteSymType = rewriteInstructions typeFunc typeObj +rewriteSymType :: B.ByteString -> B.ByteString +rewriteSymType s = + foldl (\s' (typeFunc,typeObj)->replace typeFunc typeObj s') s types where - typeFunc = B.pack "@function" - typeObj = B.pack "@object" + types = [ (B.pack "@function", B.pack "@object") + , (B.pack "%function", B.pack "%object") + ] -- | Splits the file contents into its sections readSections :: Handle -> Handle -> IO [Section] @@ -73,7 +75,7 @@ readSections r w = go B.empty [] [] -- the first directive of the *next* section, therefore we take -- it over to that section. let (tys, ls') = span isType ls - cts = B.intercalate newLine $ reverse ls' + cts = rewriteSymType $ B.intercalate newLine $ reverse ls' -- Decide whether to directly output the section or append it -- to the list for resorting. @@ -124,7 +126,10 @@ rewriteAVX = id rewriteInstructions :: B.ByteString -> B.ByteString -> Section -> Section rewriteInstructions matchBS replaceBS (hdr, cts) = - (hdr, loop cts) + (hdr, replace matchBS replaceBS cts) + +replace :: B.ByteString -> B.ByteString -> B.ByteString -> B.ByteString +replace matchBS replaceBS = loop where loop :: B.ByteString -> B.ByteString loop cts = From git at git.haskell.org Tue Jan 7 14:30:36 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:36 +0000 (UTC) Subject: [commit: ghc] master: Remove trailing whitespace. (d24aa8f) Message-ID: <20140107143036.9BD732406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d24aa8f3031bf2abaa50fa76407d1f964576f996/ghc >--------------------------------------------------------------- commit d24aa8f3031bf2abaa50fa76407d1f964576f996 Author: Austin Seipp Date: Tue Jan 7 07:12:36 2014 -0600 Remove trailing whitespace. Signed-off-by: Austin Seipp >--------------------------------------------------------------- d24aa8f3031bf2abaa50fa76407d1f964576f996 compiler/llvmGen/LlvmMangler.hs | 1 - 1 file changed, 1 deletion(-) diff --git a/compiler/llvmGen/LlvmMangler.hs b/compiler/llvmGen/LlvmMangler.hs index 2e29cfb..7cae59c 100644 --- a/compiler/llvmGen/LlvmMangler.hs +++ b/compiler/llvmGen/LlvmMangler.hs @@ -167,4 +167,3 @@ readInt :: B.ByteString -> Int readInt str | B.all isDigit str = (read . B.unpack) str | otherwise = error $ "LLvmMangler Cannot read " ++ show str ++ " as it's not an Int" - From git at git.haskell.org Tue Jan 7 14:30:38 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:38 +0000 (UTC) Subject: [commit: ghc] master: Fix validate failure. (ca77f5c) Message-ID: <20140107143039.150BF2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/ca77f5c7587b30215cd68f1204bf217e59214a82/ghc >--------------------------------------------------------------- commit ca77f5c7587b30215cd68f1204bf217e59214a82 Author: Austin Seipp Date: Tue Jan 7 07:18:51 2014 -0600 Fix validate failure. Signed-off-by: Austin Seipp >--------------------------------------------------------------- ca77f5c7587b30215cd68f1204bf217e59214a82 compiler/llvmGen/LlvmMangler.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/llvmGen/LlvmMangler.hs b/compiler/llvmGen/LlvmMangler.hs index 7cae59c..a905417 100644 --- a/compiler/llvmGen/LlvmMangler.hs +++ b/compiler/llvmGen/LlvmMangler.hs @@ -119,14 +119,14 @@ rewriteVmovap = rewriteInstructions vmovap vmovup vmovap, vmovup :: B.ByteString vmovap = B.pack "vmovap" vmovup = B.pack "vmovup" -#else /* !REWRITE_AVX */ -rewriteAVX :: Section -> Section -rewriteAVX = id -#endif /* !REWRITE_SSE */ rewriteInstructions :: B.ByteString -> B.ByteString -> Section -> Section rewriteInstructions matchBS replaceBS (hdr, cts) = (hdr, replace matchBS replaceBS cts) +#else /* !REWRITE_AVX */ +rewriteAVX :: Section -> Section +rewriteAVX = id +#endif /* !REWRITE_SSE */ replace :: B.ByteString -> B.ByteString -> B.ByteString -> B.ByteString replace matchBS replaceBS = loop From git at git.haskell.org Tue Jan 7 14:30:40 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:30:40 +0000 (UTC) Subject: [commit: ghc] master: runghc: Fix interaction of stdin and --ghc-args (ec4af3f) Message-ID: <20140107143040.F34372406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/ec4af3fbcd47ca3af1727e70fa20e7cb8db0fb41/ghc >--------------------------------------------------------------- commit ec4af3fbcd47ca3af1727e70fa20e7cb8db0fb41 Author: John Lenz Date: Tue Jan 7 07:21:23 2014 -0600 runghc: Fix interaction of stdin and --ghc-args When reading the program from standard input, runghc did not properly handle the --ghc-arg= escape for arguments to ghc which do not start with a dash, since arguments were processed twice and the first time the --ghc-arg= was stripped. Now arguments are only processed once. For backwards compatibility, a prefix of --ghc-arg=--ghc-arg= is allowed since this prefix will work on both old and new versions of ghc. This fixes #8601 Signed-off-by: Austin Seipp >--------------------------------------------------------------- ec4af3fbcd47ca3af1727e70fa20e7cb8db0fb41 utils/runghc/runghc.hs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/utils/runghc/runghc.hs b/utils/runghc/runghc.hs index 1673e7b..5280cb3 100644 --- a/utils/runghc/runghc.hs +++ b/utils/runghc/runghc.hs @@ -48,14 +48,14 @@ main = do case parseRunGhcFlags args of (Help, _) -> printUsage (ShowVersion, _) -> printVersion - (RunGhcFlags (Just ghc), args') -> doIt ghc args' + (RunGhcFlags (Just ghc), args') -> uncurry (doIt ghc) $ getGhcArgs args' (RunGhcFlags Nothing, args') -> do mbPath <- getExecPath case mbPath of Nothing -> dieProg ("cannot find ghc") Just path -> let ghc = takeDirectory (normalise path) "ghc" - in doIt ghc args' + in uncurry (doIt ghc) $ getGhcArgs args' data RunGhcFlags = RunGhcFlags (Maybe FilePath) -- GHC location | Help -- Print help text @@ -96,9 +96,11 @@ printUsage = do putStrLn " --help Print this usage information" putStrLn " --version Print version number" -doIt :: String -> [String] -> IO () -doIt ghc args = do - let (ghc_args, rest) = getGhcArgs args +doIt :: String -- ^ path to GHC + -> [String] -- ^ GHC args + -> [String] -- ^ rest of the args + -> IO () +doIt ghc ghc_args rest = do case rest of [] -> do -- behave like typical perl, python, ruby interpreters: @@ -110,7 +112,7 @@ doIt ghc args = do $ \(filename,h) -> do getContents >>= hPutStr h hClose h - doIt ghc (ghc_args ++ [filename]) + doIt ghc ghc_args [filename] filename : prog_args -> do -- If the file exists, and is not a .lhs file, then we -- want to treat it as a .hs file. @@ -136,7 +138,11 @@ getGhcArgs args (xs, "--":ys) -> (xs, ys) (xs, ys) -> (xs, ys) in (map unescape ghcArgs, otherArgs) - where unescape ('-':'-':'g':'h':'c':'-':'a':'r':'g':'=':arg) = arg + where unescape ('-':'-':'g':'h':'c':'-':'a':'r':'g':'=':arg) = + case arg of + -- Bug #8601: allow --ghc-arg=--ghc-arg= as a prefix as well for backwards compatibility + ('-':'-':'g':'h':'c':'-':'a':'r':'g':'=':arg') -> arg' + _ -> arg unescape arg = arg pastArgs :: String -> Bool From git at git.haskell.org Tue Jan 7 14:31:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:31:04 +0000 (UTC) Subject: [commit: testsuite] master: Add test suite for #8602 (b7bc064) Message-ID: <20140107143104.64A0E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/b7bc064e3cdd439eb54bc6f978a067aa2eef7927/testsuite >--------------------------------------------------------------- commit b7bc064e3cdd439eb54bc6f978a067aa2eef7927 Author: Chris Heller Date: Thu Jan 2 16:54:58 2014 -0500 Add test suite for #8602 Signed-off-by: Austin Seipp >--------------------------------------------------------------- b7bc064e3cdd439eb54bc6f978a067aa2eef7927 tests/driver/T8602/A.hs | 1 + tests/driver/T8602/T8602.T | 1 + tests/driver/T8602/T8602.script | 3 +++ tests/driver/T8602/T8602.stderr | 2 ++ 4 files changed, 7 insertions(+) diff --git a/tests/driver/T8602/A.hs b/tests/driver/T8602/A.hs new file mode 100644 index 0000000..3203d94 --- /dev/null +++ b/tests/driver/T8602/A.hs @@ -0,0 +1 @@ +{-# OPTIONS_GHC -F -pgmF ./t8602.sh -optF A -optF B -optF C #-} diff --git a/tests/driver/T8602/T8602.T b/tests/driver/T8602/T8602.T new file mode 100644 index 0000000..87fa8b6 --- /dev/null +++ b/tests/driver/T8602/T8602.T @@ -0,0 +1 @@ +test('T8602', extra_clean(['t8602.sh']), ghci_script, ['T8602.script']) diff --git a/tests/driver/T8602/T8602.script b/tests/driver/T8602/T8602.script new file mode 100644 index 0000000..746fb09 --- /dev/null +++ b/tests/driver/T8602/T8602.script @@ -0,0 +1,3 @@ +:! echo 'echo $4 $5 $6; exit 1' > t8602.sh +:! chmod +x t8602.sh +:load A diff --git a/tests/driver/T8602/T8602.stderr b/tests/driver/T8602/T8602.stderr new file mode 100644 index 0000000..3bbfa20 --- /dev/null +++ b/tests/driver/T8602/T8602.stderr @@ -0,0 +1,2 @@ +A B C +phase `Haskell pre-processor' failed (exitcode = 1) From git at git.haskell.org Tue Jan 7 14:31:06 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:31:06 +0000 (UTC) Subject: [commit: testsuite] master: Tests for #8601 (f50c270) Message-ID: <20140107143106.90ACB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/f50c270457a2b9fbf831ab53081e111c84156bf9/testsuite >--------------------------------------------------------------- commit f50c270457a2b9fbf831ab53081e111c84156bf9 Author: John Lenz Date: Tue Jan 7 07:22:56 2014 -0600 Tests for #8601 Signed-off-by: Austin Seipp >--------------------------------------------------------------- f50c270457a2b9fbf831ab53081e111c84156bf9 tests/runghc/Makefile | 5 +++++ tests/{rts/T5993.stdout => runghc/T8601.stdout} | 0 tests/runghc/all.T | 2 ++ 3 files changed, 7 insertions(+) diff --git a/tests/runghc/Makefile b/tests/runghc/Makefile index de374d5..f96c829 100644 --- a/tests/runghc/Makefile +++ b/tests/runghc/Makefile @@ -5,3 +5,8 @@ include $(TOP)/mk/test.mk T7859: -'$(RUNGHC)' -fdefer-type-errors T7859.hs +#The bug is that when reading from standard input, --ghc-arg= did not work correctly. +#In the buggy version, the following command would try and use mtl as a source file to +#compile. +T8601: + -echo 'main = putStrLn "Hello World!"' | '$(RUNGHC)' -f '$(TEST_HC)' -hide-package --ghc-arg=bytestring diff --git a/tests/rts/T5993.stdout b/tests/runghc/T8601.stdout similarity index 100% copy from tests/rts/T5993.stdout copy to tests/runghc/T8601.stdout diff --git a/tests/runghc/all.T b/tests/runghc/all.T index e7a5612..d268f2e 100644 --- a/tests/runghc/all.T +++ b/tests/runghc/all.T @@ -4,3 +4,5 @@ setTestOpts(when(compiler_profiled(), skip)) test('T7859', req_interp, run_command, ['$MAKE --no-print-directory -s T7859']) +test('T8601', req_interp, run_command, + ['$MAKE --no-print-directory -s T8601']) From git at git.haskell.org Tue Jan 7 14:31:38 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:31:38 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Hackishly fix parallel build failure with in-tree GMP (8ed8ac5) Message-ID: <20140107143139.369142406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/8ed8ac58b4a5c8654fccee4436ca62bf7c690474/integer-gmp >--------------------------------------------------------------- commit 8ed8ac58b4a5c8654fccee4436ca62bf7c690474 Author: Austin Seipp Date: Tue Jan 7 03:52:38 2014 -0600 Hackishly fix parallel build failure with in-tree GMP See the comments and #8102. The basic gist of it seems to be that the build system follows an implied rule from somewhere to directly build a C file, which doesn't have a dependency on the in-tree gmp.h that we build. As a result, the C file compilation races against the GMP build, causing an error. This is a pretty unsatisfactory hack, but for Windows and OS X machines where we more often build in-tree GMPs, it's quite important. Authored-by: Kazu Yamamoto Signed-off-by: Austin Seipp >--------------------------------------------------------------- 8ed8ac58b4a5c8654fccee4436ca62bf7c690474 mkGmpDerivedConstants/ghc.mk | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mkGmpDerivedConstants/ghc.mk b/mkGmpDerivedConstants/ghc.mk index 6c06224..1729b1a 100644 --- a/mkGmpDerivedConstants/ghc.mk +++ b/mkGmpDerivedConstants/ghc.mk @@ -26,7 +26,14 @@ $(GmpDerivedConstants_HEADER): $(mkGmpDerivedConstants_INPLACE) ifneq "$(HaveLibGmp)" "YES" ifneq "$(HaveFrameworkGMP)" "YES" -$(libraries/integer-gmp/mkGmpDerivedConstants_dist_depfile_c_asm): libraries/integer-gmp/gmp/gmp.h +# NOTE: we should really be referring to the depfile generated by the build +# system here, but due to an awkward contortion I can't figure out, the build +# system follows an implied from somewhere else to directly build the C file +# instead (independent of the depfile rules), which doesn't have a built gmp.h +# dependency. This race causes the parallel build to fail. +# +# See #8102 +libraries/integer-gmp/mkGmpDerivedConstants/mkGmpDerivedConstants.c: libraries/integer-gmp/gmp/gmp.h endif endif From git at git.haskell.org Tue Jan 7 14:31:47 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:31:47 +0000 (UTC) Subject: [commit: packages/base] master: Document another unsafeDupablePerformIO limitation. (8c24917) Message-ID: <20140107143147.EA3DA2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/8c249173042f978a1ce8503a76682547e61c8039/base >--------------------------------------------------------------- commit 8c249173042f978a1ce8503a76682547e61c8039 Author: Bertram Felgenhauer Date: Mon Nov 4 15:57:51 2013 +0100 Document another unsafeDupablePerformIO limitation. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 8c249173042f978a1ce8503a76682547e61c8039 GHC/IO.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/GHC/IO.hs b/GHC/IO.hs index 2718c83..5309665 100644 --- a/GHC/IO.hs +++ b/GHC/IO.hs @@ -170,7 +170,10 @@ because it omits the check that the IO is only being performed by a single thread. Hence, when you use 'unsafeDupablePerformIO', there is a possibility that the IO action may be performed multiple times (on a multiprocessor), and you should therefore ensure that -it gives the same results each time. +it gives the same results each time. It may even happen that one +of the duplicated IO actions is only run partially, and then interrupted +in the middle without an exception being raised. Therefore, functions +like 'bracket' cannot be used safely within 'unsafeDupablePerformIO'. /Since: 4.4.0.0/ -} From git at git.haskell.org Tue Jan 7 14:48:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:48:54 +0000 (UTC) Subject: [commit: ghc] branch 'wip/cpr-vs-jp' created Message-ID: <20140107144854.8C3702406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc New branch : wip/cpr-vs-jp Referencing: d531c8dc559a4fe780a84eb4fca45b53f7c91418 From git at git.haskell.org Tue Jan 7 14:48:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:48:56 +0000 (UTC) Subject: [commit: ghc] wip/cpr-vs-jp: Add isJoinPointOf function (360bd08) Message-ID: <20140107144856.E1A362406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/cpr-vs-jp Link : http://ghc.haskell.org/trac/ghc/changeset/360bd08000ae852f802caa4440cb6088377568f2/ghc >--------------------------------------------------------------- commit 360bd08000ae852f802caa4440cb6088377568f2 Author: Joachim Breitner Date: Tue Jan 7 09:47:54 2014 +0000 Add isJoinPointOf function hackish and non-efficient version; Can be improved, or even turned into a phase of its own which annotates the binder (isJoinPoint :: Id -> Bool), and does one traversal to detect all join points. >--------------------------------------------------------------- 360bd08000ae852f802caa4440cb6088377568f2 compiler/stranal/DmdAnal.lhs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index a942c4e..11a60c7 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -18,8 +18,10 @@ import DynFlags import WwLib ( deepSplitProductType_maybe ) import Demand -- All of it import CoreSyn +import CoreFVs import Outputable import VarEnv +import VarSet import BasicTypes import FastString import Data.List @@ -1155,3 +1157,28 @@ of the Id, and start from "bottom". Nowadays the Id can have a current strictness, because interface files record strictness for nested bindings. To know when we are in the first iteration, we look at the ae_virgin field of the AnalEnv. + +\begin{code} + +-- Quick and dirty join-point-detection + +isJoinPointOf :: Var -> CoreExpr -> Bool +isJoinPointOf v (Var x) | v == x = True +isJoinPointOf _ (Var _) = False +isJoinPointOf _ (Lit _) = False +isJoinPointOf _ (Type _) = False +isJoinPointOf _ (Coercion _) = False +isJoinPointOf _ (Lam _ _) = False +isJoinPointOf v (Let bndr body) = v `notInBinder` bndr && isJoinPointOf v body +isJoinPointOf v (App f e) = v `notInExpr` e && isJoinPointOf v f +isJoinPointOf v (Tick _ e) = isJoinPointOf v e +isJoinPointOf v (Cast e _) = isJoinPointOf v e +isJoinPointOf v (Case e _ _ alts) = v `notInExpr` e && + all (\(_,_,e) -> isJoinPointOf v e || v `notInExpr` e) alts + +notInExpr :: Var -> CoreExpr -> Bool +notInExpr v e = not $ v `elemVarSet` exprFreeVars e +notInBinder :: Var -> CoreBind -> Bool +notInBinder v e = not $ v `elemVarSet` bindFreeVars e + +\end{code} From git at git.haskell.org Tue Jan 7 14:48:59 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:48:59 +0000 (UTC) Subject: [commit: ghc] wip/cpr-vs-jp: After demand analysis of a let, reduce CPR information of the join point (9894024) Message-ID: <20140107144859.29A352406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/cpr-vs-jp Link : http://ghc.haskell.org/trac/ghc/changeset/98940247926c2af1ccdacd18111facebe31d5982/ghc >--------------------------------------------------------------- commit 98940247926c2af1ccdacd18111facebe31d5982 Author: Joachim Breitner Date: Tue Jan 7 09:51:00 2014 +0000 After demand analysis of a let, reduce CPR information of the join point Code needs cleanup. TODO: How to treat the termination information of the join point? >--------------------------------------------------------------- 98940247926c2af1ccdacd18111facebe31d5982 compiler/basicTypes/Demand.lhs | 2 ++ compiler/stranal/DmdAnal.lhs | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index d408e6d..c25ff71 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -10,6 +10,8 @@ module Demand ( StrDmd, UseDmd(..), Count(..), countOnce, countMany, -- cardinality + JointDmd(..), MaybeUsed(..), lubDmdResult, -- temporary hack + Demand, CleanDemand, mkProdDmd, mkOnceUsedDmd, mkManyUsedDmd, mkHeadStrict, oneifyDmd, getUsage, toCleanDmd, diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 11a60c7..8a6e9ee 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -283,7 +283,7 @@ dmdAnal env dmd (Case scrut case_bndr ty alts) (res_ty, Case scrut' case_bndr' ty alts') dmdAnal env dmd (Let (NonRec id rhs) body) - = (body_ty2, Let (NonRec id2 annotated_rhs) body') + = (body_ty2, Let (NonRec id3 annotated_rhs) body') where (sig, lazy_fv, id1, rhs') = dmdAnalRhs NotTopLevel Nothing env id rhs (body_ty, body') = dmdAnal (extendAnalEnv NotTopLevel env id sig) dmd body @@ -294,6 +294,20 @@ dmdAnal env dmd (Let (NonRec id rhs) body) -- See Note [Annotating lambdas at right-hand side] annotated_rhs = annLamWithShotness (idDemandInfo id2) rhs' + -- If var is a joint point for the expression of which dmd_ty is the demand + -- type, then restrict var's CPR property to that in dmd_ty + -- Of course, this implementation is a HACK! + id3 | isJoinPointOf id body = setIdStrictness id2 $ + case (idStrictness id2, body_ty) of + (StrictSig (DmdType fv args r1), DmdType _ _ r2) -> + (\x -> + if r1 /= r2 + then pprTrace "cpr-join-point-fix" (vcat [ppr (idDemandInfo id2), ppr body_ty, ppr (idStrictness id2), ppr x]) x + else x) $ + -- TODO: What about a bottoming result? + StrictSig (DmdType fv args (r1 `lubDmdResult` r2)) + | otherwise = id2 + -- If the actual demand is better than the vanilla call -- demand, you might think that we might do better to re-analyse -- the RHS with the stronger demand. From git at git.haskell.org Tue Jan 7 14:49:01 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 7 Jan 2014 14:49:01 +0000 (UTC) Subject: [commit: ghc] wip/cpr-vs-jp: Allow CPR for sum types (d531c8d) Message-ID: <20140107144901.B1F392406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/cpr-vs-jp Link : http://ghc.haskell.org/trac/ghc/changeset/d531c8dc559a4fe780a84eb4fca45b53f7c91418/ghc >--------------------------------------------------------------- commit d531c8dc559a4fe780a84eb4fca45b53f7c91418 Author: Joachim Breitner Date: Tue Jan 7 09:53:21 2014 +0000 Allow CPR for sum types as the join point problem is taken care of. >--------------------------------------------------------------- d531c8dc559a4fe780a84eb4fca45b53f7c91418 compiler/stranal/DmdAnal.lhs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 8a6e9ee..914866c 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -639,9 +639,9 @@ dmdAnalRhs top_lvl rec_flag env id rhs (lazy_fv, sig_fv) = splitFVs is_thunk rhs_fv1 - rhs_res' = trimCPRInfo trim_all trim_sums rhs_res + rhs_res' = trimCPRInfo trim_all False rhs_res trim_all = is_thunk && not_strict - trim_sums = not (isTopLevel top_lvl) -- See Note [CPR for sum types] + -- trim_sums = not (isTopLevel top_lvl) -- See Note [CPR for sum types] -- See Note [CPR for thunks] is_thunk = not (exprIsHNF rhs) From git at git.haskell.org Wed Jan 8 17:04:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 8 Jan 2014 17:04:42 +0000 (UTC) Subject: [commit: ghc] master: Extend runRnSpliceHook to decls and patterns (a93f857) Message-ID: <20140108170442.DB3E52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/a93f85718cdfd36239095365f7b5efc7f2ecc4de/ghc >--------------------------------------------------------------- commit a93f85718cdfd36239095365f7b5efc7f2ecc4de Author: Edsko de Vries Date: Wed Jan 8 15:48:32 2014 +0000 Extend runRnSpliceHook to decls and patterns >--------------------------------------------------------------- a93f85718cdfd36239095365f7b5efc7f2ecc4de compiler/main/Hooks.lhs | 2 +- compiler/rename/RnSplice.lhs | 24 +++++++++++++----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/compiler/main/Hooks.lhs b/compiler/main/Hooks.lhs index 326b140..3bd9643 100644 --- a/compiler/main/Hooks.lhs +++ b/compiler/main/Hooks.lhs @@ -69,7 +69,7 @@ data Hooks = Hooks , runPhaseHook :: Maybe (PhasePlus -> FilePath -> DynFlags -> CompPipeline (PhasePlus, FilePath)) , linkHook :: Maybe (GhcLink -> DynFlags -> Bool -> HomePackageTable -> IO SuccessFlag) , runQuasiQuoteHook :: Maybe (HsQuasiQuote Name -> RnM (HsQuasiQuote Name)) - , runRnSpliceHook :: Maybe (HsSplice Name -> RnM (HsSplice Name)) + , runRnSpliceHook :: Maybe (LHsExpr Name -> RnM (LHsExpr Name)) , getValueSafelyHook :: Maybe (HscEnv -> Name -> Type -> IO (Maybe HValue)) } diff --git a/compiler/rename/RnSplice.lhs b/compiler/rename/RnSplice.lhs index bc47fe8..e0614d4 100644 --- a/compiler/rename/RnSplice.lhs +++ b/compiler/rename/RnSplice.lhs @@ -137,7 +137,7 @@ rnSpliceExpr is_typed splice = (PendingRnExpSplice rn_splice, HsSpliceE is_typed rn_splice) run_expr_splice :: HsSplice Name -> RnM (HsExpr Name, FreeVars) - run_expr_splice rn_splice + run_expr_splice rn_splice@(HsSplice _ expr') | is_typed -- Run it later, in the type checker = do { -- Ugh! See Note [Splices] above lcl_rdr <- getLocalRdrEnv @@ -149,7 +149,7 @@ rnSpliceExpr is_typed splice ; return (HsSpliceE is_typed rn_splice, lcl_names `plusFV` gbl_names) } | otherwise -- Run it here - = do { HsSplice _ expr <- getHooked runRnSpliceHook return >>= ($ rn_splice) + = do { expr <- getHooked runRnSpliceHook return >>= ($ expr') -- The splice must have type ExpQ ; meta_exp_ty <- tcMetaTy expQTyConName @@ -174,8 +174,8 @@ rnSpliceType splice k pend_type_splice rn_splice = (PendingRnTypeSplice rn_splice, HsSpliceTy rn_splice k) - run_type_splice rn_splice - = do { HsSplice _ expr <- getHooked runRnSpliceHook return >>= ($ rn_splice) + run_type_splice (HsSplice _ expr') + = do { expr <- getHooked runRnSpliceHook return >>= ($ expr') ; meta_exp_ty <- tcMetaTy typeQTyConName @@ -195,15 +195,16 @@ rnSpliceType splice k ---------------------- rnSplicePat :: HsSplice RdrName -> RnM (Pat Name, FreeVars) --- TODO: Run runHsSpliceHook (see runSpliceExpr) rnSplicePat splice = rnSpliceGen False run_pat_splice pend_pat_splice splice where pend_pat_splice rn_splice = (PendingRnPatSplice rn_splice, SplicePat rn_splice) - run_pat_splice (HsSplice _ expr) - = do { meta_exp_ty <- tcMetaTy patQTyConName + run_pat_splice (HsSplice _ expr') + = do { expr <- getHooked runRnSpliceHook return >>= ($ expr') + + ; meta_exp_ty <- tcMetaTy patQTyConName -- Typecheck the expression ; zonked_q_expr <- tcTopSpliceExpr False $ @@ -232,10 +233,11 @@ rnSpliceDecl (SpliceDecl (L loc splice) flg) \begin{code} rnTopSpliceDecls :: HsSplice RdrName -> RnM ([LHsDecl RdrName], FreeVars) -- Declaration splice at the very top level of the module --- TODO: Run runHsSpliceHook (see runSpliceExpr) -rnTopSpliceDecls (HsSplice _ expr) - = do { (expr', fvs) <- setStage (Splice False) $ - rnLExpr expr +rnTopSpliceDecls (HsSplice _ expr'') + = do { (expr, fvs) <- setStage (Splice False) $ + rnLExpr expr'' + + ; expr' <- getHooked runRnSpliceHook return >>= ($ expr) ; list_q <- tcMetaTy decsQTyConName -- Q [Dec] ; zonked_q_expr <- tcTopSpliceExpr False (tcMonoExpr expr' list_q) From git at git.haskell.org Wed Jan 8 18:24:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 8 Jan 2014 18:24:26 +0000 (UTC) Subject: [commit: testsuite] master: Test that runST is not inlined prematurely (e17a62c) Message-ID: <20140108182426.11F062406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/e17a62c14b6a1fce681b06ebd0cc11223841f92f/testsuite >--------------------------------------------------------------- commit e17a62c14b6a1fce681b06ebd0cc11223841f92f Author: Joachim Breitner Date: Wed Jan 8 18:23:56 2014 +0000 Test that runST is not inlined prematurely This resulted form a discussion about #5916. >--------------------------------------------------------------- e17a62c14b6a1fce681b06ebd0cc11223841f92f tests/simplCore/should_run/all.T | 2 ++ tests/simplCore/should_run/runST.hs | 13 +++++++++++++ .../T3279.stdout => simplCore/should_run/runST.stdout} | 0 3 files changed, 15 insertions(+) diff --git a/tests/simplCore/should_run/all.T b/tests/simplCore/should_run/all.T index c9be7a4..430d61f 100644 --- a/tests/simplCore/should_run/all.T +++ b/tests/simplCore/should_run/all.T @@ -31,6 +31,8 @@ test('T3437', extra_run_opts('+RTS -M10m'), compile_and_run, ['']) test('SeqRule', only_ways(['optasm']), compile_and_run, ['']) +test('runST', normal, compile_and_run, ['']) + test('T3403', normal, compile_and_run, ['-package containers']) test('T3591', normal, compile_and_run, ['']) test('T4814', normal, compile_and_run, ['']) diff --git a/tests/simplCore/should_run/runST.hs b/tests/simplCore/should_run/runST.hs new file mode 100644 index 0000000..dc06c24 --- /dev/null +++ b/tests/simplCore/should_run/runST.hs @@ -0,0 +1,13 @@ +import Control.Monad.ST +import Data.STRef + +-- Make sure that the realWord# token used by runST (actually by runSTRep) is +-- not inlined, which would share the call to `newMutVar#`, and suddenly there +-- would be only one MutVar + +main = + let f () = runST $ do + ref <- newSTRef 0 + modifySTRef ref (+1) + readSTRef ref + in print (f () + f ()) diff --git a/tests/concurrent/should_run/T3279.stdout b/tests/simplCore/should_run/runST.stdout similarity index 100% copy from tests/concurrent/should_run/T3279.stdout copy to tests/simplCore/should_run/runST.stdout From git at git.haskell.org Wed Jan 8 23:26:30 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 8 Jan 2014 23:26:30 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Wrap `gmpz_tdiv_{q, r, qr}_ui` to optimize `quot`/`rem` (af2ba9c) Message-ID: <20140108232630.E3A3A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/af2ba9c81cf6a3223ccc74c5aa17de18138fd824/integer-gmp >--------------------------------------------------------------- commit af2ba9c81cf6a3223ccc74c5aa17de18138fd824 Author: Herbert Valerio Riedel Date: Wed Jan 8 22:45:13 2014 +0100 Wrap `gmpz_tdiv_{q,r,qr}_ui` to optimize `quot`/`rem` This is useful as `quot`/`rem` are often used with small-int divisors, like when computing the digits of an `Integer`. This optimization reduces allocations in the following `nofib` benchmarks: Program Size Allocs Runtime Elapsed TotalMem ----------------------------------------------------------------- power +0.3% -0.8% -1.2% -1.2% +0.0% primetest +0.3% -3.9% 0.07 0.07 +0.0% rsa +0.3% -4.0% 0.02 0.02 +0.0% symalg +0.2% -1.4% 0.01 0.01 +0.0% This addresses #8647 Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- af2ba9c81cf6a3223ccc74c5aa17de18138fd824 GHC/Integer/GMP/Prim.hs | 17 +++++++++++++++++ GHC/Integer/Type.lhs | 28 +++++++++++++++++++++------- cbits/gmp-wrappers.cmm | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 7 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc af2ba9c81cf6a3223ccc74c5aa17de18138fd824 From git at git.haskell.org Wed Jan 8 23:26:32 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 8 Jan 2014 23:26:32 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Manually float out `int2Integer# INT_MINBOUND` (868b93b) Message-ID: <20140108232633.0555B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/868b93beb1215a44f5f8251a397bba7fcc0815ad/integer-gmp >--------------------------------------------------------------- commit 868b93beb1215a44f5f8251a397bba7fcc0815ad Author: Herbert Valerio Riedel Date: Wed Jan 8 23:39:01 2014 +0100 Manually float out `int2Integer# INT_MINBOUND` This avoids allocating this special value over and over again every time it's needed, and therefore this addresses #8647. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 868b93beb1215a44f5f8251a397bba7fcc0815ad GHC/Integer/Type.lhs | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index adba180..3ddbff8 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -147,6 +147,10 @@ integerToInt :: Integer -> Int# integerToInt (S# i) = i integerToInt (J# s d) = integer2Int# s d +-- This manually floated out constant is needed as GHC doesn't do it on its own +minIntAsBig :: Integer +minIntAsBig = case int2Integer# INT_MINBOUND of { (# s, d #) -> J# s d } + -- | Promote 'S#' to 'J#' toBig :: Integer -> Integer toBig (S# i) = case int2Integer# i of { (# s, d #) -> J# s d } @@ -217,7 +221,7 @@ Just using smartJ# in this way has good results: {-# NOINLINE quotRemInteger #-} quotRemInteger :: Integer -> Integer -> (# Integer, Integer #) -quotRemInteger a@(S# INT_MINBOUND) b = quotRemInteger (toBig a) b +quotRemInteger (S# INT_MINBOUND) b = quotRemInteger minIntAsBig b quotRemInteger (S# i) (S# j) = case quotRemInt# i j of (# q, r #) -> (# S# q, S# r #) quotRemInteger (J# s1 d1) (S# b) | isTrue# (b <# 0#) @@ -240,7 +244,7 @@ quotRemInteger (J# s1 d1) (J# s2 d2) {-# NOINLINE divModInteger #-} divModInteger :: Integer -> Integer -> (# Integer, Integer #) -divModInteger a@(S# INT_MINBOUND) b = divModInteger (toBig a) b +divModInteger (S# INT_MINBOUND) b = divModInteger minIntAsBig b divModInteger (S# i) (S# j) = (# S# d, S# m #) where -- NB. don't inline these. (# S# (i `quotInt#` j), ... #) means @@ -260,7 +264,7 @@ divModInteger (J# s1 d1) (J# s2 d2) {-# NOINLINE remInteger #-} remInteger :: Integer -> Integer -> Integer -remInteger a@(S# INT_MINBOUND) b = remInteger (toBig a) b +remInteger (S# INT_MINBOUND) b = remInteger minIntAsBig b remInteger (S# a) (S# b) = S# (remInt# a b) {- Special case doesn't work, because a 1-element J# has the range -(2^32-1) -- 2^32-1, whereas S# has the range -2^31 -- (2^31-1) @@ -281,7 +285,7 @@ remInteger (J# sa a) (J# sb b) {-# NOINLINE quotInteger #-} quotInteger :: Integer -> Integer -> Integer -quotInteger a@(S# INT_MINBOUND) b = quotInteger (toBig a) b +quotInteger (S# INT_MINBOUND) b = quotInteger minIntAsBig b quotInteger (S# a) (S# b) = S# (quotInt# a b) {- Special case disabled, see remInteger above quotInteger (S# a) (J# sb b) @@ -301,7 +305,7 @@ quotInteger (J# sa a) (J# sb b) {-# NOINLINE modInteger #-} modInteger :: Integer -> Integer -> Integer -modInteger a@(S# INT_MINBOUND) b = modInteger (toBig a) b +modInteger (S# INT_MINBOUND) b = modInteger minIntAsBig b modInteger (S# a) (S# b) = S# (modInt# a b) modInteger ia@(S# _) ib@(J# _ _) = modInteger (toBig ia) ib modInteger (J# sa a) (S# b) @@ -313,7 +317,7 @@ modInteger (J# sa a) (J# sb b) {-# NOINLINE divInteger #-} divInteger :: Integer -> Integer -> Integer -divInteger a@(S# INT_MINBOUND) b = divInteger (toBig a) b +divInteger (S# INT_MINBOUND) b = divInteger minIntAsBig b divInteger (S# a) (S# b) = S# (divInt# a b) divInteger ia@(S# _) ib@(J# _ _) = divInteger (toBig ia) ib divInteger (J# sa a) (S# b) @@ -330,8 +334,8 @@ divInteger (J# sa a) (J# sb b) {-# NOINLINE gcdInteger #-} gcdInteger :: Integer -> Integer -> Integer -- SUP: Do we really need the first two cases? -gcdInteger a@(S# INT_MINBOUND) b = gcdInteger (toBig a) b -gcdInteger a b@(S# INT_MINBOUND) = gcdInteger a (toBig b) +gcdInteger (S# INT_MINBOUND) b = gcdInteger minIntAsBig b +gcdInteger a (S# INT_MINBOUND) = gcdInteger a minIntAsBig gcdInteger (S# a) (S# b) = S# (gcdInt a b) gcdInteger ia@(S# a) ib@(J# sb b) = if isTrue# (a ==# 0#) then absInteger ib @@ -377,7 +381,7 @@ absInt :: Int# -> Int# absInt x = if isTrue# (x <# 0#) then negateInt# x else x divExact :: Integer -> Integer -> Integer -divExact a@(S# INT_MINBOUND) b = divExact (toBig a) b +divExact (S# INT_MINBOUND) b = divExact minIntAsBig b divExact (S# a) (S# b) = S# (quotInt# a b) divExact (S# a) (J# sb b) = S# (quotInt# a (integer2Int# sb b)) From git at git.haskell.org Thu Jan 9 07:03:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 9 Jan 2014 07:03:11 +0000 (UTC) Subject: [commit: ghc] master: Document Proxy# (#8658) (d4f0fcf) Message-ID: <20140109070311.D652D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d4f0fcf368765ae4aa7ebe914bc2f254026694c8/ghc >--------------------------------------------------------------- commit d4f0fcf368765ae4aa7ebe914bc2f254026694c8 Author: Austin Seipp Date: Thu Jan 9 01:02:56 2014 -0600 Document Proxy# (#8658) Signed-off-by: Austin Seipp >--------------------------------------------------------------- d4f0fcf368765ae4aa7ebe914bc2f254026694c8 compiler/prelude/primops.txt.pp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index b3cf2f4..36eec67 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -2228,6 +2228,18 @@ section "Etc" {Miscellaneous built-ins} ------------------------------------------------------------------------ +primtype Proxy# a + { The type constructor {\tt Proxy#} is used to bear witness to some + type variable. It's used when you want to pass around proxy values + for doing things like modelling type applications. A {\tt Proxy#} + is not only unboxed, it also has a polymorphic kind, and has no + runtime representation, being totally free. } + +pseudoop "proxy#" + Proxy# a + { Witness for an unboxed {\tt Proxy#} value, which has no runtime + representation. } + pseudoop "seq" a -> b -> b { Evaluates its first argument to head normal form, and then returns its second From git at git.haskell.org Thu Jan 9 08:38:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 9 Jan 2014 08:38:46 +0000 (UTC) Subject: [commit: ghc] branch 'wip/pattern-synonyms' created Message-ID: <20140109083846.ED5772406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc New branch : wip/pattern-synonyms Referencing: 8ab0cbc6acab2584733467fb80d0716aac93794a From git at git.haskell.org Thu Jan 9 08:38:49 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 9 Jan 2014 08:38:49 +0000 (UTC) Subject: [commit: ghc] wip/pattern-synonyms: Implement pattern synonyms (8ab0cbc) Message-ID: <20140109083849.7F5392406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/pattern-synonyms Link : http://ghc.haskell.org/trac/ghc/changeset/8ab0cbc6acab2584733467fb80d0716aac93794a/ghc >--------------------------------------------------------------- commit 8ab0cbc6acab2584733467fb80d0716aac93794a Author: Dr. ERDI Gergo Date: Wed Jan 8 09:43:50 2014 -0600 Implement pattern synonyms This patch implements Pattern Synonyms (enabled by -XPatternSynonyms), allowing you to assign names to a pattern and abstract over it. The rundown is this: * Named patterns are introduced by the new 'pattern' keyword, and can be either *unidirectional* or *bidirectional*. A unidirectional pattern is, in the simplest sense, simply an 'alias' for a pattern, where the LHS may mention variables to occur in the RHS. A bidirectional pattern synonym occurs when a pattern may also be used in expression context. * Unidirectional patterns are declared like thus: pattern P x <- x:_ The synonym 'P' may only occur in a pattern context: foo :: [Int] -> Maybe Int foo (P x) = Just x foo _ = Nothing * Bidirectional patterns are declared like thus: pattern P x y = [x, y] Here, P may not only occur as a pattern, but also as an expression when given values for 'x' and 'y', i.e. bar :: Int -> [Int] bar x = P x 10 * Patterns may have their own type signatures, or they're inferred. * Pattern synonyms may not be recursive, c.f. type synonyms. * Pattern synonyms are also exported/imported using the 'pattern' keyword in an import/export decl, i.e. module Foo (pattern Bar) where ... Note that pattern synonyms share the namespace of constructors, so this disambiguation is required as a there may also be a 'Bar' constructor in scope as well as the 'Bar' pattern. * The semantics of a pattern synonym differ slightly from a typical pattern: when using a synonym, the pattern itself is matched, followed by all the arguments. This means that the strictness differs slightly: pattern P x y <- [x, y] f (P True True) = True f _ = False g [True, True] = True g _ = False In the example, while `g (False:undefined)` evaluates to False, `f (False:undefined)` results in undefined as both `x` and `y` arguments are matched to `True`. For more information, see the wiki: https://ghc.haskell.org/trac/ghc/wiki/PatternSynonyms https://ghc.haskell.org/trac/ghc/wiki/PatternSynonyms/Implementation Reviewed-by: Simon Peyton Jones Signed-off-by: Austin Seipp >--------------------------------------------------------------- 8ab0cbc6acab2584733467fb80d0716aac93794a compiler/basicTypes/BasicTypes.lhs | 20 +++ compiler/basicTypes/ConLike.lhs | 82 +++++++++ compiler/basicTypes/DataCon.lhs-boot | 9 +- compiler/basicTypes/OccName.lhs | 5 +- compiler/basicTypes/PatSyn.lhs | 225 +++++++++++++++++++++++ compiler/basicTypes/PatSyn.lhs-boot | 19 ++ compiler/deSugar/Check.lhs | 52 ++++-- compiler/deSugar/Coverage.lhs | 9 +- compiler/deSugar/Desugar.lhs | 17 +- compiler/deSugar/DsBinds.lhs | 12 +- compiler/deSugar/DsExpr.lhs | 13 +- compiler/deSugar/DsMeta.hs | 4 +- compiler/deSugar/DsMonad.lhs | 18 +- compiler/deSugar/DsUtils.lhs | 236 +++++++++++++++---------- compiler/deSugar/Match.lhs | 28 +-- compiler/deSugar/MatchCon.lhs | 59 +++++-- compiler/ghc.cabal.in | 3 + compiler/ghc.mk | 2 + compiler/hsSyn/Convert.lhs | 8 +- compiler/hsSyn/HsBinds.lhs | 98 +++++++++- compiler/hsSyn/HsExpr.lhs | 4 + compiler/hsSyn/HsPat.lhs | 22 ++- compiler/hsSyn/HsPat.lhs-boot | 2 + compiler/hsSyn/HsTypes.lhs | 12 +- compiler/hsSyn/HsUtils.lhs | 28 +-- compiler/iface/BinIface.hs | 3 +- compiler/iface/BuildTyCl.lhs | 69 ++++++++ compiler/iface/IfaceSyn.lhs | 72 +++++++- compiler/iface/MkIface.lhs | 30 +++- compiler/iface/TcIface.lhs | 48 ++++- compiler/main/DynFlags.hs | 4 +- compiler/main/HscMain.hs | 1 + compiler/main/HscStats.hs | 63 ++++--- compiler/main/HscTypes.lhs | 58 ++++-- compiler/main/PprTyThing.hs | 29 ++- compiler/main/TidyPgm.lhs | 11 +- compiler/parser/Lexer.x | 13 +- compiler/parser/Parser.y.pp | 18 ++ compiler/parser/RdrHsSyn.lhs | 8 +- compiler/prelude/TysWiredIn.lhs | 7 +- compiler/rename/RnBinds.lhs | 152 ++++++++++++---- compiler/rename/RnEnv.lhs | 7 +- compiler/rename/RnNames.lhs | 18 ++ compiler/rename/RnPat.lhs | 26 ++- compiler/rename/RnSource.lhs | 25 +-- compiler/typecheck/TcBinds.lhs | 172 ++++++++++++------ compiler/typecheck/TcClassDcl.lhs | 18 +- compiler/typecheck/TcDeriv.lhs | 3 +- compiler/typecheck/TcEnv.lhs | 16 +- compiler/typecheck/TcExpr.lhs | 12 +- compiler/typecheck/TcForeign.lhs | 3 +- compiler/typecheck/TcGenDeriv.lhs | 50 +++--- compiler/typecheck/TcGenGenerics.lhs | 6 +- compiler/typecheck/TcHsSyn.lhs | 40 ++++- compiler/typecheck/TcHsType.lhs | 3 +- compiler/typecheck/TcInstDcls.lhs | 28 +-- compiler/typecheck/TcPat.lhs | 130 +++++++++++--- compiler/typecheck/TcPatSyn.lhs | 324 ++++++++++++++++++++++++++++++++++ compiler/typecheck/TcPatSyn.lhs-boot | 16 ++ compiler/typecheck/TcRnDriver.lhs | 15 +- compiler/typecheck/TcRnMonad.lhs | 8 +- compiler/typecheck/TcRnTypes.lhs | 33 ++-- compiler/typecheck/TcSplice.lhs | 3 +- compiler/typecheck/TcTyClsDecls.lhs | 2 +- compiler/types/TypeRep.lhs | 10 +- compiler/utils/UniqFM.lhs | 13 ++ compiler/utils/UniqSet.lhs | 1 + ghc/GhciTags.hs | 10 +- utils/ghctags/Main.hs | 5 +- 69 files changed, 2093 insertions(+), 477 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 8ab0cbc6acab2584733467fb80d0716aac93794a From git at git.haskell.org Thu Jan 9 08:39:01 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 9 Jan 2014 08:39:01 +0000 (UTC) Subject: [commit: testsuite] branch 'wip/pattern-synonyms' created Message-ID: <20140109083901.8D5F52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite New branch : wip/pattern-synonyms Referencing: cfc633efcc8bbe0100c0fbb10e38ce31d74afc2a From git at git.haskell.org Thu Jan 9 08:39:03 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 9 Jan 2014 08:39:03 +0000 (UTC) Subject: [commit: testsuite] wip/pattern-synonyms: Pattern synonym test cases (cfc633e) Message-ID: <20140109083903.9D9F02406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : wip/pattern-synonyms Link : http://ghc.haskell.org/trac/ghc/changeset/cfc633efcc8bbe0100c0fbb10e38ce31d74afc2a/testsuite >--------------------------------------------------------------- commit cfc633efcc8bbe0100c0fbb10e38ce31d74afc2a Author: Dr. ERDI Gergo Date: Tue Dec 31 15:54:11 2013 +0800 Pattern synonym test cases Signed-off-by: Austin Seipp >--------------------------------------------------------------- cfc633efcc8bbe0100c0fbb10e38ce31d74afc2a tests/{annotations => patsyn}/Makefile | 0 tests/patsyn/should_compile/.gitignore | 9 ++++++++ .../should_compile/Makefile | 0 tests/patsyn/should_compile/all.T | 9 ++++++++ tests/patsyn/should_compile/bidir.hs | 6 ++++++ tests/patsyn/should_compile/ex-num.hs | 9 ++++++++ tests/patsyn/should_compile/ex-prov.hs | 12 +++++++++++ tests/patsyn/should_compile/ex-view.hs | 12 +++++++++++ tests/patsyn/should_compile/ex.hs | 13 ++++++++++++ tests/patsyn/should_compile/incomplete.hs | 11 ++++++++++ tests/patsyn/should_compile/num.hs | 6 ++++++ tests/patsyn/should_compile/overlap.hs | 9 ++++++++ tests/patsyn/should_compile/univ.hs | 11 ++++++++++ .../should_compile => patsyn/should_fail}/Makefile | 0 tests/patsyn/should_fail/all.T | 3 +++ tests/patsyn/should_fail/mono.hs | 7 +++++++ tests/patsyn/should_fail/mono.stderr | 12 +++++++++++ tests/patsyn/should_fail/unidir.hs | 4 ++++ tests/patsyn/should_fail/unidir.stderr | 4 ++++ tests/patsyn/should_run/.gitignore | 7 +++++++ .../should_compile => patsyn/should_run}/Makefile | 0 tests/patsyn/should_run/all.T | 3 +++ tests/patsyn/should_run/eval.hs | 22 ++++++++++++++++++++ tests/patsyn/should_run/eval.stdout | 7 +++++++ tests/patsyn/should_run/ex-prov-run.hs | 21 +++++++++++++++++++ .../should_run/ex-prov-run.stdout} | 0 tests/patsyn/should_run/match.hs | 21 +++++++++++++++++++ tests/patsyn/should_run/match.stdout | 5 +++++ 28 files changed, 223 insertions(+) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc cfc633efcc8bbe0100c0fbb10e38ce31d74afc2a From git at git.haskell.org Thu Jan 9 08:39:15 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 9 Jan 2014 08:39:15 +0000 (UTC) Subject: [commit: haddock] branch 'wip/pattern-synonyms' created Message-ID: <20140109083915.215A62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock New branch : wip/pattern-synonyms Referencing: 943dc7a82ab2c54e1b0448687eb2df08396be0b8 From git at git.haskell.org Thu Jan 9 08:39:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 9 Jan 2014 08:39:17 +0000 (UTC) Subject: [commit: haddock] wip/pattern-synonyms: Support for -XPatternSynonyms (943dc7a) Message-ID: <20140109083919.A62F22406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : wip/pattern-synonyms Link : http://git.haskell.org/haddock.git/commitdiff/943dc7a82ab2c54e1b0448687eb2df08396be0b8 >--------------------------------------------------------------- commit 943dc7a82ab2c54e1b0448687eb2df08396be0b8 Author: Dr. ERDI Gergo Date: Thu Jan 9 01:42:55 2014 -0600 Support for -XPatternSynonyms Signed-off-by: Austin Seipp >--------------------------------------------------------------- 943dc7a82ab2c54e1b0448687eb2df08396be0b8 src/Haddock/Backends/LaTeX.hs | 44 +++++++++++++++++++++- src/Haddock/Backends/Xhtml.hs | 2 +- src/Haddock/Backends/Xhtml/Decl.hs | 71 +++++++++++++++++++++++++++++------ src/Haddock/Backends/Xhtml/Names.hs | 23 ++++++++---- src/Haddock/Convert.hs | 12 +++++- src/Haddock/GhcUtils.hs | 4 ++ src/Haddock/Interface/Create.hs | 24 +++++++----- src/Haddock/Interface/Rename.hs | 9 +++++ 8 files changed, 156 insertions(+), 33 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 943dc7a82ab2c54e1b0448687eb2df08396be0b8 From git at git.haskell.org Thu Jan 9 18:35:32 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 9 Jan 2014 18:35:32 +0000 (UTC) Subject: [commit: ghc] wip/cbv-conv-thunk: Try to make "t" meaningful (b794662) Message-ID: <20140109183532.C36E42406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/cbv-conv-thunk Link : http://ghc.haskell.org/trac/ghc/changeset/b794662db02949b45e0a16d49e53e0b03985118b/ghc >--------------------------------------------------------------- commit b794662db02949b45e0a16d49e53e0b03985118b Author: Joachim Breitner Date: Thu Jan 9 10:37:29 2014 +0000 Try to make "t" meaningful by giving it the meaning: "Assuming my first argument is terminating, then I am terminating". In pictures: This is the lattice, which is not a simple product lattice any more: ------ ------ / | \ \ / | t \ | | \ \ | | | \ | \ t | / | t | \ | / | \ \ | / | \ ----- ----- | \ | \ | \ | t / \ | / ---------?-------------/ This means that we need to be careful when lub?ing: If one branch is lazy, but not absent in an argument or free variable, and the other branch is strict, then even if both branches claim to terminate, we need to remove the termination flag (as one had the termination under a stronger hypothesis as the hole result) (Feels inelegant.) There is no unit for lubDmdType any more. So for case, use we use botDmdType for no alternatives, and foldr1 if there are multiple. Unlifted variables (e.g. Int#) are tricky. Everything is strict in them, so for an *unlifted* argument, t implies t and hence t ? t = t, and we really want to make use of that stronger equation. But when lub?ing, we don?t know any more if this is the demand for an unlifted type. So instead, the demand type of x :: Int# itself is {x ? } t, while x :: Int continues to have type {x ? } t. It is important that functions (including primitive operations and constructors like I#) have a strict demand on their unlifted argument. But it turned out to be easier to enforce this in the demand analyser: So even if f claims to have a lazy demand on a argument of unlifted type, we make this demand strict before feeding it into the argument. >--------------------------------------------------------------- b794662db02949b45e0a16d49e53e0b03985118b compiler/basicTypes/Demand.lhs | 61 +++++++++++++++++++++++++++++++-------- compiler/prelude/PrimOp.lhs | 4 ++- compiler/prelude/primops.txt.pp | 1 + compiler/stranal/DmdAnal.lhs | 36 +++++++++++++++++------ 4 files changed, 80 insertions(+), 22 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc b794662db02949b45e0a16d49e53e0b03985118b From git at git.haskell.org Thu Jan 9 18:35:35 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 9 Jan 2014 18:35:35 +0000 (UTC) Subject: [commit: ghc] wip/cbv-conv-thunk: Loop breakers are not allowed to have a Converges DmdResult (fca15ac) Message-ID: <20140109183535.67EF42406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/cbv-conv-thunk Link : http://ghc.haskell.org/trac/ghc/changeset/fca15ac53af8308608a44d6e7b9faaff1cf30d70/ghc >--------------------------------------------------------------- commit fca15ac53af8308608a44d6e7b9faaff1cf30d70 Author: Joachim Breitner Date: Tue Nov 26 10:18:35 2013 +0000 Loop breakers are not allowed to have a Converges DmdResult >--------------------------------------------------------------- fca15ac53af8308608a44d6e7b9faaff1cf30d70 compiler/basicTypes/Demand.lhs | 8 ++++++++ compiler/stranal/DmdAnal.lhs | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 6c0ae89..4fbf3ca 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -33,6 +33,7 @@ module Demand ( trimCPRInfo, returnsCPR, returnsCPR_maybe, StrictSig(..), mkStrictSig, mkClosedStrictSig, nopSig, botSig, cprProdSig, convergeSig, isNopSig, splitStrictSig, increaseStrictSigArity, + sigMayDiverge, seqDemand, seqDemandList, seqDmdType, seqStrictSig, @@ -794,6 +795,10 @@ cprProdRes _arg_tys | opt_CprOff = topRes | otherwise = Converges $ RetProd +-- Forget that something might converge for sure +divergeDmdResult :: DmdResult -> DmdResult +divergeDmdResult r = r `lubDmdResult` botRes + vanillaCprProdRes :: Arity -> DmdResult vanillaCprProdRes _arity | opt_CprOff = topRes @@ -1449,6 +1454,9 @@ convergeResult Diverges = Converges NoCPR convergeResult (Dunno c) = Converges c convergeResult (Converges c) = Converges c +sigMayDiverge :: StrictSig -> StrictSig +sigMayDiverge (StrictSig (DmdType env ds res)) = (StrictSig (DmdType env ds (divergeDmdResult res))) + argsOneShots :: StrictSig -> Arity -> [[OneShotInfo]] argsOneShots (StrictSig (DmdType _ arg_ds _)) n_val_args = go arg_ds diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 17dbb5f..24c627c 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -1056,7 +1056,10 @@ updSigEnv env sigs = env { ae_sigs = sigs } extendAnalEnv :: TopLevelFlag -> AnalEnv -> Id -> StrictSig -> AnalEnv extendAnalEnv top_lvl env var sig - = env { ae_sigs = extendSigEnv top_lvl (ae_sigs env) var sig } + = env { ae_sigs = extendSigEnv top_lvl (ae_sigs env) var sig' } + where + sig' | isWeakLoopBreaker (idOccInfo var) = sigMayDiverge sig + | otherwise = sig extendSigEnv :: TopLevelFlag -> SigEnv -> Id -> StrictSig -> SigEnv extendSigEnv top_lvl sigs var sig = extendVarEnv sigs var (sig, top_lvl) From git at git.haskell.org Thu Jan 9 18:35:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 9 Jan 2014 18:35:37 +0000 (UTC) Subject: [commit: ghc] wip/cbv-conv-thunk: Speculative evaluate thunks known to Converge (7e6bb34) Message-ID: <20140109183537.BA1412406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/cbv-conv-thunk Link : http://ghc.haskell.org/trac/ghc/changeset/7e6bb343d1550982feec6b3b3255e55676b7f1db/ghc >--------------------------------------------------------------- commit 7e6bb343d1550982feec6b3b3255e55676b7f1db Author: Joachim Breitner Date: Mon Jan 6 14:12:57 2014 +0000 Speculative evaluate thunks known to Converge This is an attempt to use the by-products of nested cpr analysis. >--------------------------------------------------------------- 7e6bb343d1550982feec6b3b3255e55676b7f1db compiler/basicTypes/Demand.lhs | 7 +++++++ compiler/basicTypes/Id.lhs | 7 ++++++- compiler/simplCore/Simplify.lhs | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 4fbf3ca..0e7996e 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -812,6 +812,10 @@ isBotRes :: DmdResult -> Bool isBotRes Diverges = True isBotRes _ = False +isConvRes :: DmdResult -> Bool +isConvRes (Converges {}) = True +isConvRes _ = False + trimCPRInfo :: Bool -> Bool -> DmdResult -> DmdResult trimCPRInfo trim_all trim_sums res = trimR res @@ -1439,6 +1443,9 @@ isNopSig (StrictSig ty) = isNopDmdType ty isBottomingSig :: StrictSig -> Bool isBottomingSig (StrictSig (DmdType _ _ res)) = isBotRes res +isConvSig :: StrictSig -> Bool +isConvSig (StrictSig (DmdType _ _ res)) = isConvRes res + nopSig, botSig :: StrictSig nopSig = StrictSig nopDmdType botSig = StrictSig botDmdType diff --git a/compiler/basicTypes/Id.lhs b/compiler/basicTypes/Id.lhs index 50b3641..9ad99f3 100644 --- a/compiler/basicTypes/Id.lhs +++ b/compiler/basicTypes/Id.lhs @@ -47,7 +47,7 @@ module Id ( -- ** Predicates on Ids isImplicitId, isDeadBinder, - isStrictId, + isStrictId, isConvId, isExportedId, isLocalId, isGlobalId, isRecordSelector, isNaughtyRecordSelector, isClassOpId_maybe, isDFunId, @@ -495,6 +495,11 @@ isStrictId id -- Take the best of both strictnesses - old and new (isStrictDmd (idDemandInfo id)) +isConvId :: Id -> Bool +isConvId id + = ASSERT2( isId id, text "isConvId: not an id: " <+> ppr id ) + (isConvSig (idStrictness id)) + --------------------------------- -- UNFOLDING idUnfolding :: Id -> Unfolding diff --git a/compiler/simplCore/Simplify.lhs b/compiler/simplCore/Simplify.lhs index 03150c6..422e3d0 100644 --- a/compiler/simplCore/Simplify.lhs +++ b/compiler/simplCore/Simplify.lhs @@ -1347,7 +1347,7 @@ simplNonRecE env bndr (rhs, rhs_se) (bndrs, body) cont ; -- pprTrace "preInlineUncond" (ppr bndr <+> ppr rhs) $ simplLam (extendIdSubst env bndr (mkContEx rhs_se rhs)) bndrs body cont } - | isStrictId bndr -> -- Includes coercions + | isStrictId bndr || isConvId bndr -> -- Includes coercions do { simplExprF (rhs_se `setFloats` env) rhs (StrictBind bndr bndrs body env cont) } From git at git.haskell.org Fri Jan 10 08:52:07 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:52:07 +0000 (UTC) Subject: [commit: ghc] master: Further refine the test for 'given' equalities (5d2fb2e) Message-ID: <20140110085207.757592406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/5d2fb2ee94fea4cf62ba767eb1555e42f4f21f46/ghc >--------------------------------------------------------------- commit 5d2fb2ee94fea4cf62ba767eb1555e42f4f21f46 Author: Simon Peyton Jones Date: Tue Jan 7 10:03:42 2014 +0000 Further refine the test for 'given' equalities Trac #8651 revealed that my previous fix (itself in response to #8644) wasn't quite right. The plan, using the CtOrigin to identify constraints arising from flattening, is described in TcSimplify, Note [When does an implication have given equalities?] >--------------------------------------------------------------- 5d2fb2ee94fea4cf62ba767eb1555e42f4f21f46 compiler/typecheck/TcCanonical.lhs | 8 +++--- compiler/typecheck/TcInteract.lhs | 6 ++--- compiler/typecheck/TcRnTypes.lhs | 4 +++ compiler/typecheck/TcSMonad.lhs | 51 ++++++++++++++++++------------------ compiler/typecheck/TcSimplify.lhs | 38 ++++++++++++++++++++++----- 5 files changed, 68 insertions(+), 39 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 5d2fb2ee94fea4cf62ba767eb1555e42f4f21f46 From git at git.haskell.org Fri Jan 10 08:52:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:52:09 +0000 (UTC) Subject: [commit: ghc] master: Improve documentation of :module etc (Trac #8622) (0ec5302) Message-ID: <20140110085209.BE5222406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0ec530202369fef2fecc7446027a65b4a345f0a9/ghc >--------------------------------------------------------------- commit 0ec530202369fef2fecc7446027a65b4a345f0a9 Author: Simon Peyton Jones Date: Thu Jan 9 16:17:59 2014 +0000 Improve documentation of :module etc (Trac #8622) I did quite a bit of restructuring, as well as adding the note specifically referred to in #8622 >--------------------------------------------------------------- 0ec530202369fef2fecc7446027a65b4a345f0a9 docs/users_guide/ghci.xml | 213 +++++++++++++++++++++++++++------------------ 1 file changed, 126 insertions(+), 87 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 0ec530202369fef2fecc7446027a65b4a345f0a9 From git at git.haskell.org Fri Jan 10 08:52:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:52:11 +0000 (UTC) Subject: [commit: ghc] master: A little refactoring so that we print package-qualified modules names if necessary (19e23dc) Message-ID: <20140110085212.6E2202406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/19e23dce902fbbafca4add832b6b500c4fb31d37/ghc >--------------------------------------------------------------- commit 19e23dce902fbbafca4add832b6b500c4fb31d37 Author: Simon Peyton Jones Date: Thu Jan 9 16:19:22 2014 +0000 A little refactoring so that we print package-qualified modules names if necessary >--------------------------------------------------------------- 19e23dce902fbbafca4add832b6b500c4fb31d37 ghc/InteractiveUI.hs | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/ghc/InteractiveUI.hs b/ghc/InteractiveUI.hs index 5375812..1476f95 100644 --- a/ghc/InteractiveUI.hs +++ b/ghc/InteractiveUI.hs @@ -1374,8 +1374,7 @@ afterLoad ok retain_context = do lift discardTickArrays loaded_mod_summaries <- getLoadedModules let loaded_mods = map GHC.ms_mod loaded_mod_summaries - loaded_mod_names = map GHC.moduleName loaded_mods - modulesLoadedMsg ok loaded_mod_names + modulesLoadedMsg ok loaded_mods lift $ setContextAfterLoad retain_context loaded_mod_summaries @@ -1448,20 +1447,22 @@ keepPackageImports = filterM is_pkg_import mod_name = unLoc (ideclName d) -modulesLoadedMsg :: SuccessFlag -> [ModuleName] -> InputT GHCi () +modulesLoadedMsg :: SuccessFlag -> [Module] -> InputT GHCi () modulesLoadedMsg ok mods = do dflags <- getDynFlags - when (verbosity dflags > 0) $ do - let mod_commas + unqual <- GHC.getPrintUnqual + let mod_commas | null mods = text "none." | otherwise = hsep ( punctuate comma (map ppr mods)) <> text "." - case ok of - Failed -> - liftIO $ putStrLn $ showSDoc dflags (text "Failed, modules loaded: " <> mod_commas) - Succeeded -> - liftIO $ putStrLn $ showSDoc dflags (text "Ok, modules loaded: " <> mod_commas) + status = case ok of + Failed -> text "Failed" + Succeeded -> text "Ok" + + msg = status <> text ", modules loaded:" <+> mod_commas + when (verbosity dflags > 0) $ + liftIO $ putStrLn $ showSDocForUser dflags unqual msg ----------------------------------------------------------------------------- -- :type From git at git.haskell.org Fri Jan 10 08:52:14 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:52:14 +0000 (UTC) Subject: [commit: ghc] master: Further improve the "same-occurrence" error messages (Trac #8278) (322b48b) Message-ID: <20140110085214.785DA2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/322b48b92b93e1250b360d21873fa9f31c142403/ghc >--------------------------------------------------------------- commit 322b48b92b93e1250b360d21873fa9f31c142403 Author: Simon Peyton Jones Date: Thu Jan 9 16:55:31 2014 +0000 Further improve the "same-occurrence" error messages (Trac #8278) Sometimes we actually have a good SrcSpan for the type constructor and reporting that is better than just reporting which module it was defined on >--------------------------------------------------------------- 322b48b92b93e1250b360d21873fa9f31c142403 compiler/typecheck/TcErrors.lhs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/compiler/typecheck/TcErrors.lhs b/compiler/typecheck/TcErrors.lhs index a28a9f5..f105cdd 100644 --- a/compiler/typecheck/TcErrors.lhs +++ b/compiler/typecheck/TcErrors.lhs @@ -858,7 +858,8 @@ misMatchMsg oriented ty1 ty2 , sameOccExtra ty2 ty1 ] | otherwise = sep [ ptext (sLit "Couldn't match") <+> what <+> quotes (ppr ty1) - , nest 14 $ ptext (sLit "with") <+> quotes (ppr ty2) ] + , nest 14 $ ptext (sLit "with") <+> quotes (ppr ty2) + , sameOccExtra ty1 ty2 ] where what | isKind ty1 = ptext (sLit "kind") | otherwise = ptext (sLit "type") @@ -876,6 +877,7 @@ mkExpectedActualMsg ty1 ty2 (TypeEqOrigin { uo_actual = act, uo_expected = exp } mkExpectedActualMsg _ _ _ = panic "mkExprectedAcutalMsg" sameOccExtra :: TcType -> TcType -> SDoc +-- See Note [Disambiguating (X ~ X) errors] sameOccExtra ty1 ty2 | Just (tc1, _) <- tcSplitTyConApp_maybe ty1 , Just (tc2, _) <- tcSplitTyConApp_maybe ty2 @@ -890,6 +892,10 @@ sameOccExtra ty1 ty2 = empty where ppr_from same_pkg nm + | isGoodSrcSpan loc + = hang (quotes (ppr nm) <+> ptext (sLit "is defined at")) + 2 (ppr loc) + | otherwise -- Imported things have an UnhelpfulSrcSpan = hang (quotes (ppr nm)) 2 (sep [ ptext (sLit "is defined in") <+> quotes (ppr (moduleName mod)) , ppUnless (same_pkg || pkg == mainPackageId) $ @@ -897,8 +903,13 @@ sameOccExtra ty1 ty2 where pkg = modulePackageId mod mod = nameModule nm + loc = nameSrcSpan nm \end{code} +Note [Disambiguating (X ~ X) errors] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +See Trac #8278 + Note [Reporting occurs-check errors] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Given (a ~ [a]), if 'a' is a rigid type variable bound by a user-supplied From git at git.haskell.org Fri Jan 10 08:52:16 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:52:16 +0000 (UTC) Subject: [commit: ghc] master: Comment typo (0f737ce) Message-ID: <20140110085216.C59CF2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0f737cef67b11617a9231f45b1908c4b86e87419/ghc >--------------------------------------------------------------- commit 0f737cef67b11617a9231f45b1908c4b86e87419 Author: Simon Peyton Jones Date: Tue Jan 7 10:03:56 2014 +0000 Comment typo >--------------------------------------------------------------- 0f737cef67b11617a9231f45b1908c4b86e87419 compiler/basicTypes/Name.lhs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/basicTypes/Name.lhs b/compiler/basicTypes/Name.lhs index 8233039..bddf2de 100644 --- a/compiler/basicTypes/Name.lhs +++ b/compiler/basicTypes/Name.lhs @@ -502,7 +502,7 @@ pprModulePrefix sty mod name = sdocWithDynFlags $ \dflags -> NameQual modname -> ppr modname <> dot -- Name is in scope NameNotInScope1 -> ppr mod <> dot -- Not in scope NameNotInScope2 -> ppr (modulePackageId mod) <> colon -- Module not in - <> ppr (moduleName mod) <> dot -- scope eithber + <> ppr (moduleName mod) <> dot -- scope either _otherwise -> empty ppr_underscore_unique :: Unique -> SDoc From git at git.haskell.org Fri Jan 10 08:52:19 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:52:19 +0000 (UTC) Subject: [commit: ghc] master: Comments only (15a3de1) Message-ID: <20140110085219.435F72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/15a3de1288fe9d055f3dc92d554cb59b3528fa30/ghc >--------------------------------------------------------------- commit 15a3de1288fe9d055f3dc92d554cb59b3528fa30 Author: Simon Peyton Jones Date: Thu Jan 9 17:58:37 2014 +0000 Comments only >--------------------------------------------------------------- 15a3de1288fe9d055f3dc92d554cb59b3528fa30 compiler/main/InteractiveEval.hs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/compiler/main/InteractiveEval.hs b/compiler/main/InteractiveEval.hs index 35239a2..622d600 100644 --- a/compiler/main/InteractiveEval.hs +++ b/compiler/main/InteractiveEval.hs @@ -800,9 +800,13 @@ fromListBL bound l = BL (length l) bound l [] -- ----------------------------------------------------------------------------- -- | Set the interactive evaluation context. -- --- Setting the context doesn't throw away any bindings; the bindings --- we've built up in the InteractiveContext simply move to the new --- module. They always shadow anything in scope in the current context. +-- (setContext imports) sets the ic_imports field (which in turn +-- determines what is in scope at the prompt) to 'imports', and +-- constucts the ic_rn_glb_env environment to reflect it. +-- +-- We retain in scope all the things defined at the prompt, and kept +-- in ic_tythings. (Indeed, they shadow stuff from ic_imports.) + setContext :: GhcMonad m => [InteractiveImport] -> m () setContext imports = do { hsc_env <- getSession @@ -830,7 +834,7 @@ findGlobalRdrEnv hsc_env imports -- This call also loads any orphan modules ; return $ case partitionEithers (map mkEnv imods) of ([], imods_env) -> Right (foldr plusGlobalRdrEnv idecls_env imods_env) - (err : _, _) -> Left err } + (err : _, _) -> Left err } where idecls :: [LImportDecl RdrName] idecls = [noLoc d | IIDecl d <- imports] From git at git.haskell.org Fri Jan 10 08:52:21 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:52:21 +0000 (UTC) Subject: [commit: ghc] master: Re-work the naming story for the GHCi prompt (Trac #8649) (73c08ab) Message-ID: <20140110085221.AFEF92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/73c08ab10e4077e18e459a1325996bff110360c3/ghc >--------------------------------------------------------------- commit 73c08ab10e4077e18e459a1325996bff110360c3 Author: Simon Peyton Jones Date: Thu Jan 9 17:58:18 2014 +0000 Re-work the naming story for the GHCi prompt (Trac #8649) The basic idea here is simple, and described in Note [The interactive package] in HscTypes, which starts thus: Note [The interactive package] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Type and class declarations at the command prompt are treated as if they were defined in modules interactive:Ghci1 interactive:Ghci2 ...etc... with each bunch of declarations using a new module, all sharing a common package 'interactive' (see Module.interactivePackageId, and PrelNames.mkInteractiveModule). This scheme deals well with shadowing. For example: ghci> data T = A ghci> data T = B ghci> :i A data Ghci1.T = A -- Defined at :2:10 Here we must display info about constructor A, but its type T has been shadowed by the second declaration. But it has a respectable qualified name (Ghci1.T), and its source location says where it was defined. So the main invariant continues to hold, that in any session an original name M.T only refers to oe unique thing. (In a previous iteration both the T's above were called :Interactive.T, albeit with different uniques, which gave rise to all sorts of trouble.) This scheme deals nicely with the original problem. It allows us to eliminate a couple of grotseque hacks - Note [Outputable Orig RdrName] in HscTypes - Note [interactive name cache] in IfaceEnv (both these comments have gone, because the hacks they describe are no longer necessary). I was also able to simplify Outputable.QueryQualifyName, so that it takes a Module/OccName as args rather than a Name. However, matters are never simple, and this change took me an unreasonably long time to get right. There are some details in Note [The interactive package] in HscTypes. >--------------------------------------------------------------- 73c08ab10e4077e18e459a1325996bff110360c3 compiler/basicTypes/Module.lhs | 23 ++- compiler/basicTypes/Name.lhs | 18 +- compiler/basicTypes/RdrName.lhs | 4 +- compiler/deSugar/Desugar.lhs | 3 +- compiler/ghci/Linker.lhs | 16 +- compiler/ghci/RtClosureInspect.hs | 6 +- compiler/iface/IfaceEnv.lhs | 18 +- compiler/llvmGen/LlvmCodeGen/Base.hs | 4 +- compiler/main/DynamicLoading.hs | 22 ++- compiler/main/HscMain.hs | 32 ++-- compiler/main/HscTypes.lhs | 329 ++++++++++++++++++++++------------ compiler/prelude/PrelNames.lhs | 9 +- compiler/rename/RnEnv.lhs | 23 +-- compiler/rename/RnNames.lhs | 2 +- compiler/simplCore/CoreMonad.lhs | 2 +- compiler/typecheck/FamInst.lhs | 4 +- compiler/typecheck/TcEnv.lhs | 13 +- compiler/typecheck/TcRnDriver.lhs | 196 +++++++++----------- compiler/typecheck/TcRnMonad.lhs | 23 ++- compiler/typecheck/TcRnTypes.lhs | 4 + compiler/typecheck/TcSplice.lhs | 17 +- compiler/types/FamInstEnv.lhs | 13 +- compiler/utils/Outputable.lhs | 30 ++-- 23 files changed, 452 insertions(+), 359 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 73c08ab10e4077e18e459a1325996bff110360c3 From git at git.haskell.org Fri Jan 10 08:53:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:53:04 +0000 (UTC) Subject: [commit: testsuite] master: Changes in error messages when fixing Trac #8649 (5e8e8e6) Message-ID: <20140110085304.AE3C52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/5e8e8e6e62c5826133c053cd78bb35e9b4aaa05b/testsuite >--------------------------------------------------------------- commit 5e8e8e6e62c5826133c053cd78bb35e9b4aaa05b Author: Simon Peyton Jones Date: Thu Jan 9 17:59:51 2014 +0000 Changes in error messages when fixing Trac #8649 Mostly improvements, happily >--------------------------------------------------------------- 5e8e8e6e62c5826133c053cd78bb35e9b4aaa05b tests/ghci/scripts/ghci040.stdout | 3 +-- tests/ghci/scripts/ghci042.stdout | 3 +-- tests/ghci/scripts/ghci051.stderr | 5 ++++- tests/ghci/scripts/ghci051.stdout | 10 ++++------ tests/ghci/scripts/ghci052.stderr | 24 ++++++++++++------------ tests/ghci/scripts/ghci053.stderr | 12 ++++++------ tests/module/mod180.stderr | 4 ++-- tests/th/T8625.stdout | 2 +- tests/typecheck/should_fail/tcfail182.stderr | 2 +- 9 files changed, 32 insertions(+), 33 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 5e8e8e6e62c5826133c053cd78bb35e9b4aaa05b From git at git.haskell.org Fri Jan 10 08:53:07 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:53:07 +0000 (UTC) Subject: [commit: testsuite] master: Test Trac #5498 (1285af7) Message-ID: <20140110085307.468222406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/1285af76c32c84332835d5d430146403bf610796/testsuite >--------------------------------------------------------------- commit 1285af76c32c84332835d5d430146403bf610796 Author: Simon Peyton Jones Date: Tue Jan 7 12:21:28 2014 +0000 Test Trac #5498 >--------------------------------------------------------------- 1285af76c32c84332835d5d430146403bf610796 tests/deriving/should_fail/T5498.hs | 41 ++++++++++++++++++++ .../should_fail/T5498.stderr} | 0 tests/deriving/should_fail/all.T | 1 + 3 files changed, 42 insertions(+) diff --git a/tests/deriving/should_fail/T5498.hs b/tests/deriving/should_fail/T5498.hs new file mode 100644 index 0000000..f267e14 --- /dev/null +++ b/tests/deriving/should_fail/T5498.hs @@ -0,0 +1,41 @@ +{-# LANGUAGE GeneralizedNewtypeDeriving #-} +-- | We use newtype to create an isomorphic type to Int +-- with a reversed Ord dictionary. We now use the MinList +-- API of MinList to create a new MinList. Then we use newtype +-- deriving to convert the newtype MinList to an Int +-- MinList. This final result breaks the invariants of +-- MinList which shouldn't be possible with the exposed +-- API of MinList. +module T5498 where + +data MinList a = MinList a [a] + +newMinList :: Ord a => a -> MinList a +newMinList n = MinList n [] + +insertMinList :: Ord a => MinList a -> a -> MinList a +insertMinList s@(MinList m xs) n | n > m = MinList m (n:xs) + | otherwise = s + +printIntMinList :: MinList Int -> IO () +printIntMinList (MinList min xs) + = putStrLn $ "MinList Int :: MinList " ++ show min ++ " " ++ show xs + +class IntIso t where + intIso :: c t -> c Int + +instance IntIso Int where + intIso = id + +newtype Down a = Down a deriving (Eq, IntIso) + +instance Ord a => Ord (Down a) where + compare (Down a) (Down b) = compare b a + +fine :: MinList (Down Int) +fine = foldl (\x y -> insertMinList x $ Down y) + (newMinList $ Down 0) [-1,-2,-3,-4,1,2,3,4] + +bad :: MinList Int +bad = intIso fine + diff --git a/tests/deSugar/should_run/T5472.stdout b/tests/deriving/should_fail/T5498.stderr similarity index 100% copy from tests/deSugar/should_run/T5472.stdout copy to tests/deriving/should_fail/T5498.stderr diff --git a/tests/deriving/should_fail/all.T b/tests/deriving/should_fail/all.T index 8b90e74..b2b99ff 100644 --- a/tests/deriving/should_fail/all.T +++ b/tests/deriving/should_fail/all.T @@ -47,3 +47,4 @@ test('T4846', normal, compile_fail, ['']) test('T7148', normal, compile_fail, ['']) test('T7148a', normal, compile_fail, ['']) test('T7800', normal, multimod_compile_fail, ['T7800','']) +test('T5498', normal, compile_fail, ['']) From git at git.haskell.org Fri Jan 10 08:53:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:53:09 +0000 (UTC) Subject: [commit: testsuite] master: Adjust "max_bytes_used" upward for T4801 (ff6113e) Message-ID: <20140110085309.62E3E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/ff6113ef98e778f3b5ae25d542e0fe6f12c6aed1/testsuite >--------------------------------------------------------------- commit ff6113ef98e778f3b5ae25d542e0fe6f12c6aed1 Author: Simon Peyton Jones Date: Fri Jan 10 08:48:53 2014 +0000 Adjust "max_bytes_used" upward for T4801 >--------------------------------------------------------------- ff6113ef98e778f3b5ae25d542e0fe6f12c6aed1 tests/perf/compiler/all.T | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/perf/compiler/all.T b/tests/perf/compiler/all.T index a6daa10..34eb867 100644 --- a/tests/perf/compiler/all.T +++ b/tests/perf/compiler/all.T @@ -186,12 +186,13 @@ test('T4801', # 2013-02-10: 11207828 (x86/OSX) # (some date): 11139444 # 2013-11-13: 11829000 (x86/Windows, 64bit machine) - (wordsize(64), 21657520, 15)]), + (wordsize(64), 25166280, 10)]), # prev: 20486256 (amd64/OS X) # 30/08/2012: 17305600--20391920 (varies a lot) # 19/10/2012: 26882576 (-fPIC turned on) # 19/10/2012: 18619912 (-fPIC turned off) # 24/12/2012: 21657520 (perhaps gc sampling time wibbles?) + # 10/01/2014: 25166280 only_ways(['normal']), extra_hc_opts('-static') ], From git at git.haskell.org Fri Jan 10 08:55:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 08:55:17 +0000 (UTC) Subject: [commit: packages/template-haskell] master: Deprecate TH.global (Trac #8656) (6b48566) Message-ID: <20140110085517.80B3E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/template-haskell On branch : master Link : http://git.haskell.org/packages/template-haskell.git/commitdiff/6b485668ba22d4d78664866100a8ef2daf62ff89 >--------------------------------------------------------------- commit 6b485668ba22d4d78664866100a8ef2daf62ff89 Author: Simon Peyton Jones Date: Thu Jan 9 18:01:06 2014 +0000 Deprecate TH.global (Trac #8656) >--------------------------------------------------------------- 6b485668ba22d4d78664866100a8ef2daf62ff89 Language/Haskell/TH/Lib.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Language/Haskell/TH/Lib.hs b/Language/Haskell/TH/Lib.hs index 2dfef30..b7a88d6 100644 --- a/Language/Haskell/TH/Lib.hs +++ b/Language/Haskell/TH/Lib.hs @@ -200,6 +200,8 @@ dyn :: String -> ExpQ dyn s = return (VarE (mkName s)) global :: Name -> ExpQ +{-# DEPRECATED global "Use varE instead" #-} +-- Trac #8656; I have no idea why this function is duplicated global s = return (VarE s) varE :: Name -> ExpQ From git at git.haskell.org Fri Jan 10 09:23:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 09:23:11 +0000 (UTC) Subject: [commit: testsuite] master: Test Trac #8649 (d63acc8) Message-ID: <20140110092311.CF39B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d63acc8fd99553b2fcca02b58519877827b913ac/testsuite >--------------------------------------------------------------- commit d63acc8fd99553b2fcca02b58519877827b913ac Author: Simon Peyton Jones Date: Fri Jan 10 09:22:57 2014 +0000 Test Trac #8649 >--------------------------------------------------------------- d63acc8fd99553b2fcca02b58519877827b913ac tests/ghci/scripts/T8649.script | 4 ++++ tests/ghci/scripts/T8649.stderr | 8 ++++++++ tests/ghci/scripts/all.T | 1 + 3 files changed, 13 insertions(+) diff --git a/tests/ghci/scripts/T8649.script b/tests/ghci/scripts/T8649.script new file mode 100644 index 0000000..017a820 --- /dev/null +++ b/tests/ghci/scripts/T8649.script @@ -0,0 +1,4 @@ +data X = Y Int +let f (Y i) = i +data X = Y Int | Z String +f (Y 3) diff --git a/tests/ghci/scripts/T8649.stderr b/tests/ghci/scripts/T8649.stderr new file mode 100644 index 0000000..2bd4584 --- /dev/null +++ b/tests/ghci/scripts/T8649.stderr @@ -0,0 +1,8 @@ + +:5:4: + Couldn't match expected type ?Ghci1.X? + with actual type ?X? + NB: ?Ghci1.X? is defined at :2:1-14 + ?X? is defined at :4:1-25 + In the first argument of ?f?, namely ?(Y 3)? + In the expression: f (Y 3) diff --git a/tests/ghci/scripts/all.T b/tests/ghci/scripts/all.T index e7a520c..1f051c8 100755 --- a/tests/ghci/scripts/all.T +++ b/tests/ghci/scripts/all.T @@ -163,3 +163,4 @@ test('T8535', normal, ghci_script, ['T8535.script']) test('T8639', normal, ghci_script, ['T8639.script']) test('T8640', normal, ghci_script, ['T8640.script']) test('T8579', normal, ghci_script, ['T8579.script']) +test('T8649', normal, ghci_script, ['T8649.script']) From git at git.haskell.org Fri Jan 10 09:28:25 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 09:28:25 +0000 (UTC) Subject: [commit: testsuite] master: Test Trac #8651 (b662393) Message-ID: <20140110092825.68D1C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/b662393ef802b80e211f494f7b22aa1964faaed5/testsuite >--------------------------------------------------------------- commit b662393ef802b80e211f494f7b22aa1964faaed5 Author: Simon Peyton Jones Date: Fri Jan 10 09:28:11 2014 +0000 Test Trac #8651 >--------------------------------------------------------------- b662393ef802b80e211f494f7b22aa1964faaed5 tests/indexed-types/should_compile/T8651.hs | 14 ++++++++++++++ tests/indexed-types/should_compile/all.T | 1 + 2 files changed, 15 insertions(+) diff --git a/tests/indexed-types/should_compile/T8651.hs b/tests/indexed-types/should_compile/T8651.hs new file mode 100644 index 0000000..a13c91b --- /dev/null +++ b/tests/indexed-types/should_compile/T8651.hs @@ -0,0 +1,14 @@ +{-# LANGUAGE RankNTypes, FlexibleContexts, TypeFamilies #-} +module T8651 where + +import Data.Monoid + +type family Id a + +type instance Id a = a + --type instance Id [a] = [Id a] + +foo :: (Monoid (Id String) => r) -> r +foo x = x + +bar = foo "Hello" diff --git a/tests/indexed-types/should_compile/all.T b/tests/indexed-types/should_compile/all.T index 66e30b2..3b69ec9 100644 --- a/tests/indexed-types/should_compile/all.T +++ b/tests/indexed-types/should_compile/all.T @@ -238,3 +238,4 @@ test('ClosedFam1', extra_clean(['ClosedFam1.o-boot', 'ClosedFam1.hi-boot']), multimod_compile, ['ClosedFam1', '-v0']) test('ClosedFam2', extra_clean(['ClosedFam2.o-boot', 'ClosedFam2.hi-boot']), multimod_compile, ['ClosedFam2', '-v0']) +test('T8651', normal, compile, ['']) From git at git.haskell.org Fri Jan 10 10:05:08 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 10:05:08 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Temporary disable `mpz_gmpz_tdiv_qr_ui` to workaround #8661 (a3878d1) Message-ID: <20140110100508.D831D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/a3878d172b358b896b3c8302e58199958479d8e5/integer-gmp >--------------------------------------------------------------- commit a3878d172b358b896b3c8302e58199958479d8e5 Author: Herbert Valerio Riedel Date: Fri Jan 10 11:00:23 2014 +0100 Temporary disable `mpz_gmpz_tdiv_qr_ui` to workaround #8661 I still need to investigated, but for some reason not yet obvious to me, commit [af2ba9c8/integer-gmp] (re #8647) seems to have triggered #8661 on linux/32 This commit disables the use of the `quotRemIntegerWord#` primop on 32bit (which seems to trigger the issue). Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- a3878d172b358b896b3c8302e58199958479d8e5 GHC/Integer/Type.lhs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index 3ddbff8..1d0780a 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -221,9 +221,10 @@ Just using smartJ# in this way has good results: {-# NOINLINE quotRemInteger #-} quotRemInteger :: Integer -> Integer -> (# Integer, Integer #) -quotRemInteger (S# INT_MINBOUND) b = quotRemInteger minIntAsBig b +quotRemInteger a@(S# INT_MINBOUND) b = quotRemInteger (toBig a) b quotRemInteger (S# i) (S# j) = case quotRemInt# i j of (# q, r #) -> (# S# q, S# r #) +#if SIZEOF_HSWORD == 8 quotRemInteger (J# s1 d1) (S# b) | isTrue# (b <# 0#) = case quotRemIntegerWord# s1 d1 (int2Word# (negateInt# b)) of (# s3, d3, s4, d4 #) -> let !q = smartJ# (negateInt# s3) d3 @@ -234,6 +235,10 @@ quotRemInteger (J# s1 d1) (S# b) (# s3, d3, s4, d4 #) -> let !q = smartJ# s3 d3 !r = smartJ# s4 d4 in (# q, r #) +#else +-- temporary workaround on 32bit due to #8661 +quotRemInteger i1@(J# _ _) i2@(S# _) = quotRemInteger i1 (toBig i2) +#endif quotRemInteger i1@(S# _) i2@(J# _ _) = quotRemInteger (toBig i1) i2 quotRemInteger (J# s1 d1) (J# s2 d2) = case (quotRemInteger# s1 d1 s2 d2) of From git at git.haskell.org Fri Jan 10 10:33:58 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 10:33:58 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Follow-up to a3878d17 (88083e7) Message-ID: <20140110103359.07CE72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/88083e73d454125ee8d74edfcb91dd3e1ae1fe1a/integer-gmp >--------------------------------------------------------------- commit 88083e73d454125ee8d74edfcb91dd3e1ae1fe1a Author: Herbert Valerio Riedel Date: Fri Jan 10 11:32:59 2014 +0100 Follow-up to a3878d17 Forgot to add this chunk to the commit [a3878d17/integer-gmp] Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 88083e73d454125ee8d74edfcb91dd3e1ae1fe1a GHC/Integer/Type.lhs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index 1d0780a..ee112c5 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -40,7 +40,10 @@ import GHC.Integer.GMP.Prim ( cmpInteger#, cmpIntegerInt#, plusInteger#, plusIntegerInt#, minusInteger#, minusIntegerInt#, timesInteger#, timesIntegerInt#, - quotRemInteger#, quotRemIntegerWord#, + quotRemInteger#, +#if SIZEOF_HSWORD == 8 + quotRemIntegerWord#, +#endif quotInteger#, quotIntegerWord#, remInteger#, remIntegerWord#, divModInteger#, divInteger#, modInteger#, gcdInteger#, gcdExtInteger#, gcdIntegerInt#, gcdInt#, divExactInteger#, From git at git.haskell.org Fri Jan 10 11:04:24 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 11:04:24 +0000 (UTC) Subject: [commit: nofib] master: fix some typos (77a87f1) Message-ID: <20140110110424.1F4172406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/nofib On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/77a87f18166aa4c806e33b0adf4c2fbe40551a4f/nofib >--------------------------------------------------------------- commit 77a87f18166aa4c806e33b0adf4c2fbe40551a4f Author: Gabor Greif Date: Fri Jan 10 12:02:06 2014 +0100 fix some typos >--------------------------------------------------------------- 77a87f18166aa4c806e33b0adf4c2fbe40551a4f fibon/Hackage/Funsat/syb/tests/Bits.hs | 2 +- real/veritas/Lookup.hs | 2 +- spectral/salishan/id.tex | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fibon/Hackage/Funsat/syb/tests/Bits.hs b/fibon/Hackage/Funsat/syb/tests/Bits.hs index 3c71f69..08816a7 100644 --- a/fibon/Hackage/Funsat/syb/tests/Bits.hs +++ b/fibon/Hackage/Funsat/syb/tests/Bits.hs @@ -12,7 +12,7 @@ internet.) Here is how it works. -A constuctor is encoded as a bit stream. To this end, we encode the +A constructor is encoded as a bit stream. To this end, we encode the index of the constructor as a binary number of a fixed length taking into account the maximum index for the type at hand. (Similarly, we could view the list of constructors as a binary tree, and then encode diff --git a/real/veritas/Lookup.hs b/real/veritas/Lookup.hs index e5c5c11..0ce5ba1 100644 --- a/real/veritas/Lookup.hs +++ b/real/veritas/Lookup.hs @@ -136,7 +136,7 @@ type Lookup_table = [Entry] | get_p1_nmsL rec_flag j [] = ([], j) (******************************************************************************) -(* Return the lookup table for the constuctors of a pass1 datatype *) +(* Return the lookup table for the constructors of a pass1 datatype *) (* declaration *) (******************************************************************************) diff --git a/spectral/salishan/id.tex b/spectral/salishan/id.tex index 0a3f37a..c13f125 100644 --- a/spectral/salishan/id.tex +++ b/spectral/salishan/id.tex @@ -903,7 +903,7 @@ $n=0$, there is only one such radical--- a lone hydrogen atom. When $n>0$, we construct all canonical 3-partitions $(i,j,k)$ of $n-1$; for each such partition, we generate, recursively, all radicals {\cf ri} of size $i$, all radicals {\cf rj} of size $j$ and all radicals {\cf -rk} of size $k$, and constuct the new radical \mbox{\cf (C ri rj rk)}. +rk} of size $k$, and construct the new radical \mbox{\cf (C ri rj rk)}. Here is the function: \beginid From git at git.haskell.org Fri Jan 10 11:06:28 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 11:06:28 +0000 (UTC) Subject: [commit: ghc] master: Fix a typo in comment (95f938d) Message-ID: <20140110110628.C1DFF2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/95f938db39402aece52a7e9c77e2f9736e0dfeac/ghc >--------------------------------------------------------------- commit 95f938db39402aece52a7e9c77e2f9736e0dfeac Author: Gabor Greif Date: Fri Jan 10 12:05:14 2014 +0100 Fix a typo in comment >--------------------------------------------------------------- 95f938db39402aece52a7e9c77e2f9736e0dfeac compiler/main/InteractiveEval.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/main/InteractiveEval.hs b/compiler/main/InteractiveEval.hs index 622d600..ede5199 100644 --- a/compiler/main/InteractiveEval.hs +++ b/compiler/main/InteractiveEval.hs @@ -802,7 +802,7 @@ fromListBL bound l = BL (length l) bound l [] -- -- (setContext imports) sets the ic_imports field (which in turn -- determines what is in scope at the prompt) to 'imports', and --- constucts the ic_rn_glb_env environment to reflect it. +-- constructs the ic_rn_glb_env environment to reflect it. -- -- We retain in scope all the things defined at the prompt, and kept -- in ic_tythings. (Indeed, they shadow stuff from ic_imports.) From git at git.haskell.org Fri Jan 10 11:54:20 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 11:54:20 +0000 (UTC) Subject: [commit: testsuite] master: Add forgotten stderr output for T5498 (998a816) Message-ID: <20140110115420.8CD1A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/testsuite On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/998a816ae89c4fd573f4abd7c6abb346cf7ee9af/testsuite >--------------------------------------------------------------- commit 998a816ae89c4fd573f4abd7c6abb346cf7ee9af Author: Joachim Breitner Date: Fri Jan 10 11:55:14 2014 +0000 Add forgotten stderr output for T5498 >--------------------------------------------------------------- 998a816ae89c4fd573f4abd7c6abb346cf7ee9af tests/deriving/should_fail/T5498.stderr | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/deriving/should_fail/T5498.stderr b/tests/deriving/should_fail/T5498.stderr index 0519ecb..8adde63 100644 --- a/tests/deriving/should_fail/T5498.stderr +++ b/tests/deriving/should_fail/T5498.stderr @@ -1 +1,11 @@ +T5498.hs:30:39: + Could not coerce from ?c a? to ?c (Down a)? + because ?c a? and ?c (Down a)? are different types. + arising from the coercion of the method ?intIso? from type + ?forall (c :: * -> *). c a -> c Int? to type + ?forall (c :: * -> *). c (Down a) -> c Int? + Possible fix: + use a standalone 'deriving instance' declaration, + so you can specify the instance context yourself + When deriving the instance for (IntIso (Down a)) From git at git.haskell.org Fri Jan 10 15:39:08 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 15:39:08 +0000 (UTC) Subject: [commit: ghc] master: Notes and code cosmetics (063a1b2) Message-ID: <20140110153908.C2CD62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/063a1b25459a9f1576bd5c29b6aa931b6b3da690/ghc >--------------------------------------------------------------- commit 063a1b25459a9f1576bd5c29b6aa931b6b3da690 Author: Joachim Breitner Date: Fri Jan 10 14:22:41 2014 +0000 Notes and code cosmetics Explain why defaultDmd resTypeArgDmd are similar, but both needed, and apply slight code cosmetics. >--------------------------------------------------------------- 063a1b25459a9f1576bd5c29b6aa931b6b3da690 compiler/basicTypes/Demand.lhs | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index d408e6d..27ef491 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -27,7 +27,7 @@ module Demand ( peelFV, DmdResult, CPRResult, - isBotRes, isTopRes, resTypeArgDmd, + isBotRes, isTopRes, topRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, trimCPRInfo, returnsCPR, returnsCPR_maybe, @@ -819,15 +819,33 @@ retCPR_maybe (RetSum t) = Just t retCPR_maybe RetProd = Just fIRST_TAG retCPR_maybe NoCPR = Nothing +-- See Notes [Default demand on free variales] +-- and [defaultDmd vs. resTypeArgDmd] +defaultDmd :: Termination r -> JointDmd +defaultDmd Diverges = botDmd +defaultDmd _ = absDmd + resTypeArgDmd :: DmdResult -> JointDmd -- TopRes and BotRes are polymorphic, so that -- BotRes === Bot -> BotRes === ... -- TopRes === Top -> TopRes === ... -- This function makes that concrete +-- Also see Note [defaultDmd vs. resTypeArgDmd] resTypeArgDmd r | isBotRes r = botDmd resTypeArgDmd _ = topDmd \end{code} +Note [defaultDmd and resTypeArgDmd] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +These functions are similar: They express the demand on something not +explictitly mentioned in the environment resp. the argument list. Yet they are +different: + * Variables not mentioned in the free variables environment are definitely + unused, so we can use absDmd there. + * Further arguments *can* be used, of course. Hence topDmd is used. + + %************************************************************************ %* * Whether a demand justifies a w/w split @@ -1020,12 +1038,11 @@ lubDmdType (DmdType fv1 ds1 r1) (DmdType fv2 ds2 r2) where lub_fv = plusVarEnv_CD lubDmd fv1 (defaultDmd r1) fv2 (defaultDmd r2) - -- Extend the shorter argument list to match the longer - lub_ds (d1:ds1) (d2:ds2) = lubDmd d1 d2 : lub_ds ds1 ds2 - lub_ds [] [] = [] - lub_ds ds1 [] = map (`lubDmd` resTypeArgDmd r2) ds1 - lub_ds [] ds2 = map (resTypeArgDmd r1 `lubDmd`) ds2 - + -- Extend the shorter argument list to match the longer, using resTypeArgDmd + lub_ds (d1:ds1) (d2:ds2) = lubDmd d1 d2 : lub_ds ds1 ds2 + lub_ds (d1:ds1) [] = (d1 `lubDmd` resTypeArgDmd r2) : lub_ds ds1 [] + lub_ds [] (d2:ds2) = (resTypeArgDmd r1 `lubDmd` d2) : lub_ds [] ds2 + lub_ds [] [] = [] type BothDmdArg = (DmdEnv, Termination ()) @@ -1261,10 +1278,6 @@ peelFV (DmdType fv ds res) id = -- pprTrace "rfv" (ppr id <+> ppr dmd $$ ppr fv) -- See note [Default demand on free variables] dmd = lookupVarEnv fv id `orElse` defaultDmd res -defaultDmd :: Termination r -> Demand -defaultDmd Diverges = botDmd -defaultDmd _ = absDmd - addDemand :: Demand -> DmdType -> DmdType addDemand dmd (DmdType fv ds res) = DmdType fv (dmd:ds) res \end{code} From git at git.haskell.org Fri Jan 10 18:17:05 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 18:17:05 +0000 (UTC) Subject: [commit: ghc] master: Bring kind variables into the type-checker's scope as well as type variables (17a3dac) Message-ID: <20140110181705.5E4F62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/17a3dacba03f7a800444c135e93ce1b81a89e158/ghc >--------------------------------------------------------------- commit 17a3dacba03f7a800444c135e93ce1b81a89e158 Author: Simon Peyton Jones Date: Fri Jan 10 18:12:50 2014 +0000 Bring kind variables into the type-checker's scope as well as type variables Fixes Trac #8616 >--------------------------------------------------------------- 17a3dacba03f7a800444c135e93ce1b81a89e158 compiler/hsSyn/HsTypes.lhs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/hsSyn/HsTypes.lhs b/compiler/hsSyn/HsTypes.lhs index dfc5817..2aaa76d 100644 --- a/compiler/hsSyn/HsTypes.lhs +++ b/compiler/hsSyn/HsTypes.lhs @@ -407,9 +407,9 @@ plus :: HsExplicitFlag -> HsExplicitFlag -> HsExplicitFlag Implicit `plus` Implicit = Implicit _ `plus` _ = Explicit -hsExplicitTvs :: LHsType name -> [name] +hsExplicitTvs :: LHsType Name -> [Name] -- The explicitly-given forall'd type variables of a HsType -hsExplicitTvs (L _ (HsForAllTy Explicit tvs _ _)) = hsLTyVarNames tvs +hsExplicitTvs (L _ (HsForAllTy Explicit tvs _ _)) = hsLKiTyVarNames tvs hsExplicitTvs _ = [] --------------------- From git at git.haskell.org Fri Jan 10 18:17:07 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 18:17:07 +0000 (UTC) Subject: [commit: ghc] master: Make initGhcMonad call setUnsafeGlobalDynFlags (b7ddf63) Message-ID: <20140110181707.90F5C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/b7ddf6337760c65f22110937da09cd169cd3e8b3/ghc >--------------------------------------------------------------- commit b7ddf6337760c65f22110937da09cd169cd3e8b3 Author: Simon Peyton Jones Date: Fri Jan 10 18:16:34 2014 +0000 Make initGhcMonad call setUnsafeGlobalDynFlags If we don't do this, then in various GHC API scenarios (which use runGhc) with tracing/debugging/ASSERTs on, we try to read those unsafe global dynamic flags and find them uninitialised. >--------------------------------------------------------------- b7ddf6337760c65f22110937da09cd169cd3e8b3 compiler/main/GHC.hs | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/compiler/main/GHC.hs b/compiler/main/GHC.hs index 1b6ea2d..6b2815a 100644 --- a/compiler/main/GHC.hs +++ b/compiler/main/GHC.hs @@ -444,16 +444,17 @@ runGhcT mb_top_dir ghct = do -- . initGhcMonad :: GhcMonad m => Maybe FilePath -> m () -initGhcMonad mb_top_dir = do - -- catch ^C - liftIO $ installSignalHandlers - - liftIO $ initStaticOpts - - mySettings <- liftIO $ initSysTools mb_top_dir - dflags <- liftIO $ initDynFlags (defaultDynFlags mySettings) - env <- liftIO $ newHscEnv dflags - setSession env +initGhcMonad mb_top_dir + = do { env <- liftIO $ + do { installSignalHandlers -- catch ^C + ; initStaticOpts + ; mySettings <- initSysTools mb_top_dir + ; dflags <- initDynFlags (defaultDynFlags mySettings) + ; setUnsafeGlobalDynFlags dflags + -- c.f. DynFlags.parseDynamicFlagsFull, which + -- creates DynFlags and sets the UnsafeGlobalDynFlags + ; newHscEnv dflags } + ; setSession env } -- %************************************************************************ From git at git.haskell.org Fri Jan 10 18:17:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 18:17:09 +0000 (UTC) Subject: [commit: ghc] master: Make showSDoc and friends respect -dppr-cols (08a3536) Message-ID: <20140110181709.C1CE62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/08a3536e4246e323fbcd8040e0b80001950fe9bc/ghc >--------------------------------------------------------------- commit 08a3536e4246e323fbcd8040e0b80001950fe9bc Author: Simon Peyton Jones Date: Fri Jan 10 18:14:57 2014 +0000 Make showSDoc and friends respect -dppr-cols Previously they just used a fixed width of 100, ignoring -dppr-cols. I think this dates back to a time when the flag didn't exist, or wasn't conveniently available. Thanks to Andrew Gibiansky for pointing this out. >--------------------------------------------------------------- 08a3536e4246e323fbcd8040e0b80001950fe9bc compiler/main/DynFlags.hs | 11 ++++------- compiler/utils/Outputable.lhs | 42 +++++++++++++++++++++-------------------- compiler/utils/Pretty.lhs | 35 ++++++---------------------------- 3 files changed, 32 insertions(+), 56 deletions(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 829d303..06d1ed9 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -1480,16 +1480,13 @@ defaultLogAction dflags severity srcSpan style msg putStrSDoc = defaultLogActionHPutStrDoc dflags stdout defaultLogActionHPrintDoc :: DynFlags -> Handle -> SDoc -> PprStyle -> IO () -defaultLogActionHPrintDoc dflags h d sty - = do let doc = runSDoc d (initSDocContext dflags sty) - Pretty.printDoc Pretty.PageMode (pprCols dflags) h doc - hFlush h +defaultLogActionHPrintDoc = defaultLogActionHPutStrDoc defaultLogActionHPutStrDoc :: DynFlags -> Handle -> SDoc -> PprStyle -> IO () defaultLogActionHPutStrDoc dflags h d sty - = do let doc = runSDoc d (initSDocContext dflags sty) - hPutStr h (Pretty.render doc) - hFlush h + = Pretty.printDoc Pretty.PageMode (pprCols dflags) h doc + where + doc = runSDoc d (initSDocContext dflags sty) newtype FlushOut = FlushOut (IO ()) diff --git a/compiler/utils/Outputable.lhs b/compiler/utils/Outputable.lhs index 9cf8c33..8a12670 100644 --- a/compiler/utils/Outputable.lhs +++ b/compiler/utils/Outputable.lhs @@ -42,8 +42,7 @@ module Outputable ( pprCode, mkCodeStyle, showSDoc, showSDocOneLine, showSDocForUser, showSDocDebug, showSDocDump, showSDocDumpOneLine, - showPpr, - showSDocUnqual, + showSDocUnqual, showPpr, renderWithStyle, pprInfixVar, pprPrefixVar, @@ -366,44 +365,47 @@ mkCodeStyle = PprCode -- However, Doc *is* an instance of Show -- showSDoc just blasts it out as a string showSDoc :: DynFlags -> SDoc -> String -showSDoc dflags d = - Pretty.showDocWith PageMode - (runSDoc d (initSDocContext dflags defaultUserStyle)) +showSDoc dflags sdoc = renderWithStyle dflags sdoc defaultUserStyle renderWithStyle :: DynFlags -> SDoc -> PprStyle -> String -renderWithStyle dflags sdoc sty = - Pretty.render (runSDoc sdoc (initSDocContext dflags sty)) +renderWithStyle dflags sdoc sty + = Pretty.showDoc PageMode (pprCols dflags) $ + runSDoc sdoc (initSDocContext dflags sty) -- This shows an SDoc, but on one line only. It's cheaper than a full -- showSDoc, designed for when we're getting results like "Foo.bar" -- and "foo{uniq strictness}" so we don't want fancy layout anyway. showSDocOneLine :: DynFlags -> SDoc -> String showSDocOneLine dflags d - = Pretty.showDocWith PageMode - (runSDoc d (initSDocContext dflags defaultUserStyle)) + = Pretty.showDoc OneLineMode (pprCols dflags) $ + runSDoc d (initSDocContext dflags defaultUserStyle) showSDocForUser :: DynFlags -> PrintUnqualified -> SDoc -> String showSDocForUser dflags unqual doc - = show (runSDoc doc (initSDocContext dflags (mkUserStyle unqual AllTheWay))) + = renderWithStyle dflags doc (mkUserStyle unqual AllTheWay) showSDocUnqual :: DynFlags -> SDoc -> String --- Only used in the gruesome isOperator -showSDocUnqual dflags d - = show (runSDoc d (initSDocContext dflags (mkUserStyle neverQualify AllTheWay))) +-- Only used by Haddock +showSDocUnqual dflags doc + = renderWithStyle dflags doc (mkUserStyle neverQualify AllTheWay) showSDocDump :: DynFlags -> SDoc -> String -showSDocDump dflags d - = Pretty.showDocWith PageMode (runSDoc d (initSDocContext dflags defaultDumpStyle)) +showSDocDump dflags d = renderWithStyle dflags d defaultDumpStyle + +showSDocDebug :: DynFlags -> SDoc -> String +showSDocDebug dflags d = renderWithStyle dflags d PprDebug showSDocDumpOneLine :: DynFlags -> SDoc -> String showSDocDumpOneLine dflags d - = Pretty.showDocWith OneLineMode (runSDoc d (initSDocContext dflags PprDump)) - -showSDocDebug :: DynFlags -> SDoc -> String -showSDocDebug dflags d = show (runSDoc d (initSDocContext dflags PprDebug)) + = Pretty.showDoc OneLineMode irrelevantNCols $ + runSDoc d (initSDocContext dflags PprDump) showPpr :: Outputable a => DynFlags -> a -> String -showPpr dflags = showSDoc dflags . ppr +showPpr dflags thing = showSDoc dflags (ppr thing) + +irrelevantNCols :: Int +-- Used for OneLineMode and LeftMode when number of cols isn't used +irrelevantNCols = 1 \end{code} \begin{code} diff --git a/compiler/utils/Pretty.lhs b/compiler/utils/Pretty.lhs index 39a78e1..0bac66e 100644 --- a/compiler/utils/Pretty.lhs +++ b/compiler/utils/Pretty.lhs @@ -173,8 +173,7 @@ module Pretty ( hang, punctuate, --- renderStyle, -- Haskell 1.3 only - render, fullRender, printDoc, showDocWith, + fullRender, printDoc, showDoc, bufLeftRender -- performance hack ) where @@ -270,9 +269,8 @@ Displaying @Doc@ values. \begin{code} instance Show Doc where - showsPrec _ doc cont = showDoc doc cont + showsPrec _ doc cont = showDocPlus PageMode 100 doc cont -render :: Doc -> String -- Uses default style fullRender :: Mode -> Int -- Line length -> Float -- Ribbons per line @@ -281,21 +279,10 @@ fullRender :: Mode -> Doc -> a -- Result -{- When we start using 1.3 -renderStyle :: Style -> Doc -> String -data Style = Style { lineLength :: Int, -- In chars - ribbonsPerLine :: Float, -- Ratio of ribbon length to line length - mode :: Mode - } -style :: Style -- The default style -style = Style { lineLength = 100, ribbonsPerLine = 2.5, mode = PageMode } --} - data Mode = PageMode -- Normal | ZigZagMode -- With zig-zag cuts | LeftMode -- No indentation, infinitely long lines | OneLineMode -- All on one line - \end{code} @@ -890,21 +877,11 @@ oneLiner _ = panic "oneLiner: Unhandled case" \begin{code} -{- -renderStyle Style{mode, lineLength, ribbonsPerLine} doc - = fullRender mode lineLength ribbonsPerLine doc "" --} - -render doc = showDocWith PageMode doc - -showDoc :: Doc -> String -> String -showDoc doc rest = showDocWithAppend PageMode doc rest - -showDocWithAppend :: Mode -> Doc -> String -> String -showDocWithAppend mode doc rest = fullRender mode 100 1.5 string_txt rest doc +showDocPlus :: Mode -> Int -> Doc -> String -> String +showDocPlus mode cols doc rest = fullRender mode cols 1.5 string_txt rest doc -showDocWith :: Mode -> Doc -> String -showDocWith mode doc = showDocWithAppend mode doc "" +showDoc :: Mode -> Int -> Doc -> String +showDoc mode cols doc = showDocPlus mode cols doc "" string_txt :: TextDetails -> String -> String string_txt (Chr c) s = c:s From git at git.haskell.org Fri Jan 10 18:18:18 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 18:18:18 +0000 (UTC) Subject: [commit: haddock] master: Adapt to small change in Pretty's exports (030c726) Message-ID: <20140110181818.9192D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/030c726ac75a16fc13ff6d66357331a37374e65f >--------------------------------------------------------------- commit 030c726ac75a16fc13ff6d66357331a37374e65f Author: Simon Peyton Jones Date: Fri Jan 10 18:17:43 2014 +0000 Adapt to small change in Pretty's exports >--------------------------------------------------------------- 030c726ac75a16fc13ff6d66357331a37374e65f src/Haddock/Backends/LaTeX.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Haddock/Backends/LaTeX.hs b/src/Haddock/Backends/LaTeX.hs index c69f1e1..0bc9571 100644 --- a/src/Haddock/Backends/LaTeX.hs +++ b/src/Haddock/Backends/LaTeX.hs @@ -128,7 +128,7 @@ ppLaTeXTop doctitle packageStr odir prologue maybe_style ifaces = do filename = odir (fromMaybe "haddock" packageStr <.> "tex") - writeFile filename (render tex) + writeFile filename (show tex) ppLaTeXModule :: String -> FilePath -> Interface -> IO () @@ -401,7 +401,7 @@ declWithDoc :: LaTeX -> Maybe LaTeX -> LaTeX declWithDoc decl doc = text "\\begin{haddockdesc}" $$ text "\\item[\\begin{tabular}{@{}l}" $$ - text (latexMonoFilter (render decl)) $$ + text (latexMonoFilter (show decl)) $$ text "\\end{tabular}]" <> (if isNothing doc then empty else text "\\haddockbegindoc") $$ maybe empty id doc $$ @@ -416,7 +416,7 @@ multiDecl decls = text "\\begin{haddockdesc}" $$ vcat [ text "\\item[" $$ - text (latexMonoFilter (render decl)) $$ + text (latexMonoFilter (show decl)) $$ text "]" | decl <- decls ] $$ text "\\end{haddockdesc}" From git at git.haskell.org Fri Jan 10 18:27:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 18:27:11 +0000 (UTC) Subject: [commit: ghc] master: Comment typos only (ea5da60) Message-ID: <20140110182711.A177E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/ea5da60949d861286d81bf4337adceae89d0e626/ghc >--------------------------------------------------------------- commit ea5da60949d861286d81bf4337adceae89d0e626 Author: Gabor Greif Date: Fri Jan 10 19:23:02 2014 +0100 Comment typos only >--------------------------------------------------------------- ea5da60949d861286d81bf4337adceae89d0e626 compiler/basicTypes/Demand.lhs | 4 ++-- compiler/simplCore/OccurAnal.lhs | 2 +- compiler/typecheck/TcValidity.lhs | 2 +- docs/ndp/vect.tex | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 27ef491..b857ef5 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -819,7 +819,7 @@ retCPR_maybe (RetSum t) = Just t retCPR_maybe RetProd = Just fIRST_TAG retCPR_maybe NoCPR = Nothing --- See Notes [Default demand on free variales] +-- See Notes [Default demand on free variables] -- and [defaultDmd vs. resTypeArgDmd] defaultDmd :: Termination r -> JointDmd defaultDmd Diverges = botDmd @@ -839,7 +839,7 @@ Note [defaultDmd and resTypeArgDmd] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These functions are similar: They express the demand on something not -explictitly mentioned in the environment resp. the argument list. Yet they are +explicitly mentioned in the environment resp. the argument list. Yet they are different: * Variables not mentioned in the free variables environment are definitely unused, so we can use absDmd there. diff --git a/compiler/simplCore/OccurAnal.lhs b/compiler/simplCore/OccurAnal.lhs index 11391a3..3aacce6 100644 --- a/compiler/simplCore/OccurAnal.lhs +++ b/compiler/simplCore/OccurAnal.lhs @@ -200,7 +200,7 @@ These conditions apply regardless of the activation of the RULE (eg it might be inactive in this phase but become active later). Once a Rec is broken up it can never be put back together, so we must be conservative. -The principle is that, regardless of rule firings, every variale is +The principle is that, regardless of rule firings, every variable is always in scope. * Note [Rules are extra RHSs] diff --git a/compiler/typecheck/TcValidity.lhs b/compiler/typecheck/TcValidity.lhs index 90a9be9..20547bc 100644 --- a/compiler/typecheck/TcValidity.lhs +++ b/compiler/typecheck/TcValidity.lhs @@ -1009,7 +1009,7 @@ Here the instance decl really looks like but the k's are not scoped, and hence won't match Uniques. So instead we just match structure, with tcMatchTyX, and check -that distinct type variales match 1-1 with distinct type variables. +that distinct type variables match 1-1 with distinct type variables. HOWEVER, we *still* make the instance type variables scope over the type instances, to pick up non-obvious kinds. Eg diff --git a/docs/ndp/vect.tex b/docs/ndp/vect.tex index 29f5125..1244972 100644 --- a/docs/ndp/vect.tex +++ b/docs/ndp/vect.tex @@ -50,7 +50,7 @@ representing dictionaries of type-dependent operations on parallel arrays: \end{haskell} In vectorised code, polymorphic functions must be supplied with a \ -dictionary for each type varialbe. For instance, \<\Lambda\alpha.e\> turns +dictionary for each type variable. For instance, \<\Lambda\alpha.e\> turns into \<\Lambda\alpha.\lambda{dPA_\alpha}::PA \alpha.e'\>. For higher-kinded type variables, we expect a function of appropriate type From git at git.haskell.org Fri Jan 10 18:31:23 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 18:31:23 +0000 (UTC) Subject: [commit: nofib] master: Typo in comment (317148f) Message-ID: <20140110183123.CE2E52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/nofib On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/317148f9fb9d39c408f48d9b4f14c20ef9697ee4/nofib >--------------------------------------------------------------- commit 317148f9fb9d39c408f48d9b4f14c20ef9697ee4 Author: Gabor Greif Date: Fri Jan 10 19:30:27 2014 +0100 Typo in comment >--------------------------------------------------------------- 317148f9fb9d39c408f48d9b4f14c20ef9697ee4 real/PolyGP/Unify.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/real/PolyGP/Unify.hs b/real/PolyGP/Unify.hs index 7461049..3fbe4a3 100644 --- a/real/PolyGP/Unify.hs +++ b/real/PolyGP/Unify.hs @@ -145,7 +145,7 @@ member var typeExp = case typeExp of -- unify function ---------------------------------------------------------------------------------- -- -- This function takes a list of Type Expression Pairs, a Theta (binding of temporary type variables --- or binding of dummy type varialbes). It unifies each pair in the list and returns a new Theta. +-- or binding of dummy type variables). It unifies each pair in the list and returns a new Theta. -- This function is used in two separate occasions: to bind dummy type variables in a polymorphic -- function and to bind temporary type variables in the parse tree. The two occassions are handled -- separately. Hence 2. & 4. can't never be used at the same time. From git at git.haskell.org Fri Jan 10 20:31:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 20:31:17 +0000 (UTC) Subject: [commit: ghc] master: Document the fact that Areas overlap, and why. (3c2ae51) Message-ID: <20140110203117.8B4A82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/3c2ae51425df91ed7c25aa6f6dc344c8a0089e99/ghc >--------------------------------------------------------------- commit 3c2ae51425df91ed7c25aa6f6dc344c8a0089e99 Author: Simon Marlow Date: Fri Jan 10 20:29:41 2014 +0000 Document the fact that Areas overlap, and why. >--------------------------------------------------------------- 3c2ae51425df91ed7c25aa6f6dc344c8a0089e99 compiler/cmm/CmmExpr.hs | 69 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/compiler/cmm/CmmExpr.hs b/compiler/cmm/CmmExpr.hs index 0f5abda..0c0c971 100644 --- a/compiler/cmm/CmmExpr.hs +++ b/compiler/cmm/CmmExpr.hs @@ -50,6 +50,7 @@ data CmmExpr | CmmMachOp MachOp [CmmExpr] -- Machine operation (+, -, *, etc.) | CmmStackSlot Area {-# UNPACK #-} !Int -- addressing expression of a stack slot + -- See Note [CmmStackSlot aliasing] | CmmRegOff !CmmReg Int -- CmmRegOff reg i -- ** is shorthand only, meaning ** @@ -94,6 +95,74 @@ necessarily at the young end of the Old area. End of note -} + +{- Note [CmmStackSlot aliasing] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When do two CmmStackSlots alias? + + - T[old+N] aliases with U[young(L)+M] for all T, U, L, N and M + - T[old+N] aliases with U[old+M] only if the areas actually overlap + +Or more informally, different Areas may overlap with each other. + +An alternative semantics, that we previously had, was that different +Areas do not overlap. The problem that lead to redefining the +semantics of stack areas is described below. + +e.g. if we had + + x = Sp[old + 8] + y = Sp[old + 16] + + Sp[young(L) + 8] = L + Sp[young(L) + 16] = y + Sp[young(L) + 24] = x + call f() returns to L + +if areas semantically do not overlap, then we might optimise this to + + Sp[young(L) + 8] = L + Sp[young(L) + 16] = Sp[old + 8] + Sp[young(L) + 24] = Sp[old + 16] + call f() returns to L + +and now young(L) cannot be allocated at the same place as old, and we +are doomed to use more stack. + + - old+8 conflicts with young(L)+8 + - old+16 conflicts with young(L)+16 and young(L)+8 + +so young(L)+8 == old+24 and we get + + Sp[-8] = L + Sp[-16] = Sp[8] + Sp[-24] = Sp[0] + Sp -= 24 + call f() returns to L + +However, if areas are defined to be "possibly overlapping" in the +semantics, then we cannot commute any loads/stores of old with +young(L), and we will be able to re-use both old+8 and old+16 for +young(L). + + x = Sp[8] + y = Sp[0] + + Sp[8] = L + Sp[0] = y + Sp[-8] = x + Sp = Sp - 8 + call f() returns to L + +Now, the assignments of y go away, + + x = Sp[8] + Sp[8] = L + Sp[-8] = x + Sp = Sp - 8 + call f() returns to L +-} + data CmmLit = CmmInt !Integer Width -- Interpretation: the 2's complement representation of the value From git at git.haskell.org Fri Jan 10 21:12:41 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 21:12:41 +0000 (UTC) Subject: [commit: ghc] master: Fix #8599. (566ba6f) Message-ID: <20140110211241.A253A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/566ba6fa10ade0af159a7b86f4df706cbd6b4163/ghc >--------------------------------------------------------------- commit 566ba6fa10ade0af159a7b86f4df706cbd6b4163 Author: Richard Eisenberg Date: Fri Jan 10 15:26:02 2014 -0500 Fix #8599. This change is just some documentation around ignoring the context of an enclosing instance when processing `deriving` clauses of an associated data instance. >--------------------------------------------------------------- 566ba6fa10ade0af159a7b86f4df706cbd6b4163 docs/users_guide/glasgow_exts.xml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml index d62f995..70a3876 100644 --- a/docs/users_guide/glasgow_exts.xml +++ b/docs/users_guide/glasgow_exts.xml @@ -5679,6 +5679,23 @@ instance C [c] d where type safety. + + Instance contexts and associated type and data instances + Associated type and data instance declarations do not inherit any + context specified on the enclosing instance. For type instance declarations, + it is unclear what the context would mean. For data instance declarations, + it is unlikely a user would want the context repeated for every data constructor. + The only place where the context might likely be useful is in a + deriving clause of an associated data instance. However, + even here, the role of the outer instance context is murky. So, for + clarity, we just stick to the rule above: the enclosing instance context + is ignored. If you need to use + a non-trivial context on a derived instance, + use a standalone + deriving clause (at the top level). + + + @@ -6087,7 +6104,7 @@ instance C b where Yet, in the instance declaration, the right-hand side of the associated type instance b -> b says that b must be of kind *. GHC could theoretically propagate this information back into the instance head, and make that instance declaration apply only to type of kind *, as opposed -to types of any kind. However, GHC does not do this. +to types of any kind. However, GHC does not do this. In short: GHC does not propagate kind information from the members of a class instance declaration into the instance declaration head. From git at git.haskell.org Fri Jan 10 21:12:43 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 10 Jan 2014 21:12:43 +0000 (UTC) Subject: [commit: ghc] master: Clarify issue in #8630 in users' guide. (0369c97) Message-ID: <20140110211243.F1C3A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0369c9745e2ce66f4c2d817a3aa9f2487395e0c7/ghc >--------------------------------------------------------------- commit 0369c9745e2ce66f4c2d817a3aa9f2487395e0c7 Author: Richard Eisenberg Date: Fri Jan 10 10:06:53 2014 -0500 Clarify issue in #8630 in users' guide. We do *not* propagate kind information from an instance declaration's members back into the instance head. >--------------------------------------------------------------- 0369c9745e2ce66f4c2d817a3aa9f2487395e0c7 docs/users_guide/glasgow_exts.xml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml index e97faf1..d62f995 100644 --- a/docs/users_guide/glasgow_exts.xml +++ b/docs/users_guide/glasgow_exts.xml @@ -6069,6 +6069,35 @@ type family SafeHead where -- SafeHead :: [k] -> Maybe k + +Kind inference in class instance declarations + +Consider the following example of a poly-kinded class and an instance for it: + + +class C a where + type F a + +instance C b where + type F b = b -> b + + +In the class declaration, nothing constrains the kind of the type +a, so it becomes a poly-kinded type variable (a :: k). +Yet, in the instance declaration, the right-hand side of the associated type instance +b -> b says that b must be of kind *. GHC could theoretically propagate this information back into the instance head, and +make that instance declaration apply only to type of kind *, as opposed +to types of any kind. However, GHC does not do this. + +In short: GHC does not propagate kind information from +the members of a class instance declaration into the instance declaration head. + +This lack of kind inference is simply an engineering problem within GHC, but +getting it to work would make a substantial change to the inference infrastructure, +and it's not clear the payoff is worth it. If you want to restrict b's +kind in the instance above, just use a kind signature in the instance head. + + From git at git.haskell.org Sat Jan 11 00:05:57 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 11 Jan 2014 00:05:57 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Drop redundant formal parameter from TAKE1_UL1_RET2 (13b4d0c) Message-ID: <20140111000557.4BB372406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/13b4d0cdd18471de33ba89bda11a4b238507b7c7/integer-gmp >--------------------------------------------------------------- commit 13b4d0cdd18471de33ba89bda11a4b238507b7c7 Author: Herbert Valerio Riedel Date: Sat Jan 11 00:51:29 2014 +0100 Drop redundant formal parameter from TAKE1_UL1_RET2 This fixes the actual cause for #8661, i.e. a mismatch between the actual arity of the Cmm implementation and the arity declared in the foreign import statement. This also reverts [a3878d17/integer-gmp] as the workaround isn't needed anymore. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 13b4d0cdd18471de33ba89bda11a4b238507b7c7 GHC/Integer/Type.lhs | 10 +--------- cbits/gmp-wrappers.cmm | 2 +- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index ee112c5..731c5fc 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -40,10 +40,7 @@ import GHC.Integer.GMP.Prim ( cmpInteger#, cmpIntegerInt#, plusInteger#, plusIntegerInt#, minusInteger#, minusIntegerInt#, timesInteger#, timesIntegerInt#, - quotRemInteger#, -#if SIZEOF_HSWORD == 8 - quotRemIntegerWord#, -#endif + quotRemInteger#, quotRemIntegerWord#, quotInteger#, quotIntegerWord#, remInteger#, remIntegerWord#, divModInteger#, divInteger#, modInteger#, gcdInteger#, gcdExtInteger#, gcdIntegerInt#, gcdInt#, divExactInteger#, @@ -227,7 +224,6 @@ quotRemInteger :: Integer -> Integer -> (# Integer, Integer #) quotRemInteger a@(S# INT_MINBOUND) b = quotRemInteger (toBig a) b quotRemInteger (S# i) (S# j) = case quotRemInt# i j of (# q, r #) -> (# S# q, S# r #) -#if SIZEOF_HSWORD == 8 quotRemInteger (J# s1 d1) (S# b) | isTrue# (b <# 0#) = case quotRemIntegerWord# s1 d1 (int2Word# (negateInt# b)) of (# s3, d3, s4, d4 #) -> let !q = smartJ# (negateInt# s3) d3 @@ -238,10 +234,6 @@ quotRemInteger (J# s1 d1) (S# b) (# s3, d3, s4, d4 #) -> let !q = smartJ# s3 d3 !r = smartJ# s4 d4 in (# q, r #) -#else --- temporary workaround on 32bit due to #8661 -quotRemInteger i1@(J# _ _) i2@(S# _) = quotRemInteger i1 (toBig i2) -#endif quotRemInteger i1@(S# _) i2@(J# _ _) = quotRemInteger (toBig i1) i2 quotRemInteger (J# s1 d1) (J# s2 d2) = case (quotRemInteger# s1 d1 s2 d2) of diff --git a/cbits/gmp-wrappers.cmm b/cbits/gmp-wrappers.cmm index 47de995..2c9bbd2 100644 --- a/cbits/gmp-wrappers.cmm +++ b/cbits/gmp-wrappers.cmm @@ -492,7 +492,7 @@ again: \ } #define GMP_TAKE1_UL1_RET2(name,mp_fun) \ -name (W_ ws1, P_ d1, W_ wul2, P_ d2) \ +name (W_ ws1, P_ d1, W_ wul2) \ { \ W_ mp_tmp1; \ W_ mp_result1; \ From git at git.haskell.org Sat Jan 11 10:22:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 11 Jan 2014 10:22:17 +0000 (UTC) Subject: [commit: ghc] master: Fix typo in error message (cc29b46) Message-ID: <20140111102217.21E8E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/cc29b4659664a659299ac65dac7d54e827fe6544/ghc >--------------------------------------------------------------- commit cc29b4659664a659299ac65dac7d54e827fe6544 Author: Herbert Valerio Riedel Date: Sat Jan 11 11:20:26 2014 +0100 Fix typo in error message Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- cc29b4659664a659299ac65dac7d54e827fe6544 rts/posix/OSMem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rts/posix/OSMem.c b/rts/posix/OSMem.c index b57adbf..69140a9 100644 --- a/rts/posix/OSMem.c +++ b/rts/posix/OSMem.c @@ -289,7 +289,7 @@ StgWord64 getPhysicalMemorySize (void) long ret = sysconf(_SC_PHYS_PAGES); if (ret == -1) { #if defined(DEBUG) - errorBelch("warning: getPhysicsMemorySize: cannot get physical memory size"); + errorBelch("warning: getPhysicalMemorySize: cannot get physical memory size"); #endif return 0; } From git at git.haskell.org Sat Jan 11 10:22:19 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 11 Jan 2014 10:22:19 +0000 (UTC) Subject: [commit: ghc] master: Update mailmap (a32d478) Message-ID: <20140111102219.601BE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/a32d4782d34db50dbdddebe4319923d810f93203/ghc >--------------------------------------------------------------- commit a32d4782d34db50dbdddebe4319923d810f93203 Author: Herbert Valerio Riedel Date: Mon Dec 16 17:18:17 2013 +0100 Update mailmap Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- a32d4782d34db50dbdddebe4319923d810f93203 .mailmap | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.mailmap b/.mailmap index 88cec33..5fad5b1 100644 --- a/.mailmap +++ b/.mailmap @@ -6,7 +6,9 @@ Alastair Reid reid Alexey Rodriguez Alexey Rodriguez mrchebas at gmail.com Andrew Pimlott andrew.pimlott.ctr at metnet.navy.mil +Andrew Tolmach apt Andr? Santos andre +Andy Adams-Moran moran Andy Gill andy at galois.com Andy Gill andy at unsafeperformio.com Andy Gill andy @@ -66,11 +68,14 @@ John Dias dias at eecs.harvard.ed John Dias dias at eecs.tufts.edu John McCall rjmccall at gmail.com Jose Pedro Magalhaes +Josef Svenningsson josefs Jost Berthold berthold at mathematik.uni-marburg.de Juan J. Quintela quintela Judah Jacobson judah.jacobson at gmail.com Julian Seward sewardj Keith Wansbrough keithw +Keith Wansbrough kw +Keith Wansbrough kw217 Ken Shan ken Kevin G Donnelly kevind at bu.edu Kevin Glynn kglynn @@ -90,6 +95,7 @@ Michael Weber michaelw Mike Thomas mthomas Neil Mitchell Neil Mitchell Neil Mitchell +Nicholas Nethercote njn Norman Ramsey nr at eecs.harvard.edu PHO pho at cielonegro.org Pepe Iborra pepe @@ -100,7 +106,9 @@ Peter Wortmann scpmw at leeds.ac.uk rrt Roman Leshchinskiy rl at cse.unsw.edu.au Ross Paterson ross +Ryan Lortie desrt Sam Anklesaria amsay at amsay.net +Sean Seefried sseefried Shae Matijs Erisson shae at ScannedInAvian.com Sigbjorn Finne sof Sigbjorn Finne sof at galois.com @@ -123,6 +131,7 @@ S?bastien Carlier sebc Thorkil Naur naur at post11.tele.dk Tim Harris tharris Tim Harris tharris at microsoft.com +Tobias Gedell tgedell Tom Schrijvers tom.schrijvers at cs.kuleuven.be Volker Stolz stolz Will Partain partain From git at git.haskell.org Sun Jan 12 02:33:24 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 02:33:24 +0000 (UTC) Subject: [commit: ghc] master: fix a mistyped label that caused a stray reference (a924deb) Message-ID: <20140112023325.024B72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/a924debcbb3dc5c004f988fcc1b480a01ba276dd/ghc >--------------------------------------------------------------- commit a924debcbb3dc5c004f988fcc1b480a01ba276dd Author: Gabor Greif Date: Sun Jan 12 03:26:33 2014 +0100 fix a mistyped label that caused a stray reference Richard, you may want to regenerate the PDF as I get ! LaTeX Error: File `stmaryrd.sty' not found. with my setup and do not want to mess things up. Also for me ?? appear twice on top of the page 13 and I have tp 'rm core-spec.pdf; make' to get it right. >--------------------------------------------------------------- a924debcbb3dc5c004f988fcc1b480a01ba276dd docs/core-spec/core-spec.mng | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core-spec/core-spec.mng b/docs/core-spec/core-spec.mng index e726602..4e134e0 100644 --- a/docs/core-spec/core-spec.mng +++ b/docs/core-spec/core-spec.mng @@ -185,7 +185,7 @@ Axiom rules, produced by the type-nats solver: \gram{\ottmu} -\label{sec:axiom_rule} +\label{sec:axiom_rules} An axiom rule $[[mu]] = [[M(I, role_list, R')]]$ is an axiom name $[[M]]$, with a type arity $[[I]]$, a list of roles $[[role_list]]$ for its coercion parameters, and an output role $[[R']]$. The definition within GHC also includes a field named From git at git.haskell.org Sun Jan 12 12:04:31 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 12:04:31 +0000 (UTC) Subject: [commit: ghc] master: Update `sync-all` and others files w.r.t. merged testsuite (re #8545) (5f54d67) Message-ID: <20140112120431.662F82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/5f54d67818ee7a74325eed130438beba96510e43/ghc >--------------------------------------------------------------- commit 5f54d67818ee7a74325eed130438beba96510e43 Author: Herbert Valerio Riedel Date: Sun Jan 12 12:05:23 2014 +0100 Update `sync-all` and others files w.r.t. merged testsuite (re #8545) See merge commit 66693401b98cb5aa912948af7bbd2182474f50c4 This commit also adds a check for a left-over testsuite/.git folder to sync-all This way, the first time sync-all is called after updating to a post-testsuite-merge (see #8545) state of ghc.git, the sync-all script aborts with an error message if a `testsuite/.git` folder is detected and thus forces the user to take action. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 5f54d67818ee7a74325eed130438beba96510e43 HACKING.md | 2 +- packages | 7 +++---- sync-all | 24 +++++++++++++++++++----- validate | 3 +-- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/HACKING.md b/HACKING.md index 7a4cc93..edd1d12 100644 --- a/HACKING.md +++ b/HACKING.md @@ -32,7 +32,7 @@ Next, clone the repository and all the associated libraries: ``` $ git clone http://git.haskell.org/ghc.git $ cd ghc -$ ./sync-all --testsuite get +$ ./sync-all get ``` First copy `mk/build.mk.sample` to `mk/build.mk` and ensure it has diff --git a/packages b/packages index ec77afc..616dfc1 100644 --- a/packages +++ b/packages @@ -17,7 +17,7 @@ # - Haddock and hsc2hs are applications, built on top of GHC, # and in turn needed to bootstrap GHC # - ghc-tarballs is need to build GHC -# - nofib and testsuite are optional helpers +# - nofib is an optional helpers # # The format of the lines in this file is: # localpath tag remotepath upstreamurl @@ -31,8 +31,8 @@ # * The 'tag' determines when "sync-all get" will get the # repo. If the tag is "-" then it will always get it, but if there # is a tag then a corresponding flag must be given to "sync-all", e.g. -# if you want to get the packages with an "extralibs" or "testsuite" -# tag then you need to use "sync-all --extra --testsuite get". +# if you want to get the packages with an "extralibs" +# tag then you need to use "sync-all --extra get". # Support for new tags must be manually added to the "sync-all" script. # # 'tag' is also used to determine which packages the build system @@ -76,7 +76,6 @@ libraries/transformers - - http:// libraries/unix - packages/unix.git - libraries/Win32 - - https://github.com/haskell/win32.git libraries/xhtml - - https://github.com/haskell/xhtml.git -testsuite testsuite testsuite.git - nofib nofib nofib.git - libraries/parallel extra packages/parallel.git - libraries/stm extra packages/stm.git - diff --git a/sync-all b/sync-all index 38a840d..f88ad2b 100755 --- a/sync-all +++ b/sync-all @@ -639,9 +639,9 @@ get before "get" that enable extra repositories. The full list is given at the end of this help. For example: - ./sync-all --testsuite get + ./sync-all --nofib get - would get the testsuite repository in addition to the usual set of + would get the nofib repository in addition to the usual set of subrepositories. remote add @@ -726,8 +726,6 @@ Flags given *after* the command are passed to git. --nofib also clones the nofib benchmark suite - --testsuite also clones the ghc testsuite - --extra also clone some extra library packages --no-dph avoids cloning the dph packages @@ -867,7 +865,7 @@ sub main { if ($bare_flag && ! $bare_found && ! $defaultrepo) { die "error: bare repository ghc.git not found.\n" . " Either clone a bare ghc repo first or specify the repo location. E.g.:\n" - . " ./sync-all --bare [--testsuite --nofib --extra] -r http://git.haskell.org get\n" + . " ./sync-all --bare [--nofib --extra] -r http://git.haskell.org get\n" } elsif ($bare_found) { $bare_flag = "--bare"; @@ -935,6 +933,22 @@ BEGIN { checkCurrentBranchIsMaster(); } $initial_working_directory = getcwd(); + + #message "== Checking for left-over testsuite/.git folder"; + if (-d "testsuite/.git") { + print <&2 - echo 'Run "./sync-all --testsuite get" to get it' >&2 + echo 'Could not find the testsuite for validation' >&2 exit 1 fi From git at git.haskell.org Sun Jan 12 12:39:02 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 12:39:02 +0000 (UTC) Subject: [commit: ghc] branch 'wip/T8545' deleted Message-ID: <20140112123902.C54762406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc Deleted branch: wip/T8545 From git at git.haskell.org Sun Jan 12 20:45:41 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:45:41 +0000 (UTC) Subject: [commit: ghc] master: Fix new Haddock doc parse failures. (5f2cdca) Message-ID: <20140112204541.76FE82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/5f2cdca8d745bd47847c3f29c8c32786ce728c8b/ghc >--------------------------------------------------------------- commit 5f2cdca8d745bd47847c3f29c8c32786ce728c8b Author: Austin Seipp Date: Sun Jan 12 12:37:59 2014 -0600 Fix new Haddock doc parse failures. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 5f2cdca8d745bd47847c3f29c8c32786ce728c8b compiler/llvmGen/Llvm/MetaData.hs | 13 ++++++------- compiler/typecheck/TcGenGenerics.lhs | 8 ++++---- compiler/types/Coercion.lhs | 5 +++-- compiler/utils/UniqFM.lhs | 18 +++++++++++------- 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/compiler/llvmGen/Llvm/MetaData.hs b/compiler/llvmGen/Llvm/MetaData.hs index dda3ca0..36efcd7 100644 --- a/compiler/llvmGen/Llvm/MetaData.hs +++ b/compiler/llvmGen/Llvm/MetaData.hs @@ -1,5 +1,9 @@ --------------------------------------------------------------------------------- --- | The LLVM Metadata System. +module Llvm.MetaData where + +import Llvm.Types +import Outputable + +-- The LLVM Metadata System. -- -- The LLVM metadata feature is poorly documented but roughly follows the -- following design: @@ -50,11 +54,6 @@ -- For example: -- !llvm.module.linkage = !{ !0, !1 } -- -module Llvm.MetaData where - -import Llvm.Types - -import Outputable -- | LLVM metadata expressions data MetaExpr = MetaStr LMString diff --git a/compiler/typecheck/TcGenGenerics.lhs b/compiler/typecheck/TcGenGenerics.lhs index 872b969..2387625 100644 --- a/compiler/typecheck/TcGenGenerics.lhs +++ b/compiler/typecheck/TcGenGenerics.lhs @@ -528,11 +528,11 @@ data ArgTyAlg a = ArgTyAlg -- > arg t = case t of -- > _ | isTyVar t -> if (t == argVar) then Par1 else Par0 t -- > App f [t'] | --- representable1 f && --- t' == argVar -> Rec1 f +-- > representable1 f && +-- > t' == argVar -> Rec1 f -- > App f [t'] | --- representable1 f && --- t' has tyvars -> f :.: (arg t') +-- > representable1 f && +-- > t' has tyvars -> f :.: (arg t') -- > _ -> Rec0 t -- -- where @argVar@ is the last type variable in the data type declaration we are diff --git a/compiler/types/Coercion.lhs b/compiler/types/Coercion.lhs index 9dc0313..0887bf7 100644 --- a/compiler/types/Coercion.lhs +++ b/compiler/types/Coercion.lhs @@ -1160,11 +1160,12 @@ mkCoCast c g %************************************************************************ \begin{code} -instNewTyCon_maybe :: TyCon -> [Type] -> Maybe (Type, Coercion) --- ^ If @co :: T ts ~ rep_ty@ then: +-- | If @co :: T ts ~ rep_ty@ then: -- -- > instNewTyCon_maybe T ts = Just (rep_ty, co) +-- -- Checks for a newtype, and for being saturated +instNewTyCon_maybe :: TyCon -> [Type] -> Maybe (Type, Coercion) instNewTyCon_maybe tc tys | Just (tvs, ty, co_tc) <- unwrapNewTyCon_maybe tc -- Check for newtype , tys `lengthIs` tyConArity tc -- Check saturated diff --git a/compiler/utils/UniqFM.lhs b/compiler/utils/UniqFM.lhs index d37041c..7fde82a 100644 --- a/compiler/utils/UniqFM.lhs +++ b/compiler/utils/UniqFM.lhs @@ -135,13 +135,17 @@ plusUFM :: UniqFM elt -> UniqFM elt -> UniqFM elt plusUFM_C :: (elt -> elt -> elt) -> UniqFM elt -> UniqFM elt -> UniqFM elt --- | plusUFM_CD f m1 d1 m2 d2 --- merges the maps using `f` as the combinding function and d1 resp. d2 as --- the default value if there is no entry in m1 reps. m2. The domain is the union --- of the domains of m1 m2. --- Representative example: --- > plusUFM_CD f {A: 1, B: 2} 23 {B: 3, C: 4} 42 --- > == {A: f 1 42, B: f 2 3, C: f 23 4 } +-- | `plusUFM_CD f m1 d1 m2 d2` merges the maps using `f` as the +-- combinding function and `d1` resp. `d2` as the default value if +-- there is no entry in `m1` reps. `m2`. The domain is the union of +-- the domains of `m1` and `m2`. +-- +-- Representative example: +-- +-- @ +-- plusUFM_CD f {A: 1, B: 2} 23 {B: 3, C: 4} 42 +-- == {A: f 1 42, B: f 2 3, C: f 23 4 } +-- @ plusUFM_CD :: (elt -> elt -> elt) -> UniqFM elt -> elt -> UniqFM elt -> elt -> UniqFM elt From git at git.haskell.org Sun Jan 12 20:45:43 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:45:43 +0000 (UTC) Subject: [commit: ghc] master: Bump Haddock perf numbers for new parser (5356fb3) Message-ID: <20140112204544.0D1212406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/5356fb3ce85669045f5251cbdfb0d1c0a9f5c04a/ghc >--------------------------------------------------------------- commit 5356fb3ce85669045f5251cbdfb0d1c0a9f5c04a Author: Austin Seipp Date: Sun Jan 12 12:38:15 2014 -0600 Bump Haddock perf numbers for new parser Signed-off-by: Austin Seipp >--------------------------------------------------------------- 5356fb3ce85669045f5251cbdfb0d1c0a9f5c04a testsuite/tests/perf/haddock/all.T | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/testsuite/tests/perf/haddock/all.T b/testsuite/tests/perf/haddock/all.T index 07797f4..6737109 100644 --- a/testsuite/tests/perf/haddock/all.T +++ b/testsuite/tests/perf/haddock/all.T @@ -28,7 +28,7 @@ test('haddock.base', ,(wordsize(32), 52237984, 1)]) # 2013-02-10: 52237984 (x86/OSX) ,stats_num_field('bytes allocated', - [(wordsize(64), 6756213256, 5) + [(wordsize(64), 7128342344, 5) # 2012-08-14: 5920822352 (amd64/Linux) # 2012-09-20: 5829972376 (amd64/Linux) # 2012-10-08: 5902601224 (amd64/Linux) @@ -37,6 +37,7 @@ test('haddock.base', # 2013-09-17: 6634886456 (x86_64/Linux) # 2013-09-18: 6294339840 (x86_64/Linux) # 2013-11-21: 6756213256 (x86_64/Linux) + # 2014-01-12: 7128342344 (x86_64/Linux) ,(platform('i386-unknown-mingw32'), 3097751052, 1) # 2013-02-10: 3358693084 (x86/Windows) # 2013-11-13: 3097751052 (x86/Windows, 64bit machine) @@ -81,7 +82,7 @@ test('haddock.Cabal', # 2012-08-14: 47461532 (x86/OSX) # 2013-02-10: 46563344 (x86/OSX) ,stats_num_field('bytes allocated', - [(wordsize(64), 3828567272, 2) + [(wordsize(64), 3979151552, 2) # 2012-08-14: 3255435248 (amd64/Linux) # 2012-08-29: 3324606664 (amd64/Linux, new codegen) # 2012-10-08: 3373401360 (amd64/Linux) @@ -91,6 +92,7 @@ test('haddock.Cabal', # 2013-08-26: 3808466816 (amd64/Linux) Cabal updated # 2013-11-21: 3908586784 (amd64/Linux) Cabal updated # 2013-12-12: 3828567272 (amd64/Linux) + # 2014-01-12: 3979151552 (amd64/Linux) new parser ,(platform('i386-unknown-mingw32'), 1906532680, 1) # 2012-10-30: 1733638168 (x86/Windows) # 2013-02-10: 1906532680 (x86/Windows) From git at git.haskell.org Sun Jan 12 20:45:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:45:46 +0000 (UTC) Subject: [commit: ghc] master: Update new testsuite .gitignore (f806598) Message-ID: <20140112204546.70B052406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/f80659838118f84279cb2998ef42134a0d047189/ghc >--------------------------------------------------------------- commit f80659838118f84279cb2998ef42134a0d047189 Author: Austin Seipp Date: Sun Jan 12 12:42:08 2014 -0600 Update new testsuite .gitignore Signed-off-by: Austin Seipp >--------------------------------------------------------------- f80659838118f84279cb2998ef42134a0d047189 testsuite/.gitignore | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/testsuite/.gitignore b/testsuite/.gitignore index 81227dc..eb4593a 100644 --- a/testsuite/.gitignore +++ b/testsuite/.gitignore @@ -63,9 +63,7 @@ tests/**/*.ps /tests/safeHaskell/check/pkg01/local.db/ /tests/safeHaskell/check/pkg01/setup mk/ghc-config -mk/ghcconfig_home_davidt_Ghc_head_inplace_bin_ghc-stage2.mk -mk/ghcconfig_home_davidt_Projects_Ghc_head_inplace_bin_ghc-stage1.mk -mk/ghcconfig_home_davidt_Projects_Ghc_head_inplace_bin_ghc-stage2.mk +mk/ghcconfig_*_inplace_bin_ghc-stage2.mk tests/annotations/should_run/Config.hs tests/annotations/should_run/annrun01 tests/array/should_run/arr001 @@ -501,6 +499,15 @@ tests/driver/dynamicToo/C002.dyn_hi tests/driver/dynamicToo/C002.dyn_o tests/driver/dynamicToo/d001 tests/driver/dynamicToo/s001 +tests/driver/dynamicToo/dynamicToo004/Setup +tests/driver/dynamicToo/dynamicToo004/local.package.conf/ +tests/driver/dynamicToo/dynamicToo004/pkg1/dist/ +tests/driver/dynamicToo/dynamicToo004/pkg1dyn/dist/ +tests/driver/dynamicToo/dynamicToo004/pkg2/dist/ +tests/driver/dynamicToo/dynamicToo004/progstatic +tests/indexed-types/should_fail/T8129.trace +tests/rts/T5435*_o +tests/rts/T5435*.so tests/driver/dynamic_flags_001/C tests/driver/hello062a tests/driver/hello062b From git at git.haskell.org Sun Jan 12 20:45:48 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:45:48 +0000 (UTC) Subject: [commit: ghc] master: Fix #8180 (ae87e12) Message-ID: <20140112204548.E61D92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/ae87e122b1bc0f388d43d28fb9fc4886c72ba022/ghc >--------------------------------------------------------------- commit ae87e122b1bc0f388d43d28fb9fc4886c72ba022 Author: Austin Seipp Date: Sun Jan 12 13:40:51 2014 -0600 Fix #8180 When compiling a set of modules under --make, we need to check if the module graph has TemplateHaskell enabled. If it does, then we need to switch on -dynamic-too for GHCi, so that the linker can properly find the right dynamic object files. Signed-off-by: Austin Seipp >--------------------------------------------------------------- ae87e122b1bc0f388d43d28fb9fc4886c72ba022 compiler/main/DriverPipeline.hs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index f789d44..3cc176c 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -137,8 +137,16 @@ compileOne' m_tc_result mHscMessage location = ms_location summary input_fn = expectJust "compile:hs" (ml_hs_file location) input_fnpp = ms_hspp_file summary + mod_graph = hsc_mod_graph hsc_env0 + needsTH = any (xopt Opt_TemplateHaskell . ms_hspp_opts) mod_graph - debugTraceMsg dflags0 2 (text "compile: input file" <+> text input_fnpp) + -- #8180 - when using TemplateHaskell, switch on -dynamic-too so + -- the linker can correctly load the object files. + let dflags1 = if needsTH + then gopt_set dflags0 Opt_BuildDynamicToo + else dflags0 + + debugTraceMsg dflags1 2 (text "compile: input file" <+> text input_fnpp) let basename = dropExtension input_fn @@ -146,8 +154,8 @@ compileOne' m_tc_result mHscMessage -- This is needed when we try to compile the .hc file later, if it -- imports a _stub.h file that we created here. let current_dir = takeDirectory basename - old_paths = includePaths dflags0 - dflags = dflags0 { includePaths = current_dir : old_paths } + old_paths = includePaths dflags1 + dflags = dflags1 { includePaths = current_dir : old_paths } hsc_env = hsc_env0 {hsc_dflags = dflags} -- Figure out what lang we're generating @@ -468,7 +476,7 @@ compileFile hsc_env stop_phase (src, mb_phase) = do throwGhcExceptionIO (CmdLineError ("does not exist: " ++ src)) let - dflags = hsc_dflags hsc_env + dflags = hsc_dflags hsc_env split = gopt Opt_SplitObjs dflags mb_o_file = outputFile dflags ghc_link = ghcLink dflags -- Set by -c or -no-link From git at git.haskell.org Sun Jan 12 20:51:15 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:15 +0000 (UTC) Subject: [commit: haddock] master: Allow for headings inside function documentation. (b11f371) Message-ID: <20140112205115.DFB892406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/b11f371fdc9197cb45a6dafbcc0b095273d6614f >--------------------------------------------------------------- commit b11f371fdc9197cb45a6dafbcc0b095273d6614f Author: Mateusz Kowalczyk Date: Tue Sep 3 01:29:27 2013 +0100 Allow for headings inside function documentation. LaTeX will treat the h3-h6 headings the same as we'd have to hack the style file heavily otherwise and it would make the headings tiny anyway. Hoogle upstream said they will put in the functionality on their end. Conflicts: src/Haddock/Interface/Rename.hs src/Haddock/Types.hs test/Haddock/ParserSpec.hs >--------------------------------------------------------------- b11f371fdc9197cb45a6dafbcc0b095273d6614f src/Haddock/Backends/Hoogle.hs | 3 ++- src/Haddock/Backends/LaTeX.hs | 9 ++++++++- src/Haddock/Backends/Xhtml/DocMarkup.hs | 13 ++++++++++++- src/Haddock/Interface/LexParseRn.hs | 1 + src/Haddock/InterfaceFile.hs | 18 ++++++++++++++++-- src/Haddock/Parser.hs | 14 ++++++++++++-- src/Haddock/Types.hs | 16 ++++++++++++++++ src/Haddock/Utils.hs | 4 +++- test/Haddock/ParserSpec.hs | 19 +++++++++++++++++++ 9 files changed, 89 insertions(+), 8 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc b11f371fdc9197cb45a6dafbcc0b095273d6614f From git at git.haskell.org Sun Jan 12 20:51:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:17 +0000 (UTC) Subject: [commit: haddock] master: Add ByteString version of Attoparsec (c1228df) Message-ID: <20140112205118.01E542406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/c1228df0339d041b455bb993786a9ed6322c5e01 >--------------------------------------------------------------- commit c1228df0339d041b455bb993786a9ed6322c5e01 Author: Mateusz Kowalczyk Date: Tue Jul 9 14:11:22 2013 +0100 Add ByteString version of Attoparsec >--------------------------------------------------------------- c1228df0339d041b455bb993786a9ed6322c5e01 .ghci | 2 +- haddock.cabal | 57 +- vendor/attoparsec-0.10.4.0/Data/Attoparsec.hs | 18 + .../Data/Attoparsec/ByteString.hs | 205 ++++++++ .../Data/Attoparsec/ByteString/Char8.hs | 549 ++++++++++++++++++++ .../Data/Attoparsec/ByteString/FastSet.hs | 115 ++++ .../Data/Attoparsec/ByteString/Internal.hs | 516 ++++++++++++++++++ .../Data/Attoparsec/Combinator.hs | 205 ++++++++ .../Data/Attoparsec/Internal.hs | 31 ++ .../Data/Attoparsec/Internal/Types.hs | 227 ++++++++ .../attoparsec-0.10.4.0/Data/Attoparsec/Number.hs | 127 +++++ 11 files changed, 2034 insertions(+), 18 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc c1228df0339d041b455bb993786a9ed6322c5e01 From git at git.haskell.org Sun Jan 12 20:51:20 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:20 +0000 (UTC) Subject: [commit: haddock] master: Support for bold. (ef9aa98) Message-ID: <20140112205120.267F72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/ef9aa98d6ccbe79888c501f94c9aa6688520c28e >--------------------------------------------------------------- commit ef9aa98d6ccbe79888c501f94c9aa6688520c28e Author: Mateusz Kowalczyk Date: Fri Jan 10 05:37:17 2014 +0000 Support for bold. Conflicts: src/Haddock/Backends/Hoogle.hs src/Haddock/Interface/Rename.hs src/Haddock/Parser.hs >--------------------------------------------------------------- ef9aa98d6ccbe79888c501f94c9aa6688520c28e haddock.cabal | 2 + html-test/ref/{Ticket253_1.html => Bold.html} | 56 +++++++++++++++---------- html-test/src/Bold.hs | 9 ++++ src/Haddock/Backends/Hoogle.hs | 1 + src/Haddock/Backends/LaTeX.hs | 3 ++ src/Haddock/Backends/Xhtml/DocMarkup.hs | 1 + src/Haddock/Interface/LexParseRn.hs | 1 + src/Haddock/InterfaceFile.hs | 6 +++ src/Haddock/Parser.hs | 15 ++++++- src/Haddock/Parser/Util.hs | 22 ++++++++++ src/Haddock/Types.hs | 5 ++- src/Haddock/Utils.hs | 3 +- test/Haddock/Parser/UtilSpec.hs | 23 ++++++++++ test/Haddock/ParserSpec.hs | 48 ++++++++++++++++++++- 14 files changed, 167 insertions(+), 28 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc ef9aa98d6ccbe79888c501f94c9aa6688520c28e From git at git.haskell.org Sun Jan 12 20:51:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:22 +0000 (UTC) Subject: [commit: haddock] master: Some code simplification by using traverse (39649d7) Message-ID: <20140112205122.344262406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/39649d71ae8462291049710bb5e3c35f5d5b193b >--------------------------------------------------------------- commit 39649d71ae8462291049710bb5e3c35f5d5b193b Author: Simon Hengel Date: Sun Dec 1 00:31:43 2013 +0100 Some code simplification by using traverse >--------------------------------------------------------------- 39649d71ae8462291049710bb5e3c35f5d5b193b src/Haddock/Interface/Rename.hs | 55 ++++----------------------------------- src/Haddock/Types.hs | 6 +++-- 2 files changed, 9 insertions(+), 52 deletions(-) diff --git a/src/Haddock/Interface/Rename.hs b/src/Haddock/Interface/Rename.hs index fd652cd..97a63b3 100644 --- a/src/Haddock/Interface/Rename.hs +++ b/src/Haddock/Interface/Rename.hs @@ -12,6 +12,8 @@ module Haddock.Interface.Rename (renameInterface) where +import Data.Traversable (traverse) + import Haddock.GhcUtils import Haddock.Types @@ -159,50 +161,7 @@ renameLDocHsSyn = return renameDoc :: Doc Name -> RnM (Doc DocName) -renameDoc d = case d of - DocEmpty -> return DocEmpty - DocAppend a b -> do - a' <- renameDoc a - b' <- renameDoc b - return (DocAppend a' b') - DocString str -> return (DocString str) - DocParagraph doc -> do - doc' <- renameDoc doc - return (DocParagraph doc') - DocIdentifier x -> do - x' <- rename x - return (DocIdentifier x') - DocIdentifierUnchecked x -> return (DocIdentifierUnchecked x) - DocModule str -> return (DocModule str) - DocWarning doc -> do - doc' <- renameDoc doc - return (DocWarning doc') - DocEmphasis doc -> do - doc' <- renameDoc doc - return (DocEmphasis doc') - DocMonospaced doc -> do - doc' <- renameDoc doc - return (DocMonospaced doc') - DocUnorderedList docs -> do - docs' <- mapM renameDoc docs - return (DocUnorderedList docs') - DocOrderedList docs -> do - docs' <- mapM renameDoc docs - return (DocOrderedList docs') - DocDefList docs -> do - docs' <- mapM (\(a,b) -> do - a' <- renameDoc a - b' <- renameDoc b - return (a',b')) docs - return (DocDefList docs') - DocCodeBlock doc -> do - doc' <- renameDoc doc - return (DocCodeBlock doc') - DocHyperlink l -> return (DocHyperlink l) - DocPic str -> return (DocPic str) - DocAName str -> return (DocAName str) - DocProperty p -> return (DocProperty p) - DocExamples e -> return (DocExamples e) +renameDoc = traverse rename renameFnArgsDoc :: FnArgsDoc Name -> RnM (FnArgsDoc DocName) @@ -215,12 +174,8 @@ renameLType = mapM renameType renameLKind :: LHsKind Name -> RnM (LHsKind DocName) renameLKind = renameLType -renameMaybeLKind :: Maybe (LHsKind Name) - -> RnM (Maybe (LHsKind DocName)) -renameMaybeLKind Nothing = return Nothing -renameMaybeLKind (Just ki) - = do { ki' <- renameLKind ki - ; return (Just ki') } +renameMaybeLKind :: Maybe (LHsKind Name) -> RnM (Maybe (LHsKind DocName)) +renameMaybeLKind = traverse renameLKind renameType :: HsType Name -> RnM (HsType DocName) renameType t = case t of diff --git a/src/Haddock/Types.hs b/src/Haddock/Types.hs index 19a6c90..73fafd6 100644 --- a/src/Haddock/Types.hs +++ b/src/Haddock/Types.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE DeriveDataTypeable, DeriveFunctor #-} +{-# LANGUAGE DeriveDataTypeable, DeriveFunctor, DeriveFoldable, DeriveTraversable #-} {-# OPTIONS_GHC -fno-warn-orphans #-} ----------------------------------------------------------------------------- -- | @@ -20,6 +20,8 @@ module Haddock.Types ( ) where +import Data.Foldable +import Data.Traversable import Control.Exception import Control.Arrow import Control.DeepSeq @@ -316,7 +318,7 @@ data Doc id | DocAName String | DocProperty String | DocExamples [Example] - deriving (Functor) + deriving (Functor, Foldable, Traversable) instance Monoid (Doc id) where From git at git.haskell.org Sun Jan 12 20:51:24 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:24 +0000 (UTC) Subject: [commit: haddock] master: Don't append newline to parseString input (27876dc) Message-ID: <20140112205124.4A9B42406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/27876dc77ff259e27a71ea6f30662a668adfd134 >--------------------------------------------------------------- commit 27876dc77ff259e27a71ea6f30662a668adfd134 Author: Simon Hengel Date: Tue Sep 3 19:14:08 2013 +0200 Don't append newline to parseString input We also check that we have parsed everything with endOfInput. >--------------------------------------------------------------- 27876dc77ff259e27a71ea6f30662a668adfd134 html-test/ref/A.html | 2 +- html-test/ref/AdvanceTypes.html | 2 +- html-test/ref/B.html | 2 +- html-test/ref/Bug1.html | 2 +- html-test/ref/Bug2.html | 2 +- html-test/ref/Bug3.html | 2 +- html-test/ref/Bug4.html | 2 +- html-test/ref/Bug6.html | 2 +- html-test/ref/Bug7.html | 2 +- html-test/ref/Bug8.html | 8 +-- html-test/ref/BugDeprecated.html | 20 ++---- html-test/ref/BugExportHeadings.html | 47 +++++-------- html-test/ref/Bugs.html | 2 +- html-test/ref/CrossPackageDocs.html | 35 ++++------ html-test/ref/DeprecatedClass.html | 14 ++-- html-test/ref/DeprecatedData.html | 20 ++---- html-test/ref/DeprecatedFunction.html | 5 +- html-test/ref/DeprecatedFunction2.html | 5 +- html-test/ref/DeprecatedFunction3.html | 5 +- html-test/ref/DeprecatedModule.html | 5 +- html-test/ref/DeprecatedModule2.html | 5 +- html-test/ref/DeprecatedNewtype.html | 14 ++-- html-test/ref/DeprecatedReExport.html | 17 ++--- html-test/ref/DeprecatedRecord.html | 5 +- html-test/ref/DeprecatedTypeFamily.html | 8 +-- html-test/ref/DeprecatedTypeSynonym.html | 8 +-- html-test/ref/Examples.html | 2 +- html-test/ref/FunArgs.html | 2 +- html-test/ref/GADTRecords.html | 2 +- html-test/ref/Hash.html | 20 ++---- html-test/ref/HiddenInstances.html | 2 +- html-test/ref/HiddenInstancesB.html | 2 +- html-test/ref/Hyperlinks.html | 2 +- html-test/ref/IgnoreExports.html | 2 +- html-test/ref/ModuleWithWarning.html | 5 +- html-test/ref/NamedDoc.html | 2 +- html-test/ref/NoLayout.html | 2 +- html-test/ref/NonGreedy.html | 2 +- html-test/ref/Properties.html | 2 +- html-test/ref/PruneWithWarning.html | 2 +- html-test/ref/SpuriousSuperclassConstraints.html | 2 +- html-test/ref/Test.html | 74 +++++++-------------- html-test/ref/Ticket253_1.html | 2 +- html-test/ref/Ticket253_2.html | 2 +- html-test/ref/Ticket61.html | 2 +- html-test/ref/Ticket75.html | 2 +- html-test/ref/TitledPicture.html | 2 +- html-test/ref/TypeFamilies.html | 2 +- html-test/ref/TypeOperators.html | 8 +-- html-test/ref/Unicode.html | 2 +- html-test/ref/Visible.html | 2 +- html-test/ref/mini_BugExportHeadings.html | 18 ++--- html-test/ref/mini_DeprecatedReExport.html | 6 +- html-test/ref/mini_Hash.html | 9 +-- html-test/ref/mini_Test.html | 36 ++++------ html-test/ref/mini_TypeOperators.html | 3 +- html-test/run.lhs | 21 ++++-- html-test/src/Bug7.hs | 1 + html-test/src/Bug8.hs | 6 +- html-test/src/FunArgs.hs | 1 + html-test/src/Test.hs | 2 +- html-test/src/Ticket75.hs | 1 + src/Haddock/Parser.hs | 30 ++++----- test/Haddock/ParserSpec.hs | 77 ++++++++++------------ 64 files changed, 244 insertions(+), 357 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 27876dc77ff259e27a71ea6f30662a668adfd134 From git at git.haskell.org Sun Jan 12 20:51:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:26 +0000 (UTC) Subject: [commit: haddock] master: Per-module extension flags and language listing. (f1f94f2) Message-ID: <20140112205126.4A7552406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/f1f94f2f634fb065f69ca2cc87a4a54f4e3a39ed >--------------------------------------------------------------- commit f1f94f2f634fb065f69ca2cc87a4a54f4e3a39ed Author: Mateusz Kowalczyk Date: Fri Aug 30 06:05:51 2013 +0100 Per-module extension flags and language listing. Any extensions that are not enabled by a used language (Haskell2010 &c) will be shown. Furthermore, any implicitly enabled are also going to be shown. While we could eliminate this either by using the GHC API or a dirty hack, I opted not to: if a user doesn't want the implied flags to show, they are recommended to use enable extensions more carefully or individually. Perhaps this will encourage users to not enable the most powerful flags needlessly. Enabled with show-extensions. Conflicts: src/Haddock/InterfaceFile.hs >--------------------------------------------------------------- f1f94f2f634fb065f69ca2cc87a4a54f4e3a39ed html-test/ref/{NoLayout.html => Extensions.html} | 38 +++++++++++--------- html-test/src/Extensions.hs | 7 ++++ resources/html/Classic.theme/xhaddock.css | 6 ++++ resources/html/Ocean.std-theme/ocean.css | 6 ++++ src/Haddock/Backends/LaTeX.hs | 3 +- src/Haddock/Backends/Xhtml.hs | 40 ++++++++++++++++------ src/Haddock/Interface/Create.hs | 23 ++++++++----- src/Haddock/Interface/LexParseRn.hs | 14 ++++++-- src/Haddock/Interface/ParseModuleHeader.hs | 5 +-- src/Haddock/InterfaceFile.hs | 15 ++++++-- src/Haddock/Options.hs | 8 +++-- src/Haddock/Types.hs | 11 ++++-- 12 files changed, 126 insertions(+), 50 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc f1f94f2f634fb065f69ca2cc87a4a54f4e3a39ed From git at git.haskell.org Sun Jan 12 20:51:28 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:28 +0000 (UTC) Subject: [commit: haddock] master: Fix totality, unicode, examples, paragraph parsing (2448bd7) Message-ID: <20140112205128.E104F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/2448bd71609688be7b8bfe362a8534959531cd79 >--------------------------------------------------------------- commit 2448bd71609688be7b8bfe362a8534959531cd79 Author: Simon Hengel Date: Sun Sep 8 10:33:38 2013 +0200 Fix totality, unicode, examples, paragraph parsing Also simplify specs and parsers while we're at it. Some parsers were made more generic. This commit is a part of GHC pre-merge squash, email fuuzetsu at fuuzetsu.co.uk if you need the full commit history. >--------------------------------------------------------------- 2448bd71609688be7b8bfe362a8534959531cd79 html-test/ref/A.html | 12 +- html-test/ref/B.html | 12 +- html-test/ref/Bug1.html | 3 +- html-test/ref/Bug3.html | 3 +- html-test/ref/Bug4.html | 3 +- html-test/ref/Bug6.html | 18 +- html-test/ref/Bug7.html | 15 +- html-test/ref/BugDeprecated.html | 9 +- html-test/ref/DeprecatedClass.html | 6 +- html-test/ref/DeprecatedData.html | 9 +- html-test/ref/DeprecatedFunction.html | 6 +- html-test/ref/DeprecatedModule.html | 3 +- html-test/ref/DeprecatedNewtype.html | 6 +- html-test/ref/DeprecatedReExport.html | 11 +- html-test/ref/DeprecatedRecord.html | 9 +- html-test/ref/DeprecatedTypeFamily.html | 3 +- html-test/ref/DeprecatedTypeSynonym.html | 3 +- html-test/ref/Examples.html | 15 +- html-test/ref/FunArgs.html | 27 +- html-test/ref/GADTRecords.html | 9 +- html-test/ref/Hash.html | 21 +- html-test/ref/HiddenInstances.html | 18 +- html-test/ref/HiddenInstancesB.html | 12 +- html-test/ref/Hyperlinks.html | 6 +- html-test/ref/IgnoreExports.html | 6 +- html-test/ref/ModuleWithWarning.html | 3 +- html-test/ref/NamedDoc.html | 3 +- html-test/ref/NoLayout.html | 3 +- html-test/ref/NonGreedy.html | 3 +- html-test/ref/Properties.html | 3 +- html-test/ref/PruneWithWarning.html | 5 +- html-test/ref/SpuriousSuperclassConstraints.html | 21 +- html-test/ref/Test.html | 264 +++---- html-test/ref/Ticket112.html | 3 +- html-test/ref/Ticket253_1.html | 6 +- html-test/ref/Ticket253_2.html | 3 +- html-test/ref/Ticket61.html | 3 +- html-test/ref/Ticket75.html | 3 +- html-test/ref/TitledPicture.html | 6 +- html-test/ref/TypeFamilies.html | 15 +- html-test/ref/Unicode.html | 3 +- html-test/ref/mini_Test.html | 2 +- src/Haddock.hs | 2 +- src/Haddock/Doc.hs | 57 +- src/Haddock/Interface/LexParseRn.hs | 4 +- src/Haddock/Interface/ParseModuleHeader.hs | 4 +- src/Haddock/Parser.hs | 482 +++++------- test/Haddock/ParserSpec.hs | 918 +++++++++++----------- 48 files changed, 871 insertions(+), 1190 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 2448bd71609688be7b8bfe362a8534959531cd79 From git at git.haskell.org Sun Jan 12 20:51:30 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:30 +0000 (UTC) Subject: [commit: haddock] master: One pass parser and tests. (bb6cef2) Message-ID: <20140112205130.5F3582406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/bb6cef20b82ef7a7f2d49f3ef6dc1a7ce880b5f0 >--------------------------------------------------------------- commit bb6cef20b82ef7a7f2d49f3ef6dc1a7ce880b5f0 Author: Mateusz Kowalczyk Date: Tue Jul 9 14:24:10 2013 +0100 One pass parser and tests. We remove the HTML test as it is no longer necessary. We cover the test case in spec tests and other HTML tests but keeping this around fails: this is because the new parser has different semantics there. In fact, I suspect the original behaviour was a bug that wasn't caught/fixed but simply included as-is during the testing. >--------------------------------------------------------------- bb6cef20b82ef7a7f2d49f3ef6dc1a7ce880b5f0 haddock.cabal | 27 +- html-test/ref/DeprecationMessageParseError.html | 101 ----- .../ref/{IgnoreExports.html => TitledPicture.html} | 28 +- html-test/src/DeprecationMessageParseError.hs | 12 - html-test/src/TitledPicture.hs | 7 + html-test/src/{Unicode.hs.disabled => Unicode.hs} | 0 src/Haddock.hs | 6 +- src/Haddock/Backends/LaTeX.hs | 13 +- src/Haddock/Backends/Xhtml/Decl.hs | 3 +- src/Haddock/Backends/Xhtml/DocMarkup.hs | 7 +- src/Haddock/Doc.hs | 20 +- src/Haddock/Interface/LexParseRn.hs | 11 +- src/Haddock/Interface/ParseModuleHeader.hs | 9 +- src/Haddock/InterfaceFile.hs | 10 + src/Haddock/Lex.x | 255 ------------ src/Haddock/Parse.y | 171 -------- src/Haddock/Parser.hs | 435 ++++++++++++++++++++ src/Haddock/Types.hs | 31 +- src/Haddock/Utf8.hs | 74 ++++ test/Haddock/ParseSpec.hs | 432 ++++++++++++++----- test/Haddock/Utf8Spec.hs | 15 + 21 files changed, 945 insertions(+), 722 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc bb6cef20b82ef7a7f2d49f3ef6dc1a7ce880b5f0 From git at git.haskell.org Sun Jan 12 20:51:32 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:32 +0000 (UTC) Subject: [commit: haddock] master: Rename Haddock.ParseSpec to Haddock.ParserSpec (64eb7db) Message-ID: <20140112205132.79AF82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/64eb7dbc465ffea7f7e76f9d4c3a334380cce8ac >--------------------------------------------------------------- commit 64eb7dbc465ffea7f7e76f9d4c3a334380cce8ac Author: Simon Hengel Date: Tue Aug 27 21:38:01 2013 +0200 Rename Haddock.ParseSpec to Haddock.ParserSpec >--------------------------------------------------------------- 64eb7dbc465ffea7f7e76f9d4c3a334380cce8ac haddock.cabal | 2 +- test/Haddock/{ParseSpec.hs => ParserSpec.hs} | 2 +- test/Spec.hs | 10 +--------- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/haddock.cabal b/haddock.cabal index 8067db7..b2645f5 100644 --- a/haddock.cabal +++ b/haddock.cabal @@ -226,7 +226,7 @@ test-suite spec , vendor/attoparsec-0.10.4.0 other-modules: - Haddock.ParseSpec + Haddock.ParserSpec build-depends: base diff --git a/test/Haddock/ParseSpec.hs b/test/Haddock/ParserSpec.hs similarity index 99% rename from test/Haddock/ParseSpec.hs rename to test/Haddock/ParserSpec.hs index b649d90..20d9c2c 100644 --- a/test/Haddock/ParseSpec.hs +++ b/test/Haddock/ParserSpec.hs @@ -3,7 +3,7 @@ , IncoherentInstances #-} {-# OPTIONS_GHC -fno-warn-orphans #-} -module Haddock.ParseSpec (main, spec) where +module Haddock.ParserSpec (main, spec) where import Control.Applicative import Data.Maybe (isJust) diff --git a/test/Spec.hs b/test/Spec.hs index 68521c0..a824f8c 100644 --- a/test/Spec.hs +++ b/test/Spec.hs @@ -1,9 +1 @@ -module Main where - -import Test.Hspec - -import qualified Haddock.ParseSpec - -main :: IO () -main = hspec $ do - describe "Haddock.Parse" Haddock.ParseSpec.spec +{-# OPTIONS_GHC -F -pgmF hspec-discover #-} From git at git.haskell.org Sun Jan 12 20:51:34 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:34 +0000 (UTC) Subject: [commit: haddock] master: Update acceptance tests (d08865e) Message-ID: <20140112205134.855562406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/d08865e42e7b03348549b79cdc251f444516bc34 >--------------------------------------------------------------- commit d08865e42e7b03348549b79cdc251f444516bc34 Author: Simon Hengel Date: Sat Dec 14 20:53:30 2013 +0100 Update acceptance tests >--------------------------------------------------------------- d08865e42e7b03348549b79cdc251f444516bc34 .../ref/mini_DeprecationMessageParseError.html | 31 -------------------- ..._IgnoreExports.html => mini_TitledPicture.html} | 4 +-- 2 files changed, 2 insertions(+), 33 deletions(-) diff --git a/html-test/ref/mini_DeprecationMessageParseError.html b/html-test/ref/mini_DeprecationMessageParseError.html deleted file mode 100644 index e52f487..0000000 --- a/html-test/ref/mini_DeprecationMessageParseError.html +++ /dev/null @@ -1,31 +0,0 @@ - -DeprecationMessageParseError

DeprecationMessageParseError

diff --git a/html-test/ref/mini_IgnoreExports.html b/html-test/ref/mini_TitledPicture.html similarity index 94% copy from html-test/ref/mini_IgnoreExports.html copy to html-test/ref/mini_TitledPicture.html index a420e65..760566e 100644 --- a/html-test/ref/mini_IgnoreExports.html +++ b/html-test/ref/mini_TitledPicture.html @@ -3,7 +3,7 @@ >IgnoreExportsTitledPicture

IgnoreExports

TitledPicture

Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/a2f3551c276cc77d3c93f048b77cab96a5e648ed >--------------------------------------------------------------- commit a2f3551c276cc77d3c93f048b77cab96a5e648ed Author: Simon Hengel Date: Sat Dec 14 20:35:30 2013 +0100 Fix warnings in test helper >--------------------------------------------------------------- a2f3551c276cc77d3c93f048b77cab96a5e648ed test/Helper.hs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/Helper.hs b/test/Helper.hs index fae3b04..ec06a71 100644 --- a/test/Helper.hs +++ b/test/Helper.hs @@ -164,4 +164,20 @@ dynFlags = defaultDynFlags settings , pc_ILDV_CREATE_MASK = 0 , pc_ILDV_STATE_CREATE = 0 , pc_ILDV_STATE_USE = 0 + , pc_OFFSET_StgRegTable_rYMM1 = 0 + , pc_OFFSET_StgRegTable_rYMM2 = 0 + , pc_OFFSET_StgRegTable_rYMM3 = 0 + , pc_OFFSET_StgRegTable_rYMM4 = 0 + , pc_OFFSET_StgRegTable_rYMM5 = 0 + , pc_OFFSET_StgRegTable_rYMM6 = 0 + , pc_OFFSET_StgRegTable_rZMM1 = 0 + , pc_OFFSET_StgRegTable_rZMM2 = 0 + , pc_OFFSET_StgRegTable_rZMM3 = 0 + , pc_OFFSET_StgRegTable_rZMM4 = 0 + , pc_OFFSET_StgRegTable_rZMM5 = 0 + , pc_OFFSET_StgRegTable_rZMM6 = 0 + , pc_OFFSET_StgFunInfoExtraFwd_arity = 0 + , pc_REP_StgFunInfoExtraFwd_arity = 0 + , pc_OFFSET_StgFunInfoExtraRev_arity = 0 + , pc_REP_StgFunInfoExtraRev_arity = 0 } From git at git.haskell.org Sun Jan 12 20:51:38 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:38 +0000 (UTC) Subject: [commit: haddock] master: Update maintainer (2e3f0b8) Message-ID: <20140112205138.AA51C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/2e3f0b8369a0fc4283f0909305f15af3a82086b7 >--------------------------------------------------------------- commit 2e3f0b8369a0fc4283f0909305f15af3a82086b7 Author: Mateusz Kowalczyk Date: Fri Jan 10 05:44:50 2014 +0000 Update maintainer >--------------------------------------------------------------- 2e3f0b8369a0fc4283f0909305f15af3a82086b7 haddock.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haddock.cabal b/haddock.cabal index d3948d2..4c7b394 100644 --- a/haddock.cabal +++ b/haddock.cabal @@ -6,7 +6,7 @@ description: Haddock is a documentation-generation tool for Haskell license: BSD3 license-file: LICENSE author: Simon Marlow, David Waern -maintainer: David Waern +maintainer: Simon Hengel homepage: http://www.haskell.org/haddock/ bug-reports: http://trac.haskell.org/haddock copyright: (c) Simon Marlow, David Waern From git at git.haskell.org Sun Jan 12 20:51:40 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:40 +0000 (UTC) Subject: [commit: haddock] master: Bump interface version (2aec8fd) Message-ID: <20140112205140.AA4FF2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/2aec8fdde55579b62f480c6b2a567bd5392fdff2 >--------------------------------------------------------------- commit 2aec8fdde55579b62f480c6b2a567bd5392fdff2 Author: Mateusz Kowalczyk Date: Thu Jan 9 00:11:35 2014 +0000 Bump interface version There were some breaking changes over the last few patches so we bump the interface version. This causes a big problem with testing: 1. To generate cross package docs, we first need to generate docs for the package used. 2. To generate package docs with new interface version, we need to use Haddock which has the version bumped. 3. To get Haddock with the version bump, we first need to test cross package docs 4. GOTO 1 So the problem is the chicken and the egg problem. It seems that the only solution would be to generate some interface files on the fly but it is non-trivial. To run this test, you'll have to: * build Haddock without the test (make sure everything else passes) * rebuild the packages used in the test with your shiny new binary making sure they are visible to Haddock * remove the ?_hidden? suffix and re-run the tests Note: because the packages currently used for this test are those provided by GHC, it's probably non-trivial to just re-build them. Preferably something less tedious to rebuild should be used and something that is not subject to change. >--------------------------------------------------------------- 2aec8fdde55579b62f480c6b2a567bd5392fdff2 html-test/src/{CrossPackageDocs.hs => CrossPackageDocs.hs_hidden} | 0 src/Haddock/InterfaceFile.hs | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/html-test/src/CrossPackageDocs.hs b/html-test/src/CrossPackageDocs.hs_hidden similarity index 100% rename from html-test/src/CrossPackageDocs.hs rename to html-test/src/CrossPackageDocs.hs_hidden diff --git a/src/Haddock/InterfaceFile.hs b/src/Haddock/InterfaceFile.hs index 81ff17f..e7ea758 100644 --- a/src/Haddock/InterfaceFile.hs +++ b/src/Haddock/InterfaceFile.hs @@ -77,7 +77,7 @@ binaryInterfaceMagic = 0xD0Cface -- binaryInterfaceVersion :: Word16 #if __GLASGOW_HASKELL__ == 707 -binaryInterfaceVersion = 23 +binaryInterfaceVersion = 24 binaryInterfaceVersionCompatibility :: [Word16] binaryInterfaceVersionCompatibility = [binaryInterfaceVersion] From git at git.haskell.org Sun Jan 12 20:51:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:42 +0000 (UTC) Subject: [commit: haddock] master: Allow escaping in URLs and pictures. (deb106d) Message-ID: <20140112205142.A5CD42406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/deb106d8250b7582e01f78e88c88ca7465fc0bc1 >--------------------------------------------------------------- commit deb106d8250b7582e01f78e88c88ca7465fc0bc1 Author: Mateusz Kowalczyk Date: Mon Sep 16 03:01:29 2013 +0100 Allow escaping in URLs and pictures. Some tests were moved under parseString as they weren't about paragraph level markup. Conflicts: src/Haddock/Parser.hs test/Haddock/ParserSpec.hs >--------------------------------------------------------------- deb106d8250b7582e01f78e88c88ca7465fc0bc1 src/Haddock/Parser.hs | 19 ++- src/Haddock/Parser/Util.hs | 6 +- test/Haddock/ParserSpec.hs | 308 ++++++++++++++++++++++++-------------------- 3 files changed, 190 insertions(+), 143 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc deb106d8250b7582e01f78e88c88ca7465fc0bc1 From git at git.haskell.org Sun Jan 12 20:51:44 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:44 +0000 (UTC) Subject: [commit: haddock] master: Update documentation. (15e1d57) Message-ID: <20140112205144.B47362406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/15e1d576d1dbede8041452272a5077b66d843255 >--------------------------------------------------------------- commit 15e1d576d1dbede8041452272a5077b66d843255 Author: Mateusz Kowalczyk Date: Fri Sep 20 11:32:00 2013 +0100 Update documentation. >--------------------------------------------------------------- 15e1d576d1dbede8041452272a5077b66d843255 CHANGES | 13 +++ doc/haddock.xml | 290 ++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 249 insertions(+), 54 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 15e1d576d1dbede8041452272a5077b66d843255 From git at git.haskell.org Sun Jan 12 20:51:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 20:51:46 +0000 (UTC) Subject: [commit: haddock] master: Allow for nesting of paragraphs under lists. (a03c935) Message-ID: <20140112205146.D6FFD2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/a03c93524ba2ca4143c10770a2fa0dd134b57a83 >--------------------------------------------------------------- commit a03c93524ba2ca4143c10770a2fa0dd134b57a83 Author: Mateusz Kowalczyk Date: Sun Sep 8 01:28:57 2013 +0100 Allow for nesting of paragraphs under lists. The nesting rules are similar to Markdown's with the exception that we can not simply indent the first line of a hard wrapped indented paragraph and have it treated as if it was fully indented. The reason is differences in markup as some of our constructs care about whitespace while others just swallow everything up so it's just a lot easier to not bother with it rather than making arbitrary rules. Note that we now drop trailing for string entities inside of lists. They weren't needed and it makes the output look uniform whether we use a single or double newline between list elements. Conflicts: src/Haddock/Parser.hs test/Haddock/ParserSpec.hs >--------------------------------------------------------------- a03c93524ba2ca4143c10770a2fa0dd134b57a83 html-test/ref/Bold.html | 6 +- html-test/ref/DeprecatedReExport.html | 3 +- html-test/ref/Nesting.html | 288 +++++++++++++++++++++++++++++++++ html-test/ref/PruneWithWarning.html | 3 +- html-test/ref/Test.html | 18 +-- html-test/src/Nesting.hs | 115 +++++++++++++ src/Haddock/Doc.hs | 2 + src/Haddock/Parser.hs | 110 ++++++++++--- src/Haddock/Types.hs | 2 +- test/Haddock/ParserSpec.hs | 155 +++++++++++++----- 10 files changed, 613 insertions(+), 89 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc a03c93524ba2ca4143c10770a2fa0dd134b57a83 From git at git.haskell.org Sun Jan 12 21:01:36 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 21:01:36 +0000 (UTC) Subject: [commit: ghc] master: More testsuite .gitignore updates (6494de1) Message-ID: <20140112210136.C65B72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/6494de1f58f9352c809cdd722c9b0ae7f462ccde/ghc >--------------------------------------------------------------- commit 6494de1f58f9352c809cdd722c9b0ae7f462ccde Author: Austin Seipp Date: Sun Jan 12 15:00:59 2014 -0600 More testsuite .gitignore updates Signed-off-by: Austin Seipp >--------------------------------------------------------------- 6494de1f58f9352c809cdd722c9b0ae7f462ccde testsuite/.gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/testsuite/.gitignore b/testsuite/.gitignore index eb4593a..f208937 100644 --- a/testsuite/.gitignore +++ b/testsuite/.gitignore @@ -38,6 +38,12 @@ Thumbs.db tests/**/*.ps *.stats +*.dyn_o +*.dyn_hi +*.dyn_hi-boot +*o +*.hi + *bindisttest_install___dir_bin_ghc.mk # ----------------------------------------------------------------------------- From git at git.haskell.org Sun Jan 12 23:31:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 23:31:11 +0000 (UTC) Subject: [commit: packages/integer-gmp] branch 'wip/T8647' created Message-ID: <20140112233112.A4C212406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp New branch : wip/T8647 Referencing: 12895aea1eeea62d6da1348c61445a7bf285c567 From git at git.haskell.org Sun Jan 12 23:31:13 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 23:31:13 +0000 (UTC) Subject: [commit: packages/integer-gmp] wip/T8647: Allocate initial 1-limb mpz_t on the Stack and introduce MPZ# type (12895ae) Message-ID: <20140112233113.EDF502406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : wip/T8647 Link : http://ghc.haskell.org/trac/ghc/changeset/12895aea1eeea62d6da1348c61445a7bf285c567/integer-gmp >--------------------------------------------------------------- commit 12895aea1eeea62d6da1348c61445a7bf285c567 Author: Herbert Valerio Riedel Date: Thu Jan 9 00:19:31 2014 +0100 Allocate initial 1-limb mpz_t on the Stack and introduce MPZ# type We now allocate a 1-limb mpz_t on the stack instead of doing a more expensive heap-allocation (especially if the heap-allocated copy becomes garbage right away); this addresses #8647. In order to delay heap allocations of 1-limb `ByteArray#`s instead of the previous `(# Int#, ByteArray# #)` pair, a 3-tuple `(# Int#, ByteArray#, Word# #)` is returned now. This tuple is given the type-synonym `MPZ#`. This 3-tuple representation uses either the 1st and the 2nd element, or the 1st and the 3rd element to represent the limb(s) (NB: undefined `ByteArray#` elements must not be accessed as they don't point to a proper `ByteArray#`, see also `DUMMY_BYTE_ARR`); more specifically, the following encoding is used (where `?` means undefined/unused): - (# 0#, ?, 0## #) -> value = 0 - (# 1#, ?, w #) -> value = w - (# -1#, ?, w #) -> value = -w - (# s#, d, 0## #) -> value = J# s d The `mpzToInteger` helper takes care of converting `MPZ#` into an `Integer`, and allocating a 1-limb `ByteArray#` in case the value (`w`/`-w`) doesn't fit the `S# Int#` representation). The following nofib benchmarks benefit from this optimization: Program Size Allocs Runtime Elapsed TotalMem ------------------------------------------------------------------ bernouilli +0.2% -5.2% 0.12 0.12 +0.0% gamteb +0.2% -1.7% 0.03 0.03 +0.0% kahan +0.3% -13.2% 0.17 0.17 +0.0% mandel +0.2% -24.6% 0.04 0.04 +0.0% power +0.2% -2.6% -2.0% -2.0% -8.3% primetest +0.1% -17.3% 0.06 0.06 +0.0% rsa +0.2% -18.5% 0.02 0.02 +0.0% scs +0.1% -2.9% -0.1% -0.1% +0.0% sphere +0.3% -0.8% 0.03 0.03 +0.0% symalg +0.2% -3.1% 0.01 0.01 +0.0% ------------------------------------------------------------------ Min +0.1% -24.6% -4.6% -4.6% -8.3% Max +0.3% +0.0% +5.9% +5.9% +4.5% Geometric Mean +0.2% -1.0% +0.2% +0.2% -0.0% Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 12895aea1eeea62d6da1348c61445a7bf285c567 GHC/Integer/GMP/Prim.hs | 88 ++++++++++++------- GHC/Integer/Type.lhs | 160 ++++++++++++++++------------------ cbits/gmp-wrappers.cmm | 223 +++++++++++++++++++++++++++++++++-------------- 3 files changed, 285 insertions(+), 186 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 12895aea1eeea62d6da1348c61445a7bf285c567 From git at git.haskell.org Sun Jan 12 23:37:20 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 12 Jan 2014 23:37:20 +0000 (UTC) Subject: [commit: packages/integer-gmp] wip/T8647: Allocate initial 1-limb mpz_t on the Stack and introduce MPZ# type (20d7bfd) Message-ID: <20140112233720.5C02F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : wip/T8647 Link : http://ghc.haskell.org/trac/ghc/changeset/20d7bfdd29917f5a8b8937fba9b724f7e71cd8dd/integer-gmp >--------------------------------------------------------------- commit 20d7bfdd29917f5a8b8937fba9b724f7e71cd8dd Author: Herbert Valerio Riedel Date: Thu Jan 9 00:19:31 2014 +0100 Allocate initial 1-limb mpz_t on the Stack and introduce MPZ# type We now allocate a 1-limb mpz_t on the stack instead of doing a more expensive heap-allocation (especially if the heap-allocated copy becomes garbage right away); this addresses #8647. In order to delay heap allocations of 1-limb `ByteArray#`s instead of the previous `(# Int#, ByteArray# #)` pair, a 3-tuple `(# Int#, ByteArray#, Word# #)` is returned now. This tuple is given the type-synonym `MPZ#`. This 3-tuple representation uses either the 1st and the 2nd element, or the 1st and the 3rd element to represent the limb(s) (NB: undefined `ByteArray#` elements must not be accessed as they don't point to a proper `ByteArray#`, see also `DUMMY_BYTE_ARR`); more specifically, the following encoding is used (where `?` means undefined/unused): - (# 0#, ?, 0## #) -> value = 0 - (# 1#, ?, w #) -> value = w - (# -1#, ?, w #) -> value = -w - (# s#, d, 0## #) -> value = J# s d The `mpzToInteger` helper takes care of converting `MPZ#` into an `Integer`, and allocating a 1-limb `ByteArray#` in case the value (`w`/`-w`) doesn't fit the `S# Int#` representation). The following nofib benchmarks benefit from this optimization: Program Size Allocs Runtime Elapsed TotalMem ------------------------------------------------------------------ bernouilli +0.2% -5.2% 0.12 0.12 +0.0% gamteb +0.2% -1.7% 0.03 0.03 +0.0% kahan +0.3% -13.2% 0.17 0.17 +0.0% mandel +0.2% -24.6% 0.04 0.04 +0.0% power +0.2% -2.6% -2.0% -2.0% -8.3% primetest +0.1% -17.3% 0.06 0.06 +0.0% rsa +0.2% -18.5% 0.02 0.02 +0.0% scs +0.1% -2.9% -0.1% -0.1% +0.0% sphere +0.3% -0.8% 0.03 0.03 +0.0% symalg +0.2% -3.1% 0.01 0.01 +0.0% ------------------------------------------------------------------ Min +0.1% -24.6% -4.6% -4.6% -8.3% Max +0.3% +0.0% +5.9% +5.9% +4.5% Geometric Mean +0.2% -1.0% +0.2% +0.2% -0.0% Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 20d7bfdd29917f5a8b8937fba9b724f7e71cd8dd GHC/Integer/GMP/Prim.hs | 88 ++++++++++++------- GHC/Integer/Type.lhs | 160 +++++++++++++++------------------ cbits/gmp-wrappers.cmm | 224 +++++++++++++++++++++++++++++++++-------------- 3 files changed, 285 insertions(+), 187 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 20d7bfdd29917f5a8b8937fba9b724f7e71cd8dd From git at git.haskell.org Mon Jan 13 06:28:20 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 13 Jan 2014 06:28:20 +0000 (UTC) Subject: [commit: ghc] master: Add Windows to NoSharedLibsPlatformList (4af1e76) Message-ID: <20140113062821.1C7D92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4af1e76c701a7698ebd9b5ca3fb1394dd8b56c8d/ghc >--------------------------------------------------------------- commit 4af1e76c701a7698ebd9b5ca3fb1394dd8b56c8d Author: Austin Seipp Date: Mon Jan 13 00:21:18 2014 -0600 Add Windows to NoSharedLibsPlatformList We're punting on full -dynamic and -dynamic-too support for Windows right now, since it's still unstable. Also, ensure "Support dynamic-too" in `ghc --info` is set to "NO" for Cabal. See issues #7134, #8228, and #5987 Signed-off-by: Austin Seipp >--------------------------------------------------------------- 4af1e76c701a7698ebd9b5ca3fb1394dd8b56c8d compiler/main/DynFlags.hs | 4 +++- mk/config.mk.in | 19 ++++--------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 06d1ed9..734e7e9 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -3563,7 +3563,7 @@ compilerInfo dflags ("Support SMP", cGhcWithSMP), ("Tables next to code", cGhcEnableTablesNextToCode), ("RTS ways", cGhcRTSWays), - ("Support dynamic-too", "YES"), + ("Support dynamic-too", if isWindows then "NO" else "YES"), ("Support parallel --make", "YES"), ("Dynamic by default", if dYNAMIC_BY_DEFAULT dflags then "YES" else "NO"), @@ -3574,6 +3574,8 @@ compilerInfo dflags ("LibDir", topDir dflags), ("Global Package DB", systemPackageConfig dflags) ] + where + isWindows = platformOS (targetPlatform dflags) == OSMinGW32 #include "../includes/dist-derivedconstants/header/GHCConstantsHaskellWrappers.hs" diff --git a/mk/config.mk.in b/mk/config.mk.in index f61ecc0..59d48c4 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -94,22 +94,11 @@ else TargetElf = YES endif -# Currently, on Windows, we artificially limit the unfolding creation -# threshold to minimize the number of exported symbols on Windows -# platforms in the stage2 DLL. This avoids a hard limit of 2^16 -# exported symbols in the windows dynamic linker. -# -# This is a pitifully low threshold (the default is 750,) but it -# reduced the symbol count by about ~7,000, bringing us back under the -# limit (for now.) -# -# See #5987 -ifeq "$(TargetOS_CPP)" "mingw32" -GhcStage2HcOpts += -funfolding-creation-threshold=100 -endif - # Some platforms don't support shared libraries -NoSharedLibsPlatformList = arm-unknown-linux powerpc-unknown-linux +NoSharedLibsPlatformList = arm-unknown-linux \ + powerpc-unknown-linux \ + x86_64-unknown-mingw32 \ + i386-unknown-mingw32 ifeq "$(SOLARIS_BROKEN_SHLD)" "YES" NoSharedLibsPlatformList += i386-unknown-solaris2 From git at git.haskell.org Mon Jan 13 06:28:24 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 13 Jan 2014 06:28:24 +0000 (UTC) Subject: [commit: ghc] master: More .gitignore updates (9c91a24) Message-ID: <20140113062824.889E12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/9c91a24a9b149f0d26ce764efae727152fe4ea35/ghc >--------------------------------------------------------------- commit 9c91a24a9b149f0d26ce764efae727152fe4ea35 Author: Austin Seipp Date: Mon Jan 13 00:28:01 2014 -0600 More .gitignore updates Signed-off-by: Austin Seipp >--------------------------------------------------------------- 9c91a24a9b149f0d26ce764efae727152fe4ea35 testsuite/.gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/testsuite/.gitignore b/testsuite/.gitignore index f208937..7bd71c9 100644 --- a/testsuite/.gitignore +++ b/testsuite/.gitignore @@ -43,8 +43,13 @@ tests/**/*.ps *.dyn_hi-boot *o *.hi +*.dll *bindisttest_install___dir_bin_ghc.mk +*bindisttest_install___dir_bin_ghc.exe.mk +mk/ghcconfig_*_inplace_bin_ghc-stage2.mk +mk/ghcconfig_*_inplace_bin_ghc-stage2.exe.mk +*.imports # ----------------------------------------------------------------------------- # specific generated files @@ -69,7 +74,6 @@ tests/**/*.ps /tests/safeHaskell/check/pkg01/local.db/ /tests/safeHaskell/check/pkg01/setup mk/ghc-config -mk/ghcconfig_*_inplace_bin_ghc-stage2.mk tests/annotations/should_run/Config.hs tests/annotations/should_run/annrun01 tests/array/should_run/arr001 From git at git.haskell.org Mon Jan 13 11:04:06 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 13 Jan 2014 11:04:06 +0000 (UTC) Subject: [commit: packages/integer-gmp] wip/T8647: Add more notes regarding the MPZ# hack (2ba0992) Message-ID: <20140113110406.9AE602406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : wip/T8647 Link : http://ghc.haskell.org/trac/ghc/changeset/2ba09925d8a42258df349d01d7d69f3cfe0a5867/integer-gmp >--------------------------------------------------------------- commit 2ba09925d8a42258df349d01d7d69f3cfe0a5867 Author: Herbert Valerio Riedel Date: Mon Jan 13 12:02:47 2014 +0100 Add more notes regarding the MPZ# hack NOTE: This commit is to be merged into [20d7bfdd/integer-gmp] Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 2ba09925d8a42258df349d01d7d69f3cfe0a5867 GHC/Integer/GMP/Prim.hs | 37 +++++++++++++++++++++++++++---------- GHC/Integer/Type.lhs | 16 ++++++++++------ 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/GHC/Integer/GMP/Prim.hs b/GHC/Integer/GMP/Prim.hs index ef59e15..3790345 100644 --- a/GHC/Integer/GMP/Prim.hs +++ b/GHC/Integer/GMP/Prim.hs @@ -81,22 +81,39 @@ import GHC.Types -- Double isn't available yet, and we shouldn't be using defaults anyway: default () --- | This is represents a @mpz_t at . +-- | This is represents a @mpz_t@ value in a heap-saving way. -- -- The first tuple element, @/s/@, encodes the sign of the integer -- @/i/@ (i.e. @signum /s/ == signum /i/@), and the number of /limbs/ -- used to represent the magnitude. If @abs /s/ > 1@, the 'ByteArray#' -- contains @abs /s/@ limbs encoding the integer. Otherwise, if @abs -- /s/ < 2@, the single limb is stored in the 'Word#' element instead --- (and the 'ByteArray#' element is undefined) --- --- This representation allows to reduce temporary heap allocations of --- 1-limb 'ByteArray#'s which fit into the 'S#'-constructor. See also --- Trac #8647 for more information. --- --- See also 'GHC.Integer.Type.mpzToInteger' function and the --- @MP_INT_1LIMB_RETURN()@ macro in @gmp-wrappers.cmm@ for --- implementation details. +-- (and the 'ByteArray#' element is undefined and MUST NOT be accessed +-- as it doesn't point to a proper 'ByteArray#' but rather to an +-- unsafe-coerced 'Int' in order be polite to the GC -- see +-- @DUMMY_BYTE_ARR@ in gmp-wrappers.cmm) +-- +-- More specifically, the following encoding is used (where `?` means +-- undefined/unused): +-- +-- * (# 0#, ?, 0## #) -> value = 0 +-- * (# 1#, ?, w #) -> value = w +-- * (# -1#, ?, w #) -> value = -w +-- * (# s#, d, 0## #) -> value = J# s d +-- +-- This representation allows to avoid temporary heap allocations +-- (-> Trac #8647) of 1-limb 'ByteArray#'s which fit into the +-- 'S#'-constructor. Moreover, this allows to delays 1-limb +-- 'ByteArray#' heap allocations, as such 1-limb `mpz_t`s can be +-- optimistically allocated on the Cmm stack and returned as a @#word@ +-- in case the `mpz_t` wasn't grown beyond 1 limb by the GMP +-- operation. +-- +-- See also the 'GHC.Integer.Type.mpzToInteger' function which ought +-- to be used for converting 'MPZ#'s to 'Integer's and the +-- @MP_INT_1LIMB_RETURN()@ macro in @gmp-wrappers.cmm@ which +-- constructs 'MPZ#' values in the first place for implementation +-- details. type MPZ# = (# Int#, ByteArray#, Word# #) -- | Returns -1,0,1 according as first argument is less than, equal to, or greater than second argument. diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index 8e8d9f5..ab4fe9d 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -174,17 +174,21 @@ smartJ# (-1#) mb# | isTrue# (v <# 0#) = S# v v = negateInt# (indexIntArray# mb# 0#) smartJ# s# mb# = J# s# mb# --- |Construct 'Integer' out of 3-tuple returned by GMP wrapper primops +-- |Construct 'Integer' out of a 'MPZ#' as returned by GMP wrapper primops -- --- See definition of 'MPZ#' in "GHC.Integer.GMP.Prim" for more details. +-- IMPORTANT: The 'ByteArray#' element MUST NOT be accessed unless the +-- size-element indicates more than one limb! +-- +-- See notes at definition site of 'MPZ#' in "GHC.Integer.GMP.Prim" +-- for more details. mpzToInteger :: MPZ# -> Integer mpzToInteger (# 0#, _, _ #) = S# 0# mpzToInteger (# 1#, _, w# #) | isTrue# (v# >=# 0#) = S# v# - | True = case word2Integer# w# of (# _, d #) -> J# 1# d + | True = case word2Integer# w# of (# _, d #) -> J# 1# d where v# = word2Int# w# mpzToInteger (# -1#, _, w# #) | isTrue# (v# <=# 0#) = S# v# - | True = case word2Integer# w# of (# _, d #) -> J# -1# d + | True = case word2Integer# w# of (# _, d #) -> J# -1# d where v# = negateInt# (word2Int# w#) mpzToInteger (# s#, mb#, _ #) = J# s# mb# @@ -193,8 +197,8 @@ mpzToInteger (# s#, mb#, _ #) = J# s# mb# mpzToInteger2 :: (# MPZ#, MPZ# #) -> (# Integer, Integer #) mpzToInteger2 (# mpz1, mpz2 #) = (# i1, i2 #) where - !i1 = mpzToInteger mpz1 - !i2 = mpzToInteger mpz2 + !i1 = mpzToInteger mpz1 -- This use of `!` avoids creating thunks, + !i2 = mpzToInteger mpz2 -- see also Note [Use S# if possible]. -- |Negate MPZ# mpzNeg :: MPZ# -> MPZ# From git at git.haskell.org Mon Jan 13 12:23:48 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 13 Jan 2014 12:23:48 +0000 (UTC) Subject: [commit: ghc] master: Test Trac #8616 (2d9be8c) Message-ID: <20140113122348.433352406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/2d9be8cb1152e78ae2408202663b20bcd9cb8ec2/ghc >--------------------------------------------------------------- commit 2d9be8cb1152e78ae2408202663b20bcd9cb8ec2 Author: Simon Peyton Jones Date: Mon Jan 13 12:23:31 2014 +0000 Test Trac #8616 >--------------------------------------------------------------- 2d9be8cb1152e78ae2408202663b20bcd9cb8ec2 testsuite/tests/polykinds/T8616.hs | 14 ++++++++++++++ testsuite/tests/polykinds/T8616.stderr | 7 +++++++ testsuite/tests/polykinds/all.T | 1 + 3 files changed, 22 insertions(+) diff --git a/testsuite/tests/polykinds/T8616.hs b/testsuite/tests/polykinds/T8616.hs new file mode 100644 index 0000000..47e31bc --- /dev/null +++ b/testsuite/tests/polykinds/T8616.hs @@ -0,0 +1,14 @@ +{-# LANGUAGE PolyKinds, RankNTypes, ScopedTypeVariables #-} +module T8616 where + +import Data.Proxy +import GHC.Exts + +withSomeSing :: forall (kproxy :: k). Proxy kproxy +withSomeSing = undefined :: (Any :: k) + -- The 'k' is bought into scope by the type signature + -- This is a type error, but should not crash GHC + +foo = (undefined :: Proxy (a :: k)) :: forall (a :: k). Proxy a + -- Again, the 'k' is bought into scope by the type signature + -- No type error though \ No newline at end of file diff --git a/testsuite/tests/polykinds/T8616.stderr b/testsuite/tests/polykinds/T8616.stderr new file mode 100644 index 0000000..4e1b9ec --- /dev/null +++ b/testsuite/tests/polykinds/T8616.stderr @@ -0,0 +1,7 @@ + +T8616.hs:8:29: + Expected a type, but ?Any? has kind ?k? + In an expression type signature: (Any :: k) + In the expression: undefined :: (Any :: k) + In an equation for ?withSomeSing?: + withSomeSing = undefined :: (Any :: k) diff --git a/testsuite/tests/polykinds/all.T b/testsuite/tests/polykinds/all.T index 2d53e04..6d942d3 100644 --- a/testsuite/tests/polykinds/all.T +++ b/testsuite/tests/polykinds/all.T @@ -95,3 +95,4 @@ test('T8391', normal, compile, ['']) test('T8449', normal, run_command, ['$MAKE -s --no-print-directory T8449']) test('T8534', normal, compile, ['']) test('T8566', normal, compile_fail,['']) +test('T8616', normal, compile_fail,['']) From git at git.haskell.org Mon Jan 13 13:25:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 13 Jan 2014 13:25:26 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Allocate initial 1-limb mpz_t on the Stack and introduce MPZ# type (7bdcadd) Message-ID: <20140113132526.74D922406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/7bdcadda7e884edffb1427f0685493f3a2e5c5fa/integer-gmp >--------------------------------------------------------------- commit 7bdcadda7e884edffb1427f0685493f3a2e5c5fa Author: Herbert Valerio Riedel Date: Thu Jan 9 00:19:31 2014 +0100 Allocate initial 1-limb mpz_t on the Stack and introduce MPZ# type We now allocate a 1-limb mpz_t on the stack instead of doing a more expensive heap-allocation (especially if the heap-allocated copy becomes garbage right away); this addresses #8647. In order to delay heap allocations of 1-limb `ByteArray#`s instead of the previous `(# Int#, ByteArray# #)` pair, a 3-tuple `(# Int#, ByteArray#, Word# #)` is returned now. This tuple is given the type-synonym `MPZ#`. This 3-tuple representation uses either the 1st and the 2nd element, or the 1st and the 3rd element to represent the limb(s) (NB: undefined `ByteArray#` elements must not be accessed as they don't point to a proper `ByteArray#`, see also `DUMMY_BYTE_ARR`); more specifically, the following encoding is used (where `?` means undefined/unused): - (# 0#, ?, 0## #) -> value = 0 - (# 1#, ?, w #) -> value = w - (# -1#, ?, w #) -> value = -w - (# s#, d, 0## #) -> value = J# s d The `mpzToInteger` helper takes care of converting `MPZ#` into an `Integer`, and allocating a 1-limb `ByteArray#` in case the value (`w`/`-w`) doesn't fit the `S# Int#` representation). The following nofib benchmarks benefit from this optimization: Program Size Allocs Runtime Elapsed TotalMem ------------------------------------------------------------------ bernouilli +0.2% -5.2% 0.12 0.12 +0.0% gamteb +0.2% -1.7% 0.03 0.03 +0.0% kahan +0.3% -13.2% 0.17 0.17 +0.0% mandel +0.2% -24.6% 0.04 0.04 +0.0% power +0.2% -2.6% -2.0% -2.0% -8.3% primetest +0.1% -17.3% 0.06 0.06 +0.0% rsa +0.2% -18.5% 0.02 0.02 +0.0% scs +0.1% -2.9% -0.1% -0.1% +0.0% sphere +0.3% -0.8% 0.03 0.03 +0.0% symalg +0.2% -3.1% 0.01 0.01 +0.0% ------------------------------------------------------------------ Min +0.1% -24.6% -4.6% -4.6% -8.3% Max +0.3% +0.0% +5.9% +5.9% +4.5% Geometric Mean +0.2% -1.0% +0.2% +0.2% -0.0% Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 7bdcadda7e884edffb1427f0685493f3a2e5c5fa GHC/Integer/GMP/Prim.hs | 105 +++++++++++++++------- GHC/Integer/Type.lhs | 164 ++++++++++++++++------------------ cbits/gmp-wrappers.cmm | 224 +++++++++++++++++++++++++++++++++-------------- 3 files changed, 306 insertions(+), 187 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 7bdcadda7e884edffb1427f0685493f3a2e5c5fa From git at git.haskell.org Mon Jan 13 13:25:43 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 13 Jan 2014 13:25:43 +0000 (UTC) Subject: [commit: ghc] master: Lower T4830/allocated_bytes due to [7bdcadda7/integer-gmp] (#8647) (a3616cd) Message-ID: <20140113132543.49CA82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/a3616cd624e84d7967257561ad1c80b6793d4b46/ghc >--------------------------------------------------------------- commit a3616cd624e84d7967257561ad1c80b6793d4b46 Author: Herbert Valerio Riedel Date: Mon Jan 13 14:22:03 2014 +0100 Lower T4830/allocated_bytes due to [7bdcadda7/integer-gmp] (#8647) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- a3616cd624e84d7967257561ad1c80b6793d4b46 testsuite/tests/perf/should_run/all.T | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/testsuite/tests/perf/should_run/all.T b/testsuite/tests/perf/should_run/all.T index b44d307..0cb1174 100644 --- a/testsuite/tests/perf/should_run/all.T +++ b/testsuite/tests/perf/should_run/all.T @@ -15,9 +15,10 @@ test('T3586', test('T4830', [stats_num_field('bytes allocated', - [(wordsize(64), 99264, 1), + [(wordsize(64), 98248, 1), # 127000 (amd64/Linux) # 2013-02-07: 99264 (amd64/Linux) + # 2014-01-13: 98248 (amd64/Linux) due to #8647 (wordsize(32), 70646, 2)]), # 2013-02-10: 69744 (x86/Windows) # 2013-02-10: 71548 (x86/OSX) From git at git.haskell.org Mon Jan 13 16:35:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 13 Jan 2014 16:35:26 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Wrap `gmpz_fdiv_{q, r, qr}_ui` to optimize `div`/`mod` (cbde862) Message-ID: <20140113163526.BB5A42406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/cbde86278d2090e19e62f0dd22682b4381433658/integer-gmp >--------------------------------------------------------------- commit cbde86278d2090e19e62f0dd22682b4381433658 Author: Herbert Valerio Riedel Date: Mon Jan 13 16:13:40 2014 +0100 Wrap `gmpz_fdiv_{q,r,qr}_ui` to optimize `div`/`mod` This is similiar to what has been done in [af2ba9c8/integer-gmp] for `gmpz_tdiv_{q,r,qr}_ui` (re #8647); However, the gain is more modest here, as performance-conscious code tends to use `quot`/`rem` rather than `div`/`mod`: Program Size Allocs Runtime Elapsed TotalMem ------------------------------------------------------------- primetest +0.3% -2.4% 0.06 0.06 +0.0% rsa +0.2% -3.3% 0.02 0.02 +0.0% Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- cbde86278d2090e19e62f0dd22682b4381433658 GHC/Integer/GMP/Prim.hs | 13 +++++++++++++ GHC/Integer/Type.lhs | 30 ++++++++++++++++++++---------- cbits/gmp-wrappers.cmm | 8 ++++++++ 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/GHC/Integer/GMP/Prim.hs b/GHC/Integer/GMP/Prim.hs index 3790345..4137dd5 100644 --- a/GHC/Integer/GMP/Prim.hs +++ b/GHC/Integer/GMP/Prim.hs @@ -24,9 +24,13 @@ module GHC.Integer.GMP.Prim ( remIntegerWord#, divModInteger#, + divModIntegerWord#, divInteger#, + divIntegerWord#, modInteger#, + modIntegerWord#, divExactInteger#, + divExactIntegerWord#, gcdInteger#, gcdExtInteger#, @@ -191,16 +195,25 @@ foreign import prim "integer_cmm_remIntegerWordzh" remIntegerWord# -- foreign import prim "integer_cmm_divModIntegerzh" divModInteger# :: Int# -> ByteArray# -> Int# -> ByteArray# -> (# MPZ#, MPZ# #) +foreign import prim "integer_cmm_divModIntegerWordzh" divModIntegerWord# + :: Int# -> ByteArray# -> Word# -> (# MPZ#, MPZ# #) foreign import prim "integer_cmm_divIntegerzh" divInteger# :: Int# -> ByteArray# -> Int# -> ByteArray# -> MPZ# +foreign import prim "integer_cmm_divIntegerWordzh" divIntegerWord# + :: Int# -> ByteArray# -> Word# -> MPZ# foreign import prim "integer_cmm_modIntegerzh" modInteger# :: Int# -> ByteArray# -> Int# -> ByteArray# -> MPZ# +foreign import prim "integer_cmm_modIntegerWordzh" modIntegerWord# + :: Int# -> ByteArray# -> Word# -> MPZ# -- | Divisor is guaranteed to be a factor of dividend. -- foreign import prim "integer_cmm_divExactIntegerzh" divExactInteger# :: Int# -> ByteArray# -> Int# -> ByteArray# -> MPZ# +foreign import prim "integer_cmm_divExactIntegerWordzh" divExactIntegerWord# + :: Int# -> ByteArray# -> Word# -> MPZ# + -- | Greatest common divisor. -- foreign import prim "integer_cmm_gcdIntegerzh" gcdInteger# diff --git a/GHC/Integer/Type.lhs b/GHC/Integer/Type.lhs index ab4fe9d..fe4be92 100644 --- a/GHC/Integer/Type.lhs +++ b/GHC/Integer/Type.lhs @@ -43,8 +43,10 @@ import GHC.Integer.GMP.Prim ( timesInteger#, timesIntegerInt#, quotRemInteger#, quotRemIntegerWord#, quotInteger#, quotIntegerWord#, remInteger#, remIntegerWord#, - divModInteger#, divInteger#, modInteger#, - gcdInteger#, gcdExtInteger#, gcdIntegerInt#, gcdInt#, divExactInteger#, + divModInteger#, divModIntegerWord#, + divInteger#, divIntegerWord#, modInteger#, modIntegerWord#, + divExactInteger#, divExactIntegerWord#, + gcdInteger#, gcdExtInteger#, gcdIntegerInt#, gcdInt#, decodeDouble#, int2Integer#, integer2Int#, word2Integer#, integer2Word#, andInteger#, orInteger#, xorInteger#, complementInteger#, @@ -278,8 +280,13 @@ divModInteger (S# i) (S# j) = (# S# d, S# m #) -- evaluated strictly. !d = i `divInt#` j !m = i `modInt#` j - -divModInteger i1@(J# _ _) i2@(S# _) = divModInteger i1 (toBig i2) +divModInteger (J# s1 d1) (S# b) | isTrue# (b <# 0#) + = case divModIntegerWord# (negateInt# s1) d1 (int2Word# (negateInt# b)) of + (# q, r #) -> let !q' = mpzToInteger (mpzNeg q) + !r' = mpzToInteger r + in (# q', r' #) +divModInteger (J# s1 d1) (S# b) + = mpzToInteger2(divModIntegerWord# s1 d1 (int2Word# b)) divModInteger i1@(S# _) i2@(J# _ _) = divModInteger (toBig i1) i2 divModInteger (J# s1 d1) (J# s2 d2) = mpzToInteger2 (divModInteger# s1 d1 s2 d2) @@ -326,9 +333,10 @@ modInteger :: Integer -> Integer -> Integer modInteger (S# INT_MINBOUND) b = modInteger minIntAsBig b modInteger (S# a) (S# b) = S# (modInt# a b) modInteger ia@(S# _) ib@(J# _ _) = modInteger (toBig ia) ib +modInteger (J# sa a) (S# b) | isTrue# (b <# 0#) + = mpzToInteger (mpzNeg (remIntegerWord# (negateInt# sa) a (int2Word# (negateInt# b)))) modInteger (J# sa a) (S# b) - = case int2Integer# b of { (# sb, b' #) -> - mpzToInteger (modInteger# sa a sb b') } + = mpzToInteger (modIntegerWord# sa a (int2Word# b)) modInteger (J# sa a) (J# sb b) = mpzToInteger (modInteger# sa a sb b) @@ -337,8 +345,10 @@ divInteger :: Integer -> Integer -> Integer divInteger (S# INT_MINBOUND) b = divInteger minIntAsBig b divInteger (S# a) (S# b) = S# (divInt# a b) divInteger ia@(S# _) ib@(J# _ _) = divInteger (toBig ia) ib +divInteger (J# sa a) (S# b) | isTrue# (b <# 0#) + = mpzToInteger (divIntegerWord# (negateInt# sa) a (int2Word# (negateInt# b))) divInteger (J# sa a) (S# b) - = case int2Integer# b of { (# sb, b' #) -> mpzToInteger (divInteger# sa a sb b') } + = mpzToInteger (divIntegerWord# sa a (int2Word# b)) divInteger (J# sa a) (J# sb b) = mpzToInteger (divInteger# sa a sb b) \end{code} @@ -396,9 +406,9 @@ divExact (S# INT_MINBOUND) b = divExact minIntAsBig b divExact (S# a) (S# b) = S# (quotInt# a b) divExact (S# a) (J# sb b) = S# (quotInt# a (integer2Int# sb b)) -divExact (J# sa a) (S# b) - = case int2Integer# b of - (# sb, b' #) -> mpzToInteger (divExactInteger# sa a sb b') +divExact (J# sa a) (S# b) | isTrue# (b <# 0#) + = mpzToInteger (divExactIntegerWord# (negateInt# sa) a (int2Word# (negateInt# b))) +divExact (J# sa a) (S# b) = mpzToInteger (divExactIntegerWord# sa a (int2Word# b)) divExact (J# sa a) (J# sb b) = mpzToInteger (divExactInteger# sa a sb b) \end{code} diff --git a/cbits/gmp-wrappers.cmm b/cbits/gmp-wrappers.cmm index 28c1333..88ce0d1 100644 --- a/cbits/gmp-wrappers.cmm +++ b/cbits/gmp-wrappers.cmm @@ -46,11 +46,15 @@ import "integer-gmp" __gmpz_tdiv_q_ui; import "integer-gmp" __gmpz_tdiv_r; import "integer-gmp" __gmpz_tdiv_r_ui; import "integer-gmp" __gmpz_fdiv_q; +import "integer-gmp" __gmpz_fdiv_q_ui; import "integer-gmp" __gmpz_fdiv_r; +import "integer-gmp" __gmpz_fdiv_r_ui; import "integer-gmp" __gmpz_tdiv_qr; import "integer-gmp" __gmpz_tdiv_qr_ui; import "integer-gmp" __gmpz_fdiv_qr; +import "integer-gmp" __gmpz_fdiv_qr_ui; import "integer-gmp" __gmpz_divexact; +import "integer-gmp" __gmpz_divexact_ui; import "integer-gmp" __gmpz_and; import "integer-gmp" __gmpz_xor; import "integer-gmp" __gmpz_ior; @@ -602,8 +606,11 @@ GMP_TAKE1_UL1_RET1(integer_cmm_quotIntegerWordzh, __gmpz_tdiv_q_ui) GMP_TAKE2_RET1(integer_cmm_remIntegerzh, __gmpz_tdiv_r) GMP_TAKE1_UL1_RET1(integer_cmm_remIntegerWordzh, __gmpz_tdiv_r_ui) GMP_TAKE2_RET1(integer_cmm_divIntegerzh, __gmpz_fdiv_q) +GMP_TAKE1_UL1_RET1(integer_cmm_divIntegerWordzh, __gmpz_fdiv_q_ui) GMP_TAKE2_RET1(integer_cmm_modIntegerzh, __gmpz_fdiv_r) +GMP_TAKE1_UL1_RET1(integer_cmm_modIntegerWordzh, __gmpz_fdiv_r_ui) GMP_TAKE2_RET1(integer_cmm_divExactIntegerzh, __gmpz_divexact) +GMP_TAKE1_UL1_RET1(integer_cmm_divExactIntegerWordzh, __gmpz_divexact_ui) GMP_TAKE2_RET1(integer_cmm_andIntegerzh, __gmpz_and) GMP_TAKE2_RET1(integer_cmm_orIntegerzh, __gmpz_ior) GMP_TAKE2_RET1(integer_cmm_xorIntegerzh, __gmpz_xor) @@ -615,6 +622,7 @@ GMP_TAKE1_RET1(integer_cmm_complementIntegerzh, __gmpz_com) GMP_TAKE2_RET2(integer_cmm_quotRemIntegerzh, __gmpz_tdiv_qr) GMP_TAKE1_UL1_RET2(integer_cmm_quotRemIntegerWordzh,__gmpz_tdiv_qr_ui) GMP_TAKE2_RET2(integer_cmm_divModIntegerzh, __gmpz_fdiv_qr) +GMP_TAKE1_UL1_RET2(integer_cmm_divModIntegerWordzh, __gmpz_fdiv_qr_ui) GMP_TAKE3_RET1(integer_cmm_powModIntegerzh, __gmpz_powm) GMP_TAKE3_RET1(integer_cmm_powModSecIntegerzh, __gmpz_powm_sec) From git at git.haskell.org Mon Jan 13 16:35:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 13 Jan 2014 16:35:42 +0000 (UTC) Subject: [commit: ghc] master: Adapt perf values due to [cbde8627/integer-gmp] (8a0f1d2) Message-ID: <20140113163542.984892406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/8a0f1d2f8336cf6c63d32b76f22df8ee4407f19e/ghc >--------------------------------------------------------------- commit 8a0f1d2f8336cf6c63d32b76f22df8ee4407f19e Author: Herbert Valerio Riedel Date: Mon Jan 13 17:32:03 2014 +0100 Adapt perf values due to [cbde8627/integer-gmp] These are slight improvements due to optimizations in `integer-gmp` (#8647) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 8a0f1d2f8336cf6c63d32b76f22df8ee4407f19e testsuite/tests/perf/compiler/all.T | 3 ++- testsuite/tests/perf/should_run/all.T | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index 34eb867..a539936 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -186,13 +186,14 @@ test('T4801', # 2013-02-10: 11207828 (x86/OSX) # (some date): 11139444 # 2013-11-13: 11829000 (x86/Windows, 64bit machine) - (wordsize(64), 25166280, 10)]), + (wordsize(64), 22646000, 10)]), # prev: 20486256 (amd64/OS X) # 30/08/2012: 17305600--20391920 (varies a lot) # 19/10/2012: 26882576 (-fPIC turned on) # 19/10/2012: 18619912 (-fPIC turned off) # 24/12/2012: 21657520 (perhaps gc sampling time wibbles?) # 10/01/2014: 25166280 + # 13/01/2014: 22646000 (mostly due to #8647) only_ways(['normal']), extra_hc_opts('-static') ], diff --git a/testsuite/tests/perf/should_run/all.T b/testsuite/tests/perf/should_run/all.T index 0cb1174..8966310 100644 --- a/testsuite/tests/perf/should_run/all.T +++ b/testsuite/tests/perf/should_run/all.T @@ -239,10 +239,11 @@ test('T7257', test('Conversions', [stats_num_field('bytes allocated', - [(wordsize(32), 78374, 2), + [(wordsize(32), 76768, 2), # 2012-12-18: 55316 Guessed 64-bit value / 2 # 2013-02-10: 77472 (x86/OSX) # 2013-02-10: 79276 (x86/Windows) + # 2014-01-13: 76768 (x86/Linux) due to #8647 (wordsize(64), 110632, 5)]), # 2012-12-18: 109608 (amd64/OS X) From git at git.haskell.org Mon Jan 13 20:32:59 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 13 Jan 2014 20:32:59 +0000 (UTC) Subject: [commit: ghc] master: Remove obsolete declarations from `MiscClosures.h` (ed86b1a) Message-ID: <20140113203259.587CC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/ed86b1a3140ee6a275a6047fc53f509a4b1ab30e/ghc >--------------------------------------------------------------- commit ed86b1a3140ee6a275a6047fc53f509a4b1ab30e Author: Herbert Valerio Riedel Date: Mon Jan 13 16:42:58 2014 +0100 Remove obsolete declarations from `MiscClosures.h` When `integer-gmp` was moved out of the RTS (via 1b61c2db6a8d6627577bcd7876474a0c5bd1eedb) these declarations were missed. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- ed86b1a3140ee6a275a6047fc53f509a4b1ab30e includes/stg/MiscClosures.h | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/includes/stg/MiscClosures.h b/includes/stg/MiscClosures.h index fdd50eb..f8c8f0d 100644 --- a/includes/stg/MiscClosures.h +++ b/includes/stg/MiscClosures.h @@ -335,42 +335,9 @@ RTS_FUN_DECL(StgReturn); PrimOps -------------------------------------------------------------------------- */ -RTS_FUN_DECL(stg_plusIntegerzh); -RTS_FUN_DECL(stg_minusIntegerzh); -RTS_FUN_DECL(stg_timesIntegerzh); -RTS_FUN_DECL(stg_gcdIntegerzh); -RTS_FUN_DECL(stg_quotRemIntegerzh); -RTS_FUN_DECL(stg_quotIntegerzh); -RTS_FUN_DECL(stg_remIntegerzh); -RTS_FUN_DECL(stg_divExactIntegerzh); -RTS_FUN_DECL(stg_divModIntegerzh); - -RTS_FUN_DECL(stg_cmpIntegerIntzh); -RTS_FUN_DECL(stg_cmpIntegerzh); -RTS_FUN_DECL(stg_integer2Intzh); -RTS_FUN_DECL(stg_integer2Wordzh); -RTS_FUN_DECL(stg_gcdIntegerIntzh); -RTS_FUN_DECL(stg_gcdIntzh); - -RTS_FUN_DECL(stg_int2Integerzh); -RTS_FUN_DECL(stg_word2Integerzh); - RTS_FUN_DECL(stg_decodeFloatzuIntzh); -RTS_FUN_DECL(stg_decodeDoublezh); RTS_FUN_DECL(stg_decodeDoublezu2Intzh); -RTS_FUN_DECL(stg_andIntegerzh); -RTS_FUN_DECL(stg_orIntegerzh); -RTS_FUN_DECL(stg_xorIntegerzh); -RTS_FUN_DECL(stg_complementIntegerzh); - -#if SIZEOF_HSINT == 4 - -RTS_FUN_DECL(stg_int64ToIntegerzh); -RTS_FUN_DECL(stg_word64ToIntegerzh); - -#endif - RTS_FUN_DECL(stg_unsafeThawArrayzh); RTS_FUN_DECL(stg_casArrayzh); RTS_FUN_DECL(stg_newByteArrayzh); From git at git.haskell.org Tue Jan 14 01:35:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 01:35:17 +0000 (UTC) Subject: [commit: ghc] master: Regenerate core-spec.pdf. (f9892b2) Message-ID: <20140114013517.9684A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/f9892b24c740628a54f5ebdd89e2fd5f72590522/ghc >--------------------------------------------------------------- commit f9892b24c740628a54f5ebdd89e2fd5f72590522 Author: Richard Eisenberg Date: Mon Jan 13 20:32:35 2014 -0500 Regenerate core-spec.pdf. This applies the changes in commit a924debcbb3dc5c004f988fcc1b480a01ba276dd to the PDF file. >--------------------------------------------------------------- f9892b24c740628a54f5ebdd89e2fd5f72590522 docs/core-spec/core-spec.pdf | Bin 339836 -> 339498 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/core-spec/core-spec.pdf b/docs/core-spec/core-spec.pdf index 2b9c13d..b9a9f4b 100644 Binary files a/docs/core-spec/core-spec.pdf and b/docs/core-spec/core-spec.pdf differ From git at git.haskell.org Tue Jan 14 09:46:40 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:46:40 +0000 (UTC) Subject: [commit: ghc] master: Update .gitignore again (91fd784) Message-ID: <20140114094640.E295B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/91fd78468f77f3b512efbc9a3463d0cff558e7fa/ghc >--------------------------------------------------------------- commit 91fd78468f77f3b512efbc9a3463d0cff558e7fa Author: Austin Seipp Date: Mon Jan 13 06:33:03 2014 -0600 Update .gitignore again Signed-off-by: Austin Seipp >--------------------------------------------------------------- 91fd78468f77f3b512efbc9a3463d0cff558e7fa testsuite/.gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/testsuite/.gitignore b/testsuite/.gitignore index 7bd71c9..1e14dc1 100644 --- a/testsuite/.gitignore +++ b/testsuite/.gitignore @@ -44,7 +44,9 @@ tests/**/*.ps *o *.hi *.dll - +*.dylib +*.so +*.hpc.* *bindisttest_install___dir_bin_ghc.mk *bindisttest_install___dir_bin_ghc.exe.mk mk/ghcconfig_*_inplace_bin_ghc-stage2.mk From git at git.haskell.org Tue Jan 14 09:46:43 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:46:43 +0000 (UTC) Subject: [commit: ghc] master: Fix T3333 (abea97b) Message-ID: <20140114094643.0CEB02406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/abea97b64cf488b3d18feca844d09f7a466e81d5/ghc >--------------------------------------------------------------- commit abea97b64cf488b3d18feca844d09f7a466e81d5 Author: Austin Seipp Date: Mon Jan 13 08:29:23 2014 -0600 Fix T3333 Weak symbols work with the dynamic linker, not just the linux static linker (c.f. Mac OS X.) Signed-off-by: Austin Seipp >--------------------------------------------------------------- abea97b64cf488b3d18feca844d09f7a466e81d5 testsuite/tests/ghci/linking/all.T | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/testsuite/tests/ghci/linking/all.T b/testsuite/tests/ghci/linking/all.T index 38ec046..eba2b8a 100644 --- a/testsuite/tests/ghci/linking/all.T +++ b/testsuite/tests/ghci/linking/all.T @@ -42,6 +42,8 @@ test('ghcilink006', ['$MAKE -s --no-print-directory ghcilink006']) test('T3333', - [extra_clean('T3333.o'), unless(doing_ghci, skip), unless(opsys('linux'), expect_broken(3333))], + [extra_clean('T3333.o'), + unless(doing_ghci, skip), + unless(opsys('linux') or ghci_dynamic(), expect_broken(3333))], run_command, ['$MAKE -s --no-print-directory T3333']) From git at git.haskell.org Tue Jan 14 09:46:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:46:45 +0000 (UTC) Subject: [commit: ghc] master: Disable -dynamic-too on Windows (4d5d68a) Message-ID: <20140114094645.8D0332406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4d5d68a87c282dc4bdac146685b2705de8fdbe3a/ghc >--------------------------------------------------------------- commit 4d5d68a87c282dc4bdac146685b2705de8fdbe3a Author: Austin Seipp Date: Mon Jan 13 02:15:35 2014 -0600 Disable -dynamic-too on Windows Signed-off-by: Austin Seipp >--------------------------------------------------------------- 4d5d68a87c282dc4bdac146685b2705de8fdbe3a compiler/main/DriverPipeline.hs | 18 ++++++++++-------- compiler/main/DynFlags.hs | 5 +++++ mk/config.mk.in | 1 + 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index 3cc176c..acd231e 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -596,14 +596,16 @@ runPipeline stop_phase hsc_env0 (input_fn, mb_phase) -- -dynamic-too, but couldn't do the -dynamic-too fast -- path, then rerun the pipeline for the dyn way let dflags = extractDynFlags hsc_env - when isHaskellishFile $ whenCannotGenerateDynamicToo dflags $ do - debugTraceMsg dflags 4 - (text "Running the pipeline again for -dynamic-too") - let dflags' = dynamicTooMkDynamicDynFlags dflags - hsc_env' <- newHscEnv dflags' - _ <- runPipeline' start_phase hsc_env' env input_fn - maybe_loc maybe_stub_o - return () + -- NB: Currently disabled on Windows (ref #7134, #8228, and #5987) + when (not $ platformOS (targetPlatform dflags) == OSMinGW32) $ do + when isHaskellishFile $ whenCannotGenerateDynamicToo dflags $ do + debugTraceMsg dflags 4 + (text "Running the pipeline again for -dynamic-too") + let dflags' = dynamicTooMkDynamicDynFlags dflags + hsc_env' <- newHscEnv dflags' + _ <- runPipeline' start_phase hsc_env' env input_fn + maybe_loc maybe_stub_o + return () return r runPipeline' diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 734e7e9..1c0a923 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -3614,6 +3614,11 @@ tARGET_MAX_WORD dflags -- Be careful not to introduce potential loops! makeDynFlagsConsistent :: DynFlags -> (DynFlags, [Located String]) makeDynFlagsConsistent dflags + -- Disable -dynamic-too on Windows (#8228, #7134, #5987) + | os == OSMinGW32 && gopt Opt_BuildDynamicToo dflags + = let dflags' = gopt_unset dflags Opt_BuildDynamicToo + warn = "-dynamic-too is not supported on Windows" + in loop dflags' warn | hscTarget dflags == HscC && not (platformUnregisterised (targetPlatform dflags)) = if cGhcWithNativeCodeGen == "YES" diff --git a/mk/config.mk.in b/mk/config.mk.in index 59d48c4..350ea69 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -137,6 +137,7 @@ DYNAMIC_TOO = YES ifeq "$(TargetOS_CPP)" "mingw32" # This doesn't work on Windows yet DYNAMIC_GHC_PROGRAMS = NO +DYNAMIC_TOO=NO else ifeq "$(TargetOS_CPP)" "freebsd" # FreeBSD cannot do proper resolution for $ORIGIN (due to a bug in # rtld(1)), so disable it by default (see #7819). From git at git.haskell.org Tue Jan 14 09:46:47 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:46:47 +0000 (UTC) Subject: [commit: ghc] master: Fix the behavior of ae87e122 (#8180) (7df27d5) Message-ID: <20140114094648.4BE2B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/7df27d52cffa915886b9f2860e961a0e7bb5dd1e/ghc >--------------------------------------------------------------- commit 7df27d52cffa915886b9f2860e961a0e7bb5dd1e Author: Austin Seipp Date: Mon Jan 13 02:52:35 2014 -0600 Fix the behavior of ae87e122 (#8180) As Simon pointed out, we should only enable -dynamic-too in the template haskell case if GHC is dynamic and we're not already compiling in the dyn way (the dyn way will be switched on by -dynamic-too later in the pipeline anyway - see pipeLoop) Signed-off-by: Austin Seipp >--------------------------------------------------------------- 7df27d52cffa915886b9f2860e961a0e7bb5dd1e compiler/main/DriverPipeline.hs | 4 ++-- compiler/main/DynFlags.hs | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index acd231e..df0f8e6 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -139,10 +139,10 @@ compileOne' m_tc_result mHscMessage input_fnpp = ms_hspp_file summary mod_graph = hsc_mod_graph hsc_env0 needsTH = any (xopt Opt_TemplateHaskell . ms_hspp_opts) mod_graph - + isDynWay = any (== WayDyn) (ways dflags0) -- #8180 - when using TemplateHaskell, switch on -dynamic-too so -- the linker can correctly load the object files. - let dflags1 = if needsTH + let dflags1 = if needsTH && dynamicGhc && not isDynWay then gopt_set dflags0 Opt_BuildDynamicToo else dflags0 diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 1c0a923..193303e 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -114,11 +114,9 @@ module DynFlags ( compilerInfo, #ifdef GHCI --- Only in stage 2 can we be sure that the RTS --- exposes the appropriate runtime boolean rtsIsProfiled, - dynamicGhc, #endif + dynamicGhc, #include "../includes/dist-derivedconstants/header/GHCConstantsHaskellExports.hs" bLOCK_SIZE_W, From git at git.haskell.org Tue Jan 14 09:46:50 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:46:50 +0000 (UTC) Subject: [commit: ghc] master: Update .gitignore (01b85a8) Message-ID: <20140114094650.7CC1D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/01b85a8419fffe93707cc83968c40351b969cd34/ghc >--------------------------------------------------------------- commit 01b85a8419fffe93707cc83968c40351b969cd34 Author: Austin Seipp Date: Mon Jan 13 06:33:50 2014 -0600 Update .gitignore Signed-off-by: Austin Seipp >--------------------------------------------------------------- 01b85a8419fffe93707cc83968c40351b969cd34 .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 71c297a..57774d1 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,9 @@ Thumbs.db *.a *.o.cmd *.depend* +*.dyn_o +*.dyn_hi + log tags From git at git.haskell.org Tue Jan 14 09:46:52 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:46:52 +0000 (UTC) Subject: [commit: ghc] master: Tweak OS X/amd64 perf numbers. (5949489) Message-ID: <20140114094652.F24FB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/5949489985ebbdd017ceed0e21358362eb653693/ghc >--------------------------------------------------------------- commit 5949489985ebbdd017ceed0e21358362eb653693 Author: Austin Seipp Date: Mon Jan 13 06:32:43 2014 -0600 Tweak OS X/amd64 perf numbers. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 5949489985ebbdd017ceed0e21358362eb653693 testsuite/tests/perf/compiler/all.T | 7 ++++--- testsuite/tests/perf/haddock/all.T | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index a539936..19d2b00 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -153,8 +153,9 @@ test('T4801', [ # expect_broken(5224), # temporarily unbroken (#5227) compiler_stats_num_field('peak_megabytes_allocated',# Note [residency] - [(platform('x86_64-apple-darwin'), 58, 1), + [(platform('x86_64-apple-darwin'), 70, 1), # expected value: 58 (amd64/OS X) + # 13/01/2014 - 70 (wordsize(32), 30, 20), (wordsize(64), 60, 20)]), # prev: 50 (amd64/Linux) @@ -166,7 +167,7 @@ test('T4801', # (^ REASON UNKNOWN!) compiler_stats_num_field('bytes allocated', - [(platform('x86_64-apple-darwin'), 510938976, 5), + [(platform('x86_64-apple-darwin'), 464872776, 5), # expected value: 510938976 (amd64/OS X): (wordsize(32), 185669232, 10), @@ -178,7 +179,7 @@ test('T4801', # 19/10/2012: 392409984 (amd64/Linux) (-fPIC turned off) compiler_stats_num_field('max_bytes_used', - [(platform('x86_64-apple-darwin'), 21657520, 5), + [(platform('x86_64-apple-darwin'), 25145320, 5), (wordsize(32), 11829000, 15), # 9651948 (x86/OSX) # 10290952 (windows) diff --git a/testsuite/tests/perf/haddock/all.T b/testsuite/tests/perf/haddock/all.T index 6737109..9936ede 100644 --- a/testsuite/tests/perf/haddock/all.T +++ b/testsuite/tests/perf/haddock/all.T @@ -82,7 +82,7 @@ test('haddock.Cabal', # 2012-08-14: 47461532 (x86/OSX) # 2013-02-10: 46563344 (x86/OSX) ,stats_num_field('bytes allocated', - [(wordsize(64), 3979151552, 2) + [(wordsize(64), 3979151552, 5) # 2012-08-14: 3255435248 (amd64/Linux) # 2012-08-29: 3324606664 (amd64/Linux, new codegen) # 2012-10-08: 3373401360 (amd64/Linux) From git at git.haskell.org Tue Jan 14 09:46:55 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:46:55 +0000 (UTC) Subject: [commit: ghc] master: genprimopcode: Applicative instance for ParserM (dfc32cd5) Message-ID: <20140114094655.EA82F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/dfc32cd54e1b6d624ebb9d26772ce787aac3421d/ghc >--------------------------------------------------------------- commit dfc32cd54e1b6d624ebb9d26772ce787aac3421d Author: Austin Seipp Date: Mon Jan 13 17:57:47 2014 -0600 genprimopcode: Applicative instance for ParserM Signed-off-by: Austin Seipp >--------------------------------------------------------------- dfc32cd54e1b6d624ebb9d26772ce787aac3421d utils/genprimopcode/ParserM.hs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/utils/genprimopcode/ParserM.hs b/utils/genprimopcode/ParserM.hs index aaaf6ac..0a69db6 100644 --- a/utils/genprimopcode/ParserM.hs +++ b/utils/genprimopcode/ParserM.hs @@ -16,13 +16,21 @@ module ParserM ( -- Other happyError ) where - +import Control.Applicative +import Control.Monad (ap, liftM) import Data.Word (Word8) import Data.Char (ord) -- Parser Monad newtype ParserM a = ParserM (AlexInput -> St -> Either String (AlexInput, St, a)) +instance Functor ParserM where + fmap = liftM + +instance Applicative ParserM where + pure = return + (<*>) = ap + instance Monad ParserM where ParserM m >>= k = ParserM $ \i s -> case m i s of Right (i', s', x) -> From git at git.haskell.org Tue Jan 14 09:46:58 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:46:58 +0000 (UTC) Subject: [commit: ghc] master: Fix binary linking errors on Solaris (b9b94ec) Message-ID: <20140114094659.0D6A22406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/b9b94ec82d9125da47c619c69e626120b3e60457/ghc >--------------------------------------------------------------- commit b9b94ec82d9125da47c619c69e626120b3e60457 Author: Karel Gardas Date: Mon Jan 13 17:00:18 2014 -0600 Fix binary linking errors on Solaris The -u option must be placed before libraries which define the necessary symbols. Signed-off-by: Austin Seipp >--------------------------------------------------------------- b9b94ec82d9125da47c619c69e626120b3e60457 compiler/main/DriverPipeline.hs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index df0f8e6..a95c179 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -1800,7 +1800,16 @@ linkBinary' staticLink dflags o_files dep_packages = do -- HS packages, because libtool doesn't accept other options. -- In the case of iOS these need to be added by hand to the -- final link in Xcode. - else package_hs_libs ++ extra_libs ++ other_flags + else other_flags ++ package_hs_libs ++ extra_libs -- -Wl,-u, contained in other_flags + -- needs to be put before -l, + -- otherwise Solaris linker fails linking + -- a binary with unresolved symbols in RTS + -- which are defined in base package + -- the reason for this is a note in ld(1) about + -- '-u' option: "The placement of this option + -- on the command line is significant. + -- This option must be placed before the library + -- that defines the symbol." pkg_framework_path_opts <- if platformUsesFrameworks platform From git at git.haskell.org Tue Jan 14 09:47:01 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:01 +0000 (UTC) Subject: [commit: ghc] master: Fix T8172 for Win32 (again) (1c43b74) Message-ID: <20140114094701.7A7D12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/1c43b743bc7594bd368ece5c46793b9bacaaf0a3/ghc >--------------------------------------------------------------- commit 1c43b743bc7594bd368ece5c46793b9bacaaf0a3 Author: Austin Seipp Date: Mon Jan 13 09:05:07 2014 -0600 Fix T8172 for Win32 (again) Signed-off-by: Austin Seipp >--------------------------------------------------------------- 1c43b743bc7594bd368ece5c46793b9bacaaf0a3 testsuite/tests/ghci/scripts/T8172.stdout-ws-32 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/testsuite/tests/ghci/scripts/T8172.stdout-ws-32 b/testsuite/tests/ghci/scripts/T8172.stdout-ws-32 index 16144de..1f6138a 100644 --- a/testsuite/tests/ghci/scripts/T8172.stdout-ws-32 +++ b/testsuite/tests/ghci/scripts/T8172.stdout-ws-32 @@ -1,11 +1,11 @@ current working directory: - C:/ + C:\ module import search paths: . current working directory: - C:/ + C:\ module import search paths: none current working directory: - C:/ + C:\ module import search paths: / From git at git.haskell.org Tue Jan 14 09:47:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:04 +0000 (UTC) Subject: [commit: ghc] master: Add T8172 output for Win32 (d4c2397) Message-ID: <20140114094704.C7C9D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d4c23975efb9eddea0a574569925aee77b366692/ghc >--------------------------------------------------------------- commit d4c23975efb9eddea0a574569925aee77b366692 Author: Austin Seipp Date: Mon Jan 13 09:01:29 2014 -0600 Add T8172 output for Win32 Signed-off-by: Austin Seipp >--------------------------------------------------------------- d4c23975efb9eddea0a574569925aee77b366692 .../tests/ghci/scripts/{T8172.stdout => T8172.stdout-ws-32} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/testsuite/tests/ghci/scripts/T8172.stdout b/testsuite/tests/ghci/scripts/T8172.stdout-ws-32 similarity index 90% copy from testsuite/tests/ghci/scripts/T8172.stdout copy to testsuite/tests/ghci/scripts/T8172.stdout-ws-32 index 947376f..16144de 100644 --- a/testsuite/tests/ghci/scripts/T8172.stdout +++ b/testsuite/tests/ghci/scripts/T8172.stdout-ws-32 @@ -1,11 +1,11 @@ current working directory: - / + C:/ module import search paths: . current working directory: - / + C:/ module import search paths: none current working directory: - / + C:/ module import search paths: / From git at git.haskell.org Tue Jan 14 09:47:07 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:07 +0000 (UTC) Subject: [commit: ghc] master: Fix T7859 mingw32 output (8eae725) Message-ID: <20140114094707.56C4F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/8eae72598b9f9c56acb15e66f806c3572f71bbcb/ghc >--------------------------------------------------------------- commit 8eae72598b9f9c56acb15e66f806c3572f71bbcb Author: Austin Seipp Date: Mon Jan 13 09:20:47 2014 -0600 Fix T7859 mingw32 output Signed-off-by: Austin Seipp >--------------------------------------------------------------- 8eae72598b9f9c56acb15e66f806c3572f71bbcb testsuite/tests/runghc/T7859.stderr-mingw32 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/tests/runghc/T7859.stderr-mingw32 b/testsuite/tests/runghc/T7859.stderr-mingw32 index 8d6b01e..cc02c50 100644 --- a/testsuite/tests/runghc/T7859.stderr-mingw32 +++ b/testsuite/tests/runghc/T7859.stderr-mingw32 @@ -1 +1 @@ -runghc.exe: defer-type-errors: createProcess: does not exist (No such file or directory) +runghc.exe: defer-type-errors: rawSystem: does not exist (No such file or directory) From git at git.haskell.org Tue Jan 14 09:47:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:09 +0000 (UTC) Subject: [commit: ghc] master: Fix T8526 on Windows (0da3ef2) Message-ID: <20140114094710.861CF2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0da3ef2d1c16273bb47e442ecadda23dfe03e7e9/ghc >--------------------------------------------------------------- commit 0da3ef2d1c16273bb47e442ecadda23dfe03e7e9 Author: Austin Seipp Date: Mon Jan 13 12:02:32 2014 -0600 Fix T8526 on Windows The shell interpretes the quotes incorrectly. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 0da3ef2d1c16273bb47e442ecadda23dfe03e7e9 testsuite/tests/driver/T8526/T8526.script | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/testsuite/tests/driver/T8526/T8526.script b/testsuite/tests/driver/T8526/T8526.script index 4c9fce5..d4a2434 100644 --- a/testsuite/tests/driver/T8526/T8526.script +++ b/testsuite/tests/driver/T8526/T8526.script @@ -1,10 +1,10 @@ :set -fforce-recomp :set -v1 -:! echo 'a = True' > A.inc +:! echo a = True > A.inc :load A a -:! echo 'a = False' > A.inc +:! echo a = False > A.inc :reload a From git at git.haskell.org Tue Jan 14 09:47:12 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:12 +0000 (UTC) Subject: [commit: ghc] master: Add Solaris linker support to SysTools (59182e4) Message-ID: <20140114094712.3525F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/59182e42bb0922238faba8fff3c5c20966d4af14/ghc >--------------------------------------------------------------- commit 59182e42bb0922238faba8fff3c5c20966d4af14 Author: Karel Gardas Date: Mon Jan 13 16:59:47 2014 -0600 Add Solaris linker support to SysTools Signed-off-by: Austin Seipp >--------------------------------------------------------------- 59182e42bb0922238faba8fff3c5c20966d4af14 compiler/main/DynFlags.hs | 1 + compiler/main/SysTools.lhs | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 193303e..20b61c1 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -3728,6 +3728,7 @@ data LinkerInfo = GnuLD [Option] | GnuGold [Option] | DarwinLD [Option] + | SolarisLD [Option] | UnknownLD deriving Eq diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs index d0545fd..510475e 100644 --- a/compiler/main/SysTools.lhs +++ b/compiler/main/SysTools.lhs @@ -638,6 +638,7 @@ neededLinkArgs :: LinkerInfo -> [Option] neededLinkArgs (GnuLD o) = o neededLinkArgs (GnuGold o) = o neededLinkArgs (DarwinLD o) = o +neededLinkArgs (SolarisLD o) = o neededLinkArgs UnknownLD = [] -- Grab linker info and cache it in DynFlags. @@ -676,6 +677,14 @@ getLinkerInfo' dflags = do -- Process the executable call info <- catchIO (do case os of + OSSolaris2 -> + -- Solaris uses its own Solaris linker. Even all + -- GNU C are receommended to configure with Solaris + -- linker instead of using GNU binutils linker. Also + -- all GCC distributed with Solaris follows this rule + -- precisely so we assume here, the Solaris linker is + -- used. + return $ SolarisLD [] OSDarwin -> -- Darwin has neither GNU Gold or GNU LD, but a strange linker -- that doesn't support --version. We can just assume that's From git at git.haskell.org Tue Jan 14 09:47:14 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:14 +0000 (UTC) Subject: [commit: ghc] master: Mark static001 as failing (cd3e345) Message-ID: <20140114094714.BB3FE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/cd3e3455d4c5307ab4f089209181d7c8e457173d/ghc >--------------------------------------------------------------- commit cd3e3455d4c5307ab4f089209181d7c8e457173d Author: Austin Seipp Date: Mon Jan 13 08:40:28 2014 -0600 Mark static001 as failing Right now the stderr output doesn't match because we don't suppress some libtool errors, but these seem to be benign. In the mean time, just mark the text failing (soon to be marked expect_broken) Signed-off-by: Austin Seipp >--------------------------------------------------------------- cd3e3455d4c5307ab4f089209181d7c8e457173d testsuite/tests/driver/all.T | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/tests/driver/all.T b/testsuite/tests/driver/all.T index 622aafd..aa4bc9b 100644 --- a/testsuite/tests/driver/all.T +++ b/testsuite/tests/driver/all.T @@ -312,7 +312,7 @@ else: only_darwin = skip test('static001', - [only_darwin, + [only_darwin, expect_fail, extra_clean(['Static001.hi', 'Static001.o', 'liba.a', 'Static001_stub.h', 'Static001_stub.o'])], run_command, ['$MAKE -s --no-print-directory static001']) From git at git.haskell.org Tue Jan 14 09:47:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:17 +0000 (UTC) Subject: [commit: ghc] master: Mark T8602 as expect_fail on Windows (769c75a) Message-ID: <20140114094718.415332406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/769c75aba2ea688166170eabb5b12390911b60a2/ghc >--------------------------------------------------------------- commit 769c75aba2ea688166170eabb5b12390911b60a2 Author: Austin Seipp Date: Mon Jan 13 12:23:05 2014 -0600 Mark T8602 as expect_fail on Windows Windows runs the preprocessor using runInteractiveProcess and can't properly run the generated shell script as a result, since it can't recognize e.g. a shebang or anything. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 769c75aba2ea688166170eabb5b12390911b60a2 testsuite/tests/driver/T8602/T8602.T | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/testsuite/tests/driver/T8602/T8602.T b/testsuite/tests/driver/T8602/T8602.T index 87fa8b6..7706031 100644 --- a/testsuite/tests/driver/T8602/T8602.T +++ b/testsuite/tests/driver/T8602/T8602.T @@ -1 +1,4 @@ -test('T8602', extra_clean(['t8602.sh']), ghci_script, ['T8602.script']) +test('T8602', + [extra_clean(['t8602.sh']), + when(opsys('mingw32'), expect_fail)], + ghci_script, ['T8602.script']) From git at git.haskell.org Tue Jan 14 09:47:20 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:20 +0000 (UTC) Subject: [commit: ghc] master: Fix AMP warnings for MaybeT/MaybeErr (10d36f3) Message-ID: <20140114094720.1C9342406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/10d36f3cb20a85a5cf7f11ba1d6a0ac1bb6b1a7f/ghc >--------------------------------------------------------------- commit 10d36f3cb20a85a5cf7f11ba1d6a0ac1bb6b1a7f Author: Austin Seipp Date: Mon Jan 13 18:39:10 2014 -0600 Fix AMP warnings for MaybeT/MaybeErr Signed-off-by: Austin Seipp >--------------------------------------------------------------- 10d36f3cb20a85a5cf7f11ba1d6a0ac1bb6b1a7f compiler/utils/Maybes.lhs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/compiler/utils/Maybes.lhs b/compiler/utils/Maybes.lhs index 859908e..3c943bd 100644 --- a/compiler/utils/Maybes.lhs +++ b/compiler/utils/Maybes.lhs @@ -20,7 +20,8 @@ module Maybes ( MaybeT(..) ) where - +import Control.Applicative +import Control.Monad import Data.Maybe infixr 4 `orElse` @@ -95,6 +96,10 @@ newtype MaybeT m a = MaybeT {runMaybeT :: m (Maybe a)} instance Functor m => Functor (MaybeT m) where fmap f x = MaybeT $ fmap (fmap f) $ runMaybeT x +instance (Monad m, Functor m) => Applicative (MaybeT m) where + pure = return + (<*>) = ap + instance Monad m => Monad (MaybeT m) where return = MaybeT . return . Just x >>= f = MaybeT $ runMaybeT x >>= maybe (return Nothing) (runMaybeT . f) @@ -112,6 +117,13 @@ instance Monad m => Monad (MaybeT m) where \begin{code} data MaybeErr err val = Succeeded val | Failed err +instance Functor (MaybeErr err) where + fmap = liftM + +instance Applicative (MaybeErr err) where + pure = return + (<*>) = ap + instance Monad (MaybeErr err) where return v = Succeeded v Succeeded v >>= k = k v From git at git.haskell.org Tue Jan 14 09:47:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:22 +0000 (UTC) Subject: [commit: ghc] master: Fix Windows binary-dist target (aae5931) Message-ID: <20140114094722.EFAAC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/aae59319436966c90b7fd820bf5bfcdd38854b0d/ghc >--------------------------------------------------------------- commit aae59319436966c90b7fd820bf5bfcdd38854b0d Author: Austin Seipp Date: Tue Jan 14 02:31:31 2014 -0600 Fix Windows binary-dist target I'm not entirely sure what the intention of this code was, but it was quite old, and the binary distribution for Windows seems to work OK nonetheless. Signed-off-by: Austin Seipp >--------------------------------------------------------------- aae59319436966c90b7fd820bf5bfcdd38854b0d Makefile | 3 --- 1 file changed, 3 deletions(-) diff --git a/Makefile b/Makefile index 5425699..ce67359 100644 --- a/Makefile +++ b/Makefile @@ -72,9 +72,6 @@ endif $(MAKE) -r --no-print-directory -f ghc.mk phase=final $@ binary-dist: binary-dist-prep -ifeq "$(mingw32_TARGET_OS)" "1" - mv bindistprep/*.exe . -endif mv bindistprep/*.tar.bz2 . binary-dist-prep: From git at git.haskell.org Tue Jan 14 09:47:25 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:25 +0000 (UTC) Subject: [commit: ghc] master: Fix TyCon import (f73fc7d) Message-ID: <20140114094725.56F842406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/f73fc7d5e4003d628fd2b15bd4e48bae12dd8453/ghc >--------------------------------------------------------------- commit f73fc7d5e4003d628fd2b15bd4e48bae12dd8453 Author: Austin Seipp Date: Mon Jan 13 19:20:58 2014 -0600 Fix TyCon import Signed-off-by: Austin Seipp >--------------------------------------------------------------- f73fc7d5e4003d628fd2b15bd4e48bae12dd8453 compiler/specialise/SpecConstr.lhs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/specialise/SpecConstr.lhs b/compiler/specialise/SpecConstr.lhs index 6332c6b..060c705 100644 --- a/compiler/specialise/SpecConstr.lhs +++ b/compiler/specialise/SpecConstr.lhs @@ -57,9 +57,9 @@ import PrelNames ( specTyConName ) -- See Note [Forcing specialisation] #ifndef GHCI -import TyCon ( TyCon ) type SpecConstrAnnotation = () #else +import TyCon ( TyCon ) import GHC.Exts( SpecConstrAnnotation(..) ) #endif \end{code} From git at git.haskell.org Tue Jan 14 09:47:30 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:30 +0000 (UTC) Subject: [commit: ghc] master: Fix ./validate failure due to -Werror (4571b40) Message-ID: <20140114094730.269D02406D@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4571b4026248f5b1dc94a46d08b7f88164a5dce2/ghc >--------------------------------------------------------------- commit 4571b4026248f5b1dc94a46d08b7f88164a5dce2 Author: Austin Seipp Date: Mon Jan 13 19:15:51 2014 -0600 Fix ./validate failure due to -Werror This occurs when doing bootstraps with the 7.7 compiler. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 4571b4026248f5b1dc94a46d08b7f88164a5dce2 compiler/specialise/SpecConstr.lhs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/specialise/SpecConstr.lhs b/compiler/specialise/SpecConstr.lhs index 056044a..6332c6b 100644 --- a/compiler/specialise/SpecConstr.lhs +++ b/compiler/specialise/SpecConstr.lhs @@ -31,7 +31,7 @@ import DataCon import Coercion hiding( substTy, substCo ) import Rules import Type hiding ( substTy ) -import TyCon ( isRecursiveTyCon ) +import TyCon ( isRecursiveTyCon, tyConName ) import Id import MkCore ( mkImpossibleExpr ) import Var @@ -53,11 +53,11 @@ import UniqFM import MonadUtils import Control.Monad ( zipWithM ) import Data.List -import TyCon ( TyCon, tyConName ) import PrelNames ( specTyConName ) -- See Note [Forcing specialisation] #ifndef GHCI +import TyCon ( TyCon ) type SpecConstrAnnotation = () #else import GHC.Exts( SpecConstrAnnotation(..) ) From git at git.haskell.org Tue Jan 14 09:47:27 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:47:27 +0000 (UTC) Subject: [commit: ghc] master: Another AMP fix for Stream (0537cb7) Message-ID: <20140114094727.C14512406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0537cb7e35995cbfb7de2da4b742816328bb71ab/ghc >--------------------------------------------------------------- commit 0537cb7e35995cbfb7de2da4b742816328bb71ab Author: Austin Seipp Date: Mon Jan 13 19:00:47 2014 -0600 Another AMP fix for Stream Signed-off-by: Austin Seipp >--------------------------------------------------------------- 0537cb7e35995cbfb7de2da4b742816328bb71ab compiler/utils/Stream.hs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/compiler/utils/Stream.hs b/compiler/utils/Stream.hs index bfc6f93..47cdee0 100644 --- a/compiler/utils/Stream.hs +++ b/compiler/utils/Stream.hs @@ -11,6 +11,8 @@ module Stream ( collect, fromList, Stream.map, Stream.mapM, Stream.mapAccumL ) where +import Control.Monad +import Control.Applicative -- | -- @Stream m a b@ is a computation in some Monad @m@ that delivers a sequence @@ -37,6 +39,13 @@ module Stream ( -- newtype Stream m a b = Stream { runStream :: m (Either b (a, Stream m a b)) } +instance Monad f => Functor (Stream f a) where + fmap = liftM + +instance Monad m => Applicative (Stream m a) where + pure = return + (<*>) = ap + instance Monad m => Monad (Stream m a) where return a = Stream (return (Left a)) From git at git.haskell.org Tue Jan 14 09:48:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:48:22 +0000 (UTC) Subject: [commit: haddock] master: Fixes #271 (764a6b8) Message-ID: <20140114094822.6D0B52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/764a6b85b686dee3d93e130bd650ee33a985aca2 >--------------------------------------------------------------- commit 764a6b85b686dee3d93e130bd650ee33a985aca2 Author: Mateusz Kowalczyk Date: Mon Jan 13 02:16:54 2014 +0000 Fixes #271 Signed-off-by: Austin Seipp >--------------------------------------------------------------- 764a6b85b686dee3d93e130bd650ee33a985aca2 CHANGES | 2 ++ src/Haddock/Backends/Xhtml.hs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 3e7e8a2..8793c58 100644 --- a/CHANGES +++ b/CHANGES @@ -25,6 +25,8 @@ Changes in version 2.14.0 * {-# OPTIONS_HADDOCK show-extensions #-} pragma will show the GHC extensions enabled in the module. + * Properly render License field (#271) + Changes in version 2.13.2 * Handle HsExplicitListTy in renamer (#213) diff --git a/src/Haddock/Backends/Xhtml.hs b/src/Haddock/Backends/Xhtml.hs index 1b6d7fe..d61478a 100644 --- a/src/Haddock/Backends/Xhtml.hs +++ b/src/Haddock/Backends/Xhtml.hs @@ -203,7 +203,7 @@ moduleInfo iface = entries :: [HtmlTable] entries = mapMaybe doOneEntry [ ("Copyright",hmi_copyright), - ("License",hmi_copyright), + ("License",hmi_license), ("Maintainer",hmi_maintainer), ("Stability",hmi_stability), ("Portability",hmi_portability), From git at git.haskell.org Tue Jan 14 09:49:31 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 09:49:31 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Fix in-tree GMP build (#8497) on OS X Mavericks (d2e957d) Message-ID: <20140114094931.D5CFC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d2e957dac5738cc694e2c6cab7f56c2b486ed1a4/integer-gmp >--------------------------------------------------------------- commit d2e957dac5738cc694e2c6cab7f56c2b486ed1a4 Author: Kazu Yamamoto Date: Mon Jan 13 22:06:03 2014 -0600 Fix in-tree GMP build (#8497) on OS X Mavericks Signed-off-by: Austin Seipp >--------------------------------------------------------------- d2e957dac5738cc694e2c6cab7f56c2b486ed1a4 gmp/ghc.mk | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gmp/ghc.mk b/gmp/ghc.mk index 1ded050..a5d33ab 100644 --- a/gmp/ghc.mk +++ b/gmp/ghc.mk @@ -103,6 +103,14 @@ endif libraries/integer-gmp_dist-install_EXTRA_CC_OPTS += $(gmp_CC_OPTS) +CLANG = $(findstring clang, $(shell $(CC_STAGE1) --version)) + +ifeq "$(CLANG)" "clang" +CCX = $(CLANG) +else +CCX = $(CC_STAGE1) +endif + # 2007-09-26 # set -o igncr # is not a valid command on non-Cygwin-systems. @@ -138,7 +146,7 @@ libraries/integer-gmp/gmp/libgmp.a libraries/integer-gmp/gmp/gmp.h: PATH=`pwd`:$$PATH; \ export PATH; \ cd gmpbuild && \ - CC=$(CC_STAGE1) NM=$(NM) AR=$(AR_STAGE1) $(SHELL) ./configure \ + CC=$(CCX) NM=$(NM) AR=$(AR_STAGE1) $(SHELL) ./configure \ --enable-shared=no \ --host=$(HOSTPLATFORM) --build=$(BUILDPLATFORM) $(MAKE) -C libraries/integer-gmp/gmp/gmpbuild MAKEFLAGS= From git at git.haskell.org Tue Jan 14 12:01:18 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 12:01:18 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Use correct package id for `stg_INTLIKE_closure` import (fbf7ee1) Message-ID: <20140114120118.532602406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/fbf7ee1c1206bf889ac03446055014e4a3359eed/integer-gmp >--------------------------------------------------------------- commit fbf7ee1c1206bf889ac03446055014e4a3359eed Author: Herbert Valerio Riedel Date: Tue Jan 14 12:47:46 2014 +0100 Use correct package id for `stg_INTLIKE_closure` import I'm a bit surprised though this didn't cause linkage errors (the incorrect import statement was introduced in 7bdcadda7e) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- fbf7ee1c1206bf889ac03446055014e4a3359eed cbits/gmp-wrappers.cmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cbits/gmp-wrappers.cmm b/cbits/gmp-wrappers.cmm index 88ce0d1..eb555fd 100644 --- a/cbits/gmp-wrappers.cmm +++ b/cbits/gmp-wrappers.cmm @@ -71,7 +71,7 @@ import "integer-gmp" __gmpz_export; import "integer-gmp" integer_cbits_decodeDouble; -import "integer-gmp" stg_INTLIKE_closure; +import "rts" stg_INTLIKE_closure; /* ----------------------------------------------------------------------------- Arbitrary-precision Integer operations. From git at git.haskell.org Tue Jan 14 12:01:52 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 14 Jan 2014 12:01:52 +0000 (UTC) Subject: [commit: ghc] master: Typo in comment (3e633d9) Message-ID: <20140114120152.9A7182406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/3e633d9b77a50e6f34bdcc556d47b4a09faa1d2d/ghc >--------------------------------------------------------------- commit 3e633d9b77a50e6f34bdcc556d47b4a09faa1d2d Author: Gabor Greif Date: Tue Jan 14 13:01:11 2014 +0100 Typo in comment >--------------------------------------------------------------- 3e633d9b77a50e6f34bdcc556d47b4a09faa1d2d compiler/main/SysTools.lhs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs index 510475e..c179356 100644 --- a/compiler/main/SysTools.lhs +++ b/compiler/main/SysTools.lhs @@ -679,7 +679,7 @@ getLinkerInfo' dflags = do case os of OSSolaris2 -> -- Solaris uses its own Solaris linker. Even all - -- GNU C are receommended to configure with Solaris + -- GNU C are recommended to configure with Solaris -- linker instead of using GNU binutils linker. Also -- all GCC distributed with Solaris follows this rule -- precisely so we assume here, the Solaris linker is From git at git.haskell.org Wed Jan 15 02:20:00 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 02:20:00 +0000 (UTC) Subject: [commit: ghc] master: Turn -XTypeHoles into a (on by default) warning (235fd88) Message-ID: <20140115022000.28C302406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/235fd88a9a35a6ca1aed70ff71291d7b433e45e4/ghc >--------------------------------------------------------------- commit 235fd88a9a35a6ca1aed70ff71291d7b433e45e4 Author: Austin Seipp Date: Tue Jan 14 20:16:26 2014 -0600 Turn -XTypeHoles into a (on by default) warning After some discussion on ghc-devs@ and elsewhere, it seemed favorable to make this change as type holes don't let any invalid programs though, they merely change what the compiler reports in case of certain errors (namely unbound occurrences, or _ appearing on a LHS.) Now, the warning mechanism is controlled by -f[no-]warn-type-errors, just like any other regular warning. Again, on by default. The documentation and tests have been updated accordingly. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 235fd88a9a35a6ca1aed70ff71291d7b433e45e4 compiler/main/DynFlags.hs | 5 +++-- compiler/rename/RnExpr.lhs | 4 ++-- docs/users_guide/7.8.1-notes.xml | 15 ++++++------- docs/users_guide/flags.xml | 13 ++++++------ docs/users_guide/glasgow_exts.xml | 11 +++++----- docs/users_guide/using.xml | 20 ++++++++++++++++++ testsuite/tests/driver/T4437.hs | 1 - testsuite/tests/module/mod71.hs | 1 + testsuite/tests/module/mod71.stderr | 2 +- testsuite/tests/rename/should_fail/rnfail016.hs | 1 + .../tests/rename/should_fail/rnfail016.stderr | 6 +++--- testsuite/tests/typecheck/should_compile/holes.hs | 2 -- .../tests/typecheck/should_compile/holes.stderr | 22 ++++++++++---------- testsuite/tests/typecheck/should_compile/holes2.hs | 2 -- .../tests/typecheck/should_compile/holes2.stderr | 6 +++--- testsuite/tests/typecheck/should_compile/holes3.hs | 2 -- .../tests/typecheck/should_compile/holes3.stderr | 22 ++++++++++---------- 17 files changed, 77 insertions(+), 58 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 235fd88a9a35a6ca1aed70ff71291d7b433e45e4 From git at git.haskell.org Wed Jan 15 08:23:31 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:23:31 +0000 (UTC) Subject: [commit: packages/terminfo] ghc-head: Add `.travis.yml` and `README.md` file (679784c) Message-ID: <20140115082331.C816A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/terminfo On branch : ghc-head Link : http://git.haskell.org/packages/terminfo.git/commitdiff/679784cd72b54ee1adf9292b604adccc286aa8d0 >--------------------------------------------------------------- commit 679784cd72b54ee1adf9292b604adccc286aa8d0 Author: Herbert Valerio Riedel Date: Fri Nov 1 10:44:07 2013 +0100 Add `.travis.yml` and `README.md` file This also bumps the version early to avoid cabal issues, as otherwise the build on GHC head will most likely fail in the last `cabal install` step as GHC head is likely to have the last released version already installed. >--------------------------------------------------------------- 679784cd72b54ee1adf9292b604adccc286aa8d0 .travis.yml | 44 ++++++++++++++++++++++++++++++++++++++++++++ README.md | 4 ++++ terminfo.cabal | 2 +- 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..73df398 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,44 @@ +env: + - GHCVER=7.0.1 + - GHCVER=7.0.2 + - GHCVER=7.0.3 + - GHCVER=7.0.4 + - GHCVER=7.2.1 + - GHCVER=7.2.2 + - GHCVER=7.4.1 + - GHCVER=7.4.2 + - GHCVER=7.6.1 + - GHCVER=7.6.2 + - GHCVER=7.6.3 + - GHCVER=head + +matrix: + allow_failures: + - env: GHCVER=head + +before_install: + - sudo add-apt-repository -y ppa:hvr/ghc + - sudo apt-get update + - sudo apt-get install cabal-install-1.18 ghc-$GHCVER autoconf + - export PATH=/opt/ghc/$GHCVER/bin:$PATH + +install: + - cabal-1.18 update + - ghc --version + +script: + - autoreconf -i + - cabal-1.18 configure -v2 + - cabal-1.18 build + - cabal-1.18 check + - cabal-1.18 sdist +# The following scriptlet checks that the resulting source distribution can be built & installed + - export SRC_TGZ=$(cabal-1.18 info . | awk '{print $2 ".tar.gz";exit}') ; + cd dist/; + if [ -f "$SRC_TGZ" ]; then + cabal-1.18 install "$SRC_TGZ"; + else + echo "expected '$SRC_TGZ' not found"; + exit 1; + fi + diff --git a/README.md b/README.md new file mode 100644 index 0000000..5e46673 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +`terminfo` [![Build Status](https://travis-ci.org/judah/terminfo.png?branch=master)](https://travis-ci.org/judah/terminfo) +========== + +Haskell bindings to the `terminfo` library. See `terminfo`'s [Hackage page](http://hackage.haskell.org/package/terminfo) for more details. diff --git a/terminfo.cabal b/terminfo.cabal index 3de661a..9fecf21 100644 --- a/terminfo.cabal +++ b/terminfo.cabal @@ -1,6 +1,6 @@ Name: terminfo Cabal-Version: >=1.4 -Version: 0.3.2.6 +Version: 0.3.2.7 Category: User Interfaces License: BSD3 License-File: LICENSE From git at git.haskell.org Wed Jan 15 08:23:33 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:23:33 +0000 (UTC) Subject: [commit: packages/terminfo] ghc-head: Declare language extensions locally via `{-# LANGUAGE #-}`s (13ef85a) Message-ID: <20140115082333.BCA172406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/terminfo On branch : ghc-head Link : http://git.haskell.org/packages/terminfo.git/commitdiff/13ef85a0933de37b43b8c1ce5d1cb7653ff4c5f3 >--------------------------------------------------------------- commit 13ef85a0933de37b43b8c1ce5d1cb7653ff4c5f3 Author: Herbert Valerio Riedel Date: Fri Nov 1 11:12:34 2013 +0100 Declare language extensions locally via `{-# LANGUAGE #-}`s This recommended practice since Haskell2010. >--------------------------------------------------------------- 13ef85a0933de37b43b8c1ce5d1cb7653ff4c5f3 System/Console/Terminfo.hs | 1 + System/Console/Terminfo/Base.hs | 1 + System/Console/Terminfo/Color.hs | 1 + System/Console/Terminfo/Cursor.hs | 1 + System/Console/Terminfo/Edit.hs | 1 + System/Console/Terminfo/Effects.hs | 1 + System/Console/Terminfo/Keys.hs | 1 + 7 files changed, 7 insertions(+) diff --git a/System/Console/Terminfo.hs b/System/Console/Terminfo.hs index 871f051..f8be3a2 100644 --- a/System/Console/Terminfo.hs +++ b/System/Console/Terminfo.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 703 {-# LANGUAGE Safe #-} #endif diff --git a/System/Console/Terminfo/Base.hs b/System/Console/Terminfo/Base.hs index 7c32d55..6c66574 100644 --- a/System/Console/Terminfo/Base.hs +++ b/System/Console/Terminfo/Base.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, ScopedTypeVariables #-} #if __GLASGOW_HASKELL__ >= 703 {-# LANGUAGE Trustworthy #-} #endif diff --git a/System/Console/Terminfo/Color.hs b/System/Console/Terminfo/Color.hs index f031dbb..1fd972e 100644 --- a/System/Console/Terminfo/Color.hs +++ b/System/Console/Terminfo/Color.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 703 {-# LANGUAGE Safe #-} #endif diff --git a/System/Console/Terminfo/Cursor.hs b/System/Console/Terminfo/Cursor.hs index 8808cce..49cdbc1 100644 --- a/System/Console/Terminfo/Cursor.hs +++ b/System/Console/Terminfo/Cursor.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 703 {-# LANGUAGE Safe #-} #endif diff --git a/System/Console/Terminfo/Edit.hs b/System/Console/Terminfo/Edit.hs index 0a704da..c2e51df 100644 --- a/System/Console/Terminfo/Edit.hs +++ b/System/Console/Terminfo/Edit.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 703 {-# LANGUAGE Safe #-} #endif diff --git a/System/Console/Terminfo/Effects.hs b/System/Console/Terminfo/Effects.hs index 4b8e1d5..49d3449 100644 --- a/System/Console/Terminfo/Effects.hs +++ b/System/Console/Terminfo/Effects.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 703 {-# LANGUAGE Safe #-} #endif diff --git a/System/Console/Terminfo/Keys.hs b/System/Console/Terminfo/Keys.hs index 6aaa289..ace67b6 100644 --- a/System/Console/Terminfo/Keys.hs +++ b/System/Console/Terminfo/Keys.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 703 {-# LANGUAGE Safe #-} #endif From git at git.haskell.org Wed Jan 15 08:23:35 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:23:35 +0000 (UTC) Subject: [commit: packages/terminfo] ghc-head: Modernize `terminfo.cabal` to `cabal-version: >=1.10` format (dd0a84c) Message-ID: <20140115082335.C2B6E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/terminfo On branch : ghc-head Link : http://git.haskell.org/packages/terminfo.git/commitdiff/dd0a84c90475a5a7ddc84e250ada6f549a69b114 >--------------------------------------------------------------- commit dd0a84c90475a5a7ddc84e250ada6f549a69b114 Author: Herbert Valerio Riedel Date: Fri Nov 1 11:13:55 2013 +0100 Modernize `terminfo.cabal` to `cabal-version: >=1.10` format This makes `terminfo` dependent on a compiler supporting Haskell2010 (e.g. GHC 7.0.1 or later). Supporting & testing GHC versions prior to 7.x is rather tedious. >--------------------------------------------------------------- dd0a84c90475a5a7ddc84e250ada6f549a69b114 terminfo.cabal | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/terminfo.cabal b/terminfo.cabal index 9fecf21..be4cea7 100644 --- a/terminfo.cabal +++ b/terminfo.cabal @@ -1,5 +1,5 @@ Name: terminfo -Cabal-Version: >=1.4 +Cabal-Version: >=1.10 Version: 0.3.2.7 Category: User Interfaces License: BSD3 @@ -10,21 +10,28 @@ Maintainer: Judah Jacobson Category: User Interfaces Synopsis: Haskell bindings to the terminfo library. Description: This library provides an interface to the terminfo database (via bindings to the - curses library). Terminfo allows POSIX systems to interact with a variety of terminals - using a standard set of capabilities. -Homepage: http://code.haskell.org/terminfo + curses library). allows POSIX + systems to interact with a variety of terminals using a standard set of capabilities. +Homepage: https://github.com/judah/terminfo +Bug-Reports: https://github.com/judah/terminfo/issues Stability: Experimental Build-type: Configure extra-source-files: configure.ac configure terminfo.buildinfo.in extra-tmp-files: config.log config.status autom4te.cache terminfo.buildinfo +Source-Repository head + type: git + location: https://github.com/judah/terminfo.git + Library - Build-depends: base >= 4.0 && < 5 - Extensions: CPP, ForeignFunctionInterface, DeriveDataTypeable, - EmptyDataDecls, ScopedTypeVariables, FlexibleInstances - ghc-options: -Wall - Exposed-Modules: + default-language: Haskell2010 + other-extensions: CPP, DeriveDataTypeable, FlexibleInstances, ScopedTypeVariables + if impl(ghc>=7.3) + other-extensions: Safe, Trustworthy + build-depends: base >= 4.3 && < 4.8 + ghc-options: -Wall + exposed-modules: System.Console.Terminfo System.Console.Terminfo.Base System.Console.Terminfo.Cursor From git at git.haskell.org Wed Jan 15 08:23:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:23:37 +0000 (UTC) Subject: [commit: packages/terminfo] ghc-head: Merge pull request #1 from hvr/enable-travis (1ceae93) Message-ID: <20140115082337.C2AA62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/terminfo On branch : ghc-head Link : http://git.haskell.org/packages/terminfo.git/commitdiff/1ceae93de6a957b88d3cde6b93301c53333a2514 >--------------------------------------------------------------- commit 1ceae93de6a957b88d3cde6b93301c53333a2514 Merge: 76a3cea dd0a84c Author: Judah Jacobson Date: Fri Nov 1 19:29:20 2013 -0700 Merge pull request #1 from hvr/enable-travis Add Travis support & some packaging cleanups >--------------------------------------------------------------- 1ceae93de6a957b88d3cde6b93301c53333a2514 .travis.yml | 44 ++++++++++++++++++++++++++++++++++++ README.md | 4 ++++ System/Console/Terminfo.hs | 1 + System/Console/Terminfo/Base.hs | 1 + System/Console/Terminfo/Color.hs | 1 + System/Console/Terminfo/Cursor.hs | 1 + System/Console/Terminfo/Edit.hs | 1 + System/Console/Terminfo/Effects.hs | 1 + System/Console/Terminfo/Keys.hs | 1 + terminfo.cabal | 27 ++++++++++++++-------- 10 files changed, 72 insertions(+), 10 deletions(-) From git at git.haskell.org Wed Jan 15 08:23:39 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:23:39 +0000 (UTC) Subject: [commit: packages/terminfo] ghc-head: Change stability field to "Stable". (ed359f2) Message-ID: <20140115082340.A837E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/terminfo On branch : ghc-head Link : http://git.haskell.org/packages/terminfo.git/commitdiff/ed359f266913522283d373c2f6818fb86c09646b >--------------------------------------------------------------- commit ed359f266913522283d373c2f6818fb86c09646b Author: Judah Jacobson Date: Sat Nov 2 11:33:01 2013 -0700 Change stability field to "Stable". >--------------------------------------------------------------- ed359f266913522283d373c2f6818fb86c09646b terminfo.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terminfo.cabal b/terminfo.cabal index be4cea7..12d9ea0 100644 --- a/terminfo.cabal +++ b/terminfo.cabal @@ -14,7 +14,7 @@ Description: This library provides an interface to the terminfo database (via systems to interact with a variety of terminals using a standard set of capabilities. Homepage: https://github.com/judah/terminfo Bug-Reports: https://github.com/judah/terminfo/issues -Stability: Experimental +Stability: Stable Build-type: Configure extra-source-files: configure.ac configure terminfo.buildinfo.in From git at git.haskell.org Wed Jan 15 08:23:41 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:23:41 +0000 (UTC) Subject: [commit: packages/terminfo] ghc-head: Add missing Functor/Applicative/Alternative instances (8475af0) Message-ID: <20140115082342.2C19F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/terminfo On branch : ghc-head Link : http://git.haskell.org/packages/terminfo.git/commitdiff/8475af0b5c6a1ccf6ec6ff18bf8df6846c9b2911 >--------------------------------------------------------------- commit 8475af0b5c6a1ccf6ec6ff18bf8df6846c9b2911 Author: Herbert Valerio Riedel Date: Sat Nov 2 20:22:50 2013 +0100 Add missing Functor/Applicative/Alternative instances This is needed to silence GHC 7.8's AMP warnings, see also http://www.haskell.org/haskellwiki/Functor-Applicative-Monad_Proposal#Missing_superclasses for more information. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 8475af0b5c6a1ccf6ec6ff18bf8df6846c9b2911 System/Console/Terminfo/Base.hs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/System/Console/Terminfo/Base.hs b/System/Console/Terminfo/Base.hs index 6c66574..24a4782 100644 --- a/System/Console/Terminfo/Base.hs +++ b/System/Console/Terminfo/Base.hs @@ -43,6 +43,7 @@ module System.Console.Terminfo.Base( ) where +import Control.Applicative import Control.Monad import Data.Monoid import Foreign.C @@ -194,6 +195,10 @@ getCapability term (Capability f) = unsafePerformIO $ withCurTerm term (f term) instance Functor Capability where fmap f (Capability g) = Capability $ \t -> fmap (fmap f) (g t) +instance Applicative Capability where + pure = return + (<*>) = ap + instance Monad Capability where return = Capability . const . return . Just Capability f >>= g = Capability $ \t -> do @@ -202,6 +207,10 @@ instance Monad Capability where Nothing -> return Nothing Just x -> let Capability g' = g x in g' t +instance Alternative Capability where + (<|>) = mplus + empty = mzero + instance MonadPlus Capability where mzero = Capability (const $ return Nothing) Capability f `mplus` Capability g = Capability $ \t -> do From git at git.haskell.org Wed Jan 15 08:23:43 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:23:43 +0000 (UTC) Subject: [commit: packages/terminfo] ghc-head: Merge pull request #2 from hvr/fix-amp-warnings (e13ed46) Message-ID: <20140115082343.EBB462406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/terminfo On branch : ghc-head Link : http://git.haskell.org/packages/terminfo.git/commitdiff/e13ed46d24c29d961b2ddc3c2a708ca40500ea58 >--------------------------------------------------------------- commit e13ed46d24c29d961b2ddc3c2a708ca40500ea58 Merge: ed359f2 8475af0 Author: Judah Jacobson Date: Sat Nov 2 14:30:20 2013 -0700 Merge pull request #2 from hvr/fix-amp-warnings Add missing Functor/Applicative/Alternative instances >--------------------------------------------------------------- e13ed46d24c29d961b2ddc3c2a708ca40500ea58 System/Console/Terminfo/Base.hs | 9 +++++++++ 1 file changed, 9 insertions(+) From git at git.haskell.org Wed Jan 15 08:23:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:23:45 +0000 (UTC) Subject: [commit: packages/terminfo] ghc-head: Bump version to 0.4.0.0. (8e706c8) Message-ID: <20140115082345.E0BD72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/terminfo On branch : ghc-head Link : http://git.haskell.org/packages/terminfo.git/commitdiff/8e706c83f04ceb7025c38fe02be3e7fb20554abf >--------------------------------------------------------------- commit 8e706c83f04ceb7025c38fe02be3e7fb20554abf Author: Judah Jacobson Date: Sat Nov 2 14:30:29 2013 -0700 Bump version to 0.4.0.0. Adding missing Applicative instances means we need to bump the major version. >--------------------------------------------------------------- 8e706c83f04ceb7025c38fe02be3e7fb20554abf terminfo.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terminfo.cabal b/terminfo.cabal index 12d9ea0..b8265a0 100644 --- a/terminfo.cabal +++ b/terminfo.cabal @@ -1,6 +1,6 @@ Name: terminfo Cabal-Version: >=1.10 -Version: 0.3.2.7 +Version: 0.4.0.0 Category: User Interfaces License: BSD3 License-File: LICENSE From git at git.haskell.org Wed Jan 15 08:23:47 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:23:47 +0000 (UTC) Subject: [commit: packages/terminfo] ghc-head: Merge branch 'master' of github.com:judah/terminfo (1ce8379) Message-ID: <20140115082348.1333B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/terminfo On branch : ghc-head Link : http://git.haskell.org/packages/terminfo.git/commitdiff/1ce8379744179e5c7f8d88049aaed4d3be52e323 >--------------------------------------------------------------- commit 1ce8379744179e5c7f8d88049aaed4d3be52e323 Merge: 8e706c8 e13ed46 Author: Judah Jacobson Date: Sat Nov 2 14:31:17 2013 -0700 Merge branch 'master' of github.com:judah/terminfo >--------------------------------------------------------------- 1ce8379744179e5c7f8d88049aaed4d3be52e323 System/Console/Terminfo/Base.hs | 9 +++++++++ 1 file changed, 9 insertions(+) From git at git.haskell.org Wed Jan 15 08:27:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:27:45 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Add missing Functor/Applicative instances (694af53) Message-ID: <20140115082745.334D22406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/694af532d741511b5e4e8c0453582052ae22d514 >--------------------------------------------------------------- commit 694af532d741511b5e4e8c0453582052ae22d514 Author: Herbert Valerio Riedel Date: Sat Nov 2 20:00:15 2013 +0100 Add missing Functor/Applicative instances This is needed to silence GHC 7.8's AMP warnings, see also http://www.haskell.org/haskellwiki/Functor-Applicative-Monad_Proposal#Missing_superclasses for more information. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 694af532d741511b5e4e8c0453582052ae22d514 System/Console/Haskeline/Backend/DumbTerm.hs | 3 ++- System/Console/Haskeline/Backend/Terminfo.hs | 3 ++- System/Console/Haskeline/Command.hs | 10 +++++++++- System/Console/Haskeline/Monads.hs | 10 +++++++++- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/System/Console/Haskeline/Backend/DumbTerm.hs b/System/Console/Haskeline/Backend/DumbTerm.hs index b035d65..047b3cf 100644 --- a/System/Console/Haskeline/Backend/DumbTerm.hs +++ b/System/Console/Haskeline/Backend/DumbTerm.hs @@ -8,6 +8,7 @@ import System.Console.Haskeline.LineState import System.Console.Haskeline.Monads as Monads import System.IO +import Control.Applicative(Applicative) import Control.Monad(liftM) -- TODO: @@ -21,7 +22,7 @@ initWindow :: Window initWindow = Window {pos=0} newtype DumbTerm m a = DumbTerm {unDumbTerm :: StateT Window (PosixT m) a} - deriving (Monad, MonadIO, MonadException, + deriving (Functor, Applicative, Monad, MonadIO, MonadException, MonadState Window, MonadReader Handles, MonadReader Encoder) diff --git a/System/Console/Haskeline/Backend/Terminfo.hs b/System/Console/Haskeline/Backend/Terminfo.hs index 18f1150..95917df 100644 --- a/System/Console/Haskeline/Backend/Terminfo.hs +++ b/System/Console/Haskeline/Backend/Terminfo.hs @@ -5,6 +5,7 @@ module System.Console.Haskeline.Backend.Terminfo( where import System.Console.Terminfo +import Control.Applicative import Control.Monad import Data.List(foldl') import System.IO @@ -103,7 +104,7 @@ newtype Draw m a = Draw {unDraw :: (ReaderT Actions (StateT TermRows (StateT TermPos (PosixT m))))) a} - deriving (Monad, MonadIO, MonadException, + deriving (Functor, Applicative, Monad, MonadIO, MonadException, MonadReader Actions, MonadReader Terminal, MonadState TermPos, MonadState TermRows, MonadReader Handles, MonadReader Encoder) diff --git a/System/Console/Haskeline/Command.hs b/System/Console/Haskeline/Command.hs index d900e8f..986fd42 100644 --- a/System/Console/Haskeline/Command.hs +++ b/System/Console/Haskeline/Command.hs @@ -29,7 +29,8 @@ module System.Console.Haskeline.Command( ) where import Data.Char(isPrint) -import Control.Monad(mplus, liftM) +import Control.Applicative(Applicative(..)) +import Control.Monad(ap, mplus, liftM) import Control.Monad.Trans.Class import System.Console.Haskeline.LineState import System.Console.Haskeline.Key @@ -61,6 +62,13 @@ data CmdM m a = GetKey (KeyMap (CmdM m a)) type Command m s t = s -> CmdM m t +instance Monad m => Functor (CmdM m) where + fmap = liftM + +instance Monad m => Applicative (CmdM m) where + pure = return + (<*>) = ap + instance Monad m => Monad (CmdM m) where return = Result diff --git a/System/Console/Haskeline/Monads.hs b/System/Console/Haskeline/Monads.hs index 86a9c26..0433971 100644 --- a/System/Console/Haskeline/Monads.hs +++ b/System/Console/Haskeline/Monads.hs @@ -19,7 +19,8 @@ module System.Console.Haskeline.Monads( orElse ) where -import Control.Monad (liftM) +import Control.Applicative (Applicative(..)) +import Control.Monad (ap, liftM) import Control.Monad.IO.Class (MonadIO(..)) import Control.Monad.Trans.Class (MonadTrans(..)) import Control.Monad.Trans.Maybe (MaybeT(..)) @@ -70,6 +71,13 @@ runReaderT' = flip runReaderT newtype StateT s m a = StateT { getStateTFunc :: forall r . s -> m ((a -> s -> r) -> r)} +instance Monad m => Functor (StateT s m) where + fmap = liftM + +instance Monad m => Applicative (StateT s m) where + pure = return + (<*>) = ap + instance Monad m => Monad (StateT s m) where return x = StateT $ \s -> return $ \f -> f x s StateT f >>= g = StateT $ \s -> do From git at git.haskell.org Wed Jan 15 08:27:47 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:27:47 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Merge pull request #2 from hvr/fix-amp-warnings (78f7cea) Message-ID: <20140115082747.5CEAC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/78f7ceabd2ca8421ebbd631f241fb1814d97dc45 >--------------------------------------------------------------- commit 78f7ceabd2ca8421ebbd631f241fb1814d97dc45 Merge: 3734dd1 694af53 Author: Judah Jacobson Date: Sat Nov 2 14:35:31 2013 -0700 Merge pull request #2 from hvr/fix-amp-warnings Add missing Functor/Applicative instances (re #1) >--------------------------------------------------------------- 78f7ceabd2ca8421ebbd631f241fb1814d97dc45 System/Console/Haskeline/Backend/DumbTerm.hs | 3 ++- System/Console/Haskeline/Backend/Terminfo.hs | 3 ++- System/Console/Haskeline/Command.hs | 10 +++++++++- System/Console/Haskeline/Monads.hs | 10 +++++++++- 4 files changed, 22 insertions(+), 4 deletions(-) From git at git.haskell.org Wed Jan 15 08:27:49 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:27:49 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Create README.md (46528c1) Message-ID: <20140115082749.3ABC02406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/46528c1b7e23fbec0c436263c194c7d8b5256e2a >--------------------------------------------------------------- commit 46528c1b7e23fbec0c436263c194c7d8b5256e2a Author: Judah Jacobson Date: Sat Nov 2 14:57:15 2013 -0700 Create README.md >--------------------------------------------------------------- 46528c1b7e23fbec0c436263c194c7d8b5256e2a README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md new file mode 100644 index 0000000..2159507 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +#Haskeline + +The Haskeline library provides a user interface for line input in command-line programs. +This library is similar in purpose to readline, but since it is written in Haskell it is (hopefully) +more easily used in other Haskell programs. + +##Links +The latest release, as well as the API documentation, may be obtained from [Hackage](http://hackage.haskell.org/package/haskeline). + +The most recent development source code can be downloaded with: + + git clone https://github.com/judah/haskeline + +Further documentation is also available at +[http://trac.haskell.org/haskeline/wiki/WikiDocumentation](http://trac.haskell.org/haskeline/wiki/WikiDocumentation) + + +##Features: + + - Provides a [rich line editing interface](http://trac.haskell.org/haskeline/wiki/KeyBindings). + - A `~/.haskeline` file allows customization of [preferences](http://trac.haskell.org/haskeline/wiki/UserPrefs) and [custom key bindings](http://trac.haskell.org/haskeline/wiki/CustomKeyBindings). + - Runs on POSIX-compatible systems, using the [terminfo](http://github.com/judah/terminfo) library to support non-ANSI terminals. + - Runs on Windows using MinGW. + - [Supports Unicode](http://trac.haskell.org/haskeline/wiki/UnicodeSupport) cross-platform. + - History recall and incremental search. + - Custom tab completion functions which may run in an arbitrary monad. From git at git.haskell.org Wed Jan 15 08:27:51 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:27:51 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Add (old) release notes for 0.7.0.3. (817842d) Message-ID: <20140115082751.40BCC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/817842d8407b9dcc0e01e15bcb55d13ac7c0b6d5 >--------------------------------------------------------------- commit 817842d8407b9dcc0e01e15bcb55d13ac7c0b6d5 Author: Judah Jacobson Date: Sat Nov 2 15:15:55 2013 -0700 Add (old) release notes for 0.7.0.3. >--------------------------------------------------------------- 817842d8407b9dcc0e01e15bcb55d13ac7c0b6d5 CHANGES | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES b/CHANGES index 1fa2ca3..37fea6e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +Changed in version 0.7.0.3: + * Fix build with ghc>=7.6.1. + Changed in version 0.7.0.2: * Fix build on Windows with ghc>=7.4.1. From git at git.haskell.org Wed Jan 15 08:27:53 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:27:53 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Bump version to 0.7.1.0 and add up-to-date CHANGES. (d1e509b) Message-ID: <20140115082753.307BC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/d1e509bc4c01614093b31b6727e67e2a525345e0 >--------------------------------------------------------------- commit d1e509bc4c01614093b31b6727e67e2a525345e0 Author: Judah Jacobson Date: Sat Nov 2 15:20:55 2013 -0700 Bump version to 0.7.1.0 and add up-to-date CHANGES. Updating the minor version number since we've added 'catches' to System.Console.Haskeline.MonadException. >--------------------------------------------------------------- d1e509bc4c01614093b31b6727e67e2a525345e0 CHANGES | 7 +++++++ haskeline.cabal | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 37fea6e..21233ec 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,10 @@ +Changed in version 0.7.1.0: + * Fix build with ghc-7.8. + * Fix build with ghc-6.12.3. + * Fix build on Android. + * Fix build on Win64. + * Add 'catches' to System.Console.Haskeline.MonadException. + Changed in version 0.7.0.3: * Fix build with ghc>=7.6.1. diff --git a/haskeline.cabal b/haskeline.cabal index 0fb2082..215643e 100644 --- a/haskeline.cabal +++ b/haskeline.cabal @@ -1,6 +1,6 @@ Name: haskeline Cabal-Version: >=1.6 -Version: 0.7.0.4 +Version: 0.7.1.0 Category: User Interfaces License: BSD3 License-File: LICENSE From git at git.haskell.org Wed Jan 15 08:27:55 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:27:55 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Merge branch 'release-0.7' (e72fde4) Message-ID: <20140115082755.3A9C32406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/e72fde40a176e1fbf293965db52c2b7219483a76 >--------------------------------------------------------------- commit e72fde40a176e1fbf293965db52c2b7219483a76 Merge: 46528c1 d1e509b Author: Judah Jacobson Date: Sat Nov 2 15:23:43 2013 -0700 Merge branch 'release-0.7' >--------------------------------------------------------------- e72fde40a176e1fbf293965db52c2b7219483a76 CHANGES | 10 ++++++++++ haskeline.cabal | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) From git at git.haskell.org Wed Jan 15 08:27:57 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:27:57 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Rename CHANGES to Changelog. (8431a74) Message-ID: <20140115082757.48F892406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/8431a7445406e86a65b48b419a40e80c58e1c959 >--------------------------------------------------------------- commit 8431a7445406e86a65b48b419a40e80c58e1c959 Author: Judah Jacobson Date: Sun Nov 3 08:28:41 2013 -0800 Rename CHANGES to Changelog. This lets Hackage pick it up automatically. >--------------------------------------------------------------- 8431a7445406e86a65b48b419a40e80c58e1c959 CHANGES => Changelog | 0 haskeline.cabal | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES b/Changelog similarity index 100% rename from CHANGES rename to Changelog diff --git a/haskeline.cabal b/haskeline.cabal index 215643e..fe68235 100644 --- a/haskeline.cabal +++ b/haskeline.cabal @@ -19,7 +19,7 @@ Description: Homepage: http://trac.haskell.org/haskeline Stability: Experimental Build-Type: Custom -extra-source-files: examples/Test.hs CHANGES +extra-source-files: examples/Test.hs Changelog source-repository head type: darcs From git at git.haskell.org Wed Jan 15 08:27:59 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:27:59 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Point to the repo on github, and bump version to 0.7.1.1. (279c4de) Message-ID: <20140115082759.591FB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/279c4de3c1e28f27ec968ec5e50699d3401b8283 >--------------------------------------------------------------- commit 279c4de3c1e28f27ec968ec5e50699d3401b8283 Author: Judah Jacobson Date: Sun Nov 17 09:59:00 2013 -0800 Point to the repo on github, and bump version to 0.7.1.1. >--------------------------------------------------------------- 279c4de3c1e28f27ec968ec5e50699d3401b8283 Changelog | 3 +++ haskeline.cabal | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Changelog b/Changelog index 21233ec..a1f9b25 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,6 @@ +Changed in version 0.7.1.1: + * Point to github for HEAD. + Changed in version 0.7.1.0: * Fix build with ghc-7.8. * Fix build with ghc-6.12.3. diff --git a/haskeline.cabal b/haskeline.cabal index fe68235..2bc2e90 100644 --- a/haskeline.cabal +++ b/haskeline.cabal @@ -1,6 +1,6 @@ Name: haskeline Cabal-Version: >=1.6 -Version: 0.7.1.0 +Version: 0.7.1.1 Category: User Interfaces License: BSD3 License-File: LICENSE @@ -22,8 +22,8 @@ Build-Type: Custom extra-source-files: examples/Test.hs Changelog source-repository head - type: darcs - location: http://code.haskell.org/haskeline + type: git + location: git://github.com/judah/haskeline.git -- There are three main advantages to the terminfo backend over the portable, -- "dumb" alternative. First, it enables more efficient control sequences From git at git.haskell.org Wed Jan 15 08:28:01 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:28:01 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Add Travis build file. (70677db) Message-ID: <20140115082801.6536F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/70677db6d5db239a379f14b7284ffef1ceccb0d9 >--------------------------------------------------------------- commit 70677db6d5db239a379f14b7284ffef1ceccb0d9 Author: Judah Jacobson Date: Sun Nov 17 18:30:54 2013 -0800 Add Travis build file. >--------------------------------------------------------------- 70677db6d5db239a379f14b7284ffef1ceccb0d9 .travis.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..16d4245 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,38 @@ +env: + - GHCVER=6.12.3 + - GHCVER=7.0.1 + - GHCVER=7.0.2 + - GHCVER=7.0.3 + - GHCVER=7.0.4 + - GHCVER=7.2.1 + - GHCVER=7.2.2 + - GHCVER=7.4.1 + - GHCVER=7.4.2 + - GHCVER=7.6.1 + - GHCVER=7.6.2 + - GHCVER=7.6.3 + +before_install: + - sudo add-apt-repository -y ppa:hvr/ghc + - sudo apt-get update + - sudo apt-get install cabal-install-1.18 ghc-$GHCVER + - export PATH=/opt/ghc/$GHCVER/bin:$PATH + +install: + - cabal-1.18 update + - ghc --version + +script: + - cabal-1.18 configure -v2 + - cabal-1.18 build + - cabal-1.18 check + - cabal-1.18 sdist +# The following scriptlet checks that the resulting source distribution can be built & installed + - export SRC_TGZ=$(cabal-1.18 info . | awk '{print $2 ".tar.gz";exit}') ; + cd dist/; + if [ -f "$SRC_TGZ" ]; then + cabal-1.18 install "$SRC_TGZ"; + else + echo "expected '$SRC_TGZ' not found"; + exit 1; + fi From git at git.haskell.org Wed Jan 15 08:28:03 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:28:03 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Fix the Travis CI build. (cf74907) Message-ID: <20140115082803.7376C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/cf74907331cf260dc073321a8cf54a8d60f95385 >--------------------------------------------------------------- commit cf74907331cf260dc073321a8cf54a8d60f95385 Author: Judah Jacobson Date: Sun Nov 17 18:41:53 2013 -0800 Fix the Travis CI build. The test file covers ghc-7.0.1 and above. >--------------------------------------------------------------- cf74907331cf260dc073321a8cf54a8d60f95385 .travis.yml | 41 +++++++++++++++++++++-------------------- haskeline.cabal | 6 ++++-- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/.travis.yml b/.travis.yml index 16d4245..0ccb2ed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,37 +1,38 @@ env: - - GHCVER=6.12.3 - - GHCVER=7.0.1 - - GHCVER=7.0.2 - - GHCVER=7.0.3 - - GHCVER=7.0.4 - - GHCVER=7.2.1 - - GHCVER=7.2.2 - - GHCVER=7.4.1 - - GHCVER=7.4.2 - - GHCVER=7.6.1 - - GHCVER=7.6.2 - - GHCVER=7.6.3 + - GHCVER=7.0.1 CABALVER=1.16 + - GHCVER=7.0.2 CABALVER=1.16 + - GHCVER=7.0.3 CABALVER=1.16 + - GHCVER=7.0.4 CABALVER=1.16 + - GHCVER=7.2.1 CABALVER=1.18 + - GHCVER=7.2.2 CABALVER=1.18 + - GHCVER=7.4.1 CABALVER=1.18 + - GHCVER=7.4.2 CABALVER=1.18 + - GHCVER=7.6.1 CABALVER=1.18 + - GHCVER=7.6.2 CABALVER=1.18 + - GHCVER=7.6.3 CABALVER=1.18 before_install: - sudo add-apt-repository -y ppa:hvr/ghc - sudo apt-get update - - sudo apt-get install cabal-install-1.18 ghc-$GHCVER + - sudo apt-get install cabal-install-$CABALVER ghc-$GHCVER - export PATH=/opt/ghc/$GHCVER/bin:$PATH install: - - cabal-1.18 update + - cabal-$CABALVER update + - cabal-$CABALVER install --only-dependencies + - cabal-$CABALVER install "Cabal >= $CABALVER" - ghc --version script: - - cabal-1.18 configure -v2 - - cabal-1.18 build - - cabal-1.18 check - - cabal-1.18 sdist + - cabal-$CABALVER configure -v2 + - cabal-$CABALVER build -v2 + - cabal-$CABALVER check + - cabal-$CABALVER sdist # The following scriptlet checks that the resulting source distribution can be built & installed - - export SRC_TGZ=$(cabal-1.18 info . | awk '{print $2 ".tar.gz";exit}') ; + - export SRC_TGZ=$(cabal-$CABALVER info . | awk '{print $2 ".tar.gz";exit}') ; cd dist/; if [ -f "$SRC_TGZ" ]; then - cabal-1.18 install "$SRC_TGZ"; + cabal-$CABALVER install "$SRC_TGZ"; else echo "expected '$SRC_TGZ' not found"; exit 1; diff --git a/haskeline.cabal b/haskeline.cabal index 2bc2e90..db1c1b5 100644 --- a/haskeline.cabal +++ b/haskeline.cabal @@ -1,5 +1,5 @@ Name: haskeline -Cabal-Version: >=1.6 +Cabal-Version: >=1.16 Version: 0.7.1.1 Category: User Interfaces License: BSD3 @@ -59,7 +59,9 @@ Library bytestring==0.9.* } Build-depends: filepath >= 1.1 && < 1.4, transformers >= 0.2 && < 0.4 - Extensions: ForeignFunctionInterface, Rank2Types, FlexibleInstances, + Default-Language: Haskell98 + Default-Extensions: + ForeignFunctionInterface, Rank2Types, FlexibleInstances, TypeSynonymInstances FlexibleContexts, ExistentialQuantification ScopedTypeVariables, GeneralizedNewtypeDeriving From git at git.haskell.org Wed Jan 15 08:28:05 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:28:05 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Simplify version dependencies to require ghc>=7.0.1. (dfdf5b4) Message-ID: <20140115082805.9ECD82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/dfdf5b4aa294dd57753ac00a1d95a5217cb465d8 >--------------------------------------------------------------- commit dfdf5b4aa294dd57753ac00a1d95a5217cb465d8 Author: Judah Jacobson Date: Mon Nov 18 21:48:19 2013 -0800 Simplify version dependencies to require ghc>=7.0.1. >--------------------------------------------------------------- dfdf5b4aa294dd57753ac00a1d95a5217cb465d8 haskeline.cabal | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/haskeline.cabal b/haskeline.cabal index db1c1b5..ba5e0db 100644 --- a/haskeline.cabal +++ b/haskeline.cabal @@ -50,15 +50,9 @@ flag legacy-encoding Default: False Library - if impl(ghc>=6.11) { - Build-depends: base >=4.1 && < 4.8, containers>=0.1 && < 0.6, directory>=1.0 && < 1.3, - bytestring>=0.9 && < 0.11 - } - else { - Build-depends: base>=3 && <4.1 , containers>=0.1 && < 0.3, directory==1.0.*, - bytestring==0.9.* - } - Build-depends: filepath >= 1.1 && < 1.4, transformers >= 0.2 && < 0.4 + Build-depends: base >=4.3 && < 4.8, containers>=0.4 && < 0.6, + directory>=1.1 && < 1.3, bytestring>=0.9 && < 0.11, + filepath >= 1.2 && < 1.4, transformers >= 0.2 && < 0.4 Default-Language: Haskell98 Default-Extensions: ForeignFunctionInterface, Rank2Types, FlexibleInstances, From git at git.haskell.org Wed Jan 15 08:28:07 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:28:07 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Allow building with terminfo-0.4. (9463063) Message-ID: <20140115082807.5CF5D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/9463063dd0f89b05603c9cb8f02ebd12a94780ce >--------------------------------------------------------------- commit 9463063dd0f89b05603c9cb8f02ebd12a94780ce Author: Judah Jacobson Date: Tue Jan 14 08:41:46 2014 -0800 Allow building with terminfo-0.4. >--------------------------------------------------------------- 9463063dd0f89b05603c9cb8f02ebd12a94780ce haskeline.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haskeline.cabal b/haskeline.cabal index ba5e0db..0cdf353 100644 --- a/haskeline.cabal +++ b/haskeline.cabal @@ -121,7 +121,7 @@ Library System.Console.Haskeline.Backend.Posix.Encoder System.Console.Haskeline.Backend.DumbTerm if flag(terminfo) { - Build-depends: terminfo>=0.3.1.3 && <0.4 + Build-depends: terminfo>=0.3.1.3 && <0.5 Other-modules: System.Console.Haskeline.Backend.Terminfo cpp-options: -DTERMINFO } From git at git.haskell.org Wed Jan 15 08:28:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:28:09 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Bump version to 0.7.1.2. (94c2033) Message-ID: <20140115082809.7560E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/94c203327170db31a51f7e0cc2421d9f0d171521 >--------------------------------------------------------------- commit 94c203327170db31a51f7e0cc2421d9f0d171521 Author: Judah Jacobson Date: Tue Jan 14 08:43:15 2014 -0800 Bump version to 0.7.1.2. >--------------------------------------------------------------- 94c203327170db31a51f7e0cc2421d9f0d171521 haskeline.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haskeline.cabal b/haskeline.cabal index 0cdf353..311979b 100644 --- a/haskeline.cabal +++ b/haskeline.cabal @@ -1,6 +1,6 @@ Name: haskeline Cabal-Version: >=1.16 -Version: 0.7.1.1 +Version: 0.7.1.2 Category: User Interfaces License: BSD3 License-File: LICENSE From git at git.haskell.org Wed Jan 15 08:28:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:28:11 +0000 (UTC) Subject: [commit: packages/haskeline] ghc-head: Update Changelog for 0.7.1.2. (9a1d72a) Message-ID: <20140115082811.671202406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskeline On branch : ghc-head Link : http://git.haskell.org/packages/haskeline.git/commitdiff/9a1d72aa30b093e27abbeed8cd0c863f0f109fee >--------------------------------------------------------------- commit 9a1d72aa30b093e27abbeed8cd0c863f0f109fee Author: Judah Jacobson Date: Tue Jan 14 19:29:51 2014 -0800 Update Changelog for 0.7.1.2. >--------------------------------------------------------------- 9a1d72aa30b093e27abbeed8cd0c863f0f109fee Changelog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Changelog b/Changelog index a1f9b25..c414fc9 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,7 @@ +Changed in version 0.7.1.2: + * Require ghc>=7.0.1. + * Allow building with terminfo-0.4. + Changed in version 0.7.1.1: * Point to github for HEAD. From git at git.haskell.org Wed Jan 15 08:54:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 08:54:37 +0000 (UTC) Subject: [commit: ghc] master: Update to `terminfo-0.4.0.0`/`haskeline-0.7.1.2` (89c83d6) Message-ID: <20140115085438.02F732406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/89c83d66d1cb9d5b2f7b07ca7d886a505adf45fa/ghc >--------------------------------------------------------------- commit 89c83d66d1cb9d5b2f7b07ca7d886a505adf45fa Author: Herbert Valerio Riedel Date: Wed Jan 15 09:30:00 2014 +0100 Update to `terminfo-0.4.0.0`/`haskeline-0.7.1.2` These new versions get rid of AMP warnings Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 89c83d66d1cb9d5b2f7b07ca7d886a505adf45fa libraries/haskeline | 2 +- libraries/terminfo | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/haskeline b/libraries/haskeline index 3734dd1..9a1d72a 160000 --- a/libraries/haskeline +++ b/libraries/haskeline @@ -1 +1 @@ -Subproject commit 3734dd146f494094ba76d92fdebb38d7c18bbccc +Subproject commit 9a1d72aa30b093e27abbeed8cd0c863f0f109fee diff --git a/libraries/terminfo b/libraries/terminfo index 76a3cea..1ce8379 160000 --- a/libraries/terminfo +++ b/libraries/terminfo @@ -1 +1 @@ -Subproject commit 76a3cea2d41478e99bf77de59e4bfd8f1eb5cc6b +Subproject commit 1ce8379744179e5c7f8d88049aaed4d3be52e323 From git at git.haskell.org Wed Jan 15 13:55:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 13:55:56 +0000 (UTC) Subject: [commit: ghc] wip/pattern-synonyms: Implement pattern synonyms (95d0439) Message-ID: <20140115135557.1DBBD2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/pattern-synonyms Link : http://ghc.haskell.org/trac/ghc/changeset/95d043953726a59d2c2ae60a4aee6a2c746d6ab8/ghc >--------------------------------------------------------------- commit 95d043953726a59d2c2ae60a4aee6a2c746d6ab8 Author: Dr. ERDI Gergo Date: Mon Jan 13 20:12:34 2014 +0800 Implement pattern synonyms This patch implements Pattern Synonyms (enabled by -XPatternSynonyms), allowing y ou to assign names to a pattern and abstract over it. The rundown is this: * Named patterns are introduced by the new 'pattern' keyword, and can be either *unidirectional* or *bidirectional*. A unidirectional pattern is, in the simplest sense, simply an 'alias' for a pattern, where the LHS may mention variables to occur in the RHS. A bidirectional pattern synonym occurs when a pattern may also be used in expression context. * Unidirectional patterns are declared like thus: pattern P x <- x:_ The synonym 'P' may only occur in a pattern context: foo :: [Int] -> Maybe Int foo (P x) = Just x foo _ = Nothing * Bidirectional patterns are declared like thus: pattern P x y = [x, y] Here, P may not only occur as a pattern, but also as an expression when given values for 'x' and 'y', i.e. bar :: Int -> [Int] bar x = P x 10 * Patterns can't yet have their own type signatures; signatures are inferred. * Pattern synonyms may not be recursive, c.f. type synonyms. * Pattern synonyms are also exported/imported using the 'pattern' keyword in an import/export decl, i.e. module Foo (pattern Bar) where ... Note that pattern synonyms share the namespace of constructors, so this disambiguation is required as a there may also be a 'Bar' type in scope as well as the 'Bar' pattern. * The semantics of a pattern synonym differ slightly from a typical pattern: when using a synonym, the pattern itself is matched, followed by all the arguments. This means that the strictness differs slightly: pattern P x y <- [x, y] f (P True True) = True f _ = False g [True, True] = True g _ = False In the example, while `g (False:undefined)` evaluates to False, `f (False:undefined)` results in undefined as both `x` and `y` arguments are matched to `True`. For more information, see the wiki: https://ghc.haskell.org/trac/ghc/wiki/PatternSynonyms https://ghc.haskell.org/trac/ghc/wiki/PatternSynonyms/Implementation Reviewed-by: Simon Peyton Jones Signed-off-by: Austin Seipp >--------------------------------------------------------------- 95d043953726a59d2c2ae60a4aee6a2c746d6ab8 compiler/basicTypes/BasicTypes.lhs | 20 ++ compiler/basicTypes/ConLike.lhs | 82 +++++ compiler/basicTypes/DataCon.lhs-boot | 9 +- compiler/basicTypes/OccName.lhs | 5 +- compiler/basicTypes/PatSyn.lhs | 225 ++++++++++++++ compiler/basicTypes/PatSyn.lhs-boot | 19 ++ compiler/deSugar/Check.lhs | 52 +++- compiler/deSugar/Coverage.lhs | 9 +- compiler/deSugar/Desugar.lhs | 17 +- compiler/deSugar/DsBinds.lhs | 12 +- compiler/deSugar/DsExpr.lhs | 13 +- compiler/deSugar/DsMeta.hs | 4 +- compiler/deSugar/DsMonad.lhs | 18 +- compiler/deSugar/DsUtils.lhs | 236 ++++++++------ compiler/deSugar/Match.lhs | 28 +- compiler/deSugar/MatchCon.lhs | 59 +++- compiler/ghc.cabal.in | 3 + compiler/ghc.mk | 2 + compiler/hsSyn/Convert.lhs | 8 +- compiler/hsSyn/HsBinds.lhs | 100 +++++- compiler/hsSyn/HsExpr.lhs | 4 + compiler/hsSyn/HsPat.lhs | 22 +- compiler/hsSyn/HsPat.lhs-boot | 2 + compiler/hsSyn/HsTypes.lhs | 12 +- compiler/hsSyn/HsUtils.lhs | 28 +- compiler/iface/BinIface.hs | 3 +- compiler/iface/BuildTyCl.lhs | 69 +++++ compiler/iface/IfaceSyn.lhs | 72 ++++- compiler/iface/MkIface.lhs | 30 +- compiler/iface/TcIface.lhs | 48 ++- compiler/main/DynFlags.hs | 4 +- compiler/main/HscMain.hs | 1 + compiler/main/HscStats.hs | 63 ++-- compiler/main/HscTypes.lhs | 58 +++- compiler/main/PprTyThing.hs | 29 +- compiler/main/TidyPgm.lhs | 11 +- compiler/parser/Lexer.x | 13 +- compiler/parser/Parser.y.pp | 18 ++ compiler/parser/RdrHsSyn.lhs | 8 +- compiler/prelude/TysWiredIn.lhs | 7 +- compiler/rename/RnBinds.lhs | 152 +++++++-- compiler/rename/RnEnv.lhs | 7 +- compiler/rename/RnNames.lhs | 18 ++ compiler/rename/RnPat.lhs | 26 +- compiler/rename/RnSource.lhs | 25 +- compiler/typecheck/TcBinds.lhs | 172 +++++++---- compiler/typecheck/TcClassDcl.lhs | 18 +- compiler/typecheck/TcDeriv.lhs | 3 +- compiler/typecheck/TcEnv.lhs | 16 +- compiler/typecheck/TcExpr.lhs | 12 +- compiler/typecheck/TcForeign.lhs | 3 +- compiler/typecheck/TcGenDeriv.lhs | 50 +-- compiler/typecheck/TcGenGenerics.lhs | 6 +- compiler/typecheck/TcHsSyn.lhs | 40 ++- compiler/typecheck/TcHsType.lhs | 3 +- compiler/typecheck/TcInstDcls.lhs | 28 +- compiler/typecheck/TcPat.lhs | 130 ++++++-- compiler/typecheck/TcPatSyn.lhs | 324 ++++++++++++++++++++ compiler/typecheck/TcPatSyn.lhs-boot | 16 + compiler/typecheck/TcRnDriver.lhs | 15 +- compiler/typecheck/TcRnMonad.lhs | 8 +- compiler/typecheck/TcRnTypes.lhs | 33 +- compiler/typecheck/TcSplice.lhs | 3 +- compiler/typecheck/TcTyClsDecls.lhs | 2 +- compiler/types/TypeRep.lhs | 10 +- compiler/utils/UniqFM.lhs | 13 + compiler/utils/UniqSet.lhs | 1 + ghc/GhciTags.hs | 10 +- testsuite/tests/driver/T4437.hs | 3 +- testsuite/tests/ghc-api/T6145.hs | 10 +- testsuite/tests/{annotations => patsyn}/Makefile | 0 testsuite/tests/patsyn/should_compile/.gitignore | 9 + .../should_compile/Makefile | 0 testsuite/tests/patsyn/should_compile/all.T | 9 + testsuite/tests/patsyn/should_compile/bidir.hs | 6 + testsuite/tests/patsyn/should_compile/ex-num.hs | 9 + testsuite/tests/patsyn/should_compile/ex-prov.hs | 12 + testsuite/tests/patsyn/should_compile/ex-view.hs | 12 + testsuite/tests/patsyn/should_compile/ex.hs | 13 + .../tests/patsyn/should_compile/incomplete.hs | 11 + testsuite/tests/patsyn/should_compile/num.hs | 6 + testsuite/tests/patsyn/should_compile/overlap.hs | 9 + testsuite/tests/patsyn/should_compile/univ.hs | 11 + .../should_compile => patsyn/should_fail}/Makefile | 0 testsuite/tests/patsyn/should_fail/all.T | 3 + testsuite/tests/patsyn/should_fail/mono.hs | 7 + testsuite/tests/patsyn/should_fail/mono.stderr | 12 + testsuite/tests/patsyn/should_fail/unidir.hs | 4 + testsuite/tests/patsyn/should_fail/unidir.stderr | 4 + testsuite/tests/patsyn/should_run/.gitignore | 7 + .../should_compile => patsyn/should_run}/Makefile | 0 testsuite/tests/patsyn/should_run/all.T | 3 + testsuite/tests/patsyn/should_run/eval.hs | 22 ++ testsuite/tests/patsyn/should_run/eval.stdout | 7 + testsuite/tests/patsyn/should_run/ex-prov-run.hs | 21 ++ .../should_run/ex-prov-run.stdout} | 0 testsuite/tests/patsyn/should_run/match.hs | 21 ++ testsuite/tests/patsyn/should_run/match.stdout | 5 + utils/ghctags/Main.hs | 5 +- 99 files changed, 2324 insertions(+), 484 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 95d043953726a59d2c2ae60a4aee6a2c746d6ab8 From git at git.haskell.org Wed Jan 15 13:55:59 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 13:55:59 +0000 (UTC) Subject: [commit: ghc] wip/pattern-synonyms: T7336 is expected to be broken because of a regression introduced by pattern synonym implementation (3bc8c62) Message-ID: <20140115135600.21BDA2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/pattern-synonyms Link : http://ghc.haskell.org/trac/ghc/changeset/3bc8c62c0a1b0bfaf4c548844f13fa2cc5486e6e/ghc >--------------------------------------------------------------- commit 3bc8c62c0a1b0bfaf4c548844f13fa2cc5486e6e Author: Dr. ERDI Gergo Date: Mon Jan 13 20:37:39 2014 +0800 T7336 is expected to be broken because of a regression introduced by pattern synonym implementation >--------------------------------------------------------------- 3bc8c62c0a1b0bfaf4c548844f13fa2cc5486e6e testsuite/tests/rename/should_compile/all.T | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/tests/rename/should_compile/all.T b/testsuite/tests/rename/should_compile/all.T index 3035e2c..0ce4ca1 100644 --- a/testsuite/tests/rename/should_compile/all.T +++ b/testsuite/tests/rename/should_compile/all.T @@ -201,7 +201,7 @@ test('dodgy', multimod_compile, ['dodgy', '-v0']) test('T7167', normal, compile, ['']) -test('T7336', normal, compile, ['-Wall']) +test('T7336', expect_broken(7336), compile, ['-Wall']) test('T2435', normal, multimod_compile, ['T2435','-v0']) test('T7963', From git at git.haskell.org Wed Jan 15 13:56:30 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 13:56:30 +0000 (UTC) Subject: [commit: ghc] wip/pattern-synonyms's head updated: T7336 is expected to be broken because of a regression introduced by pattern synonym implementation (3bc8c62) Message-ID: <20140115135630.99C282406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc Branch 'wip/pattern-synonyms' now includes: 6b67476 [project @ 2001-03-07 15:49:24 by sewardj] Driver and infrastructure files (.T's) for the new test framework. c476429 [project @ 2001-03-07 16:55:48 by sewardj] Beginnings of a H98 test suite: 16 tests taken from Malcolm Wallace's NHC test suite. Many more to come. d9f024b [project @ 2001-03-08 14:21:02 by sewardj] Changes to support multiple tests in a single directory. 375b743 [project @ 2001-03-08 14:21:53 by sewardj] Changes to support multiple tests in a single directory (rename std-macros.T to singlefile-macros.T). 5f0ccf4 [project @ 2001-03-08 14:23:20 by sewardj] Rearrange so that multiple tests reside in the same directory. 35450a6 [project @ 2001-03-08 14:46:20 by sewardj] Further flattening of the directory hierarchy. 9b3c7b7 [project @ 2001-03-08 15:02:19 by sewardj] Make existing tests work again in the modified framework. 15a0c07 [project @ 2001-03-08 16:33:03 by sewardj] More tests. .T files are all empty at the moment. 909a6d2 [project @ 2001-03-08 17:01:31 by sewardj] Make more tests work. 1d4cafb [project @ 2001-03-09 11:30:10 by malcolm] #ifdef the import location for `trace' depending on build compiler. 1be3095 [project @ 2001-03-09 11:33:35 by malcolm] Should run to completion with output "True". a60cc4d [project @ 2001-03-09 11:36:34 by malcolm] Add config case for nhc98. cebad7b [project @ 2001-03-09 11:37:30 by malcolm] This test should pass. 37b2013 [project @ 2001-03-09 11:40:05 by malcolm] GHC gives a "parse error", not "Could not deduce". ee82fee [project @ 2001-03-09 11:42:00 by malcolm] Add nhc98 config case. eaaf73d [project @ 2001-03-09 11:49:14 by malcolm] Basic config file for a York machine. 82fed7f [project @ 2001-03-09 11:50:24 by malcolm] Use the -98 flag with nhc98 to ensure H'98 compatibility. 49d51f5 [project @ 2001-03-09 14:36:13 by malcolm] Test should deliver a runtime pass, with 'True' as output. 9835a32 [project @ 2001-03-09 14:40:14 by malcolm] Add config clause for nhc98. 6c23303 [project @ 2001-03-09 14:47:17 by malcolm] Example infix/fndecl should now compile and run with ghc. It wasn't intended to test for ambiguous type variables - just for the (a1 `op` a2) a3 = ... definition style, which nhc98 still fails to parse. ba0d1cf [project @ 2001-03-09 14:49:23 by malcolm] Add a config clause for nhc98. b04a3ae [project @ 2001-03-09 14:53:18 by malcolm] Add config clause for nhc98. 76a32be [project @ 2001-03-09 14:56:09 by malcolm] Typo: chr1.run.stderr should be chr1.run.stdout. e2446b6 [project @ 2001-03-09 14:59:55 by malcolm] Add expected output. 210848c [project @ 2001-03-09 15:02:19 by malcolm] These have moved up a directory. db84b27 [project @ 2001-03-09 15:05:46 by malcolm] More stuff that has moved up a directory. 2a4fd92 [project @ 2001-03-12 17:10:38 by malcolm] Typo in test config file: expect -> expected cded480 [project @ 2001-06-12 11:48:13 by sewardj] It is a sad directory that does not contain a Makefile. 9531b02 [project @ 2001-06-12 12:06:02 by sewardj] Make another sad directory happy. 90e793b [project @ 2001-06-13 12:24:25 by sewardj] Changes to support running "vanilla" tests -- those with a single source file, reference .stdin, .stdout and maybe .stderr files. These constitute the vast majority of GHC tests. 0cc32f5 [project @ 2001-06-13 12:25:20 by sewardj] Beginnings of documentation for the driver language syntax/semantics. 48d22aa [project @ 2001-06-14 11:39:14 by sewardj] Commit hackery so far. 655db08 [project @ 2001-06-14 17:01:55 by sewardj] Save today's work in a safe of placety, in view of the catastrophically bad current state of our main NFS server. 416f1d0 [project @ 2001-06-15 16:33:22 by sewardj] Yet another major rewrite of the test driver. 05e11cd [project @ 2001-06-18 17:02:22 by sewardj] Onwards and upwards (allegedly). 1e64a14 [project @ 2001-06-19 13:17:06 by sewardj] Many improvements and debuggings. The test driver now works as desired, with multiple tests described in each .T file, and with the test driver having a minimum of hardwired logic. d6b22f0 [project @ 2001-06-19 14:03:39 by sewardj] Move to new framework. 0ad1f5e [project @ 2001-06-19 15:06:07 by sewardj] More minor tweaks. 8c28264 [project @ 2001-06-19 15:06:36 by sewardj] Track recent hackery. 23f574d [project @ 2001-06-20 13:08:14 by sewardj] Command-line enhancements: * Restrict the run to specific test(s). * Allow variables to be set at the command line. 1dce884 [project @ 2001-06-20 15:11:17 by sewardj] All your codeGen tests are belong to me. Well, the should_run ones, at least. c1d554d [project @ 2001-06-20 15:12:17 by sewardj] Various misc hackery which didn't seem to have made it through since the last commit. 76e5776 [project @ 2001-06-20 15:44:54 by sewardj] Add support for compile-only (should_run) style tests. 5cef897 [project @ 2001-06-20 15:46:02 by sewardj] Complete the codeGen tests. f888eb8 [project @ 2001-06-20 15:57:19 by sewardj] Hey! This game is easy. ec4b443 [project @ 2001-06-20 16:13:06 by sewardj] Quite a significant number of your typechecker tests are belong to fptools/testsuite. 0a845eb [project @ 2001-06-21 11:15:17 by sewardj] Document current limitations of ghc-regress tests. 05065c9 [project @ 2001-06-21 11:16:27 by sewardj] Add typechecker should_fail tests. 9ea3922 [project @ 2001-06-21 16:18:26 by sewardj] Add support for piping arbitrary strings through arbitrary programs. 8fe8aed [project @ 2001-06-21 16:21:48 by sewardj] Further adventures to do with approximate matching of compiler error messages. Use the new pipe facility in the test driver to normalise error messages before comparison, by piping them through new program normalise_errmsg. This avoids various kinds of tiresome comparison failures to do with capitalisation, whitespace changes, and path names. be8858f [project @ 2001-06-22 09:04:29 by sewardj] Updated expected output for typechecker failure tests. 883433f [project @ 2001-06-22 09:47:24 by sewardj] Print the outcome for each test as soon as it is known. Makes debugging the testsuite a lot easier. 95a03e6 [project @ 2001-06-22 09:49:57 by sewardj] Assimilate renamer tests. 569bcea [project @ 2001-06-22 11:17:29 by sewardj] Add stranal tests. f28cb04 [project @ 2001-06-22 11:18:25 by sewardj] normalise_errmsg()s in a few more places. 4f3a880 [project @ 2001-06-22 11:53:44 by sewardj] Add simplifier tests. b43197d [project @ 2001-06-22 12:10:59 by sewardj] Further improvements to printing of diagnostic information. 2f6552a [project @ 2001-06-22 12:28:32 by sewardj] Add deSugar tests. a2de2d3 [project @ 2001-06-22 12:29:14 by sewardj] More diagnostic wibbles. fa980b2 [project @ 2001-06-25 09:49:12 by sewardj] Enough commits to make it usable. 11373b9 [project @ 2001-06-25 10:04:28 by sewardj] Use an installed ghc-5.00.2 to build the test driver and error normaliser. This is a temp hack until the Makefiles in testsuite/ are properly integrated into mkworld. 34a5daa [project @ 2001-06-25 11:57:16 by sewardj] Improved diagnostics when a should_compile test fails. 172201a [project @ 2001-06-25 12:54:59 by simonpj] Add an implicit-parameter test 850e0b3 [project @ 2001-06-26 11:31:20 by sewardj] Add the parser tests, formerly known as reader/. Contains a significant amount of breakage which needs to be looked at. 58bbfc5 [project @ 2001-06-26 11:45:11 by sewardj] Add the printing tests. ca8f236 [project @ 2001-06-26 11:53:11 by sewardj] Add the numeric/ tests. 25f7d5d [project @ 2001-06-26 12:04:32 by sewardj] Add deriving/ tests. 0bb68a0 [project @ 2001-06-26 12:19:59 by sewardj] Add concurrent/ tests. Still needs work. 312ff67 [project @ 2001-06-26 12:20:29 by sewardj] Implement a missing case in doStmt. 7d4ce16 [project @ 2001-06-26 14:11:05 by sewardj] Add ccall tests. f3a1946 [project @ 2001-06-26 14:17:21 by sewardj] Add array tests. b4e851f [project @ 2001-06-27 15:22:16 by sewardj] Fix some breakage. e78eebf [project @ 2001-06-27 15:44:02 by sewardj] upd expected output f6122f2 [project @ 2001-06-27 15:44:33 by sewardj] Fix bug in vanilla-comp-test-actions 0fb039d [project @ 2001-06-27 16:31:45 by sewardj] Update expected outputs. a6291e8 [project @ 2001-06-27 16:32:51 by sewardj] Record the current state of play. 583a4dc [project @ 2001-06-27 16:39:02 by sewardj] All these concurrent/ tests tend to fare better when compiled with "-package concurrent". Duh. 3b27905 [project @ 2001-06-28 15:08:39 by simonpj] Add tcfail094 190697f [project @ 2001-06-28 15:24:56 by lewie] I guess I shoulda put it here... 648d1b9 [project @ 2001-06-28 16:25:46 by simonpj] Update tests 6b071de [project @ 2001-07-06 14:24:18 by simonmar] add these files in The Other Place too a686e0c [project @ 2001-07-11 16:06:23 by sewardj] Assimilate ghc/tests/programs. This includes bringing several of them back from the dead. 3b5b917 [project @ 2001-07-11 16:07:02 by sewardj] Support file for multiple-module tests. 771cb56 [project @ 2001-07-11 16:07:52 by sewardj] Rename some functions used in vanilla-test.T to be more consistent/logical. 516abcb [project @ 2001-07-11 16:11:26 by sewardj] Oops! Nuke the old Makefiles. 79c2420 [project @ 2001-07-12 12:40:09 by sewardj] Fix type causing all concurrent tests to fail. ba63115 [project @ 2001-07-12 16:22:04 by simonpj] Add tc130 87d8f19 [project @ 2001-07-13 14:25:14 by sewardj] Changes to support comparing against summaries of previous runs: --save-summary= saves a summary of this run --compare-summary= compares this run against summary from 179553f [project @ 2001-07-13 14:59:13 by sewardj] -- Use diff to show diffs between actual and expected compiler output. -- Show compiler output in cases where none was expected. 708d4ba [project @ 2001-07-13 15:39:55 by sewardj] Handy shell scripts for running tests. Use either as ./run or ./run testname(s) (In general, ./run followed by any other args you want to pass to the test driver). e0ee994 [project @ 2001-07-13 15:40:24 by sewardj] Fix bogons from last commit. 80c2dd3 [project @ 2001-07-13 15:41:52 by sewardj] printing wibble 92ee7ed [project @ 2001-07-20 16:51:58 by simonpj] Add test for newtypes a325b73 [project @ 2001-07-23 09:45:08 by simonpj] Add tc131 5519110 [project @ 2001-07-25 15:56:39 by simonpj] Add tc132 5c1adf6 [project @ 2001-08-14 14:19:50 by simonmar] Random hackage, including: bc8fc28 [project @ 2001-08-14 16:02:15 by sewardj] Some rudimentary documentation of the .T language syntax and semantics. 810768d [project @ 2001-08-16 12:00:00 by simonmar] - Fix a bug in the 'defined' operator - Print fewer newlines 42afc33 [project @ 2001-08-16 12:02:16 by simonmar] Add a verbose flag (use ./runtests verbose=True to get the actual command lines printed out) 16e9c49 [project @ 2001-08-16 13:22:01 by simonmar] - print diffs when output files differ (in verbose mode) 60a369a [project @ 2001-08-16 13:30:06 by simonmar] --tool is no longer a formal option: you can get the same effect by just saying tool= on the command line. This means it can also be set in a config file instead. a4ca1e3 [project @ 2001-08-16 13:32:32 by simonmar] Bring these tests up to date. 7139190 [project @ 2001-08-16 14:12:56 by simonmar] Fix these tests. cb18602 [project @ 2001-08-16 14:13:37 by simonmar] Don't try to handle multiple sample stdout/stderr files for now. d2cfd45 [project @ 2001-08-16 14:23:27 by simonmar] merge from old test suite 3e8cae7 [project @ 2001-08-16 14:25:04 by simonmar] Allow compiling to .hc only. e6e7e51 [project @ 2001-08-17 10:48:27 by simonmar] - Replace the parser with a happy one - simplify the grammar in a couple of places - don't automatically print out the argument to 'run'. 212adad [project @ 2001-08-17 12:58:37 by simonmar] Track some minor changes to the syntax. e174308 [project @ 2001-08-17 13:00:24 by simonmar] Use say_fail_if_noteq() rather than inline version. 3f4e985 [project @ 2001-08-17 15:05:29 by simonmar] Print a helpful message when the program produced some output and it shouldn't have. 481e06b [project @ 2001-08-17 16:16:21 by simonmar] Knock this into slightly better shape and bring over some more tests from the old test suite. cdd58a9 [project @ 2001-08-20 14:53:12 by simonpj] Add tcrun016 886e7fe [project @ 2001-08-20 14:58:10 by simonmar] print contents of the file that should have been empty, in verbose mode f30dbe2 [project @ 2001-08-20 14:59:21 by simonmar] These tests now work ab6bd57 [project @ 2001-08-20 15:15:23 by simonmar] We had file better turn on -fglasgow-exts for this test: it uses local unversal quantification. 1e81eb4 [project @ 2001-08-20 15:42:41 by simonmar] fix obviously wrong typo 68990f6 [project @ 2001-08-20 15:47:12 by simonmar] ignore newlines too: because the compiler pretty-prints error messages, we sometimes encounter spurious line wrappage. 386ead5 [project @ 2001-08-20 16:20:30 by simonmar] update these tests 01a7e86 [project @ 2001-08-21 16:23:29 by simonpj] Add tc133 2dd00f3 [project @ 2001-08-22 09:58:49 by simonpj] add strictness test 730ab9b [project @ 2001-08-22 10:36:07 by simonmar] Add a simple fptools project, so we don't have to wire in things like the location of GHC_INPLACE, and so we can use Makefiles in the various test subdirectories to simplify running the test driver. 6011b4e [project @ 2001-08-22 10:42:32 by simonmar] Use makefiles in the subdirectories to ease running the test driver in a subdirectory. It can be run in the following ways: 9e2f38d [project @ 2001-08-22 10:57:35 by simonmar] Add a README file, which explains how to run the testsuite, how to update the expected output, and how to add new tests. It assimilates the contents of tests/ghc-regress/HOW_TO_ADD_A_TEST, which has been removed. 20e48fd [project @ 2001-08-22 11:21:07 by simonmar] Allow expected failures, by setting the global var $expect to "fail" (defaults to "pass"). 71bd814 [project @ 2001-08-22 11:23:22 by simonmar] Allow expected failures. 47d33a6 [project @ 2001-08-22 11:23:44 by simonmar] This test is an expected failure. We have no idea how to run it. b78b12e [project @ 2001-08-22 11:41:40 by simonmar] update this and actually use it from vanilla-test.T and multimod-test.T 88b6ee1 [project @ 2001-08-22 11:45:42 by simonmar] make this an expected failure 8247bf8 [project @ 2001-08-22 11:46:29 by simonmar] Add Makefiles for these tests 0c1eaff [project @ 2001-08-22 11:47:00 by simonmar] the stubs shouldn't be in the repository 40ae428 [project @ 2001-08-22 11:48:53 by simonmar] don't forget to include std-macros.T 6f3df5c [project @ 2001-08-22 11:50:07 by simonmar] tcrun015 doesn't exist (???) 5ac6fee [project @ 2001-08-22 11:52:34 by simonmar] expected failure fixes e2520c8 [project @ 2001-08-22 11:53:10 by simonmar] expect tcrun007 to fail, because it requires generics support in the prelude. ee157e6 [project @ 2001-08-22 12:17:42 by simonmar] Remove these tests: they used to test the compiler's internal printing machinery, but too much has changed in that area for the tests to stand any chance of working. At some point we should add some new tests for -ddump-foo. 1ff078e [project @ 2001-08-22 12:21:15 by simonmar] Add cpranal tests. 1f95756 [project @ 2001-08-22 12:31:24 by simonmar] Add a Makefile here. ea04e86 [project @ 2001-08-22 13:17:54 by simonmar] oops, I didn't notice that "reader" had been renamed to "parser" when it was imported. So these are the changes I made to the reader tests to make them work. I'll go and remove reader in the repo. 5beeb5f [project @ 2001-08-22 13:20:57 by simonmar] add Makefiles 0ae8de2 [project @ 2001-08-22 13:36:15 by simonmar] Run each test in its own directory, rather than trying to run them all from the directory in which the driver was started. This is required because several tests expect to be able to open auxilliary files in the current directory. 4511bce [project @ 2001-08-22 13:59:54 by simonmar] More tidyups and code sharing. 8724376 [project @ 2001-08-22 14:08:21 by simonmar] This file isn't used any more. I had to do some repository surgey on std-macros.T because it seemed to have been removed and then magically brought back to life such that it was "alive" but living in the Attic. d2946ab [project @ 2001-08-22 14:11:33 by simonpj] Add tcrun015 d98ce54 [project @ 2001-08-22 14:58:35 by simonmar] Move the test code into a separate makefile. 284db99 [project @ 2001-08-22 15:00:34 by simonmar] Run the compiler from the directory in which the test source lives. This allows simple multi-module tests using the vanilla test macros to work (not strictly the right way to do it, but several of our tests are of this kind). 061ce2c [project @ 2001-08-22 15:04:55 by simonmar] Slight change to the semantics so that global vars can be modified from within a macro. 10b86e7 [project @ 2001-08-22 15:05:21 by simonmar] fptools-ish Makefile 2051a4c [project @ 2001-08-22 15:09:56 by simonmar] hReady001 is an expected failure 38c78d8 [project @ 2001-08-22 15:31:55 by simonpj] Add tc134 d65e92e [project @ 2001-08-22 15:32:37 by simonpj] Add Thurstons modular arith 5b3f3b1 [project @ 2001-08-22 15:38:25 by simonmar] update expected output 5069be6 [project @ 2001-08-22 15:46:41 by simonmar] update expected output 9cadf1b [project @ 2001-08-22 15:57:01 by simonmar] fptools-ish makefiles. 358bd3d [project @ 2001-08-22 16:04:59 by simonmar] fptools-ish makefile a002db5 [project @ 2001-08-22 16:25:33 by rrt] ENOWORD (gastly) 3c68c8d [project @ 2001-08-22 16:33:29 by rrt] Add ffi002, which consists of a c file and an hs file. Added some gunk to all.T to maybe make it work. 23aaae7 [project @ 2001-08-23 08:46:23 by simonpj] Add cg050 8460e94 [project @ 2001-08-24 09:48:20 by simonmar] Add a new flag, --output-summary, which dumps the human-readable form of the summary to a file. eb7bbde [project @ 2001-08-24 11:17:28 by simonmar] separate $platform into $arch and $os. d3278e6 [project @ 2001-08-24 13:39:40 by simonmar] update some expected output, and mark tcfail080 as an expected failure f16fdcd [project @ 2001-08-24 14:36:19 by simonpj] Add tcfail096 a1e8f05 [project @ 2001-08-24 14:36:44 by simonpj] Remove bogus test from tc126 293accb [project @ 2001-08-24 14:46:03 by simonpj] Simon fixup 5cf1a83 [project @ 2001-08-24 14:47:08 by simonmar] accept the new output eb718c9 [project @ 2001-08-24 14:48:49 by simonmar] accept the output 7590bd3 [project @ 2001-08-24 14:50:48 by simonmar] expect read002 to fail (illegal character in string literal, not implemented yet) a88abab [project @ 2001-08-24 14:52:15 by simonmar] accept output 0f2c524 [project @ 2001-08-24 15:17:29 by simonmar] These two tests collectively used to be rnfail014. tcfail097 works, tcfail098 currently fails. ae578d6 [project @ 2001-08-24 15:18:35 by simonmar] This test moved to typecheck/should_fail/tcfail0{97,98} 986ffd7 [project @ 2001-08-24 15:56:54 by simonmar] Add tests for the warning problems reported by Marcin earlier this week. 019fea4 [project @ 2001-08-27 10:32:46 by simonmar] update expected output e0c453f [project @ 2001-08-27 10:38:53 by simonmar] program runs in its own directory now, so doesn't need hackage to find its input file. 13083e7 [project @ 2001-08-27 10:40:17 by simonmar] add $TEST as a synonym for $TESTS, so you can say 'make TEST=foo' c25352e [project @ 2001-08-27 10:41:17 by simonmar] The program runs in its own directory now, so doesn't need hackage to find its input file. 38245db [project @ 2001-08-27 10:43:36 by simonmar] Remove debugging output from sample output f4f7d2c [project @ 2001-08-27 10:47:57 by simonmar] add expected output (warnings) 2a1f26b [project @ 2001-08-27 10:49:54 by simonmar] update expected output 9391707 [project @ 2001-08-27 10:55:24 by simonmar] Skip ffi002, we don't have the require machinery to perform this test (it has a separate .c file to compile). 8dbcb15 [project @ 2001-08-27 11:25:29 by simonmar] Add another missing warning test from Marcin fe4151b [project @ 2001-08-27 11:27:15 by simonmar] Update the known failure list. We currently have 9 known failures, of which one is actually a potential problem (okeefe_neural; the compiler runs out of heap in the simplifier while compiling it). b5855c3 [project @ 2001-08-27 11:34:10 by simonmar] Add test for recursive newtypes and foreign imports, from Manuel. 78664bb [project @ 2001-08-27 11:41:37 by simonmar] Add test for scoped type variables w/ existential constructors (failed in 5.00 but works in 5.02, reported by Peter Gammie ) 71988f3 [project @ 2001-08-28 10:01:14 by simonmar] Add two more tests: - arith014 tests fromIntegral behaviour on overflow - arith015 tests things like (read :: "Infinity" :: Double) c262f1c [project @ 2001-08-28 10:35:35 by simonmar] Allow multi-module compile-only tests. a2ae270 [project @ 2001-08-28 10:37:40 by simonmar] Add functional dependency/missing instance test. f81e778 [project @ 2001-08-28 10:49:50 by simonmar] Modify this test to do something reasonable: it now tests that hiding a constructor leaves the corresponding type constructor visible (this is a bug reported by George Russell a while back). Enable rn037 in all.T. edf3f79 [project @ 2001-08-28 11:12:09 by simonmar] Add some tests for hGetBuf & hPutBuf 3bf4c9f [project @ 2001-08-28 13:26:59 by simonmar] Test for exporting of an unimported module. 162ca7c [project @ 2001-08-28 13:27:36 by simonmar] comment this test 2c9e746 [project @ 2001-08-28 13:33:59 by simonmar] add test for conflicting exports 89f46f5 [project @ 2001-08-28 13:38:10 by simonmar] Add a test for unqualified imports bringing into scope qualified names. 918a03a [project @ 2001-08-28 13:42:33 by simonmar] Add a test to make sure that qualified imports can be restricted to the specified entities. a8f7f14 [project @ 2001-08-28 13:45:39 by simonmar] Test that hiding works on a qualified import 6d7f6f5 [project @ 2001-08-28 13:51:25 by simonmar] Test that using hiding on an unqualified import also hides the qualified name. 179da89 [project @ 2001-08-28 13:56:30 by simonmar] Test that hiding a non-exported identifier is legal. 6fc4f79 [project @ 2001-08-28 13:57:46 by simonmar] note that rn038 is a new expected failure. 1e558c8 [project @ 2001-08-28 14:03:55 by simonmar] Test that a qualified name can't be bound in a local binding group. c15cdf6 [project @ 2001-08-28 14:19:55 by simonmar] add '!!!' to the comment in here b082afe [project @ 2001-08-28 14:23:41 by simonmar] rn030 was a duplicate of rn026 7374d8b [project @ 2001-08-29 08:42:15 by simonmar] Add irrefutable pattern test from the Hugs bugs list. ac43c83 [project @ 2001-08-29 08:44:49 by simonmar] bugfix in check_stderr_ok() 36b6643 [project @ 2001-08-29 09:35:32 by simonmar] Update this test for the changes to the Ix class. In particular, we can no longer depend on Eq being a superclass of Ix, so when comparing indices we have to use Ix.index and comapre the Int results. 517e555 [project @ 2001-08-29 13:59:05 by rrt] Correct spurious instructions. a03c70b [project @ 2001-08-29 14:34:09 by simonmar] Expand this test to show a range of floats and doubles using showEFLoat, showFFloat and showGFloat with a range of precisions, and also attempt to "read" back the results. ba0277c [project @ 2001-08-29 14:38:59 by simonmar] Move Numeric tests into lib/Numeric 5b431cf [project @ 2001-08-30 09:37:45 by simonmar] note about expected failure rnfail034 (nothing major, just an error message wibble) fd14814 [project @ 2001-08-30 10:15:01 by rrt] Make it work on Windows a3140fb [project @ 2001-08-30 17:22:13 by rrt] Make it work better on windows MERGE TO STABLE BRANCH 6b3261b [project @ 2001-08-31 11:29:04 by simonmar] Update test after the behaviour of scan{r,l}1 changed c5d7e7e [project @ 2001-08-31 11:29:35 by simonmar] update expected output 212fa53 [project @ 2001-08-31 12:43:39 by rrt] Update expected output; MERGE TO STABLE BRANCH 4eb498d [project @ 2001-08-31 16:06:46 by rrt] Change this test to make it mathematically trivial, but keep the ccall intact. This has two salutary effects: c89ac42 [project @ 2001-08-31 16:15:52 by rrt] There is no file getPermissions001 on Windows, so comment out this test. There's no other obvious source of executable files which are named the same on Windows and Unix either. If you really want to, you could always set the permissions (if that's possible from Haskell) and then test them, but for now content ourselves with non-executable files and directories. 95e357e [project @ 2001-09-03 09:27:18 by rrt] Julian pointed out that as 0.0 is a bit string of 0s (at least for IEEE), it's an easy result to get bogusly. So use cos instead of sin, expecting 1.0 back. Has all the other nice properties, plus better error detection. 3588010 [project @ 2001-09-03 12:51:36 by sewardj] Changes to make it work with Solaris tools (/bin/sh, diff). e9f73bf [project @ 2001-09-03 15:53:55 by sewardj] Expunge more bash-isms. 3895411 [project @ 2001-09-04 18:29:22 by ken] THIS CHANGE AFFECTS ALL OBJECT FILES COMPILED FROM HASKELL. Please say "make -C ghc/lib/std clean; make -C hslibs clean". 9622eba [project @ 2001-09-05 04:06:41 by ken] Don't buffer stdout when running tests, to keep log files tidy when we redirect both stderr and stdout into the same log file from runtest. 83fe338 [project @ 2001-09-05 04:07:19 by ken] Fix expected output. 42b56be [project @ 2001-09-07 08:17:07 by simonmar] Fix some signatures after the change to the Ix class. ecf856a [project @ 2001-09-07 08:23:27 by simonmar] Fix some signatures after Ord was removed as a superclass of Ix. a9ad23a [project @ 2001-09-07 09:49:05 by sewardj] Update expected result. 0ecc9e3 [project @ 2001-09-07 12:52:23 by rrt] c9cb517 [project @ 2001-09-07 13:00:51 by rrt] Test-suite titivation --------------------- 246fa63 [project @ 2001-09-07 13:22:31 by rrt] Set some expected failures for Windows. ZBB time... a5c9e80 [project @ 2001-09-07 14:14:07 by sewardj] Mark tcfail098 as an expected failure, since that's what it is. 3435b25 [project @ 2001-09-07 14:30:52 by sewardj] Fix Unix expected output. 8f07e37 [project @ 2001-09-07 14:31:13 by rrt] Changed "expect fail" in all.T to "$expect = "fail"", which should work; the former shouldn't work, the latter does. f5af381 [project @ 2001-09-07 14:34:26 by sewardj] Update expected output. ba2b16f [project @ 2001-09-07 15:21:09 by sewardj] Really fix expected output. Duh. e2c894d [project @ 2001-09-07 16:00:17 by rrt] Check in Windows-specific results files; remove a spurious one, and fix that for hGetLine001 (a new Win-specific file). 1baf6bb [project @ 2001-09-13 14:41:30 by sewardj] update expected output. 3770767 [project @ 2001-09-13 14:44:57 by sewardj] Yet another change to the expected output. This test is really very stupid and should be re-done. 718d043 [project @ 2001-09-13 15:54:43 by simonmar] Back out the change to remove Ord as a superclass of Ix; the revised Haskell 98 report will no longer have this change. e66d94b [project @ 2001-09-14 13:58:07 by sewardj] solaris-specific results 0e2e78f [project @ 2001-09-14 14:03:59 by sewardj] solaris-specific results 721d408 [project @ 2001-09-14 14:08:54 by sewardj] solaris specific results a1eb965 [project @ 2001-09-14 14:12:00 by sewardj] yet solaris bogons bcac9f5 [project @ 2001-09-14 15:04:34 by sewardj] fix endian problems causing sparc failure for cg044 1a42e0f [project @ 2001-09-17 09:05:28 by sewardj] Pick up PATH rather than TERM, since the latter ain't always set. 506b6d1 [project @ 2001-09-17 09:09:11 by sewardj] Remove redundant printing in simple_build_Main_wrk. 0697cc8 [project @ 2001-09-17 17:40:55 by rrt] Make call of tool (i.e. the compiler) work when it has spaces in its paths. ac82fb0 [project @ 2001-09-18 11:53:37 by sewardj] remove spurious debug printing (again) 39b2e47 [project @ 2001-09-18 12:09:04 by sewardj] cg038 is no longer an expected failure on Windoze b83c4cd [project @ 2001-09-18 12:23:02 by sewardj] Make this less fragile. Was failing sometime on Windoze. 7432f58 [project @ 2001-09-20 08:21:06 by simonpj] Add tcrun017, enable tcrun015, 016 6b313cf [project @ 2001-09-20 08:42:55 by simonpj] Add tc136 d211188 [project @ 2001-09-20 10:19:07 by sewardj] Add test for cgIdInfo assert fail. 988c15e [project @ 2001-09-20 14:37:30 by simonmar] Test that you can't export a constructor on its own. fe07ba0 [project @ 2001-09-20 14:37:47 by simonmar] Add rnfail035 5bd6235 [project @ 2001-09-23 20:54:39 by ken] On alpha-dec-osf3, we need to compile galois_raytrace with -O to prevent the following fatality: 4133136 [project @ 2001-09-23 20:59:55 by ken] 64-bit expected result is, um, correct, unlike the overflowing 32-bit result MERGE TO STABLE 62ba649 [project @ 2001-09-23 21:01:23 by ken] Add 64-bit platform-specific expected stdout MERGE TO STABLE ac0b458 [project @ 2001-09-23 21:09:46 by ken] Added platform-specific result for alpha-dec-osf3. Apparently, running programs are prohibited from writing to their own binary images. 6467f76 [project @ 2001-09-23 21:43:25 by ken] Yes, Virginia, alpha-dec-osf3 is little-endian. MERGE TO STABLE ba02c38 [project @ 2001-09-23 21:46:03 by ken] conc030 requires 2 megs of stack space on the Alpha; let's just give it 2 megs of stack space on every platform. MERGE TO STABLE cccad52 [project @ 2001-09-23 21:50:17 by ken] Skip the test on alpha-dec-osf3, where we run into an infinite loop on some builds 8eb811e [project @ 2001-09-23 21:57:25 by ken] Add 64-bit platform-specific expected stdouts MERGE TO STABLE 33df184 [project @ 2001-09-23 22:25:57 by ken] Added 64-bit platform-specific output for enum01, enum02 and enum03, including a minor fix to enum03.hs and enum03.stdout. a2a118b [project @ 2001-09-24 00:39:26 by ken] Add 64-bit platform-specific expected stdouts; MERGE TO STABLE 6d6c6ab [project @ 2001-09-24 13:53:47 by ken] Fix 64-bit expected output. MERGE TO STABLE acd4954 [project @ 2001-09-24 15:49:24 by simonmar] We have to declare some extra precedences after the change in behaviour in Happy 1.11. 1f3cfb2 [project @ 2001-09-26 09:42:12 by simonmar] add test for unterminated nested comments f488c31 [project @ 2001-09-26 13:18:45 by simonmar] add CmdParser.hs to CLEAN_FILES 68d5c3f [project @ 2001-10-01 09:59:42 by simonmar] Add tests for mixing layout and explicit braces. d5e76b2 [project @ 2001-10-04 08:18:06 by simonpj] Add test that Hugs bizarrely fails 3dd2a62 [project @ 2001-10-11 14:41:31 by sewardj] Add test for converting DEFAULTs to unboxed tuples in case alts. 39ba82a [project @ 2001-10-16 15:07:21 by simonmar] test the Show instance for HandlePosn. 9a83618 [project @ 2001-10-16 15:32:57 by simonpj] Add a test I had hanging around; maybe merge to branch 6c91928 [project @ 2001-10-17 10:57:16 by simonpj] Add tests for unsaturated type synonyms 0ac8718 [project @ 2001-10-17 11:13:57 by simonpj] Add another functional dependency test [oArmin Groesslinger bug] 625334c [project @ 2001-10-19 14:03:28 by rrt] Add win32 hello world as a test. It tests linking stub files, among other things. a944b29 [project @ 2001-10-19 14:10:14 by rrt] Tweak to not run on non-Windows platforms. cf796b3 [project @ 2001-10-22 09:35:11 by simonpj] Add tc140 b87e982 [project @ 2001-10-22 11:32:27 by simonpj] Add tcfail099 96a8377 [project @ 2001-10-22 11:33:21 by simonpj] Add tcfail099.stderr 1a9a693 [project @ 2001-10-22 11:34:41 by simonpj] Correct error message 2fbca5b [project @ 2001-10-22 16:13:07 by simonmar] Add a name shadowing test. 51025d4 [project @ 2001-10-24 10:21:44 by sewardj] Deez dudes are malclassified. Rm dem. 8390afc [project @ 2001-10-24 10:27:55 by sewardj] Move malclassified tc138/tc139 to tcfail100/tcfail101 in this dir. b9645ab [project @ 2001-10-25 14:06:07 by simonpj] Add Mark Shields IP test 57fd559 [project @ 2001-10-26 11:30:54 by sewardj] merge from stable, rev 1.1.2.1: 0263bf1 [project @ 2001-10-29 09:38:39 by simonmar] Move the unused binding test from deSugar to rename, and add another case which currently fails to produce a warning (from Marcin). This test is a known failure at the moment. 4d23723 [project @ 2001-10-30 09:30:29 by simonmar] Update some sample output following rev. 1.41 of ghc/compiler/prelude/TysPrim.lhs. ea16ee8 [project @ 2001-10-30 09:33:02 by simonmar] update sample output 7a9cd69 [project @ 2001-10-31 12:25:31 by simonmar] Add empty file test. 16564aa [project @ 2001-11-01 10:30:13 by simonpj] Add test that killed 5.02 424cd45 [project @ 2001-11-02 09:54:42 by simonpj] Test for record update failure 42a7e04 [project @ 2001-11-02 10:20:51 by simonpj] Add another test b6e2d73 [project @ 2001-11-02 10:27:19 by simonpj] Hiding non-existent entity is now an error; move rn038 to should_fail c56f99b [project @ 2001-11-02 10:28:06 by simonpj] Hiding non-existent entity is now an error; add rnfail038 dc9bc50 [project @ 2001-11-02 10:30:26 by simonpj] Remove duplicate defn on Win32 9e2ad08 [project @ 2001-11-06 14:39:29 by simonpj] Add another demand test b2e2ef0 [project @ 2001-11-20 16:24:32 by simonpj] Avoid default-method warning 77198bc [project @ 2001-11-20 16:24:54 by simonpj] Avoid inlining to allow rule to fire 40c54e0 [project @ 2001-11-20 16:25:21 by simonpj] Update error messages 9220f41 [project @ 2001-11-20 16:27:19 by simonpj] Update expected output 1a3ba3e [project @ 2001-11-21 13:53:41 by simonpj] add tc141 232bf42 [project @ 2001-11-21 13:55:02 by simonpj] Add Makefile 09928e1 [project @ 2001-11-21 17:10:26 by simonpj] update expected output 8ba7f42 [project @ 2001-11-30 09:26:27 by simonpj] Update expected output 73edd06 [project @ 2001-12-03 11:53:10 by simonpj] Update expected output d61949b [project @ 2001-12-07 15:11:05 by sewardj] Change expected results for a couple of boundary cases for gcd to be more in line with how the Report indicates gcd should work. 681a88a [project @ 2001-12-10 09:51:36 by simonpj] Add a lexical comment test 2acb595 [project @ 2001-12-10 15:22:12 by simonmar] Test that the instances of enumFrom for the basic numeric types are strict (only Int is at the moment, so this is an expected failure). 9d5ace9 [project @ 2001-12-20 09:06:26 by simonpj] Remove tcfail039; now legal after a H98 change 444c71e [project @ 2001-12-20 09:07:05 by simonpj] Moved from tcfail039 83e9a3f [project @ 2001-12-20 09:07:39 by simonpj] add new tc142 d1e58b6 [project @ 2001-12-20 09:07:52 by simonpj] remove tcfail039 1f8d5b0 [project @ 2001-12-20 09:18:09 by simonpj] Update expected output b7d8b03 [project @ 2001-12-20 15:24:44 by sewardj] Add test of floating-point comparisons in the presence of NaNs. 5d680ce [project @ 2001-12-21 10:23:52 by simonmar] Add test for record declaration with zero fields. 19b9798 [project @ 2001-12-21 10:29:16 by simonpj] Add simple deriving test 0a0a2da [project @ 2001-12-28 10:25:02 by simonpj] Update output f32268f [project @ 2001-12-28 17:36:49 by simonpj] Update output e1d30e6 [project @ 2002-01-03 12:34:04 by simonpj] update output c695393 [project @ 2002-01-03 12:36:04 by simonpj] update output, add drvfail002 109771d [project @ 2002-01-03 12:42:21 by simonpj] update output 3dd01d6 [project @ 2002-01-07 22:43:07 by ken] Use HsInt rather than int MERGE TO STABLE 3658c02 [project @ 2002-01-22 13:54:23 by simonmar] Deadlock is now an exception instead of a return status from rts_evalIO(). 1c44d85 [project @ 2002-01-22 14:07:16 by simonmar] Add deadlock exception test. aee7f7b [project @ 2002-01-22 14:30:16 by simonmar] Add a multi-thread blackhole test (now gets a NonTermination exception instead of a fatal "no threads to run" error). b26cf9b [project @ 2002-01-25 12:28:03 by simonmar] Actually test tryTakeMVar on a full MVar, as well as an empty one. 4002760 [project @ 2002-01-25 13:40:39 by simonmar] - Miss out the gcd cases where either operand is minInt. These cases are undefined in GHC, because (abs minBound ::Int) is undefined. edfd3a9 [project @ 2002-01-29 17:17:29 by simonmar] Test that IOError has Eq defined. 471c416 [project @ 2002-01-31 10:07:59 by simonpj] Feuer bug c75776c [project @ 2002-02-04 09:49:00 by simonpj] Add implicit-param rank-2 test 8e5079b [project @ 2002-02-04 09:49:20 by simonpj] Add tc144 0da55ba [project @ 2002-02-04 11:50:49 by simonmar] Add test for parenthesised left-hand-sides 4e4ef30 [project @ 2002-02-05 09:42:58 by simonmar] Update these tests w.r.t. the new FFI syntax. 8de2c49 [project @ 2002-02-05 09:49:35 by simonmar] update to new FFI syntax and update sample output 6cc8a8e [project @ 2002-02-05 09:50:39 by simonmar] update sample output 7a5083f [project @ 2002-02-07 13:56:56 by simonpj] Add test for stangely-kinded tyvar default 898568a [project @ 2002-02-11 15:21:21 by simonmar] Add regression test for lexer bug when parsing "1.0e+x". 34f586a [project @ 2002-02-13 14:56:38 by simonmar] Fiddle with $(TOP) 02570cc [project @ 2002-02-13 15:00:22 by simonmar] Section precedence test 1d193b1 [project @ 2002-02-13 15:07:17 by simonmar] Check a difficult operator precedence case: (-3 **) where (**) is infixl 7 should be disallowed. edbab70 [project @ 2002-02-18 09:33:44 by simonmar] Add test for PAP_entry: CATCH_FRAME bug. 022ec94 [project @ 2002-02-18 12:10:41 by simonmar] Catch up with changes in other parts of the tree c18e9c2 [project @ 2002-02-21 14:08:57 by sewardj] new-library-ise 0cb5d9f [project @ 2002-02-21 15:13:07 by sewardj] Move towards new-library-compatibility 5b06422 [project @ 2002-02-21 16:57:38 by sewardj] new-library-ise some of these 9bec2a1 [project @ 2002-02-21 17:31:17 by sewardj] Fix those failures which are manifestly due to the new library. c8adbae [project @ 2002-02-22 12:36:01 by sewardj] new-library-ise 64ac7ed [project @ 2002-03-02 18:09:32 by sof] make them compile again 340cd1e [project @ 2002-03-02 18:10:57 by sof] more import wibble b6beb55 [project @ 2002-03-08 15:54:32 by simonpj] More tests 8093e05 [project @ 2002-03-08 16:01:53 by simonpj] A test for zero-constructor types 0f20c6b [project @ 2002-03-08 16:02:21 by simonpj] missed the stderr file ca62d8c [project @ 2002-03-12 10:39:02 by simonmar] The foreign import in here should be "safe" not "unsafe", because it calls directly back to a foreign export. ddb3ea2 [project @ 2002-03-12 15:55:03 by simonpj] Test inspired by Ralf Laemmel 9f86ec9 [project @ 2002-03-13 11:34:41 by simonmar] Add test for passing float args to a C function through the FFI. 0f3c05f [project @ 2002-03-18 13:50:13 by simonmar] update to use new libraries and non-deprecated features 8560d9c [project @ 2002-03-18 13:56:04 by simonmar] update tests 6fe7be9 [project @ 2002-03-18 13:58:30 by simonmar] Passing a Float to a varargs C function isn't possible, so pass a Double instead. 98b323e [project @ 2002-03-18 13:59:45 by simonmar] PrelGHC ==> GHC.Exts 28d1826 [project @ 2002-03-18 14:08:17 by simonmar] update tests 44aa346 [project @ 2002-03-18 14:37:58 by simonmar] This test was previously codeGen/should_run/cg029, now updated to use the FFI and moved to the right place. b9ed91f [project @ 2002-03-18 14:51:54 by simonmar] update tests; cg029 moved to ccall/should_run, and cg030 is removed (test case is already covered by other tests in ccall). 9a14bee [project @ 2002-03-18 14:53:36 by simonmar] Add a test description f71332e [project @ 2002-03-18 14:54:00 by simonmar] This test now aborts with a BlockedOnDeadMVar exception, not a deadlock. 8f7c6fc [project @ 2002-03-18 15:11:48 by simonmar] restore a couple of '-package lang's that seem to have gone missing 52a994c [project @ 2002-03-18 15:12:54 by simonmar] update expected output eb3e0fd [project @ 2002-03-18 15:14:36 by simonmar] PrelGHC ==> GHC.Prim d237c3e [project @ 2002-03-18 15:15:26 by simonmar] This test doesn't need to import PrelGHC at all 112870d [project @ 2002-03-18 15:16:41 by simonmar] new-library update 8d7534d [project @ 2002-03-18 15:18:15 by simonmar] update expected output 9e9d628 [project @ 2002-03-18 15:20:55 by simonmar] we don't support hand-written .hi files any more, so make this one an .hi-boot file. a705733 [project @ 2002-03-18 15:23:46 by simonmar] use {-# SOURCE #-} imports for the hand-written ifaces b2e9571 [project @ 2002-03-18 15:24:29 by simonmar] use {-# SOURCE #-} imports for the hand-written iface 746fe18 [project @ 2002-03-18 15:27:30 by simonmar] whoever wrote this test apparently got mixed up between '50' and '500', so add the missing imports and add {-# SOURCE #-} while I'm here. a0083bf [project @ 2002-03-18 15:30:06 by simonmar] Turn this .hi file into an .hi-boot file f814fff [project @ 2002-03-19 11:27:39 by simonmar] Add 64 to the list of arguments to the bit operations in this test. dd7655d [project @ 2002-03-25 15:12:45 by simonpj] rank-n tests fbd2a73 [project @ 2002-03-27 17:46:13 by simonmar] I dunno whether this is correct, but it seems now if you write "-0.0" in your source code as a Float and show it, you get "-0.0" back out again (the previous sample output just had "0.0"). Looks fairly harmless and/or more correct to me. 95e4e7a [project @ 2002-03-27 17:47:07 by simonmar] New library fixup 8be4002 [project @ 2002-03-27 17:50:18 by simonmar] net001 needs package concurrent. d87e8d8 [project @ 2002-03-27 17:51:14 by simonmar] Don't need NumExts any more, showHex & friends come from Numeric. f87106d [project @ 2002-03-27 17:52:51 by simonmar] hSetBinaryMode doesn't really have a proper home yet f4be02d [project @ 2002-03-28 09:39:28 by simonmar] accept new output e5313a5 [project @ 2002-03-28 09:42:49 by simonmar] New library update fe25fee [project @ 2002-03-28 09:45:55 by simonmar] Add test that exposed a bug in 5.02.2's networking library (accept wasn't setting the socket returned to non-blocking mode). 4eee77b [project @ 2002-03-28 09:51:32 by simonmar] New library update, remove deprecated stuff d768bd4 [project @ 2002-03-28 10:04:05 by simonmar] PrelBase ==> GHC.Exts f96a9a1 [project @ 2002-03-28 10:07:05 by simonmar] This module had what looked like a lot of unnecessary (and now deprecated) coercions from Word->Int and back, so I removed them. a93f881 [project @ 2002-03-28 10:28:07 by simonmar] Update 0c58616 [project @ 2002-03-28 10:32:24 by simonmar] Reverse the sense of the skip test and expand it to include cygwin32 (the test should be skipped when the platform is *not* mingw32 or cygwin32). 6a86648 [project @ 2002-04-01 14:28:14 by simonpj] Add test for existential that quantifies nothing d8d8a65 [project @ 2002-04-01 14:59:52 by simonpj] update expected output 1638122 [project @ 2002-04-02 13:48:41 by simonpj] Context-simplification loop tests a741545 [project @ 2002-04-10 11:00:29 by simonmar] update expected output 6e0b3d4 [project @ 2002-04-10 11:12:10 by simonmar] tcrun007 is now expected to pass 7967fce [project @ 2002-04-13 05:09:52 by sof] Test -Infinity also 3440ce3 [project @ 2002-04-13 05:11:29 by sof] testing MT extension 24b3eb6 [project @ 2002-04-13 05:12:02 by sof] hook up conc036 and conc037 729463b [project @ 2002-04-13 05:12:25 by sof] kill thread B too 13b37f4 [project @ 2002-04-15 17:57:23 by sof] call-in/call-back MT test d0de52b [project @ 2002-04-19 15:44:54 by sof] sync expected output c2470ad [project @ 2002-04-22 11:52:57 by simonpj] Add a rank-3 test 7df199d [project @ 2002-04-22 14:47:43 by simonpj] Another test of improvement; this one blew up Hugs 48f4422 [project @ 2002-04-23 09:35:17 by simonmar] update expected output 8cf9182 [project @ 2002-04-23 09:43:16 by simonmar] update expected output 3021cde [project @ 2002-04-23 09:47:24 by simonmar] update expected output 278fc96 [project @ 2002-04-23 11:23:29 by simonpj] More tests 7c9b9d5 [project @ 2002-04-23 11:36:52 by simonmar] tc138 has moved c750ca4 [project @ 2002-04-23 17:32:31 by ken] Bring alpha-dec-osf3 expected test results up to date. e47a130 [project @ 2002-04-24 08:48:59 by simonmar] ignore ffi003 on Alpha where we don't have an NCG 0a1ef8e [project @ 2002-04-25 09:05:07 by simonmar] Stable pointer test from Bernie Pope. 98bbe1c [project @ 2002-05-03 09:51:47 by simonmar] Add a layout test (expected failure). 6f13e68 [project @ 2002-05-10 13:31:09 by simonpj] Add a test for tyvars in a type-sig that arent free in the type b51edfa [project @ 2002-05-10 15:24:29 by simonpj] More tests for type validity 351f39d [project @ 2002-05-17 09:28:18 by simonmar] Add test for correct 'negate' handling (currently an expected failure). 904de13 [project @ 2002-05-19 11:55:31 by panne] conc005 is based on the old concurrent package, so imports and compiler flags had to be tweaked. Is this test still needed? d5ea999 [project @ 2002-05-27 15:23:28 by simonpj] Add infix tycon test 4a14e8e [project @ 2002-05-27 15:56:11 by simonpj] Add pattern-match negation test 0a09bd0 [project @ 2002-05-27 16:12:03 by simonpj] Wibbles fa6cd91 [project @ 2002-05-28 08:40:06 by simonpj] Remove tc022; already in dsrun009 863ad0b [project @ 2002-05-28 15:57:44 by simonpj] Switch to let syntax for implicit parameters b04bfa9 [project @ 2002-06-03 11:12:52 by simonmar] Add test for hGetLine on file without a final '\n'. 2ed6880 [project @ 2002-06-05 14:09:46 by simonpj] Update expected results b99f4d4 [project @ 2002-06-07 15:50:22 by simonpj] Add an array read and show test 248ef3d [project @ 2002-06-07 16:22:03 by simonpj] Replace bogus error with the real thing 2fb53d5 [project @ 2002-06-07 16:26:58 by simonpj] Use let syntax instead of with for implicit params c552915 [project @ 2002-06-07 16:30:10 by simonpj] Use let syntax for implicit params 5c59785 [project @ 2002-06-07 16:30:52 by simonpj] negated parameters fixed; should dsrun009 should pass now c664f9b [project @ 2002-06-08 14:25:23 by panne] Update expected output cc6f20f [project @ 2002-06-08 14:29:33 by panne] Update expected output 798cbf1 [project @ 2002-06-14 08:19:47 by simonpj] Tiny Makefile tidy-up 7e5c9fd [project @ 2002-06-17 11:17:10 by simonpj] Remove ./ from error messages a825d96 [project @ 2002-06-17 15:51:45 by simonpj] More accurate error message 2fb8fe4 [project @ 2002-06-18 07:59:57 by simonpj] Omit bogus ambiguity report after a no-instance error 1fe88d1 [project @ 2002-06-18 13:02:22 by simonmar] add another missing end-of-line test for hGetLine 29f0228 [project @ 2002-06-18 13:18:34 by simonmar] update to not use the lang package 2cf426f [project @ 2002-06-19 09:20:53 by simonpj] Sync with new seq story e2413f5 [project @ 2002-06-19 12:11:25 by simonmar] Turn off conc037 and conc038 for now: these depend on $(GhcThreadedRts). e5067aa [project @ 2002-06-19 12:47:07 by simonmar] e948277 [project @ 2002-06-19 12:47:46 by simonmar] Add one of Alastair Reid's FFI tests, with modifications to get it to run under GHC. 19e94e7 [project @ 2002-06-20 08:35:55 by simonpj] Add test for instance decl context validity 34c455d [project @ 2002-06-21 12:22:04 by simonmar] Update expected output 6d126a1 [project @ 2002-06-21 12:25:17 by simonmar] GlaExts ==> GHC.Exts 20c553c [project @ 2002-06-21 13:10:45 by simonpj] Add tc157 38cd36a [project @ 2002-06-21 13:13:47 by simonpj] Add tc158 5124d8c [project @ 2002-06-21 13:30:45 by simonpj] Test recursive newtype deriving d3a2dc1 [project @ 2002-06-27 15:38:58 by simonmar] Finally fix foreign export and foreign import "wrapper" so that exceptions raised during the call are handled properly rather than causing the RTS to bomb out. 2acd17c [project @ 2002-06-27 21:22:06 by ken] Fix 32-bit assumption: Int is not CInt b446b79 [project @ 2002-06-28 16:12:08 by sof] conc021: update expected output and exit code 1e70fd5 [project @ 2002-07-02 09:14:10 by simonmar] update expected output (which was wrong) e25f4bb [project @ 2002-07-08 12:51:11 by simonmar] Skip test ffi005 due to non-portability 65f84ef [project @ 2002-07-08 13:00:49 by simonmar] Solaris-specific versions of stdout for these tests (the default block size differs on Solaris, which means that Show-ing a Handle gives slightly different output). 2900332 [project @ 2002-07-08 20:31:16 by simonmar] FreeBSD-specific test output (mainly just different default buffer sizes). 4bd8b3f [project @ 2002-07-10 08:41:49 by simonmar] update expected output ec0e5a7 [project @ 2002-07-10 13:10:15 by simonpj] Add tcfail109 cfe2390 [project @ 2002-07-12 06:47:26 by ken] update expected output (which was wrong) d3c5f6e [project @ 2002-07-15 15:23:14 by simonmar] Put the source file *before* any extra options for this test on the command line. That way we can compile extra files that depend on things created by compiling the original source (eg. _stub files for multi-file FFI tests). ede1399 [project @ 2002-07-15 15:26:44 by simonmar] Turns out that we *did* have a test that would have shown up the DsForeign bug (rev. 1.70 of ghc/compiler/deSugar/DsForeign.lhs) but it was disabled because it didn't quite work with the current test framework. fedb1db [project @ 2002-07-16 10:54:02 by simonmar] #include "Rts.h" so that this compiles (it shouldn't be required though) 37aed70 [project @ 2002-07-19 11:56:08 by simonmar] Add a test for more-than-4-arguments-in-foreign-import-wrapper. From Sven Panne. 129e9fe [project @ 2002-07-19 15:32:39 by sof] recv now raises EOF; handle it dbb3760 [project @ 2002-07-22 13:31:50 by simonmar] Add test for List.sortBy being a stable sort. 14b9d3a [project @ 2002-07-23 14:51:01 by simonpj] Add deriving record show test 6aae197 [project @ 2002-07-23 15:26:25 by sof] unused 40ed1f2 [project @ 2002-07-23 15:27:27 by sof] mingw32/win32: tweak back to life 344969a [project @ 2002-07-23 17:11:52 by sof] Add comments explaining why we on purpose force net001 and net002 to fail under Win32, but don't cover up the failure in the testscript. 9522b9b [project @ 2002-07-23 19:07:54 by sof] make it compile f36fd58 [project @ 2002-07-23 19:10:05 by sof] skip win32001 under Win32 also ce8120f [project @ 2002-07-24 08:45:37 by simonmar] Update expected output after recent changes to Read: 5eb9508 [project @ 2002-07-29 13:14:39 by simonpj] Add a type-synonym test 04c8f5e [project @ 2002-07-29 13:18:11 by simonpj] wibble bea856b [project @ 2002-07-29 16:16:17 by simonpj] Comment only 0d4aee2 [project @ 2002-07-31 09:42:42 by simonpj] Update expected output e5063a0 [project @ 2002-07-31 14:24:18 by simonmar] Revamp the testsuite framework. The previous framework was an experiment that got a little out of control - a whole new language with an interpreter written in Haskell was rather heavyweight and left us with a maintenance problem. 3dca04e [project @ 2002-08-01 12:39:42 by simonmar] Rearrange the compiler command line slightly so that the various extra_hc_opts come after the source filename. (fixes ffi002) f92700a [project @ 2002-08-01 12:42:03 by simonmar] Remove -fasm option from this test: it now gets tested with both -fvia-C and -fasm by the test driver. db7ee09 [project @ 2002-08-01 12:43:11 by simonmar] hack this test to ignore any spurious .prof files in the directory listing a8ec1f4 [project @ 2002-08-01 12:45:13 by simonmar] syntax wibble 73b15d5 [project @ 2002-08-01 13:02:01 by simonmar] wibble 1f6da4c [project @ 2002-08-01 13:04:50 by simonmar] Fixes for framework errors (strange, I though I fixed these yesterday before committing...) e2a98a1 [project @ 2002-08-01 13:47:16 by simonmar] rnfail034 works, not sure why it was an expected failure bd3c09c [project @ 2002-08-01 13:51:23 by simonmar] Add canned only_ways() opt-fn. 186deab [project @ 2002-08-01 13:52:00 by simonmar] Convert this file to the new test framework (this dir wasn't checked out in my local tree it seems). 0a5dab7 [project @ 2002-08-01 13:52:26 by simonmar] Use canned only_ways() rather than rolling our own. 01e92e5 [project @ 2002-08-01 13:53:33 by simonmar] Add missing stderr file. 371b394 [project @ 2002-08-01 13:57:04 by simonmar] wibble f7388d9 [project @ 2002-08-01 13:57:24 by simonmar] Add missing test.T for this test. ba2e5ff [project @ 2002-08-14 17:09:52 by ken] Update expected output after recent changes to Read. (MERGE TO STABLE?) 032bb80 [project @ 2002-08-14 17:20:47 by ken] Update expected output after recent changes to Read (MERGE TO STABLE?) 071241d [project @ 2002-08-19 09:34:53 by simonmar] import System.Time to get the non-abstract version of ClockTime (the H98 Time library is now more strict in what it exports). 9ea82a9 [project @ 2002-08-19 09:36:02 by simonmar] Fix an error in the test spec file, and remove a duplicate test b5e9934 [project @ 2002-08-19 10:06:25 by simonmar] Move two multi-module tests into their own directories and make them proper multi-module tests rather than ordered single-module tests. The previous hack broke down when the profiling way was added. 4b94535 [project @ 2002-08-19 10:19:13 by simonmar] Fix framework errors in this test b3b307c [project @ 2002-08-19 10:22:21 by simonmar] add missing files 9e5b836 [project @ 2002-08-19 10:22:40 by simonmar] Fix test name 834c8aa [project @ 2002-08-19 10:25:00 by simonmar] Move a multi-module test into its own directory. d99e1cd [project @ 2002-08-19 10:30:26 by simonmar] Make simpl006 and simpl007 into proper multi-module tests da16b41 [project @ 2002-08-20 10:38:56 by simonmar] Add multimod_compile_fail() (which is to multimod_compile() as compile_fail() is to compile()). 3265000 [project @ 2002-08-20 10:40:00 by simonmar] Add multimod_compile_fail 22ee730 [project @ 2002-08-20 10:41:03 by simonmar] Make rnfail037 into a multi-module test. c5b901f [project @ 2002-08-21 10:48:02 by simonmar] Add test for large character values in literals, along with Char.ord. fda4bdf [project @ 2002-08-26 09:11:44 by simonmar] Don't enable the optasm way by default 291647c [project @ 2002-08-26 09:12:21 by simonmar] enable the 'optasm' way iff GhcWithNativeCodeGen=YES (should eliminate all the bogus test failures on Alpha). de42431 [project @ 2002-08-28 14:39:39 by simonpj] Add a SOH read test 9fd130f [project @ 2002-08-29 10:08:02 by simonmar] should have been removed before 0500df4 [project @ 2002-08-29 10:19:43 by simonmar] Not required any more ffc8c24 [project @ 2002-08-29 10:22:13 by simonmar] Don't do anything, just emit a helpful message. f81e536 [project @ 2002-08-29 10:23:06 by simonmar] Remove old droppings 5903c06 [project @ 2002-09-02 16:30:17 by simonpj] Add rank-N test 3004888 [project @ 2002-09-03 10:08:04 by simonmar] Add test for fixity of (%). 30b061a [project @ 2002-09-03 11:28:32 by simonpj] Dup constraints are no longer an error 9880704 [project @ 2002-09-05 10:29:20 by simonmar] regression test for SourceForge bug #604849 2ffd1f2 [project @ 2002-09-06 02:18:06 by ken] Update expected output after recent changes to Read: 8d68267 [project @ 2002-09-09 13:53:38 by simonpj] Add tc162 75218a4 [project @ 2002-09-09 13:56:14 by simonpj] Add tcfail110 918d239 [project @ 2002-09-09 14:04:58 by simonpj] improve test c3b8f63 [project @ 2002-09-09 14:55:19 by simonmar] correct comment 6d583c0 [project @ 2002-09-11 09:34:14 by simonpj] Update uninitialised stderr messages d88aa7c [project @ 2002-09-11 09:38:09 by simonpj] Add an OK warning in stderr 70a05f3 [project @ 2002-09-11 10:15:31 by simonmar] cc006 is obsolete f08d6b8 [project @ 2002-09-11 10:20:11 by simonmar] cc006 is obsolete 8cc8244 [project @ 2002-09-11 10:22:17 by simonmar] cc002 is obsolete df78c2e [project @ 2002-09-11 10:24:08 by simonmar] fromInt ==> fromIntegral 45c9dcc [project @ 2002-09-11 10:30:00 by simonmar] fromInt ==> fromIntegral toInt ==> fromIntegral f2600f8 [project @ 2002-09-11 10:47:57 by simonmar] - Move some of the way-selection logic into the configuration file; the build system now just passes in variables saying whether the compiler supports profiling and native code generation, and the configuration file adds the appropriate ways. 96eedd0 [project @ 2002-09-11 10:50:31 by simonmar] Add makefile machinery so you can say 5900480 [project @ 2002-09-11 11:08:11 by simonpj] Instance method defns can no longer use a qualified name bc495d3 [project @ 2002-09-11 11:08:50 by simonpj] Add test for qualified instance method 9c43de9 [project @ 2002-09-12 11:28:33 by simonpj] Add rnfail039 1d1d81f [project @ 2002-09-12 11:28:58 by simonpj] ...and the .hs file! f96f5c2 [project @ 2002-09-12 11:32:28 by simonmar] update expected output ec56bfb [project @ 2002-09-13 08:43:38 by simonmar] Add module system test from Ross Paterson 15dfc9b [project @ 2002-09-16 14:03:33 by simonmar] Add Hugs's module system tests. Many of them duplicate other tests in testsuite/ghc-regress, but it was easier to just import the whole lot rather than trying to figure out which ones are useful. They don't take long to run, anyhow. 1a5720c [project @ 2002-09-16 14:11:59 by simonmar] mod98 is expected to pass now 55c14d3 [project @ 2002-09-16 15:34:46 by simonmar] mod132 from hugs98/tests/static 97a966d [project @ 2002-09-18 12:49:13 by simonmar] Test divide by zero for each of the integral types in arith011. 733b316 [project @ 2002-09-19 11:30:42 by simonmar] read020 is wrong and obsolete 03e68f1 [project @ 2002-09-19 11:31:40 by simonmar] update expected output 6384a1a [project @ 2002-09-19 12:52:46 by simonmar] update expected output f6dc397 [project @ 2002-09-20 06:13:42 by chak] Adding a test that checks for SPJ's recent fix entitled "quantify over unbound type vars in RULE lhs's" b7a19bb [project @ 2002-09-20 12:44:40 by simonmar] update expected output 650ed19 [project @ 2002-09-20 12:53:46 by simonmar] update expected output 0933eb0 [project @ 2002-09-20 14:07:04 by simonmar] rn037 has moved into ../prog002 065aebc [project @ 2002-09-20 14:09:35 by simonmar] Add unused import warning test (currently fails) a8a3d42 [project @ 2002-09-24 12:48:26 by simonpj] Update expected output a9f96a6 [project @ 2002-09-25 11:55:13 by simonmar] Add test for scheduler/GC bug found by Wolfgang Thaller. Provoking it was a little tricky... 38e7369 [project @ 2002-09-25 12:02:10 by simonpj] Update expected output eed9bbc [project @ 2002-09-25 12:50:19 by simonmar] Add test for foreign export-ing infix operators, and foreign-exporting something which isn't defined in the current module. c9a8ae1 [project @ 2002-09-25 14:44:14 by simonpj] Move to typecheck/should_fail 73e5096 [project @ 2002-09-25 14:48:19 by simonpj] Moved test from rnfail a44d618 [project @ 2002-09-25 14:49:14 by simonpj] A read/show test involving Maybe e20883c [project @ 2002-09-25 15:31:47 by simonpj] Add exporting test (from Ross P) f52dfcc [project @ 2002-09-26 16:04:30 by simonpj] Add a missing-strict-field tests d1975de [project @ 2002-09-26 16:14:18 by simonpj] update expected output 90fd464 [project @ 2002-09-26 16:27:53 by simonpj] update expected output b74cc4d [project @ 2002-09-27 10:25:23 by simonpj] Add tests for rebindable syntax, courtesy of Ashley Yakeley 1459551 [project @ 2002-09-27 12:43:15 by simonpj] Update expected output with improved error messages 066ad05 [project @ 2002-09-27 14:40:47 by simonpj] Update expected output d84d703 [project @ 2002-09-30 14:49:19 by simonpj] Dont use undecidable instances in this test bd89e75 [project @ 2002-09-30 14:56:41 by simonpj] update expected output (which was never right0 f2c5a96 [project @ 2002-10-01 09:57:22 by simonpj] Update expected output 55367ee [project @ 2002-10-01 10:05:13 by simonpj] Update expected output db86a58 [project @ 2002-10-10 14:10:14 by simonpj] Add mdo test fcc6381 [project @ 2002-10-11 08:41:47 by simonpj] add expected output aa9aca4 [project @ 2002-10-11 15:42:32 by simonpj] Update expected output 6a5b551 [project @ 2002-10-12 00:01:04 by erkok] mdo testsuite dc78c85 [project @ 2002-10-23 09:52:55 by simonpj] Add another read/show test, on records 49c5005 [project @ 2002-10-24 13:06:17 by simonmar] update expected output 1855658 [project @ 2002-10-28 16:15:21 by simonpj] Update expected output, and fix the source for rn017 29a2ea1 [project @ 2002-10-28 16:16:22 by simonpj] Dont import a non-existent interface 36be1ab [project @ 2002-10-29 14:31:00 by simonpj] A new test from Ross 8513c0a [project @ 2002-10-30 09:32:55 by simonpj] Newtype record-selector test 197c892 [project @ 2002-11-05 09:50:24 by simonpj] Test for unused bindings in mutual rec groups 3be9233 [project @ 2002-11-05 11:31:56 by simonpj] Move mod133 to rename/should_fail to avoid conflict with Hugs tests dd94b62 [project @ 2002-11-05 11:34:22 by simonpj] Wibble fa0413f [project @ 2002-11-05 11:38:08 by simonpj] Add test moved from modules/ e35812b [project @ 2002-11-05 11:38:43 by simonpj] Add a modules test acc162e [project @ 2002-11-05 14:09:45 by simonpj] tcfail098 fails now 7d70cce [project @ 2002-11-06 12:50:53 by simonpj] Add two more module tests 4e1cf1a [project @ 2002-11-06 12:51:14 by simonpj] Update expected output 8382940 [project @ 2002-11-07 07:18:13 by chak] Started on regression tests for Template Haskell 6e0f9d6 [project @ 2002-11-07 10:07:24 by simonpj] Update expected output 5e0b456 [project @ 2002-11-07 11:45:05 by simonpj] Add an implicit-parameter test a78096d [project @ 2002-11-09 08:38:19 by chak] More tests for reifyDecl 8453eeb [project @ 2002-11-09 08:46:06 by chak] Seems (in DsMeta) as if reifyDecl should do class delcarations, too, but it currently dies when applied to a class name. 4c2e9dc [project @ 2002-11-11 10:46:31 by simonpj] Add a new deriving test 5cf7fa2 [project @ 2002-11-18 14:18:46 by simonpj] Add tests for classes operations with a context but no for-all 91ed2e5 [project @ 2002-11-19 17:00:02 by simonpj] Add Joaos circular program 632add5 [project @ 2002-11-19 17:47:10 by simonpj] Add output a714f23 [project @ 2002-11-20 07:19:13 by chak] TH: Revised type variable handling in toplevel decls (became necessary due to recent addition of foralls in type representations). 946d0b0 [project @ 2002-11-20 09:43:04 by simonpj] Update expected output 686d64b [project @ 2002-11-20 12:34:43 by chak] TH: - We are forcing importing THSyntax.Q at every top splice now; this suffices to get simple splices that do not involve reifyDecl or declaration quasi-quotes to work. NB: This worked already when the construction of the Dec term and the splice were in separated modules, but not when they are in the same (see the regression test "TH_spliceDecl1.hs"). - The tests "TH_spliceDecl2.hs" and "TH_spliceDecl3.hs" use toplevel splices together with quasi-quoted and reifyDecl. These currently still fail, as importing of some of the required type constructors from THSyntax isn't forced. bf17809 [project @ 2002-11-21 09:25:27 by simonpj] Add test for pattern-match failure in do-notation ad6c2e3 [project @ 2002-11-21 13:25:13 by chak] Renaming function for the reify/splice test needs to be in a separate module f764ffe [project @ 2002-11-22 02:57:32 by chak] wibble 85630e6 [project @ 2002-11-28 10:03:43 by simonpj] Suppress linking messages in TH_spliceDecl1 b504edb [project @ 2002-11-28 17:21:00 by simonpj] Update expected output for new type-error generation 5a94d52 [project @ 2002-11-28 17:21:52 by simonpj] Add new tests b6bb38e [project @ 2002-11-28 17:30:27 by simonpj] update expected output bad9f9a [project @ 2002-11-29 11:11:12 by simonpj] Update expected output 42c70ca [project @ 2002-12-02 09:06:43 by simonpj] This one paniced 5.04 024444a [project @ 2002-12-02 13:43:43 by simonmar] Add support for running tests with GHCi. This is an additional "way" in the test system, which is enabled automatically if $(GhcWithInterpreter) = YES, and only applies to tests that run (as opposed to tests that just compile). c9ac5c1 [project @ 2002-12-02 14:37:26 by simonmar] Don't run ffi00{1,2} with GHCi; they use foreign export cd73b72 [project @ 2002-12-02 14:40:38 by simonmar] GHCi way: set the buffering on stdout to LineBuffering to more correctly match the compiled environment. 7d5fee1 [project @ 2002-12-02 14:48:27 by simonmar] Add support for multi-module tests in GHCi b79c336 [project @ 2002-12-02 15:11:49 by simonmar] omit GHCi way 1dc7cb3 [project @ 2002-12-02 15:26:13 by simonmar] Add support for stdin files in the GHCi way. 0accf31 [project @ 2002-12-02 15:31:21 by simonmar] oops, remove ghci from compile_ways 3175965 [project @ 2002-12-02 15:37:27 by simonmar] Add some more notes, particularly on using ways, and mention the GHCi way. 40b71f8 [project @ 2002-12-03 12:42:44 by simonmar] omit conc021 for ghci b883765 [project @ 2002-12-03 13:00:32 by simonmar] Fix this test - it had a race condition c8bc11b [project @ 2002-12-03 15:43:55 by simonmar] omit some tests in GHCi mode 7914b32 [project @ 2002-12-04 16:53:12 by simonmar] Disable GHCi tests for now, one of them is causing GHCi to go into a loop b3f3d02 [project @ 2002-12-05 12:38:35 by simonmar] re-enable ghci tests 6b57902 [project @ 2002-12-10 02:34:22 by igloo] Correctly convert expressions from TH datastructures to the internel Hs* datastructures containing right infix operators left-parenthesised. 3009f5d [project @ 2002-12-10 10:58:17 by simonmar] Add -K16m to the compiler opts, to make ioref001 work with GHCi 00d0958 [project @ 2002-12-10 11:11:25 by simonmar] skip some of these tests for GHCi 1a1b896 [project @ 2002-12-10 11:11:58 by simonmar] Use the user-supplied stdin file for GHCi, if there is one. a966332 [project @ 2002-12-10 14:10:50 by igloo] Correct comment 64d815d [project @ 2002-12-12 14:45:56 by simonmar] Remove #include "Rts.h" -- not required 3efab16 [project @ 2002-12-13 14:26:01 by simonmar] Test for bug in integerTo{Int,Word}, bug #64652927 fd17f7a [project @ 2002-12-13 14:28:25 by simonmar] accept new output c150f76 [project @ 2002-12-13 15:18:55 by simonmar] use Data.IORef rather than IORef with -package lang 861620b [project @ 2002-12-18 11:18:59 by simonmar] accept new output b657b7d [project @ 2003-01-06 16:08:33 by simonmar] update expected output 8d8e9c4 [project @ 2003-01-09 15:45:23 by simonpj] Add bizarre export test (Ross P) b836733 [project @ 2003-01-09 16:13:48 by simonmar] use the hierarchical libraries 01d34d3 [project @ 2003-01-13 12:04:36 by simonpj] Fails with 5.02.3 eeca323 [project @ 2003-01-13 13:52:47 by simonmar] accept correct output 0d9c3a1 [project @ 2003-01-13 14:00:22 by simonpj] Accept new output (added info on error message) 25a1c66 [project @ 2003-01-13 14:14:31 by simonpj] Accept new output (added info on error message) 65f38b6 [project @ 2003-01-23 12:47:47 by simonmar] Add cg052.hs, which crashes GHC 5.04.2 9767f14 [project @ 2003-01-23 14:30:25 by simonpj] Add two new deriving tests ec90a44 [project @ 2003-01-23 15:05:17 by simonpj] Update output cec6222 [project @ 2003-01-24 10:19:11 by simonpj] Add output file 02b37d7 [project @ 2003-01-24 10:20:17 by simonpj] Update expected output bea137e [project @ 2003-01-24 13:25:46 by simonpj] Update expected output 10e3100 [project @ 2003-01-24 14:08:59 by simonmar] Start a new GHCi-only test category, and add our first test 7ac7aa1 [project @ 2003-01-24 14:11:49 by simonmar] Add comment pointing to the fix. 901ca7f [project @ 2003-02-04 13:45:29 by simonpj] Add tc165 ce35c343 [project @ 2003-02-04 13:45:45 by simonpj] Update expected output 7457641 [project @ 2003-02-06 09:30:14 by simonpj] Add error-message test 41df824 [project @ 2003-02-06 09:59:34 by simonmar] Add test for missing rts_mkFunPtr (fails on 5.04.2). ae3a3a9 [project @ 2003-02-14 10:54:42 by simonpj] Add another impicit-param test 875d580 [project @ 2003-02-14 13:00:38 by simonpj] Add deriving test for record fields with leading underscore 2cb08ad [project @ 2003-02-18 15:31:06 by simonpj] Record update test 8439bcd [project @ 2003-02-19 11:30:39 by simonpj] Update expected output e8c1915 [project @ 2003-02-19 11:35:28 by simonpj] Update expected output f579d5f [project @ 2003-02-19 14:42:23 by simonpj] Update expected output 2cec1ab [project @ 2003-02-24 09:36:38 by simonpj] Update expected output 6f5c8bf [project @ 2003-02-24 16:03:51 by simonpj] Update expected output 5136a8c [project @ 2003-03-11 09:16:44 by simonpj] A new parser test 365d3b8 [project @ 2003-03-17 14:48:18 by simonmar] Add test for 'main = return undefined' 62eb0be [project @ 2003-03-17 14:51:43 by simonmar] Add test for lexing '9e2'. 2d4e251 [project @ 2003-03-19 11:37:18 by simonmar] Add missing test 03643ba [project @ 2003-03-26 15:29:49 by simonmar] change this test to avoid closing stderr, which confuses GHCi 56cfb93 [project @ 2003-03-26 15:34:42 by simonmar] Fix bug in GHCi testing: should fix a few GHCi test failures 6fb6143 [project @ 2003-03-28 12:37:30 by simonmar] Disable getDirectoryContents001 for GHCi. d0d51ad [project @ 2003-04-01 16:39:56 by simonpj] Add readLitChar test c43c29e [project @ 2003-04-08 10:58:10 by simonpj] Add unbox-strict-fields test a404d9a [project @ 2003-04-08 11:48:15 by simonpj] Add newtype deriving error-msg tests 4856d39 [project @ 2003-04-08 13:10:47 by simonpj] Add a borderline test case 4b5190a [project @ 2003-04-09 08:06:59 by simonpj] Add tcrun028 b27e910 [project @ 2003-04-09 08:20:46 by simonpj] Add lex test 76a0a98 [project @ 2003-04-10 14:56:50 by simonpj] Update tests 791207a [project @ 2003-04-10 15:32:28 by simonpj] update expected output 0e2df53 [project @ 2003-04-10 15:33:31 by simonpj] Update expected output fdf7254 [project @ 2003-04-10 15:39:25 by simonpj] Error message wibble after changing the order in which the type checker looks at function calls. Now it does the result type before the argument type, so a handful of error messages change. 94a5678 [project @ 2003-05-01 16:27:58 by simonpj] Update expected output. The main change is slightly less duplication in typecheck error messages. I'm not quite sure when and why this got in, but it seems to be an improvement. 43a4dd0 [project @ 2003-05-03 22:11:52 by igloo] Update testsuite in line with recent TH changes. 3ea8f27 [project @ 2003-05-04 13:51:13 by igloo] Added tests for unboxed literals. e403f07 [project @ 2003-05-04 17:40:01 by panne] Keep all paths below 100 characters, making the poor Solaris tar happy again. Well, to be more exact, *almost* all paths: Some paths below fptools/{ghc,happy}/InstallShield/ are still too long, but they don't usually appear in our tar files. 0a7c450 [project @ 2003-05-07 08:26:17 by simonpj] Update expected output 0a4b449 [project @ 2003-05-07 09:22:15 by simonpj] Add a generics test 0849c91 [project @ 2003-05-07 09:26:14 by simonpj] Add test for Show on unboxed types a929bd2 [project @ 2003-05-12 11:50:10 by ralf] 3319c67 [project @ 2003-05-21 02:58:40 by igloo] Added support for newtypes to TH and altered a test for them. 3a28b48 [project @ 2003-05-21 18:07:30 by igloo] The Great Renaming. I hope I've kept everything in sync - and all the tests pass. Now datatypes follow the c6eaad0 [project @ 2003-05-23 13:43:47 by simonmar] Reclassify these test failures as "expected failures". We are now at ZBB (zero bug bounce). 5af150f [project @ 2003-05-23 13:51:51 by simonmar] ds053 is not an expected failure any more; accept the correct output. 709feb3 [project @ 2003-05-23 14:20:35 by simonmar] This test is an expected failure, but its original purpose seems to have been lost along the way somewhere. c038498 [project @ 2003-05-23 14:24:37 by simonmar] rn040 is no longer an expected failure; accept the correct output f90882e [project @ 2003-05-23 14:36:39 by simonmar] Update this file to reflect reality. 455c730 [project @ 2003-05-27 09:50:31 by ralf] Intermediate commit. Added 002 and 003 test case. Do only compile with local-build target. 3d2b2ef [project @ 2003-05-27 17:52:48 by ralf] This is the beginning of a useful test suite for the boilerplate Generics. Should all work fine with gmake (stage2) in ".". Nice! All subdirs are visited automatically. Much more smaller test cases are needed. To be worked on. b4421ab [project @ 2003-05-30 14:11:18 by simonpj] A test for stupid contexts in data types; killed 5.02.3 8b120e5 [project @ 2003-05-30 22:00:25 by ralf] Data.Generics received a meaninful testsuite; more work to be done. 8492cd2 [project @ 2003-06-01 17:20:59 by ralf] Added an example for traversal dimension; started a TODO list here e1ed24d [project @ 2003-06-03 06:30:09 by simonpj] Add big-tuple tests 1505be8 [project @ 2003-06-04 14:53:05 by ralf] Added a simple gread test sample; improved explanations of several samples 546054b [project @ 2003-06-05 13:36:30 by ralf] Added foldTree examples. c874a01 [project @ 2003-06-06 16:18:03 by igloo] Update tests for renamings. 68450d5 [project @ 2003-06-08 18:12:27 by igloo] Introduce a ListP for consistency with ListE. Splicing in something with a list pattern now works too. c5f03b4 [project @ 2003-06-09 15:38:32 by simonpj] Add a test for hasNoRedexes ac2cbe5 [project @ 2003-06-13 07:22:03 by simonpj] Add kind-checking test b444d3b [project @ 2003-06-13 07:23:02 by simonpj] Add kind test 4862338 [project @ 2003-06-16 15:17:28 by simonmar] Get up a bit earlier in the morning than the strictness analyser. 5e8293a [project @ 2003-06-18 10:45:03 by simonpj] Begin arrow test suite c9695de [project @ 2003-06-18 10:45:50 by simonpj] Add makefile 1a15503 [project @ 2003-06-18 10:55:24 by simonmar] Add test for SourceForge #756454 (method must mention class type variable), expected failure. 370509c [project @ 2003-06-18 18:20:40 by igloo] Ignore *.comp.stderr and *.run.stderr, not *.stderr. Add *.run.stdout to ignored files. b63c719 [project @ 2003-06-19 08:50:40 by ross] tests for arrow notation (needs arrows-branch) f2fcb61 [project @ 2003-06-19 09:13:43 by ross] more arrows tests f6f2c79 [project @ 2003-06-19 09:50:47 by simonmar] tc167 is an expected failure at the moment (there's a bug open on it). 155001a [project @ 2003-06-19 09:51:31 by simonmar] accept new output 1e23e7d [project @ 2003-06-19 09:52:39 by simonmar] tcfail115 is an expected failure (there's a bug open on it). 5951fed [project @ 2003-06-20 11:13:29 by simonpj] Add a quantification test e78e376 [project @ 2003-06-20 23:31:22 by ross] update arrow tests 1e67506 [project @ 2003-06-21 23:39:23 by ross] more arrow tests a53ccd6 [project @ 2003-06-23 00:08:42 by ross] another (successful) arrow test 49f05dc [project @ 2003-06-23 00:23:38 by ross] extend a test 7829aeb [project @ 2003-06-23 11:45:23 by simonpj] Add a test for IO strictness 09d7b73 [project @ 2003-06-23 16:41:26 by simonpj] -farrows instead of -fgla-exts 35e989f [project @ 2003-06-24 09:45:23 by ross] another arrows test 8f6ff0f [project @ 2003-06-24 11:31:42 by ross] update arrows test 3422c52 [project @ 2003-07-01 14:06:29 by simonpj] Update expected output fea726c [project @ 2003-07-01 14:12:17 by simonpj] Add strun003 88895ca [project @ 2003-07-01 14:12:52 by simonpj] Add cg004 d15e291 [project @ 2003-07-01 14:13:17 by simonpj] Comments only cd3eba2 [project @ 2003-07-01 14:13:45 by simonpj] update expected output 62e4d30 [project @ 2003-07-02 10:16:26 by simonpj] Add method defs to suppress gratuitous warnings 08fcb68 [project @ 2003-07-15 13:35:19 by ross] add a test for big tuples, but don't enable it because it takes a long time (thanks to the monster types, I suspect). 0b759f2 [project @ 2003-07-16 08:50:57 by ross] update tests to match revised syntax for forms (and test application too). a62020b [project @ 2003-07-17 12:21:03 by simonmar] Quick hack: add a generic_command class of tests, so that we can integrate arbitrary commands as tests in the test framework. 6909015 [project @ 2003-07-17 12:22:40 by simonmar] Add some driver tests. b1ed296 [project @ 2003-07-18 12:52:12 by simonmar] Add another driver test: compiling a hierarchical module in a subdirectory in one-shot mode. 8194ab8 [project @ 2003-07-21 16:58:14 by simonmar] update expected output after changes to Handle and IOError Show instances f8a508a [project @ 2003-07-22 10:24:00 by simonmar] generic_command: cd to testdir before running the command. 202ed05 [project @ 2003-07-22 10:37:29 by simonmar] rmdir the obj/B directory, so we can test that GHC creates intermediate directories correctly (it currently doesn't). ecb2ccc [project @ 2003-07-23 09:22:29 by simonmar] Extend the support for running arbitrary commands as tests. 8cb9843 [project @ 2003-07-23 09:54:09 by simonmar] Add ghci_script, a simple variation on run_command that runs GHCi with a specified script as input. 10830b3 [project @ 2003-07-23 10:55:28 by simonmar] Add some GHCi tests (found 2 bugs in the HEAD in the process!) 2ce712b [project @ 2003-07-23 10:59:29 by simonmar] Move this test into a subdirectory c853e11 [project @ 2003-07-23 11:36:46 by simonmar] add Makefile 6c2bb84 [project @ 2003-07-23 11:39:31 by simonmar] ghci_script: - filter out -no-recomp from the compiler flags (we want to test recompilation) - pass config.compiler and config.compiler_always_flags to the subprocess via the environment variables HC and HC_OPTS respectively, so that the GHCi script can invoke the compiler 5db5edb [project @ 2003-07-23 11:40:31 by simonmar] Copy some GHCi tests over from fptools/ghc/tests/ghci 8787fe5 [project @ 2003-07-23 14:07:31 by simonmar] update output da82119 [project @ 2003-07-23 14:11:56 by simonmar] update output a93cb57 [project @ 2003-07-23 14:42:39 by simonmar] Hack to get this test working. 16eadea [project @ 2003-07-24 07:47:32 by simonpj] Add a pretty-print test (makes GHC 6.0 loop) e98e1c0 [project @ 2003-07-25 10:17:39 by simonmar] Check exit codes from GHCi runs (we were ignoring them before). a4f992f [project @ 2003-07-25 10:18:40 by simonmar] Add text for Text.Regex.Posix bug. bc666d4 [project @ 2003-07-25 14:27:22 by ralf] 5a50de4 [project @ 2003-07-26 12:49:11 by ralf] Testsuite update which goes with this week's effort on Data.Generics. 76b1d32 [project @ 2003-07-26 12:51:45 by ralf] Testsuite cvs problem fixed. 5429707 [project @ 2003-07-28 11:59:15 by simonpj] Add a new test for higher-rank polymorphism (killed GHC 6.0 20cfa6f [project @ 2003-07-29 10:16:07 by simonpj] Avoid lang-pkg dependency; update expected output d405cc8 [project @ 2003-07-29 10:16:28 by simonpj] Avoid lang-pkg dependency 83f49b3 [project @ 2003-07-31 09:28:48 by ralf] Cosmetic changes. Documentation of Data.Generics at http://www.cs.vu.nl/boilerplate/ is now also again well in line with the major revision of Data.Generics from last week. 7fd2cd7 [project @ 2003-07-31 10:48:51 by panne] Merge Foreign.C.TypesISO into Foreign.C.Types 9637bbd [project @ 2003-08-04 14:53:20 by simonmar] Update following latest enhancements. 7a53dd1 [project @ 2003-08-04 14:54:00 by simonmar] These should all ignore their output 28eab00 [project @ 2003-08-14 10:17:26 by simonmar] pp1 is an expected failure, so tell the test driver. a27b1e5 [project @ 2003-08-19 21:51:53 by krc] Added support for testing generation and compilation of External Core code. There are two new ways, which are not automatically enabled but can be invoked from the command line: extcore and optextcore. Invoking either way will test that ghc is able to generate External Core code for a given test, read the code back in, and compile it to an executable that produces the expected output for the test. de169e7 [project @ 2003-08-20 10:07:30 by simonmar] Add unicode character classification test. 7fbacb8 [project @ 2003-08-20 10:21:07 by simonmar] Add Unicode character classification test. 6ba3faf [project @ 2003-08-27 11:04:05 by simonmar] update expected output 7067633 [project @ 2003-09-08 11:52:27 by simonmar] Replace the handwritten lexer with one generated by Alex. 3a558d2 [project @ 2003-09-08 12:53:47 by simonmar] Update expected output cf19aa1 [project @ 2003-09-08 12:59:05 by simonmar] Add a couple of signal-handling tests I had lying around. 656dff4 [project @ 2003-09-10 09:36:06 by simonmar] accept output 5ac88a9 [project @ 2003-09-10 09:37:10 by simonmar] add expected output 81b4892 [project @ 2003-09-10 16:48:12 by simonmar] These tests now only need -fth, apart from a couple which use unboxed literals. 56fad57 [project @ 2003-09-11 09:36:35 by simonmar] I assume that "ghc-6.1: unknown package name `lang'" is *not* the correct output for this test :-) 139365b [project @ 2003-09-11 09:43:57 by simonmar] Add an extra "sleep 1" to make this test work. 5b87aac [project @ 2003-09-11 09:46:17 by simonmar] accept output f770811 [project @ 2003-09-11 14:22:10 by simonpj] Add a recursive-dictionary test b038ffa [project @ 2003-09-20 17:23:15 by ross] expand test to include cases of lambdas 0bad63c [project @ 2003-09-23 14:40:16 by simonmar] add fileExist test 90a8bba [project @ 2003-09-23 14:44:31 by simonmar] add doesDirectoryExist test 89320bc [project @ 2003-09-24 11:25:58 by simonmar] Bring these tests into the 21st century. 6936e4e [project @ 2003-09-24 11:47:13 by simonmar] Remove some tests that don't apply any more, since we removed support for _ccall_. 55956fe [project @ 2003-09-24 11:50:08 by simonmar] these tests have gone dad6f91 [project @ 2003-09-24 11:52:45 by simonmar] remove obsolete test fd7c403 [project @ 2003-09-24 11:55:55 by simonmar] arrowcase1 is an expected failure on the branch 1b5fe37 [project @ 2003-09-24 11:56:37 by simonmar] oops, should be on the branch 3c37268 [project @ 2003-09-26 09:28:11 by simonmar] remove obsolete test (uses CCallable) b9e79f5 [project @ 2003-09-30 09:57:21 by simonmar] not required ca6b9b6 [project @ 2003-09-30 10:29:01 by simonmar] Add a -f to the rm command to avoid spurious failure f6282fe [project @ 2003-10-01 09:11:36 by simonmar] Add test for returning a Bool from a foreign export. 69d9f87 [project @ 2003-10-06 11:48:02 by simonpj] Add some leading-zero tests 8e44370 [project @ 2003-10-06 12:55:05 by simonpj] Add test for parallel list comprehension unused-var warnings 9c302a9 [project @ 2003-10-13 14:54:11 by simonpj] Update expected output c89e742 [project @ 2003-10-20 14:58:34 by simonmar] Add test that generates strange duplicate error messages with GHC 6.2. 43e4e3d [project @ 2003-10-23 10:24:19 by simonmar] accept new output 54e7038 [project @ 2003-10-24 01:43:27 by dons] Add addr001 case for 64 bit mips-sgi-irix 711bf81 [project @ 2003-10-24 02:10:24 by dons] add case for i386-unknown-openbsd 04bb847 [project @ 2003-10-24 14:33:54 by dons] Make sure uses of pollableEvent are wrapped in HAVE_SIGPOLL. While we're here, add output case for OpenBSD which is an instance of this. 8847cec [project @ 2003-10-27 06:43:29 by dons] 64 bit result for mips64 043b1d7 [project @ 2003-10-27 07:13:37 by dons] 64 bit expected output c662e94 [project @ 2003-10-27 07:34:04 by dons] Add 64 bit expected outptu for mips 04df870 [project @ 2003-10-27 07:38:01 by dons] Add 64 bit expected output for mips a99f13a [project @ 2003-10-27 07:41:04 by dons] Add 64 bit expected output for mips 0f5c617 [project @ 2003-10-27 07:50:31 by dons] Add 64 bit expected output for mips b5a1916 [project @ 2003-10-27 08:13:29 by dons] Add 64 bit expected output for mips c5cc68d [project @ 2003-10-27 08:22:59 by dons] Add 64 bit expected output for mips 5a93c94 [project @ 2003-10-27 11:01:01 by simonpj] Two more tests 68e3715 [project @ 2003-10-27 12:46:57 by simonpj] update expected output 7643cf5 [project @ 2003-10-27 13:50:10 by simonpj] Update expected output 36b3797 [project @ 2003-10-28 01:20:00 by dons] export the value of MAKE for invocation as $MAKE in ghc-regress/driver tests. 706603b [project @ 2003-10-28 01:20:45 by dons] make -> $MAKE so it these tests won't fail on gmake systems 12209f1 [project @ 2003-10-28 08:56:16 by simonpj] Add a no-constructor-type test b006d8d [project @ 2003-10-28 08:56:38 by simonpj] Add tc171 b350f24 [project @ 2003-10-29 12:09:06 by simonpj] update expected output 17f3242 [project @ 2003-10-29 17:20:29 by simonpj] Add a TH test b293c64 [project @ 2003-10-29 19:16:16 by simonpj] Add a strictness anal test I found lying in this directory 1de5f70 [project @ 2003-10-30 04:01:13 by dons] Expected output for opening a directory on Irix. 1812632 [project @ 2003-10-30 10:16:26 by simonpj] Two more TH tests, thanks to Sean 1f9e255 [project @ 2003-11-02 17:51:00 by ralf] Cosmetic changes. 9619300 [project @ 2003-11-03 15:28:53 by simonpj] Add another module test d5253f8 [project @ 2003-11-05 12:16:02 by simonpj] Avoid gratuitous warnings ad9c335 [project @ 2003-11-05 14:37:48 by simonmar] Hopefully make these tests produce deterministic output. 139a051 [project @ 2003-11-05 14:49:21 by simonpj] Fix tc170 efd7221 [project @ 2003-11-06 10:12:19 by simonmar] wibble 5ed4d1e [project @ 2003-11-06 17:09:59 by simonpj] ------------------------------------ Major increment for Template Haskell ------------------------------------ 36042a4 [project @ 2003-11-06 17:14:30 by simonpj] Add another TH test 205eef1 [project @ 2003-11-06 17:22:36 by simonpj] update output; add an (incomplete) error test 920c381 [project @ 2003-11-11 09:47:01 by simonmar] skip conc013 a01f9cf [project @ 2003-11-12 14:49:43 by simonmar] Add test for '\xa0', the ISO8859-1 non-breaking space character. 28d132c [project @ 2003-11-14 10:31:49 by simonmar] conc031 hangs for ever, skip it 8d914d8 [project @ 2003-11-17 14:17:41 by simonmar] skip conc033, hangs with threaded RTS 8a1fbe6 [project @ 2003-11-17 14:26:38 by simonmar] Turn off conc034 for now d5afc20 [project @ 2003-11-19 14:47:31 by ralf] Added functions and example to deal with encoding and decoding of bit streams. 1def135 [project @ 2003-11-19 23:46:59 by ralf] bits and strings are shown and read better than ever before. 6823361 [project @ 2003-11-23 12:29:30 by ralf] Added and revised test cases. 32ff5e2 [project @ 2003-11-25 09:57:41 by simonmar] Omit GHCi way for conc004. This test has been taking several hours, possibly something to do with the threaded RTS. fe07a01 [project @ 2003-11-26 10:07:46 by simonmar] test for extra comma in record construction 442364f [project @ 2003-11-28 17:11:04 by simonmar] Add a test which causes the HEAD to crash (SourceForge bug #847910). Fix to be incorporated shortly. 539260d [project @ 2003-12-06 17:15:00 by ralf] Added examples to demonstrate type case. 318e044 [project @ 2003-12-10 12:32:29 by simonmar] Add unused import warning tests. 86b3567 [project @ 2003-12-10 14:24:21 by simonmar] Update some of the test output following introduction of accurate source locations in error messages. More updates to follow. 92f85f8 [project @ 2003-12-10 14:33:08 by simonmar] wibble (I've no idea why this output got lost) 2294a75 [project @ 2003-12-10 17:20:49 by simonmar] update output 3fbdfd6 [project @ 2003-12-16 16:27:59 by simonpj] Add newtype deriving test 0f43525 [project @ 2003-12-17 15:28:23 by simonpj] Add an instance-getting test b01c530 [project @ 2003-12-17 15:28:58 by simonpj] comments 31fd6ad [project @ 2003-12-19 10:39:28 by simonpj] An umboxed-tuple test 15cea88 [project @ 2003-12-22 12:27:35 by simonmar] Add h{Get,Put}Buf(NonBlocking) tests. 24859d1 [project @ 2003-12-23 12:34:47 by simonmar] The test wasn't exercising enough of the hGetBuf implementation, so jiggle it a bit. f0143e8 [project @ 2003-12-30 16:36:49 by simonpj] Add tc175, modify tcfail115 7280484 [project @ 2004-01-05 14:40:10 by simonmar] Add a couple of -keep-hc-files tests. 2dcc6b4 [project @ 2004-01-06 11:07:53 by simonmar] accept output e418c72 [project @ 2004-01-08 10:37:53 by simonmar] Add a -main-is test a730d64 [project @ 2004-01-08 11:50:41 by simonpj] Add a CSE with unboxed tuples test 52751fe [project @ 2004-01-08 11:57:04 by simonpj] -O is enough to trigger the bug 97bc69e [project @ 2004-01-08 15:05:46 by simonpj] Forgot to commit all.T 8725a8f [project @ 2004-01-09 10:57:33 by simonmar] update output d04c89c [project @ 2004-01-09 11:02:36 by simonmar] add missing Makefiles e5459ed [project @ 2004-01-09 11:04:01 by simonmar] update output 28c7ab7 [project @ 2004-01-09 11:07:37 by simonmar] update output eeb5588 [project @ 2004-01-09 12:10:53 by simonmar] update output a0c3bd3 [project @ 2004-01-14 09:18:33 by simonmar] Fix up test 3051506 [project @ 2004-01-14 09:26:38 by simonmar] add mention of only_ways() 2514201 [project @ 2004-01-14 09:28:56 by simonmar] While I'm here, add docs for a couple of other pre-defined functions which were missing. 25e6c77 [project @ 2004-01-14 09:31:09 by simonmar] Run Tc170_Aux and tc170 in the 'opt' way only. If Tc170_Aux is allowed to run multiple ways, then we might get the wrong flavour of interface file. a58c9ff [project @ 2004-01-14 09:31:59 by simonmar] Use run_command_ignore_output instead of run_command for tc173. d6ac657 [project @ 2004-01-14 09:40:51 by simonmar] tcfail115 and tcfail116 are now expected to succeed 41f83ea [project @ 2004-01-14 09:42:33 by simonmar] Update expected output (mainly error message wibbles) 4ddda6e [project @ 2004-01-14 09:55:29 by simonmar] update output f2ab3a4 [project @ 2004-01-15 14:43:24 by igloo] Split Template Haskell out to its own package and update docs and tests. 284f4d6 [project @ 2004-01-20 10:09:12 by simonmar] update output ba028fb [project @ 2004-01-26 11:29:19 by simonmar] Add SampleVar tests. e6426d4 [project @ 2004-01-27 15:05:57 by simonmar] More tests from Jan Christiansen . The QSem ones are disabled for the time being. d70965b [project @ 2004-01-29 07:01:31 by dons] Add output for sparc/openbsd. This is the same as the i386 case; neither has HAVE_SIGPOLL. c726906 [project @ 2004-02-03 16:48:17 by simonpj] Make tc167 an expected pass 6d0a38e [project @ 2004-02-06 15:12:31 by simonpj] Add a codegen switch test 649cd31 [project @ 2004-02-10 08:46:53 by simonpj] Add a test from a Hugs bug report c1bd289 [project @ 2004-02-13 14:36:59 by ralf] Added another test-set generation example: really simple!!! c34221e [project @ 2004-02-14 18:13:33 by ralf] Refactored for new twin traversals; Added a new somewhat XMLish example; see subdir tree; Started on an even more XMLish example; see subdir xmlish. c7d1955 [project @ 2004-02-15 16:57:09 by ralf] A somewhat weird XMLish example is completed. Needs more discussion. 118596b [project @ 2004-02-15 17:53:52 by ralf] Finished refactoring twin traversal. Finished drafting XMLish examples. d26e2d6 [project @ 2004-02-16 12:02:36 by simonmar] update output f6275ac [project @ 2004-02-17 10:20:01 by simonmar] Skip the GHCi tests if ghci is not in run_ways. 158bcf0 [project @ 2004-02-24 10:34:48 by simonmar] line comment test. 988c74d [project @ 2004-02-24 17:15:14 by simonpj] Add test for overlapping instances in deriving clause 90e7172 [project @ 2004-02-24 19:51:46 by ralf] Revised example tree to make use of accumulating map. Revised xmlish example with regard to polymorphic lists. Added a weird example ext1 for illustrating polymorhic type case. 635b024 [project @ 2004-02-25 13:15:18 by simonmar] enable these tests now 208d773 [project @ 2004-02-25 21:19:39 by ralf] Follow-up fix triggered by yesterday's major scrap your boilerplate commit. 15d9215 [project @ 2004-02-26 13:17:47 by simonpj] Add a hiding test 3d7abbc [project @ 2004-02-26 14:48:29 by simonpj] Reverse sense of test 67dc41f [project @ 2004-02-28 15:31:44 by ralf] Part of this weekend's boilerplate wave. See other commits to library and compiler. The testsuite is passed by the new library and compiler. 5d5457f [project @ 2004-03-01 13:27:28 by simonmar] Add 'threaded' way to run tests with the threaded RTS. dd067b3 [project @ 2004-03-01 14:09:46 by simonmar] Fix up pass over the concurrent tests: f5984c6 [project @ 2004-03-01 16:33:57 by simonmar] update output 253bf57 [project @ 2004-03-02 22:25:13 by ralf] Testsuite updated to meet the new Data class. 3c8e13b [project @ 2004-03-08 20:20:36 by ralf] Added some new boilerplate examples. 8ec8a8c [project @ 2004-03-10 10:30:40 by simonmar] accept output 2ed6755 [project @ 2004-03-10 11:17:38 by simonmar] remove dependencies on hslibs packages 50a1794 [project @ 2004-03-10 11:22:37 by simonmar] Remove unnecessary -package lang be23fdc [project @ 2004-03-10 11:37:03 by simonmar] remove dependencies on hslibs packages b1ed767 [project @ 2004-03-10 11:43:10 by simonmar] remove dependencies on hslibs packages cbbefef [project @ 2004-03-10 11:46:12 by simonmar] remove dependencies on hslibs packages b171ecd [project @ 2004-03-10 11:46:49 by simonmar] remove hslibs dependencies 8d8d17f [project @ 2004-03-10 11:50:55 by simonmar] remove hslibs dependencies dc2dc85 [project @ 2004-03-11 10:00:32 by simonmar] accept output 231dc6b [project @ 2004-03-11 10:06:29 by simonmar] accept output 8c4a2f8 [project @ 2004-03-11 10:53:41 by simonpj] Add default method error test e987c70 [project @ 2004-03-11 11:11:54 by simonmar] add conc040 70d7472 [project @ 2004-03-11 14:28:47 by simonpj] Add a functional dependency test c2ce934 [project @ 2004-03-12 10:15:56 by simonmar] accept output 2c929e8 [project @ 2004-03-12 10:18:58 by simonmar] accept output 049afd8 [project @ 2004-03-12 11:12:40 by simonmar] merge rev. 1.5.2.1 (make this test more robust) 0da57d3 [project @ 2004-03-16 09:25:39 by simonmar] accept output 000d647 [project @ 2004-03-16 10:27:18 by simonmar] Hack around \r\n vs. \n differences in sample output on Windows. a57e2d3 [project @ 2004-03-16 13:40:37 by ralf] The reify test case delivers "impossible has happened" but otherwise all examples are up-to-date with regard to the Boilerplate II draft as of today. 74304f4 [project @ 2004-03-16 13:43:17 by ralf] more clean-up. 4539deb [project @ 2004-03-16 16:07:32 by ross] add test for arrow syntax outside proc (bug fixed last week) f602a46 [project @ 2004-03-16 18:32:29 by ralf] 6c4ea5c [project @ 2004-03-17 09:41:22 by ralf] Test suite refactoring for gmap2. d062623 [project @ 2004-03-17 10:05:03 by ross] test for newtype of recursive newtype bug 27b07a2 [project @ 2004-03-17 23:23:58 by ralf] Testsuite fully successful again. This should now really finish the boilerplate II effort. aca374a [project @ 2004-03-21 19:07:55 by ralf] Make proper use of Typeable1... classes. Adhere to new names in Data.Typeable. 70ebd2d [project @ 2004-03-24 11:00:48 by simonmar] Add empty -i flag test. 97d37ad [project @ 2004-03-30 15:35:27 by ralf] A wave of updates related to the "fromConstr -> gunfold" migration. Nothing serious. Works like a dream. 5475292 [project @ 2004-03-31 21:18:03 by ralf] Too silly encoding to leave it like this. 253a91c [project @ 2004-04-02 13:29:20 by simonpj] More tests 64c76cd [project @ 2004-04-02 16:50:29 by simonpj] Add a test for newtype deriving ee8aff4 [project @ 2004-04-06 08:41:36 by simonpj] Update output f03e3b7 [project @ 2004-04-06 08:49:32 by simonpj] Update output 970e388 [project @ 2004-04-06 09:28:32 by simonpj] Update expected output 7c561af [project @ 2004-04-06 09:35:36 by simonpj] Track update in Generic names f0fa5e1 [project @ 2004-04-24 02:05:55 by dons] Add some 64 bit expected results for the amd64 box d80e444 [project @ 2004-04-24 02:09:33 by dons] More 64 bit arithmetic results f130442 [project @ 2004-04-24 02:11:31 by dons] The result of this test depends on word size. Add 64 bit case. 910c1c1 [project @ 2004-04-24 02:13:32 by dons] More 64 bit cases c967ccb [project @ 2004-04-24 02:17:06 by dons] Add signals001 result, for another OpenBSD platform 01ba963 [project @ 2004-05-05 09:35:39 by simonpj] Typeable deriving test 6de9a6e [project @ 2004-05-12 09:07:57 by simonmar] accept output a4057e5 [project @ 2004-05-14 08:57:40 by simonmar] accept output 86dd540 [project @ 2004-05-24 09:14:14 by simonmar] Expect failure for tc175 (bug is in SourceForge; we're not going to fix any time soon). c6f3708 [project @ 2004-05-25 08:04:36 by simonpj] update output for typechecker error f93ea08 [project @ 2004-05-25 08:07:04 by simonpj] Improve location on unused import warning c4ffa65 [project @ 2004-05-25 09:04:56 by simonpj] Add test for decent failure on built-in syntax f07f819 [project @ 2004-06-01 23:22:33 by igloo] Add missing functions to TH export list (mostly spotted by Duncan Coutts). ac3ef43 [project @ 2004-06-21 16:10:45 by simonpj] Accept Show for rationals without space round % a0d0367 [project @ 2004-06-21 16:21:50 by simonpj] Debug messages moving around 24ae2e7 [project @ 2004-06-21 16:22:23 by simonpj] Infix constructors work now 69cd652 [project @ 2004-06-21 16:23:07 by simonpj] Accept Show for rationals without space round % 5702699 [project @ 2004-06-22 09:50:11 by simonpj] Add a where-clause test for TH f0090f2 [project @ 2004-06-24 10:09:27 by ralf] Ralf back online. 6aa59dd [project @ 2004-07-11 09:23:55 by panne] Updated expected output (whitespace change only) 805e704 [project @ 2004-07-19 22:11:45 by igloo] Allows a -ws-64 stdout variant rather than requiring each 64-bit platform to have a -platform one. (You now need to make boot in testsuite after configure but before running tests). 1b09a28 [project @ 2004-07-20 14:53:12 by igloo] amd64 needs a bigger stack. s/16/32/g bdad3af [project @ 2004-07-20 15:52:20 by igloo] Increase stack size from 4m to 8m for stableptr001 to allow it to pass on amd64. a3fb947 [project @ 2004-07-21 11:29:31 by simonpj] Add a typeable test for the Y type 917a86d [project @ 2004-07-22 09:14:15 by simonmar] Make this a bit more deterministic 32129f6 [project @ 2004-07-22 09:14:26 by simonmar] make this a bit more deterministic e4da356 [project @ 2004-07-23 14:41:07 by igloo] Expect fed001, ffi006 - ffi011 to fail if we are not on an arch that can do adjustor creation. 6181132 [project @ 2004-07-27 12:58:17 by igloo] Revert 1.20 4258eff [project @ 2004-08-12 11:18:26 by simonmar] ghci011 now works 451e80e [project @ 2004-08-12 13:07:48 by simonmar] accept output a812a21 [project @ 2004-08-18 09:28:26 by simonpj] Add a fundep test c0e3629 [project @ 2004-08-20 08:44:06 by simonpj] Make enum test more elaborate for Int b03655a [project @ 2004-08-20 13:12:55 by simonmar] Update Windows output. ee20a24 [project @ 2004-08-23 11:57:29 by simonmar] Add DiffArray deadlock test. b003cc7 [project @ 2004-08-26 12:46:50 by simonpj] New output for enum01 e336948 [project @ 2004-08-26 16:02:32 by simonpj] Add a functional dependency test 2a9fd84 [project @ 2004-09-01 08:58:23 by simonmar] Fix GHCi tests on Windows. 510d800 [project @ 2004-09-02 11:58:12 by simonpj] Add a kind-error test (whcih GHC currently fails) 1741ca3 [project @ 2004-09-03 09:30:18 by simonmar] Robustify conc018 and conc019 a bit 8491505 [project @ 2004-09-03 09:53:07 by simonmar] robustify driver063 4c683c1 [project @ 2004-09-03 09:54:05 by simonmar] accept output 51980a6 [project @ 2004-09-03 10:02:33 by simonmar] accept output de39845 [project @ 2004-09-06 09:51:04 by simonmar] Update output for Windows. dfd8db6 [project @ 2004-09-06 09:51:35 by simonmar] Test driver fixes for Windows. 2f3bc24 [project @ 2004-09-06 13:12:22 by simonmar] More Windows fixes 43198f9 [project @ 2004-09-07 07:51:47 by simonpj] Error message reordering b2db35b [project @ 2004-09-07 09:03:20 by simonmar] accept output fd39616 [project @ 2004-09-07 13:58:38 by simonpj] Add another kind check d268747 [project @ 2004-09-09 16:15:24 by igloo] Testsuite cleaning. bca1649 [project @ 2004-09-09 16:30:22 by simonpj] Add GADT tests; these will fail in the HEAD, but never mind 18809f3 [project @ 2004-09-10 09:25:42 by simonmar] accept output 661a9c4 [project @ 2004-09-14 02:53:14 by dons] Disable getPermissions001 for WAY=ghci. bfdde39 [project @ 2004-09-15 17:48:10 by ross] arrow notation: allow arrow applications (f -< a) to take a non-empty command stack, as suggested by Sebastian Boldt . 06af68a [project @ 2004-09-27 15:33:01 by simonpj] More GADT tests c12105c [project @ 2004-09-27 15:47:02 by simonpj] Another higher-rank pattern-match test; thank you Iavor c488d00 [project @ 2004-09-27 15:53:17 by simonpj] Accept output 9432c04 [project @ 2004-09-27 15:53:59 by simonpj] More gadt test fixup 21acbe0 [project @ 2004-09-28 13:03:33 by simonmar] accept output 42050eb [project @ 2004-10-01 13:29:20 by simonpj] Remove duplicate test 8b471a8 [project @ 2004-10-01 13:58:37 by simonpj] Update expected output for new GADT-enabled typechecker 40427ca [project @ 2004-10-03 05:02:58 by dons] Expect unicode001 to fail on wchar-less OpenBSD/x86 0222c7f [project @ 2004-10-04 09:10:37 by simonpj] Update expected output 3e77701 [project @ 2004-10-04 09:36:47 by simonpj] Update expected output ab63bd0 [project @ 2004-10-04 11:25:29 by simonpj] Update expected output 0cb72d0 [project @ 2004-10-04 15:44:08 by simonpj] Add a GADT test 0635b22 [project @ 2004-10-05 01:34:13 by dons] Expect pass for ffi009, on OpenBSD. Doesn't seem to have the optasm failure/float-store issues. 8634e15 [project @ 2004-10-05 01:59:20 by dons] make -> $MAKE. Always use $MAKE in all.T testsuite code e8b8cc7 [project @ 2004-10-05 07:25:12 by simonpj] Update output b51786a [project @ 2004-10-05 07:45:55 by simonpj] Update output 3aa8272 [project @ 2004-10-05 08:49:14 by simonmar] accept output e00a602 [project @ 2004-10-05 11:48:03 by simonmar] Add George Russell's hi-boot bug 80dfc39 [project @ 2004-10-06 06:03:09 by dons] Don't expect fail on OpenBSD. We don't produce the floating point errors. a13e533 [project @ 2004-10-08 14:00:58 by simonpj] Add a test 07b36cb [project @ 2004-10-11 10:14:09 by simonmar] FreeBSD-specific output no longer required 2763e71 [project @ 2004-10-11 10:40:09 by simonmar] include the right config.h 2f4f4c2 [project @ 2004-10-11 10:41:04 by simonmar] add FreeBSD-specific output fead666 [project @ 2004-10-11 12:25:19 by simonpj] accept output 25ce026b [project @ 2004-10-12 08:22:09 by simonmar] Don't use printf in this test, which is a variable-argument function and hence unsupported by the FFI. 4c46468 [project @ 2004-10-12 08:44:41 by simonmar] skip on Windows 03e7e59 [project @ 2004-10-12 08:49:00 by simonmar] mingw output 2e032ff [project @ 2004-10-12 08:57:58 by simonmar] small fix for GHCi tests on Windows cbd9f01 [project @ 2004-10-13 23:50:29 by dons] Remove duplicate, obsolete, entries for signals{001,002}. Looks like a merge-o. 4543b6c [project @ 2004-10-18 13:37:56 by simonmar] Add stdcall test 4c60e0d [project @ 2004-10-20 11:31:47 by simonpj] Add more pattern-match tests f5e87ff [project @ 2004-10-20 11:34:53 by simonmar] Update Network.URI test for new library. 3c13cf0 [project @ 2004-10-21 08:19:10 by simonpj] Update output 44b5fc4 [project @ 2004-10-27 10:49:58 by simonmar] System.Posix.forkProcess test a4b3ba3 [project @ 2004-11-04 20:25:09 by panne] Synched with latest Network.URI changes 852fe75 [project @ 2004-11-06 10:01:41 by panne] Updated expected output b6f4193 [project @ 2004-11-06 10:23:30 by panne] Expect no failures anymore dee603f [project @ 2004-11-07 14:42:39 by ralf] A long-pending commit. Another commit later today, (Once an up-to-date GHC is running.) a8f8110 [project @ 2004-11-08 12:17:27 by ralf] Testsuite works fine for today's HEAD. Added a nice reflective programming example. See getC.* 9f7e270 [project @ 2004-11-08 12:25:13 by ralf] Cleaning for upload. 06d6752 [project @ 2004-11-09 12:12:40 by simonpj] Add an implicit-paramter test 9106bfc [project @ 2004-11-09 12:41:49 by simonpj] Add a test for ill-formed type 2fe4a95 [project @ 2004-11-09 13:24:16 by simonpj] A multi-module tycon fixity test 7d1395d [project @ 2004-11-09 13:49:08 by ross] More compiler_type support: added the option functions 0d94c55 [project @ 2004-11-09 16:28:22 by ross] Rename several .stderr files to .stderr-ghc, because in each case the output consists of GHC-only warnings. 5c17ec7 [project @ 2004-11-09 16:31:13 by ross] mark groups of tests as GHC-only, as they test GHC-specific features. c26fbe1 [project @ 2004-11-09 16:44:55 by ross] mark the following failures as GHC-specific: ds052 hReady001 tc175 tcfail080 cc70479 [project @ 2004-11-09 17:57:33 by ross] mark GHC-specific tests 87dc431 [project @ 2004-11-10 12:20:00 by ross] Add a make variable COMPILER (default: ghc) to select a configuration file from the config directory without have=ing to give a full path. 893dc0e [project @ 2004-11-10 18:30:54 by ross] replace IOExts with hierarchical modules, and track changes in System.IO c7bd727 [project @ 2004-11-11 00:19:23 by ross] no longer needs -package lang 059028b [project @ 2004-11-11 02:34:18 by ross] get hSetBinaryMode from System.IO 1fc4f8e [project @ 2004-11-11 15:00:27 by ross] added more module tests from the Hugs testsuite, and merged mod200 into mod154, which tests the same thing. 9cb3bde [project @ 2004-11-11 15:14:53 by simonpj] Add comments ebb498c [project @ 2004-11-11 16:47:17 by simonpj] Accept output fe4831a [project @ 2004-11-11 23:53:51 by ross] GHC's Show instance for Ratio is slightly different from Haskell 98 ee2f0a4 [project @ 2004-11-12 11:45:07 by ross] conc013 is GHC-only (compares ThreadIds) fd47420 [project @ 2004-11-12 11:47:39 by ross] tc168 is GHC-only (tests -ddump-types output) 07da490 [project @ 2004-11-12 11:55:31 by ross] config file for Hugs e97e7df [project @ 2004-11-12 11:56:33 by ross] Hugs versions of various error messages 6af6cc9 [project @ 2004-11-12 11:59:28 by ross] Hugs produces slightly different output on these 129284d [project @ 2004-11-12 12:08:55 by ross] these take too long under Hugs 1ca89a2 [project @ 2004-11-12 12:17:23 by ross] Documented bugs in Hugs: 9a80fe3 [project @ 2004-11-12 12:19:49 by ross] another documented Hugs bug: tcfail030 (empty file) ccf56fe [project @ 2004-11-12 18:14:45 by ross] hGetBuf001 is GHC-only (uses throwTo for timeout) 15a4f02 [project @ 2004-11-12 18:15:57 by ross] update Hugs output cee9a0f [project @ 2004-11-13 00:28:49 by ross] update Hugs output 1cb68af [project @ 2004-11-14 13:00:52 by ross] Hugs doesn't implement multiple-reader single-writer locking on files. 7e520ad [project @ 2004-11-15 09:00:43 by simonpj] Update output 4176982 [project @ 2004-11-16 15:01:12 by ross] add Hugs output (Hugs doesn't treat non-Latin digits as letters) 5d9b30f [project @ 2004-11-16 18:02:48 by ross] update output 4d3dc73 [project @ 2004-11-16 23:38:28 by ross] update output to match H98 51ede92 [project @ 2004-11-17 09:34:31 by ross] update output: GHC loses some output before an exception due to its implementation of hPutStr. 3512395 [project @ 2004-11-17 10:51:56 by ross] catch other exceptions (e.g. overflow) db21460 [project @ 2004-11-17 10:55:45 by ross] catch other exceptions (e.g. overflow and pattern match failure), and add take's to the tests for () -- GHC produces the wrong results for enumFromThen () () and enumFromThenTo () () (). 86abe71 [project @ 2004-11-17 11:02:23 by ross] add Hugs output (different error messages, H98-style printing of Rationals) fa66141 [project @ 2004-11-17 11:03:06 by ross] update output (though the alpha one looks out-of-date) 32d6bd2 [project @ 2004-11-17 11:14:26 by ross] add explicit import of Control.Monad.Fix e11fed5 [project @ 2004-11-17 13:30:35 by ross] update Hugs output 40d3234 [project @ 2004-11-17 18:40:40 by ross] GHC-only tests: signals002 uses Handlers forkprocess01 forkProcess timeexts001 tests obsolete library net002 non-blocking I/O thurston-modular-arith GHC-only scoped type variables 6c7e70f [project @ 2004-11-18 00:42:34 by ross] conc040 is GHC-only (uses throwTo) 3f2fad1 [project @ 2004-11-18 00:43:16 by ross] portability 34b3dd1 [project @ 2004-11-18 00:43:49 by ross] warnings from Hugs 34bc68a [project @ 2004-11-18 00:56:24 by igloo] Implement FunDeps for TH. 32ac522 [project @ 2004-11-18 09:56:59 by tharris] Support for atomic memory transactions and associated regression tests conc041-048 c0de959 [project @ 2004-11-18 10:25:38 by ross] Hugs versions of error messages ac6c88a [project @ 2004-11-18 11:23:11 by ross] Hugs only: these all exhaust Hugs's heap, so make life_space_leak an expected failure (CAF leak), and skip andre_monad, barton-mangler-bug and jules_xref. e0d161f [project @ 2004-11-19 00:24:53 by ross] add a modernized version of fed001, which is a GHC-only test of obsolete syntax d4c076e [project @ 2004-11-19 12:54:12 by ross] make instance Enum () conform to the Report (though I doubt anyone will notice) 1fe358d [project @ 2004-11-23 14:22:52 by simonmar] omit ghci way for conc047 & conc048, they appear to deadlock 82825ea [project @ 2004-12-03 15:53:30 by simonmar] Add a test for basic ghc-pkg functionality bb3ea86 [project @ 2004-12-03 16:52:31 by simonmar] Add a Cabal test (modified version of the test from the Cabal distibution). 717d653 [project @ 2004-12-06 10:47:38 by simonmar] accept output af7fc16 [project @ 2004-12-06 11:08:02 by simonmar] accept output fa7ae43 [project @ 2004-12-06 11:20:11 by simonmar] Unregister the package afterward, it interferes with other tests. 6973be9 [project @ 2004-12-08 12:17:09 by simonmar] Add test for Sourceforge bug #1073501. d09693b [project @ 2004-12-09 09:26:51 by simonmar] install --install-prefix ==> copy --copy-prefix 8e4c2ae [project @ 2004-12-09 09:29:13 by simonmar] accept output 0f4648c [project @ 2004-12-09 11:31:53 by simonmar] add unreg & profasm ways c037f4e [project @ 2004-12-13 11:07:33 by simonmar] ffi009 fails for profasm too 2f80250 [project @ 2004-12-13 11:08:15 by simonmar] arith008 fails for profasm too 09b8064 [project @ 2004-12-13 11:11:23 by simonmar] expect fail for profasm too. 81ccf8a [project @ 2004-12-15 15:14:37 by simonpj] Add several more tests 57bb44d [project @ 2004-12-15 16:14:35 by simonmar] Add :info test cd3baa2 [project @ 2004-12-17 13:02:36 by simonmar] include expected output b139e55 [project @ 2004-12-20 09:28:15 by simonpj] Add missing flag c8e2bf8 [project @ 2004-12-21 10:49:56 by simonpj] Add more GADT tests d6fd417 [project @ 2004-12-22 12:16:49 by simonpj] Wibbles aaf9f20 [project @ 2004-12-23 09:07:39 by simonpj] --------------------------------- Template Haskell: names again --------------------------------- c4592b6 [project @ 2004-12-23 09:37:01 by simonpj] Add a test involving existentials 5535dca [project @ 2005-01-04 11:25:59 by simonpj] Update improved error message 7de3eff [project @ 2005-01-04 11:26:59 by simonpj] Add orphan-instance warning message 4f32033 [project @ 2005-01-04 11:30:21 by simonpj] Wibble following scoped type variable change b9c6ad0 [project @ 2005-01-04 16:27:37 by simonpj] Add mdo looping test 9aa9445 [project @ 2005-01-06 15:08:31 by simonpj] Update expected output, and add one more test 6b46436 [project @ 2005-01-07 08:57:48 by simonpj] Update no-instance error messages 8a966dd [project @ 2005-01-07 09:01:11 by simonpj] Add error message for gadt7 237083b [project @ 2005-01-07 09:01:51 by simonpj] Add Nilsson test 7a78a71 [project @ 2005-01-10 13:53:57 by simonmar] Test Double args too (this test fails with 6.2.2). f10ab6c [project @ 2005-01-11 14:34:07 by ross] tweak System.IO imports 4c23e80 [project @ 2005-01-12 12:57:24 by simonmar] Add an STM stress test 8b85507 [project @ 2005-01-13 13:56:53 by simonmar] track recent Cabal changes 52270c5 [project @ 2005-01-14 10:46:21 by simonmar] Use the new Data.Set library 93fd875 [project @ 2005-01-15 12:37:15 by ross] GHC-only warnings 1e21a59 [project @ 2005-01-15 12:38:52 by ross] update Hugs output fae55e4 [project @ 2005-01-15 12:39:41 by ross] tc185 is GHC-only (imports GHC.Base) 9966ef8 [project @ 2005-01-15 13:14:43 by ross] Hugs error message 079a6d4 [project @ 2005-01-17 09:57:24 by simonmar] import System.IO.Error to fix this test f0f1f8e [project @ 2005-01-20 12:39:23 by simonmar] Simon PJ found a bug in GHC's layout processing. Here it is. I can't see an easy fix right now, so I'll come back to it later. 91dd06d [project @ 2005-01-31 13:28:55 by simonpj] Accept output ec3a92d [project @ 2005-01-31 13:56:04 by simonpj] Accept output eb769e4 [project @ 2005-01-31 15:44:52 by simonpj] Add a TH test for tuple names 3f72c20 [project @ 2005-01-31 17:47:17 by simonpj] Add dataToTag test 4697b76 [project @ 2005-02-01 10:04:22 by simonmar] Executable-modules ==> Hidden-modules 828d0c7 [project @ 2005-02-01 10:05:36 by simonmar] Remove duplicate cg055 07b7a29 [project @ 2005-02-01 10:10:39 by simonmar] Update output (default message for calls to 'error' has changed) e413c7b [project @ 2005-02-01 10:12:50 by simonmar] accept output 616a652 [project @ 2005-02-01 10:16:38 by simonmar] hi-boot ==> hs-boot 9bed983 [project @ 2005-02-01 10:24:12 by simonmar] Fix up after hs-boot changes 5419c3a [project @ 2005-02-01 10:28:59 by simonmar] accept output 712434a [project @ 2005-02-01 13:20:54 by simonmar] Add some more driver tests 9f2a193 [project @ 2005-02-03 11:12:01 by simonmar] accept output 52848b6 [project @ 2005-02-04 10:59:55 by simonmar] Add a timeout to test runs, using a wrapper program (written in Haskell, using System.Process of course!). 9e774ca [project @ 2005-02-04 13:04:46 by simonmar] rn011 should be a multimod test too cdbaeff [project @ 2005-02-04 17:21:07 by simonpj] more tests 8aec127 [project @ 2005-02-07 09:58:14 by simonmar] slight correction to runCmd to fix exit code values. d87dd69 [project @ 2005-02-07 10:15:21 by simonpj] Accept output c0a1ba4 [project @ 2005-02-07 10:19:16 by simonpj] Flush output in runIO 478ff03 [project @ 2005-02-07 12:03:29 by simonpj] Add a module-import warning test de40f36 [project @ 2005-02-11 15:10:15 by simonmar] Disable the use of the timeout wrapper on Windows for now; it runs the command using the wrong shell. 396c2c7 [project @ 2005-02-14 11:47:47 by simonmar] Fix up for recent syntax changes, and add some dependencies for testing 5147019 [project @ 2005-02-14 14:36:31 by simonmar] add a test for recompilation bug in GHCi f27beac [project @ 2005-02-15 09:32:08 by simonmar] accept output d282dcb [project @ 2005-02-15 11:53:57 by simonmar] Add a basic ghc -M test 3e9db8e [project @ 2005-02-15 12:45:08 by simonmar] accept output d2d119d [project @ 2005-02-15 16:42:58 by simonmar] Add some tests for -* e668782 [project @ 2005-02-16 10:15:05 by simonmar] computers have got a little fast for this test 6a93ce5 [project @ 2005-02-16 10:16:57 by simonmar] read027 is an expected failure c3f3bb2 [project @ 2005-02-17 09:43:26 by simonmar] Bump the stack size for conc019 d8d637c [project @ 2005-02-17 10:00:45 by simonmar] Rename Rn017.hs to avoid clash on non-case-sensitive file systems 6f904a4 [project @ 2005-02-17 10:01:25 by simonmar] rename module name too 82d2b46 [project @ 2005-02-18 11:09:42 by simonmar] Add further commentary e7175f7 [project @ 2005-02-18 11:11:29 by simonmar] Update comment, this is nothing to do with requiring an expression as the last statement in a do. f47c2d8 [project @ 2005-02-18 11:14:20 by simonmar] add do parsing test cf12a11 [project @ 2005-02-18 16:30:58 by simonmar] - update for changes to InstalledPackageInfo syntax - new test: ghcpkg02: for every package we know about, pipes the output of ghc-pkg describe into ghc-pkg update, to test pretty printing/parsing of InstalledPackageInfo 2c26910 [project @ 2005-02-23 09:12:58 by simonpj] Add data2tag test 57a8676 [project @ 2005-02-23 09:21:08 by simonpj] Add a functional-dep test 43f5741 [project @ 2005-02-23 13:47:26 by simonpj] Add infix type contructor test 8e88515 [project @ 2005-02-25 13:19:26 by simonpj] More tests 8a00515 [project @ 2005-02-28 10:10:21 by simonmar] accept output ced5699 [project @ 2005-02-28 12:05:45 by simonmar] add type tidying test a766958 [project @ 2005-02-28 16:05:55 by simonpj] Add test for kind errors in record update; and synonyms in iface files a824500 [project @ 2005-03-01 05:48:11 by simonpj] Add a desugaring test involving existentials f32cbea [project @ 2005-03-01 09:30:04 by simonmar] accept output 2004bab [project @ 2005-03-01 21:44:21 by simonpj] bogon on test 9b9cfbb [project @ 2005-03-01 21:44:48 by simonpj] Accept output 1636e98 [project @ 2005-03-02 17:01:01 by simonpj] Add a functional-dependency test ee0c2e8 [project @ 2005-03-02 17:02:26 by simonpj] Add another fundep test 69f2153 [project @ 2005-03-04 09:25:14 by simonmar] accept output cd8d192 [project @ 2005-03-07 17:00:15 by simonpj] Add test for indirection-zapping 6077c7d [project @ 2005-03-07 17:12:05 by simonpj] Test recursive dictionaries d74d76f [project @ 2005-03-08 02:52:49 by wolfgang] Change expectations a bit for the non-i386-world. cc004 and ffi012 use stdcall and is therefore expected to fail on non-i386. ffi009, arith008 and arith012 expected to fail in optasm because of an i386-specific floating-point accuracy problem. It now only expects failure on i386. 9d01003 [project @ 2005-03-09 10:59:57 by simonpj] update expected output d2b8e77 [project @ 2005-03-09 16:57:09 by simonpj] add test for infix type-variable operator 4527000 [project @ 2005-03-10 09:00:04 by simonpj] Add another infix operator test 20ab9c3 [project @ 2005-03-10 09:06:06 by simonmar] accept output 073b36b [project @ 2005-03-10 12:03:41 by simonpj] Add test for tuple instances a0938ad [project @ 2005-03-10 16:43:08 by simonmar] expect failure for tcfail105 09d0f45 [project @ 2005-03-11 10:40:10 by simonpj] Add more tests 2bf5df6 [project @ 2005-03-14 09:36:07 by simonmar] profasm way only if ghc_with_native_codegen. a36ce2d [project @ 2005-03-14 10:50:32 by simonpj] Add missing stderr ef1da47 [project @ 2005-03-14 10:50:41 by simonpj] Accept output e63cfa0 [project @ 2005-03-14 10:55:17 by simonpj] Add a method decl to avoid gratuitous failure b1e7bfe [project @ 2005-03-14 12:20:59 by simonmar] update unicode tests 203c00b [project @ 2005-03-15 11:59:36 by ross] Fix (and test) for SourceForge bug 1161624: erroneous rejection of 98f34fe [project @ 2005-03-15 12:34:40 by simonmar] new unicode test, and accept output d0ad02c [project @ 2005-03-15 15:41:56 by simonpj] Add new GADT tests e2d7735 [project @ 2005-03-17 13:24:17 by simonmar] Add test for +RTS -xc 20fca23 [project @ 2005-03-18 08:53:59 by simonpj] Make the SOURCE-import programs work right 7106b44 [project @ 2005-03-21 10:07:44 by simonpj] Make hs-boot test work in new regime 88e665b [project @ 2005-03-21 13:59:36 by simonmar] add some STM example code 17e04c7 [project @ 2005-03-21 14:18:02 by simonmar] skip conc050 for now, for some reason it goes on for ever in the 'opt' ways 66fb864 [project @ 2005-04-04 12:04:18 by simonpj] Add a test for rebindable do-notation syntax d0e25c5 [project @ 2005-04-04 12:24:28 by simonpj] Add comment fe0531f [project @ 2005-04-04 12:34:39 by simonpj] Add another kind-checking test 8d98c20 [project @ 2005-04-05 15:18:51 by simonmar] Update the results for this test: the committed version contains some errors, apparently. 869ede1 [project @ 2005-04-05 15:22:00 by simonmar] oops, commit the right version 356a4c1 [project @ 2005-04-06 22:17:44 by simonmar] hDuplicateTo test 0bb25f0 [project @ 2005-04-13 14:59:45 by simonmar] accept output 496c4e3 [project @ 2005-04-14 15:08:15 by simonpj] (==) and (>=) must be in scope for pattern matching now f917805 [project @ 2005-04-15 16:01:51 by simonpj] two recent GHC 6.4 crashes (neither yet fixed) ae1878b [project @ 2005-04-15 16:55:41 by ross] change to ShouldFail, with a brief explanation. 273f77a [project @ 2005-04-16 17:44:00 by ross] add another ShouldFail test, and also hook in arrow1 (still a failure, because the error message is poor). 2511c65 [project @ 2005-04-19 14:40:23 by simonmar] FFI/threaded test 6c60c79 [project @ 2005-04-22 16:34:04 by ross] GHC-only tests: 00d8d5b [project @ 2005-04-22 16:35:36 by ross] add Hugs output db49a81 [project @ 2005-04-22 16:41:44 by ross] update output 3614bf7 [project @ 2005-04-25 11:57:30 by simonmar] add foreign import '&' test bcc0415 [project @ 2005-04-28 08:03:01 by simonmar] Add test for recent fix to overlapping module check 4fae445 [project @ 2005-04-29 23:50:52 by simonpj] Add kind-error test 65a102b [project @ 2005-05-02 12:00:34 by simonpj] Add newtype stupid-theta test 5d2b886 [project @ 2005-05-03 11:05:36 by simonpj] Add a test for multiple local bindings with TH b43376d [project @ 2005-05-04 10:06:12 by simonmar] accept output fd2675f [project @ 2005-05-04 10:30:13 by ross] update output ("GHC internal error" wasn't very auspicious) 2542ac7 [project @ 2005-05-04 10:31:12 by ross] add output -- not the best error message, but it's hard to see how we can do better. 7fcdd33 [project @ 2005-05-04 15:13:25 by simonmar] add test for array crash bc49efd [project @ 2005-05-05 07:27:21 by simonpj] Accept output 437216f [project @ 2005-05-05 07:44:39 by simonpj] Accept output 0087fd8 [project @ 2005-05-05 12:44:30 by simonpj] new output fb6b2cb [project @ 2005-05-06 08:55:14 by simonmar] accept output 0dd8b5d [project @ 2005-05-06 11:17:01 by simonmar] Omit the TH tests if the 'ghci' way does not exist. 33ade92 [project @ 2005-05-06 12:13:54 by ross] Rearrange arrows tests, and move tc120fail to arrowfail003. 8fe6295 [project @ 2005-05-09 09:12:02 by simonmar] make this test independent of the FD value (fix test with -prof) a3d80c2 [project @ 2005-05-09 09:15:00 by simonmar] update output 4920c0a [project @ 2005-05-09 09:20:03 by simonmar] ghci can\'t do ffi015 f5370e3 [project @ 2005-05-09 09:21:45 by simonmar] update output 9f76519 [project @ 2005-05-10 10:32:10 by simonpj] Accept output 9dea983 [project @ 2005-05-12 16:54:17 by simonpj] Add rank-2 test b48dc0f [project @ 2005-05-13 07:53:37 by simonmar] accept output 948e39c [project @ 2005-05-13 08:03:31 by simonmar] omit if GHCi not enabled dab0c2e [project @ 2005-05-13 08:15:50 by simonmar] make this test slightly more robust 30e1bbc [project @ 2005-05-16 12:53:22 by simonpj] Add newtype rep test bf325d2 [project @ 2005-05-18 12:57:07 by simonmar] accept output 2a3dbc8 [project @ 2005-05-19 07:48:09 by simonpj] Add test for splicing instance, and for pat-match failure in splice code 9fe9d46 [project @ 2005-05-19 09:55:33 by simonmar] Add skip_if_no_ghci fe8e681 [project @ 2005-05-19 09:55:55 by simonmar] rnfail043: skip_if_no_ghci 539e4e6 [project @ 2005-05-20 12:51:30 by simonmar] More ghc-pkg testing. e467354 [project @ 2005-05-23 09:10:59 by simonmar] interpter_run: add ">> return ()", to avoid GHCi trying to print out (and evaluate) the result of Main.main. fadfd2c [project @ 2005-05-23 10:19:40 by simonmar] Add a couple more -main-is tests 2eaf89d [project @ 2005-05-23 13:45:51 by simonmar] conc051 tests MVar throughput between the main thread and a child thread. In the threaded/SMP runtimes, this kind of communication has a high overhead because real OS threaded switches are required (the main thread is bound, the child thread is unbound). It's a good stress test, anyhow. 18b4b0d [project @ 2005-05-23 15:30:54 by simonmar] conc033 is fragile with the threaded RTS; disable it again 4eee3c9 [project @ 2005-05-23 15:57:54 by simonmar] Fix test062.3 12591c5 [project @ 2005-05-24 08:17:34 by simonmar] accept slightly bogus error message output 4ff86af [project @ 2005-05-24 10:44:50 by simonpj] Add a fundep test 15f347a [project @ 2005-05-24 11:16:47 by simonmar] undo accidental commit 78c253f [project @ 2005-05-24 11:30:35 by simonpj] Add simplifier loop test b2ffa31 [project @ 2005-05-24 11:33:11 by simonpj] Add NOINLINE pragma to happyFail ba9dee2 [project @ 2005-05-26 21:36:32 by simonpj] Add higher-rank test fccd604 [project @ 2005-05-27 14:55:32 by tharris] Add STM array-shuffle test 85527ac [project @ 2005-06-06 12:48:35 by nx] add testing examples for arity analysis b08c2d1 [project @ 2005-06-06 12:50:41 by nx] -farity -ddump-idinfo is added for the compilation and the dumpped output is supposed to match .stderr 97f9cff [project @ 2005-06-06 15:53:23 by nx] alex_scan_tkn example is in Main.hs 760529a [project @ 2005-06-07 08:34:10 by simonmar] accept output 4ec62d9 [project @ 2005-06-13 10:31:47 by simonmar] Add extra-lib-dirs 98b545b [project @ 2005-06-15 12:53:15 by nx] 24dd800 [project @ 2005-06-27 09:18:32 by simonmar] update output 8ca92e4 [project @ 2005-06-27 09:31:51 by simonmar] Omit conc036 for GHCi and threaded, deadlock detection doesn't work right in these cases. 3f7fb6a [project @ 2005-06-28 09:34:22 by simonpj] Add typechecker-loop test; could merge to stable b7c4627 [project @ 2005-06-28 23:39:51 by nx] check_rctx has arity 8 3d7163d [project @ 2005-06-29 15:42:35 by simonpj] Add renamer test (ambiguos occurrence) 2659d61 [project @ 2005-07-04 10:37:33 by simonmar] update output 3775349 [project @ 2005-07-04 10:41:19 by simonmar] omit conc039 for threaded way 4379c80 [project @ 2005-07-05 08:41:32 by simonmar] update output b7c9311 [project @ 2005-07-06 12:15:40 by simonmar] add System.Process test d57bb1a [project @ 2005-07-06 12:26:59 by simonmar] add test for passing duplicate Handles to runProcess 5c35fea [project @ 2005-07-08 08:21:37 by simonpj] Add a type-syn instance test f7e2c3e [project @ 2005-07-08 13:59:48 by simonmar] Add test for -odir with non-Haskell compilation c7bd389 [project @ 2005-07-08 16:30:58 by simonpj] Add a test for the specialiser 7a54480 [project @ 2005-07-11 09:55:18 by simonpj] Add test for unifyFunTys 2ca6ec7 [project @ 2005-07-11 10:24:11 by simonpj] Add test for unused variable in parallel list comp e6a693f [project @ 2005-07-11 10:45:34 by simonpj] update output 728751c [project @ 2005-07-12 13:36:07 by simonpj] Add unboxed-tuple binding test (was simpl008) ce6a008 [project @ 2005-07-12 16:34:26 by simonpj] Add test for duplicate spliced decls 271a002 [project @ 2005-07-13 09:22:01 by simonmar] - Add Sven's Sparc running-out-of-registers test (ffi001) - the tests in here were set up to just compile to HC, I've fixed that 5a8c707 [project @ 2005-07-13 10:17:45 by simonpj] Add test for fundep error message cfd5329 [project @ 2005-07-13 16:46:30 by simonpj] Comments only 8464553 [project @ 2005-07-13 16:49:01 by simonpj] Revert bogus commit 859532a [project @ 2005-07-14 08:01:33 by simonpj] Remove simpl008 (it has become tcfail141 ea747e4 [project @ 2005-07-14 10:00:28 by simonmar] accept output 5d5f7a5 [project @ 2005-07-14 12:06:05 by simonmar] add --enable-library-profiling 0c50c91 [project @ 2005-07-18 10:25:07 by simonpj] Accept output c5b2851 [project @ 2005-07-18 10:25:16 by simonpj] add missing tcfail142 899f7b0 [project @ 2005-07-18 10:27:25 by simonpj] Update output af3252e [project @ 2005-07-18 14:02:53 by simonmar] Add test case from 69f8515 [project @ 2005-07-19 09:37:44 by simonmar] fix various bogons in this test 5a86c6d [project @ 2005-07-21 10:02:26 by simonmar] Add ghcpkg04 (importing an ambiguous module) 5715368 [project @ 2005-07-21 10:04:54 by simonmar] Add ghcpkg04 tests, and pkg01 (test that compiling a module that is also a package module gives an error). ced1f48 [project @ 2005-07-21 10:06:16 by simonmar] pkg02: tests for the mechanism that allows local modules to override package modules. e5fede7 [project @ 2005-07-22 10:06:14 by simonpj] Add tests for mutual recursion and type sigs 6388bda [project @ 2005-07-22 10:13:16 by simonpj] Add Robert van Herks example dd90b5b [project @ 2005-07-25 10:17:58 by simonmar] add recompilation test d25d3e6 [project @ 2005-07-25 11:30:18 by simonpj] Update output 590ea21 [project @ 2005-07-25 15:06:36 by simonmar] update 35ad9b5 [project @ 2005-07-27 07:59:38 by simonpj] Add tests for pattern type signatures 27ed03e [project @ 2005-08-01 13:26:43 by simonmar] add System.Process test 9ab618b [project @ 2005-08-02 16:04:23 by simonmar] update test a4046f4 [project @ 2005-08-03 09:51:08 by simonmar] update tests for changes in tools a8931b2 [project @ 2005-08-04 11:34:53 by simonmar] re-enable conc013 with the threaded RTS 01a7c0f [project @ 2005-08-04 12:22:17 by simonmar] A better timeout. This one starts a new session for the child process, and attempts to kill the entire group when the time expires (previously we only killed the direct child, if the child itself had spawned more processes these would continue to run). 414eaa7 [project @ 2005-08-10 08:29:15 by simonmar] turn off orphan instance warnings a7f3164 [project @ 2005-08-10 10:07:39 by simonmar] test queryFdOption 841eea2 [project @ 2005-08-11 08:55:19 by simonpj] Update output; add a test ee2c13a [project @ 2005-08-11 08:55:58 by simonpj] Update output 6f60113 [project @ 2005-08-11 08:56:41 by simonpj] Add missing file afb8791 [project @ 2005-08-11 09:07:43 by simonmar] add stdout file 0481607 [project @ 2005-08-12 08:33:11 by simonpj] Accept output 692af8d [project @ 2005-08-12 08:34:33 by simonpj] Accept (better) output f947176 [project @ 2005-08-22 08:59:15 by simonpj] Slightly better overlap checking 19ee26f [project @ 2005-08-22 09:00:36 by simonpj] Slightly better overlap checking; missed one file e817d82 [project @ 2005-08-30 12:00:23 by simonpj] Two more type-formation tests b52f3a7 [project @ 2005-08-30 12:06:36 by simonpj] Another type-formation test (cf Sourceforge 1276115) 6a7e59e [project @ 2005-08-30 12:08:13 by simonpj] Two type-formation tests (cf Sourceforge 1276246) 83852ab [project @ 2005-09-05 15:20:05 by simonpj] Add a couple of tests 0a4224d [project @ 2005-09-05 15:28:45 by simonpj] Another test 9ae8431 [project @ 2005-09-13 10:06:59 by simonmar] add test for bug #1285326 e1ffbb2 [project @ 2005-09-19 09:34:47 by simonpj] Another kind-error test 4b9d103 [project @ 2005-09-19 15:10:17 by simonmar] add test for forkm crash a093407 [project @ 2005-10-12 13:34:59 by simonpj] Add a test for the unifyTyConApp bug 7083474 [project @ 2005-10-14 11:23:46 by simonpj] add some record-syntax stuff 283fb93 [project @ 2005-10-17 11:12:31 by simonpj] Add case-simplification test 4601e04 [project @ 2005-10-20 08:59:38 by simonmar] add expected output 973a7be [project @ 2005-10-20 09:03:31 by simonmar] add expected output c5ccfd5 [project @ 2005-10-20 09:08:13 by simonmar] add apparently missing file 78b25ae [project @ 2005-10-20 09:09:03 by simonpj] Update output 4442783 [project @ 2005-10-20 09:09:48 by simonmar] test requires -fglasgow-exts now a66e248 [project @ 2005-10-20 09:10:14 by simonmar] accept output d576944 [project @ 2005-10-20 09:16:33 by simonmar] Fix this test 1a1bbf2 [project @ 2005-10-21 11:24:02 by simonmar] tiny fix to simple_run(), adding a space between args and rts_flags. 1bd8480 [project @ 2005-10-21 12:47:58 by simonmar] small fix to this test 0c07817 [project @ 2005-10-24 10:41:01 by simonmar] - add SMP way for tests - add RTS way flags: -N2 for SMP (test multi-processor), and -p for profiling (actually test the profiler!) 41749c2 [project @ 2005-10-25 11:55:25 by simonmar] define ghc_with_smp d38ad94 [project @ 2005-10-25 12:53:59 by simonmar] add LANGUAGE pragma tests fce14fc [project @ 2005-10-26 12:05:44 by simonpj] Add new tests 94314ac [project @ 2005-10-31 10:15:09 by simonpj] Another existential escape test 0cc8f45 [project @ 2005-10-31 10:16:50 by simonpj] Accept output for new test b0a2780 [project @ 2005-10-31 10:25:45 by simonpj] Accept changes in columnn numbers, now that tabs count as 1, not 8. (There are some minor changes in where line breaks occur too, for reasons I don't understand.) 1123b9a [project @ 2005-10-31 10:54:46 by simonmar] revert rev. 1.2, looks like an accident f8533fa [project @ 2005-10-31 11:43:17 by simonpj] Add a perf test that shows up the 6.4.1 bug in preInlineUnconditionally f5426f5 [project @ 2005-10-31 11:55:53 by simonpj] Tab-related column number changes b67267e [project @ 2005-10-31 11:56:15 by simonpj] import M() suggestion added to warnings fe651de [project @ 2005-10-31 11:58:40 by simonpj] Accept shorter path name in error message e9b0182 [project @ 2005-11-02 09:59:22 by simonpj] Tab spacing change 6e57ae3 [project @ 2005-11-02 09:59:44 by simonpj] Put option flag into source code add8951 [project @ 2005-11-02 10:00:20 by simonpj] Fix error message 5027d94 [project @ 2005-11-02 12:54:00 by simonmar] fix test 1e33535 [project @ 2005-11-07 15:09:48 by simonmar] Add Jan-Willem Maessen's hash table test bc1734c [project @ 2005-11-08 09:51:50 by simonmar] accept output (column changes) 98a864b [project @ 2005-11-10 09:58:16 by simonmar] don't expect failure on x86_64-unknown-linux for optasm/profasm 9f9c8ce [project @ 2005-11-10 10:03:27 by simonmar] optasm succeeds on x86_64-unknown-linux deb5ab9 [project @ 2005-11-10 11:16:58 by simonmar] make this test take a lot longer if the bug occurs, so it'll hit the timeout and fail. 30dd655 [project @ 2005-11-10 11:17:36 by simonmar] accept output e763262 [project @ 2005-11-10 12:32:24 by simonmar] fix for this test: there was a missing hFlush d614f76 [project @ 2005-11-11 10:01:12 by simonmar] accept output d8dbb62 [project @ 2005-11-11 10:04:20 by simonmar] queryfdoption001: omit GHCi way 6bd85ed [project @ 2005-11-11 12:02:40 by simonmar] Make it work on Windows again. 982d866 [project @ 2005-11-11 15:40:26 by simonmar] add some stub generation tests db4868c [project @ 2005-11-11 18:01:50 by ross] add a setting for way_rts_flags 852ad49 [project @ 2005-11-12 21:38:34 by simonpj] Add exception test cf03788 [project @ 2005-11-16 12:54:40 by simonpj] Add Reymont synonym performance test 545656e [project @ 2005-11-23 11:47:16 by simonmar] Fix up to compile after recent changes to System.Process.Internals e5aaf71 [project @ 2005-11-24 09:45:31 by simonpj] Test desugaring for unboxed tuples 6a59aeb [project @ 2005-11-24 09:58:35 by simonpj] context stack is a static flag 53f3a4d [project @ 2005-11-28 10:32:33 by simonmar] memo001: remove -G1, it doesn't work with -smp ba968ba [project @ 2005-11-28 10:34:31 by simonmar] fix this test (UnsafeOverlappingInstances extension has disappeared) 87920fe [project @ 2005-11-30 12:25:20 by simonmar] Add test for Control.Concurrent.STM.registerDelay 6b0d58f [project @ 2005-11-30 14:17:35 by simonpj] Add mkName test 8e457e2 [project @ 2005-12-01 08:54:57 by simonpj] Another GADT test e75b72b [project @ 2005-12-02 10:51:15 by simonmar] accept output 38615de [project @ 2005-12-02 10:54:05 by simonmar] conc053 only works in threaded & smp ways at the moment. 17dad04 [project @ 2005-12-02 10:56:34 by simonmar] add this test that I had lying around 23a41b7 [project @ 2005-12-05 09:08:51 by simonpj] Fix test fd9fbf6 [project @ 2005-12-05 09:13:07 by simonpj] Update expected output 0971102 [project @ 2005-12-05 10:08:53 by simonpj] Add an expected-failure test 3c472c1 [project @ 2005-12-05 11:43:51 by simonmar] add newTVarIO test b218900 [project @ 2005-12-09 19:16:58 by simonpj] A minor, probably redundant, test 83623c6 [project @ 2005-12-09 19:17:57 by simonpj] add output file 885955b [project @ 2005-12-13 16:04:09 by simonmar] fix comments f387ab3 [project @ 2005-12-13 16:04:25 by simonmar] Add nested atomically test baacfa2 [project @ 2005-12-16 10:46:05 by simonmar] Now that we aren't building hslibs, keep the memo tests alive by bringing Memo.hs into the testsuite. These tests are a useful shakedown for StableNames. b87dad5 [project @ 2005-12-16 10:50:31 by simonmar] -package lang isn't required. 44bdbb1 [project @ 2005-12-16 10:53:24 by simonmar] update to not use hslibs ae0204b [project @ 2005-12-16 10:54:50 by simonmar] TimeExts has gone away 434514a [project @ 2005-12-16 14:56:50 by simonpj] Add repeated-type-variable tests for instance constexts 06a9dac [project @ 2005-12-16 16:03:02 by simonpj] Add deriving for infix constructors cb9fe76 [project @ 2005-12-19 09:47:49 by simonpj] Add test for trailing parens in GADT signatures bb1d70d [project @ 2005-12-26 19:54:32 by jpbernardy] Infrastructure for testing Data structures. + some tests 80e240f [project @ 2006-01-01 21:46:31 by jpbernardy] More tests for: * Sets * Non-structural equality * Left-Bias * Performance fa089da [project @ 2006-01-02 19:36:50 by jpbernardy] minor cleanups 533a379 [project @ 2006-01-04 11:50:44 by simonpj] Add test for data con returning wrong type 7111d55 [project @ 2006-01-05 09:16:28 by simonmar] Add test for "scavenge_stack" bug fixed in rev 1.16 of Exception.cmm 839f96c [project @ 2006-01-05 10:06:30 by simonpj] Add test for newtype existential 065d2c3 [project @ 2006-01-05 13:08:14 by simonpj] Add a nasty multiple-instantiation test 0b3c43c [project @ 2006-01-06 16:03:25 by simonpj] Cosmetic 7d53bf6 [project @ 2006-01-06 16:08:57 by simonpj] Add GADT tests 048c91d [project @ 2006-01-06 16:12:42 by simonpj] Add tests for boxy types 705fda4 [project @ 2006-01-06 16:14:45 by simonpj] Better type signature for higher-rank 9a5b6ef [project @ 2006-01-06 16:15:19 by simonpj] Add another synonym-performance test (but comment it out of the test file; too slow!) f67794c [project @ 2006-01-06 16:34:56 by simonmar] Unicode source tests fbdb45e [project @ 2006-01-09 10:27:33 by simonmar] Add -dcmm-lint when compiling 2cf530f [project @ 2006-01-09 10:29:44 by simonmar] add a cmm lint failure 0294a61 [project @ 2006-01-09 12:49:28 by simonmar] Add test case that causes a core-lint failure (cut down from Encoding.hs in HEAD). 5f7f7fa [project @ 2006-01-10 13:41:48 by simonmar] accept output (improved lexer error messages) 534a54f [project @ 2006-01-10 14:11:24 by simonmar] recode this file in UTF-8 from Latin-1 d3b6d6b [project @ 2006-01-10 14:11:53 by simonmar] comment update 1a6bcc1 [project @ 2006-01-10 14:39:50 by simonmar] accept output 2e8bfab [project @ 2006-01-12 16:03:21 by simonmar] add test from ticket #441 fa931a0 [project @ 2006-01-12 16:10:41 by simonmar] Add test from ticket #488 adf1df0 [project @ 2006-01-18 15:25:45 by simonpj] Add test for data con in class sig ff6b495 [project @ 2006-01-18 16:31:10 by simonmar] Add a fast version of the testsuite a8a953e [project @ 2006-01-19 09:47:11 by simonmar] Test tryPutMVar on empty MVars too acd95bc Add test for bogus unusued-import message 65d3fd5 Wibble b68d61f Module import test d529fb1 Add fundep test 6d106a4 Add a higher-kinded test a9e8bed fix recently-introduced breakage in 'make accept' 418362a add test for bug #661 075c92a remove old docs a05e2f7 Add CPR test b65564b Eta expansion and scoped type variables in generic code a4c271f Update to track new scoped-tyvar story d8532a2 Update to track improvements in typechecker 9104c51 Remove package lang reqt 6b6381f New GADT desugaring test 182805d Fix GADT tests 79aaf88 Eta expand gzip test to match new higher-rank-type story 3cd4a7b allow setting stage=N variable to select compiler in the testsuite eb44c0c "s" is in GhcRTSWays now 0bc7a5e Add test from Markus Lauer ba72db2 Add test for bug 685 1237b77 remove smp way, replace threaded with threaded1/threaded2 54ba798 accept output 6fa18af add expected output for x86_64 a384689 Add a fundep loop test bd389a1 Update output (TH no longer depends on haskell98 package) 0c14417 Update output b5c9f36 Accept (slightly mysterious) output formatting changes 7b889eb Add expected output for rn049 a4181b1 Accept output efd244e Remove dependence on haskell98 package in expected output 2063472 Add -fallow-undecidable-instances to reflect more accurate termination test in fundeps 2722f20 Update output and add -fallow-undecidable-instances where necesssary 2f75aca Update output e4992dc Test for deprecated constructors 1736647 Require -fallow-undecidable-instances 75eef48 add test for #713 477e0f9 fix clean target 5f2e48f process003 doesn't work with GHCi, omit it 6132869 patch up this test again 72eeae7 Tidy up the testsuite output by combinding failures for multiple ways 8a48ba0 remove some dead code 928183f fix for Win32 a3a4a3e ignore ".exe" in program output, for Windows 97fda33 fix a regex that was too slow 0998d4f sort the keys when outputting the summary 2dbdcc3 fix for GHCi tests that raise exceptions or exit We need to call GHC.TopHandler.runIOFastExit instead of GHC.TopHandler.runIO. Recent fixes to the shutdown code have meant that when a thread invokes shutdownHaskellAndExit(), other main threads get a chance to exit (as they should), but this means that we might have a race between the child thread trying to exit the program and the main thread doing the same. In the case of GHCi, if we're running an interpreted computation that needs to exit (as some tests do), then we really want this child thread to exit the program rather than the main thread. b0aee19 fcntl-FreeBSD Expect failure of queryfdoption01 on FreeBSD (6/7): /dev/null can't be switched to non-blocking i/o, so fcntl() will throw an error. Unfortunately this went to the old CVS first. 18009e6 fix to previous 4e705b5 accept output (better error locations) 4f4f12e attempt to work around restrictions with fork() & pthreads In the child process, call exec() directly instead of using System.Cmd.system, which involves another fork()/exec() and a non-blocking wait. The problem is that in a forked child of a threaded process, it isn't safe to do much except exec() according to POSIX. In fact calling pthread_create() in the child causes the pthread library to fail with an error on FreeBSD. 7650de5 Add scoped tyvar test 1a6fcb4 fix the expect_fail_if_windows macro 3a36e44 crummy fix for Windows d1e35bb windows output fa018dc unnecessary mingw-specific output d1c98e6 fix tests for Windows 821aa1f omit ffi007 and ffi008 for GHCi (see comment for details) 162d106 add test for ForeignPtrEnv a91d97b avoid running out of stack for non-optimised ways 051af0c omit asm ways for this test on x86 371a1bb Track the GHC source tree reorganisation 0cc16ab the "threaded" way was renamed to "threaded1"/"threaded2" d58cfad add a test for a blackhole GC bug 6c38e7b update for new source tree layout e2c24b6 Add test for newtype deriving (thanks to Ross) d8d238d add a test for a division bug in the NCG c732ea2 Memo-function test 7b73a75 Add a test for SpecConstr + GADTs e5c968a forgot to add this file 1966bbe Test for error recovery in TH 59dc0c9 Test for foralls to the right of => acc4ba4 test Bool arguments too c73d8f0 avoid running out of stack 7c2ceae Import Data.ByteString regression tests dc6d798 More QC properties, for fold{lr}1. Update expected output 2a41e3b And add QC test for group/groupBy 550a522 Add test for newtypes in FFI 78806c9 More QC properties. Update output 76b39f0 More QC tests. Update output 8622fdf accept output d0fbffa update expected output. tougher replicate test. dc91add Update expected output 486d104 first attempt at being boring ff1ba03 disable ffi016 for GHCi daaf35d accept output NOTE: I made a slight tweak to Alex to improve the lexical error messages, to get correct output for these tests you need an updated Alex from darcs. 296011e test for NCG bug 16aa8f7 Fix this test to work properly with -threaded 644c1ae fix this test to work propertly with -threaded 1694556 re-enable various tests with -threaded that now work 87e3228 accept output d5d62e5 add a prof/TH test fb609cf omit conc036 for GHCi 46b4e5c robustify the test a little 1ce6580 omit conc039 for threaded2 53565e8 add test from #799 f78c349 Test for pattern type sigs in do-notation 994a9db Add test for infix function definitions 69c82de Accept output change bb21473 Add model-based tests for ByteString.Lazy<=>ByteString<=>Data.list b6995a5 Add regress tests for fusion rules. Makes sure they fire, and rewrite to correct result 216da4d encorporate rest of property checks for Data.ByteString 0b9beed Test Trac bug #795 a4b3017 remove unused imports dec07f2 document stage=2, and clean up a little. 5f6a1e2 add test for Ix bug 692ece8 accept output 425c4fb accept output (improved error messages due to PrintUnqual changes) c0d4e93 test fixes and new tests for package support f9d1d67 add new cabal test 022a738 Add test for unboxed fields in GADT record selectors 73b32a6 Add a test for infix type constructors 146d22f Add test for overlapping pattern warnings for lazy patterns 9b44c3d Add tc206; edit a couple of others 0628d60 Test error message (Trac 844) b34a153 Lazy patterns can't be unboxed (Trac 845) 5663a7b Add tests for incomplete-pattern warnings 69ee45d Fix some Array.bounds calls to Array.getBounds 8ec5abd accept output 594a0ac fix FFI syntax 330f767 expect fail for threaded2 way, fork isn't supported in SMP mode (yet) c1e36d8 update FFI syntax 3b09480 accept output 42379ab base-1.0 ==> base-2.0 6c38c1a base-1.0 ==> base-2.0 9aa0432 accept output d22152d This test now compiles without errors 2836001 Comments in Makefile d72b2c6 Remove typecheck.testeq1.run.stdout 12054ae Update test outpuot 81f5128 More updated output 4213187 More upated output c0168a6 Add flag to test 7595ff9 Update expected output 35dc8da Two more tests 706c439 Add test for tagToEnum# 91d947c Update output d324749 Update output (remove "In the call...") 5174465 accept output (improvements) 1749086 accept output aee0117 add test for Data/Fixed module, in libraries folder 0715818 accept output 429f009 Fix driver not to normalise output when using platform specific output files ebb72a6 Fix some THREADED-caused fails 6fc8fc2 Driver: Add THREADS-support 6c8c7eb update tests ffd32da Fix typo ee4ba37 fix old regex test, add two new ones 7ea0d8c Don't use the threaded2 way when we don't support SMP 1b047b3 cg025 needs regex-compat 55b23d5 fix parse error 6d24f16 fix FFI syntax 39e6ddb update FFI syntax 8fe6d7f ds052 not an expected failure any more e52d8a5 omit conc023 the non-threaded ways on Windows (see comment) c83220a omit conc023 the non-threaded ways on Windows (see comment) 5bd76f8 Allow the timeout to be given as a Makefile argument a67606e Clean .hp files 33b3f65 Allow threading to be completely disabled with USETHREADS=0 I had to pull the global classes and instances out into their own module as there was a catch-22: testlib needed to know if threading was enabled, but we don't know that until we have gone through the argument, but going through the arguments required changing things like config in testlib. c0d7bea Add list002 to tests - seems to have got lost during the testsuite revamp fb9a220 Add a test for length not causing a stack overflow (from #876) 8876437 USETHREADS=0 by default unless you set THREADS explicitly This means the testsuite works by default even if you have Python 2.2, but will fail with Python 2.2 if you set THREADS. 56ec4f5 skip conc053 on Windows (registerDelay not supported) 09819a8 add skip_if_platform a4b7694 adapt these to work on Windows 1da60b5 fix up tests for Windows threadDelay is not interruptible on Windows with the threaded RTS. Work around it in conc014, conc015 and conc017, and add a new test for this specific failure, and mark it as an expected failure for the relevant cases. 77e4f3d accept 7e7b6ea add conc059 2f092d4 fix for Windows 650f574 leave EXTRA_HC_OPTS for use on the command line 3ee818a win-specific output not needed 5134619 omit conc036(threaded2) 72e3be2 improve conc039 a little bit, and omit it for threaded1 ae241b6 Add test for dependency analysis in type checking 60f1369 accept output 743e220 Add renamer test (qualified name in binding position) 2c1ce66 Accept output 9db0189 Update output 4ef6b43 Tickle a bug in impredicative polymorphism b0f8e82 Fix this test on a fast machine The artificial loop wasn't running for long enough for a context switch to happen, so the finalizer wasn't getting to run early enough. 6b2a0a0 Accept output for ! kind ac2d921 Revise tc103, in the light of the story for result type signatures 47d5bce More changes for scoped type variables 65b3c0b Use Data.Map instead of Data.FiniteMap 9d80a57 Use a python timeout for the testsuite when we don't have a threaded RTS c1935a4 Accept output cbd0b9c Add test for Trac 877 9b7a5c9 Improved error locations d039b7e Alter source code of test, now that result type signatures do not bind type variables 3430737 Fix another use of result type signatures (this one was easy) 93302f6 update bytestring tests 4859df6 Update the testsuite cleaning 719be39 More cleaning tidyups ff3a349 Test expFloat# linking 0dd5ce3 Add cleaning for .exe files 18b711e Catch exceptions while cleaning rather than checking for existence first As well as being generally a good idea, os.access('foo') seems to return true if foo.exe exists on Windows. 72fb6f5 Add stdout for expfloat test 580fa31 Accept output on sparc-sun-solaris2 fcb337f Fix up tests for unboxed tuples d378a01 Added test for ticket #902, deriving for GADTs which declare H98 types fails. 3ff7c8c Add GADT test from Doaitse 03b6b86 Add another type checker test 49d4d2d Tests for impredicative polymorphism b8e14b3 Add test for Trac #900 c097002 Add a test for impredicative polymorphism 11c96d0 add 'make boot' to the instructions 7928d01 add boot to the all target e00058d Make it so that 'make boot' is optional in the testsuite mk/wordsize.mk and timeout/timeout get built automatically if necessary. ec10210 Add test for Hugs #37 31ffbaf Add new sub-directory indexed-types to the GHC testsuite 52c3625 Accept typechecker output 10af7cf Add another GADT test d53022a Added drv020, a test for newtype deriving of multi-parameter type classes which currently makes HEAD panic. It is called drv020 in order not to clash with some yet to be pushed test cases for stand-alone deriving. f858980 Test for problem with compiling the base package with --make a7a6f78 A new GADT test, which killed FC temporarily 52eb09c Add a test for trac #867 c186ff3 add test for #830 c26f435 add test for #906 cfc15fc accept output e1bdf63 Allow testsuite to run under MSYS/MinGW using native Python (not Cygwin Python). This patch is based on a similar one "Enable timeout in Windows and don't require cygwin python" by Esa Ilari Vuokko. It seems like timeout is always built on Windows so I rearranged the logic there to make the code clearer, Esa's patch required the user to uncomment the MinGW-specific logic in order for it to work; this patch does not have the MinGW-specific logic commented out. af16751 Need -fglasgow-exts for gadt18 b2d6de1 Add test for Trac #919 b504085 Two new tricky deriving tests 266dc32 Test separate compilation with indexed types 52af092 Test for scoped type variables 47ca77e Add a test for 'module M' in export lists 160c64f STM invariants 723dad9 Fix test base01 86a543f Test for trac #921 ee40de9 Test for #149 (missed CSE opportunity) 38f6769 Update bug reference for test tc175 7f4069a Allow literate tests 04f38ae Add test for correct unlitting. Tests trac #210. 0b4b8c0 Add tests for trac#249 and #931 e80ab12 Test for Trac #940 88bb359 Update module tests slightly 1433233 Add a test for trac #314 (#line pragmas not respected inside nested comments) ab8eb1f Update comments in test tcfail132 50e4512 Add test ds060 for trac #322 (bogus overlapping patterns warnings) 81ea2c0 Tests for trac #366 (incomplete pattern warnings and GADTs) 5a54c38 Add test mod174 for trac #414 (GHC does not enforce that Main exports main) 543a9a2 Add test mod175 for trac 437 (Recompilation check should include flags) 27d0701 Add test TH_recompile for trac #481 (Recompilation check fails for TH) 62a700a Add test ghci016 for trac #552 (ghci doesn't handle defaults correctly). 10db114 Add test countReaders001 for trac #629 (file locking doesn't count readers) 20c2f57 Add test tcfail168 for trac #719 (error messages are too long sometimes) d64c1b9 Add test getEnvironment01 for trac #781 (check getEnvironment doesn't break) 5a6c7d6 Add test gadt20 for trac #810 (GHC fails to find GADT instances) 9218ce8 Add test tc216 for trac #816 (fundep undecidable-instances typechecking loop) 5835222 Add test ds061 for trac #851 (incomplete pattern warnings wrong with n+k pats) f15029e Partitioned indexed-types tests into fail/compile/run dirs f6d5304 indexed types: multi-module overlap check 6b96aec indexed types: import/export test 513a984 indexed types: GMap tests e5b2dc6 indexed types: small tests covering important cases 9f108a3 Adding a new way for hpc 52478ba removing .tix files before running tests 046e955 Added tests for Data.List.intercalate and split 4c73ba7 Add test for Trac 958 484d9ba Add a simple coverage-condition test acaaff0 Add test for Trac #963 4668e2e Add test for unused imports 8678ac5 Added tests for Data.List.intercalate and split 317a01e Add test for unused imports 2e72569 test rotates larger than the wordsize d40e957 Add tests for Data.List.intercalate (ticket #971) ddc35bc Remove "Arbitrary (Maybe a)" instances to track changes in QuickCheck 31836e4 Add test for trac #953: panic in ghci for lseek ffi import statement 3e9fa92 add tests for heap profiles and hp2ps 335e551 getDirContents001 hp2ps testing fix 0d5427f Add tests for bitshift PrelRules e7d276a Add 64-bit stdout for simplrun007 44266ca Two new typechecker tests that exploit implication constraints 30fc42e Add the Faxen test for completeness of type inference 5f39e7a Accept output 9939d54 New GADT tests, looking at interaction with type classes e9741fd Add two GADT tests for Trac #301, fixed by implication constraints 31fbae7 Tests for Trac #289 6bde396 Add tcfail171 bd72fec Test that deriving Data does not get confused with z-encoding 8083946 Skip out lots of the middle numbers in cg058 as the test was taking too long The test still shows up the problem in hugs. b0bed9f Remove control-Ms 6ab3b9c Tests for implicit parameters, and for a specialisation bug 07d48ce Add test ThreadDelay001: check threadDelay sleeps as long as it is asked to 0c61c45 Add test for typechecking lazy pattern matching 90cb964 Accept output for tc040 bf315aa indexed types: kind sigs can be omitted from ATs a06560a indexed types: adapted two tests to omitted sigs in ATs b838de5 add test for #1013 d998bdd indexed types: type instance indexes my all be type variables f70f942 Check running ghci with -hide-package haskell98 works. Tests trac #1001. 3a87e34 Add bang-pattern test fbdb152 Add test for Trac #1033 bc6baf6 Add kind-error test inspired by a message from David Roundy 5f49ebc Add tc222, tests for Trac 981 8992c43 You can now have an MVar with a polymorphic contents 34de065 Accept output 6cff7bc add support for tests consisting of a C source file 63deda1 add test for the block allocator d723479 testblockalloc: run the threaded way with -I0, so it doesn't try to GC 1bef423 Start ok 'broken' infrastructure 48847d4 Mark TH_recompile as broken c66663d Accept output bd7a025 add 'broken' variant of expect_broken_if_platform 11bc660 arith011 is broken on amd64 Linux; trac #1052 33a34e9 Accept output 3ae9c6b Set MAKEFLAGS= in recursive make call on make fast base0 was failing because of the extra noise make was generating. 35aa771 countReaders001 is broken - trac #629 1db36ed accept output fef7a82 ds060 and ds061 are broken: trac #322, #851 7287ee1 Accept output 8fcc6d6 Accept output; we now get info for both type and constructor 18ed82f ghci016 is broken: trac #552 837aafa tc175 / trac #179 fixed cafa080 Fix braino 49ca979 mod174/mod175 are broken: trac bugs #414 and #437 1a331fb Accept output eda8afd More infrastructure for 'broken' b656db3 prof001 and prof002 are broken (trac #249) 63ca28c read032 is broken: trac #314 c4068e4 simplrun006 is broken: trac #149 70c0f9e Accept output 912694f tc215 is broken: trac #366 d57061e Simple2 randomly passes or fails; mark broken so we know which bug it is 207d82b Mark tests in trac #1054 as broken 77e5883 Add a composes function to the driver 54d7da3 cg057 broken: trac #948. Also fix whitespace. 6480bfb indexed types: adding missing files ebd5a96 GHCi.debugger tests 1a91b0d Some more tests for the ghci.debugger 6d257bb Advances in the test suite 9fd67c2 accept output 4dee8ee Accepted output 00daf77 Test type reconstruction in presence of newtypes 143f7ee Accept output b358d0f More tests for the closure viewer e954c4d Added more tests with newtypes 2cb31a6 Improved a test 2e73efa Accept output f9e52b8 Fix mdo test c834fac Go back to using $(PYTHON) rather than hardcoding python2.5 498ef5f Fix a ghci.debugger test 9ff45cc Update a readme file dcdf594 indexed types: deriving test 74cb60c Remove skip of ffi003 on alpha-dec-osf3 (no reason given) f0a9701 Stop skipping tests that work 4a67f94 fail -> broken 4847d9f indexed type: deriving indexed newtypes b3e2173 fail -> broken cc1f933 fail -> broken 9c0374b whitespace change only 6e093a1 fail -> broken f82c9ea fail -> broken 3b2bb06 Add test for trac #455 0523c04 Fix conc063 0cc4003 Add a test for returning Int64s through the FFI a7d7846 Add test TH_dataD1 for trac #1065 0254359 Add test for trac #1051 92de8d0 Add test for deriving Typeable ab87e6a Add stand-alone deriving test 9774270 Update expected output 7dbce82 Fix sundry test failures (some of Trac #1054) 3ffe92d More test-suite updates dc689cd No pattern matching on GADTs except if type is rigid 1de8a03 Add more GADT tests, this time concerning contexts in data constructors 2861756 Fixed TH problem 08dc2bd Add test for floating strict bindings 90e3aa0 Add a fundep test, due to Yitzchak Gale a81e806 indexed types: extend Deriving to cover standalone derive 8d22bc7 indexed types: fixed expected fails for should_compile abeb3ff indexed types, should_fail: added missing .stderrs and adapted to new error messages 19a40cd add test for #1067 8a74109 ignore_output should be a test option d0d2945 tests for #1047 11b3d0b oops, fix bogosity in "ignore_output should be a test option" e74523b Add GADT terminating-lambda test (due to Jim Apple) 0c1f170 Add another GADT test d814e8f Add a test for associated types and interface files 1abfb88 Test for tabs warning dcdd1eb Add test for Trac #1092 90f39e8 Add a test for trac #1042 df0bd82 Remove unused import f81e055 fixes to the ignore-output patch 9e89402 Accept output a0ae7e2 Remove an obsolete test cae94f2 Add a test case for overloaded strings. 13fb853 Add the overloaded string test case to the list. d70bb6d now that -O implies -fasm, not -fvia-C, we must explicitly test -fvia-C acf62bd Check flags in OPTIONS_GHC pragma only apply to the module they're in dbf3b55 Add a test for trac #1012: Problems with TH and recursive module imports 8859bf9 Add a hugs import bug to the testsuite From http://www.haskell.org/pipermail/hugs-bugs/2007-January/001686.html 72aefc2 add a test for #896 22c7c5f accept output bb6e9cd add test for bug #036 f35369c Add test for infix type constructor bf516c4 Test for debugging code with unlifted values around 29406aa Ignore output when told to in the ghci way 48fc4de Add a test from #418 cd7d465 Accept output be50e83 Don't put double-quotes around the command when passing it to timeout Fixes the testsuite on Cygwin/MSYS using Cygwin Python. I hope it hasn't broken it using the native Python... if it has, we'll need to revisit. I can't see a good reason for the quotes, anyway. 568e6eb Add tests for the Haddock extension 4d12bf8 Option to skip ways when running the testsuite d5c903e Expect tests to fail if we don't have libraries that they use f0022b7 Add test for Trac #1128 42c6a53 Add tests for impredicativity 5611dc5 Accept output b99a822 update way names (fix breakage in previous patch to this file) 1044bd1 add test for bug #1010 8554432 only do win32002 on Windows ec890cb accept output d7515c6 Accept output 7109d1e Update test dynbk001 due to new functionality in :break add 5806d7e Add test for type refinement with :print in GHCi 6c3032f rename GHC_PKG -> LOCAL_GHC_PKG to avoid clash with mk/test.mk d9b9ede make this test slightly more robust (fix occasional failure with threaded2) f076ac8 we should really exit(0) at the end of main() 499f2f2 add Windows output 7f12c18 added new tests to esc 0e224c0 modified all.T dae3248 minor change 0e20989 Add test for Trac #1153 60ce42c Test for Trac #1128 06e782c use HsInt64 instead of int64_t, fixes this test on Windows (and is more correct) 05f4af5 conc058 is not an expected failure any more on Windows 4feb38f make this test deterministic on a multiprocessor 2cec548 temp: omit conc063 on Windows to avoid hanging the build 5552932 Look for .T files in packages too This means we can put package-specific tests in the repository for the package, rather than putting them in the testsuite. There should be a .T file to go with the tests, in the same way as for other tests in the testsuite (but this could be in addition to a standalone test driver that works with Cabal's 'setup test'). fd0f8f8 remove network tests, they're moving to the network package 9570d86 Add a test for :quit and breakpoints in code with exception handlers f06d270 Tests for Trac #1154 bbdacb8 Test for derivign 168c6b2 Add testcase from trac #1171 as cg059 24cb5d2 Windows: the .ps file is .exe.ps b814222 prof001 & prof002 are not broken now cdd2c62 Add tests for -keep-s-file with and without --make One of these fails with 6.6 cd565b2 Add pretty-print test bb14a4e TH_dataD1 is currently broken f0388fa Increase the stack size for conc030 as the profiling way was failing c067f00 drvfail006 and drvfail008 need mtl 44548c3 Make ghcpkg01 not depend on haskell-src 967c3aa Make ghcpkg03 not depend on haskell-src 4d19e3a mod133 needs mtl e5bb47a Make mod144/mod146 work in CLEANUP mode f872dca Decouple mod158 from mod157 so it works in CLEANUP mode 328004a Tweaks 3458292 More tweaks a7cb6a1 Decouple more tests from each other so CLEANUP mode works a7c308e pkg02_b requires network ac87735 reify requires mtl afb0034 Print something to stderr when a timeout happens Also fixes whitespace. 7ace755 tc183 depends on mtl fa9ee21 tcfail126 requires mtl 12c0d7b tree requires mtl 8f14bd6 Posix tests moved to the unix package 25bd5de MERGED: Add req_profiling to the driver 0f8fd3a TH_spliceE5_prof needs profiling bb318da cabal01 is broken on Windows; trac #1196 941da28 cabal02 is broken on Windows; trac #1196 c5d3105 ghci014 needs QuickCheck 75bfde1 newtype, prof001, prof002 require profiling 9e7c014 Don't hide what the Makefile is doing in prog006 f193f3a Test ghci018 for ghci running splices multiple times (trac #1201) d07dcb8 Add a test (TH_reifyDecl2) for trac #1199 889407d add test for #986 d3fb985 on Windows, use the .bat versions of the inplace scripts This will help the Cabal tests to work (although there are still more issues to fix). b28f70b added contract synonym test case 671cdba added contract synonym test case again 4b426f5 Don't hide the Makefile commands The testsuite uses -s to hide them, and this way we can see what's happening when running make by hand. fc19d4a Add a test gadt23 from Christophe Poucet f854a51 Fix gadt23 test f47c4b5 Add a renamer test (nhc98 used to fail it) 3c0fb23 Another renamer test that nhc98 used to fail on 8009462 Add another renamer test nhc98 used to fail eba954f Add test for Trac #1221 4c401cf Test for Trac #1031 9e12031 TH_dataD1/1193 is no longer broken, but is meant to fail d30f343 add test for #1219 afce490 added more examples 377c1bc Use unified, rather than context, diffs 4203535 Add rnfail047, test for trac #924 6d82c8e There is no opt way any more 02a381c Test for RULES type-matching 1b16440 Update test output 98d4156 Make our own pwd, so we don't get confused by paths on cygwin f80fdc5 Time how long is spent on each .T file 9951189 On failure, diff the normalised test outputs b98cbe7 Check stderr output before stdout output 7b5eb2c Accept output 6f76bf1 Add some -v0s to cabal01; cabal still isn't being quiet enough, though 6b25046 Consistent output for tests 1164ff2 Update output with new, friendlier error 8f73500 Update rnfail040 output b8d5496 Remove generated file ffa11a3 tc217/220/223 need mtl a28a4dd IsString and fromString are in Data.String now b689895 Accept test output 737968a ghci015 should ignore output (see comment) 0973c32 MERGE: Another attempt to make mod{144,146,158,160,165} generate consistent output On some platforms $MAKE == "gmake", so the error messages still didn't match. I made it so that these tests now don't fail in make, but the exit code from GHC is emitted to stderr so we can test it. 6ef11e5 Add a test that checks pretty-printed TH output looks right c45c86f Calibrate the testsuite timeout if a value of -1 is given e47895a Check float values are within a small tolerance inside barton-mangler Saves the test from failing due to small FP differences. 24347f3 barton-mangler-bug shouldn't have FP difference problems any more 6d5118e Remove redundant Main.hs (there's a Main.lhs too) 1d8fe7b Avoid FP differences with cholewo-eval c861ac0 Use $(PYTHON) to run calibrate, rather than relying on it finding python itself ca1ec90 Calibrate == calibrate on Windows... f8e0d7d Increase the FP fudge factor (0.000001 -> 0.00001) 6b7c794 More ppr tests The name +_0 is a bit dubious. 18713b3 added TestList TestImport f64ae3a Add tests for OPTIONS pragmas applying to the wrong files 01dc78d Print stdout/stderr when we get a bad result 5d0f864 Give more output while running conc068 9642062 Give an ASCII representation of the PPM output We will need to do some sort of similarity test to cope with FP differences, but this will at least let us see what differences we need to accommodate. 0a56183 Except some output changes ce1b1c0 added a few more examples 5f89711 add one more example 67a1528 break1 and break4 are broken due to trac #1275 a63312d Allow tests to be skipped based on whether or not the compiler has a tag When working on a new foo extension, you can now put your tests in the testsuite, set ProjectTags=-foo in mk/build.mk and skip_unless_tag('foo') in the tests. c597819 Set some esc tests to skip_unless_tag('esc') 7e90d81 conc063 should exit(0) now 0c80923 MERGE: Make conc056 independent of the network package Should make the test more robust, we were seeing failures in the nightly builds. c839fe8 cabal01 needs profiling 4dca714 Close 2 files that we open so we know that the writes have actually happened 3f97578 Generate conc068 input in a more portable manner The earlier method with 'yes .. | head ..' does not work on PPC Mac OS X. 8ec7b43 Use $(PYTHON) rather than assuming python will find it 6f14d73 Differentiate between use of fail and failure of code (i.e., an exception is thrown) 83804a0 Add a test for use of fail for trac #1265 2badfcf Update output 6810dd6 Add test suggested by Doaitse Swierestra acc7c04 Accept output f3ab9c6 Adapt commands to the new ghci debugger command-set 2e38ba0 add dynbrk tests, and a few more breakpoint tests ba424a2 move some dynbrk tests into the scripts/ directory 27abdf4 New test covering bug discovered by Nicolas Frisby in TcUnify.boxySplitTyConApp 60711be this test requires an extra :step now 1629422 add test for a new bug 8704571 add some :show bindings 12d4d65 Accept output 30b86ad Disable the monomorphism restriction warnings in all tests 6f51a11 Added a :break test bd170ed Fix the test I just added 4ab66c8 add another test, and accept some output cb0242d modify test to reproduce a new bug 8419653 add test for a new assertion failure 81fb385 Adapt some breakpoint tests to the new command syntax c24af719 Accept output db59dd6 Add test for records and type families 8b03d8f Add test for Trac #1255 f063311 add correct output now this test is fixed 4cbca0d accept output 84e1d6d add a test to demonstrate a new bug 483ff63 add a :list test 7a68d35 add a history test be97924 update: we give a diagnostic for an incorrect number in :delete now 021fd58 Accept output 2a01943 Remove redundant arch-specific test files 8967183 Use letters to allow output to be matched up with the code more easily e14e1d5 Revert mistaken change to all.T da51986 Add test for Trac #1323 970e190 Test for Trac #1251 16f1681 cg025 requires regex-compat, which is now an extralib 5527af9 Accept output for tcfail005 2edf6ac Don't hardcode the version of base in the tests d22d754 skip cabal02 (cabal-setup isn't in the GHC tree any more) 9aa717e Fix comment a74dff0 regex tests need regex-posix, which is no longer a corelib cd36760 maessen_hashtab needs QuickCheck c213a02 Accept output acd6afc Accept output d8127ca Fix spec001 test e2dd02c Don't dump stderr/stdout before we've split the ghci output Fixes some framework failures. 4772e3d stm is no longer a corelib, so needs to be reqlib'ed now 3f38fee Track ... pretty-printer changes 9b25236 Accept output for tcfail004 1395240 Accept output de73ac3 Partially accept output 168d668 Accept output 67fd784 Add output cdc54cd Accept output 7cb470d Accept output 11c46be Accept output 11ab159 Church2 is broken; trac #1330 49d9704 Accept output (mdofail004) ad63612 Various indexed types tests fail due to trac #1331 77e9b9e tc224 (overloaded strings) is broken; trac #1332 6fdf22c dsrun014 is broken (trac #1257, Bytecode generator can't handle unboxed tuples) fa27030 sed-o in the testsuite driver 7fbad1c Arrow tests are failing core lint; trac #1333 82a9442 Add a test that 'ghc -e "return ()"' returns successfully 30aa5b6 platform-specific output no longer required 52aa5af add basic concurrency/IO test: tests that stdin is non-blocking 3de2c0d add test for #1091 41c51af add test for #1253 d9edc9b add test for #1227 f4211a0 FIX #1159: This test needs to run in a subthread (see comments) 826d6c9 accept output 56eef3f Add test for full laziness f227b8e add test for unicode constructor names in :print cf265a3 add a couple more tests 83d5ba1 Add tests for -fwarn-implicit-prelude (and -fwarn-unused-imports along with it) (trac #1317) ac9c242 Various indexed types tests fail due to trac #1331 15a00f7 Adapt indexed type tests to removal of newtype families 046118a add test for #1277 ed94ae7 -findexed-types -> -ftype-families fd86b09 accept output and add a few more tests b83eab4 add missing source files for tests 83c62cb add missing source file 3e047a4 move break1 to scripts/break012 50efef9 move the break* tests into scripts/, and update as necessary 7206a1b add another exception test 7773a6b add missing files 4a58d1e make this test work a bit more reliably df91a0f move STM-specific tests to the stm package 5543d42 move dynbk tests into scripts/ and update them f77cad7 Accept output (source spans) c5cbc37 bio001 needs profiling fd5fb58 Accept output (src span) 75f99c4 arith011 is no longer broken on x86-64 Linux 0a66f56 add a test for printing unboxed fields 3e3e73c Accept output (... doesn't replace a constructor any more) 1c2bf47 Accept output (source spans) a4aa236 ignore the .ghci file if present in the ghci debugger tests 77641d8 Accept output 51bd410 remove unreg "way"; unreg is now all-or-nothing 9295387 Accept output (source spans) c61f1ba par001 requires the parallel library c67607f Accept output (missing-main error has changed) 36538da Accept output (missing-main error has changed) ed3903d Use -v0 when doing test rnfail043 This avoids version numbers of packages being in the output. 670b355 Use -v0 in TH tests to avoid package versions getting into stderr 1d996c7 1332 is now fixed, so tc224 is passing again 2d9f752 Accept output (missing-main error changed) c25034e Update (incorrect) test output with '....'s 6d428c5 Add parser/should_run f83f022 #1318: pre-emptively add test for Haskell98 treatment of operator "-" 295263e add negative-prim-literal tests the first for behavior common between their new and old parsings (passes both), the second to test the new behavior (fails before, passes after) 55052a8 Test for Trac #1382 da8079a Test for Trac #1396 315f76c Add comments about runCmd 12df776 Add test for #1385 564f22d arith008 fails for some more ways now that the NCG is used by default 1eae04d accept output e689740 more expected failures for arith012 7bd1230 fix this test 2a79846 Split newtype deriving test from other deriving tests de7503c expect more failures for ffi009 on x86 35e4e17 fix this test f9b1f95 add more profiling ways, to test different kinds of heap profile c08032e add extra_ways, for adding running a test in more ways d4afe40 test various kinds of heap profile 1756749 Test 11 double arguments instead of 6 (see #1424) 5923798 add 32-bit output for num012 1dc091e move par tests to the parallel package da4ed8a accept output 0ae8665 Accept output for TH_exn2 6fb64c1 Accept output reorderings in ghci debugger tests 0eae27e ghci debugger output reordering 72eeb32 Accept prog003 output Also added some extra prints to make it clearer what's happening c9e0e60 tcfail177 is expected to fail; trac #1176 5a6f839 We expect getC to be broken: trac #1430 179a39c rnfail028 is currently broken; trac #1384 46e4d8d tcfail046,tcfail169,tcfail118 are broken; trac #1432 fc03534 Update ghci debugger output order 4283c7d Two tests for newtypes & :print added 2adb5a0 Output reordering in debugger tests 65c6c99 Test for Trac #1430 9d67a2d no .bat scripts any more 0832eef Remove tcfail105.stderr; tcfail105 is now an expected pass! a2ec087 tcrun032 was using an un-documented (and now not implemented) feature of 'deriving' 88fa1f9 Update expected output (mostly concerning deriving) a49696a Test for Trac #1386 35e4e16 Fix flaggery ab009a9 Test for Trac #1402 8278008 Mark ghci debugger tests broken ea4e0bf getC now works (trac 1430 is fixed) 3c5d589 Accept output (read008) edf235a Accept output (tcfail145) fa52a8c Allow the "< /dev/null" when running tests to be disabled The user001 test in the unix package can fail when stdin comes from a file. ed0cfb8 Add a test for trac #1287: SPECIALIZE causes panic f625711 Add a test (tc229) for trac #1406 333f2a9 make this test a bit more robust (hopefully) aa0e74e Type families: add test case for deriving of assoc data families e0eaa7f Types families: test that the right coercion names go into ifaces 89f0cdd Add test for Trac #1445 7190004 Type families: tests for overlap check of type families 9ae96c0 Type families: test for tau typeness of rhs of type instances 0349d0b Type families: tests excluding type families in left hand sides 4afef64 Type families: test type family with higher kinded parameters 34366e9 Type families: more overlap checks c357d33 Add test for Trac #1465 a4c0b2d Update output 5f8147a accept output 3665022 accept output b1defde don't reset MAKEFLAGS in recursive make in 'make fast' It breaks some tests on Windows, because the stage=2 setting is lost in the recursive call. I don't understand why these variables are passed in MAKEFLAGS on Windows (cygwin) but not on Unix, something to do with environment variables presumably. cb8ee07 Test for Trac #1456 a22d846 add test for #1131 1706e77 gadt23: $MAKE needs --no-print-directory a1128bf accept output 0213c87 fix testblockalloc for THREADS=2 018d089 Add test for Trac #1494 e7aedd5 ffi-deriv1 is broken(736) 8aeb1c9 tcfail140 is expect_broken(451) 477fba6 Added tests for Cmm and CPS (they are currently skipped) Also the test driver doesn't understand 'cmm' files so something will have to be written before these tests can even run. ce9b634 tcfail093 should succeed 776e62b drv015 should fial e5b60c9 Use subprocess.call rather than os.spawnv in the testsuite driver os.spawnv is broken on non-cygwin Windows (looks like it goes via a shell). 287691a tc232 requires mtl 30376b8 tcfail093 now succeeds, so has no stderr 8adac5d Add a test for -fdisambiguate-record-fields (trac #1401) 1a1798c make prof001 and prof002 into compile_and_run tests, to test #1472 0dc8518 add the profiling ways to config.other_ways 4b87abf clean up the extra_ways machinery fda4526 add prof_hb way a3600a3 Fall back to os.spawnv is we don't have the subprocess module 254f218 Fix calibrate python script for non-UNIX machines 6242ced Add tests for magic hashes (trac #1297) a1f14d6 Tests for EmptyDataDecls extension 0686017 Tests for KindSignatures ff65996 Add tests for -XMultiParamTypeClasses 2cd7f40 Add tests for -XParallelListComp 9d8cfd8 Tests for -XGeneralizedNewtypeDeriving 87f765b Add tests for -XRecursiveDo 29ebce2 Tests for -XFunctionalDependencies 4d49c9f Accept output (following error message changes) 828901d reqlib now uses subprocess (when it's available) Fixes a problem where /dev/null doesn't exist on mingw. a4af485 readwrite002 is expect_broken_if_platform(1198,'i386-unknown-mingw32') 8b4da92 Add tests for -XPolymorphicComponents 7ce92ca Accept output (more flag name changes) 4e9a98b Fix this test to work with shells that don't have {..} globbing e.g. the /bin/sh on my Ubuntu 7.04 system 82331d6 add test for #1505 35c5ea6 Add a test for -XPartiallyAppliedClosedTypeSynonyms 024d7a3 Tweak tcfail098; we aren't interested in the undecidability error ef9332f Remove tcfail111; duplicate of tcfail098 5cfe193 Follow error message changes 32cd47e concio001: account for constant overhead of threadDelay on MacOS - See also #1523 d9f824e ffi012: stdcall doesn't work on MacOS #1524 e4da239 Unfail some :print tests 3215786 Accept output 3ca28ff concio001: give the process a tiny little bit more time in the Makefile - Although the test passed when run by itself, it did sometimes fail with validate as the timing just didn't work out on a loaded machine. 72b2e35 remove an obsolete test 412e49a break014: accept output and unfail 6c69c6b dynbrk005: update with expected output 902c6b3 Add a test for bug 1533 (currently broken) e0ef74c Accept output 2aa5a5b Skip break017 if fast (bit of a hack; just to make the validate script work) c914229 Bump the delay for concio from 0.45 to 1s It wasn't long enough on thorkil's Mac. Should really do something based on the calibration value or something, I guess. b8e449a Skip the concio tests when fast, as we don't really want to hang around for 2s ed0a84e Update drvfail008 output (flag name change) adcee39 Adding compile_and_run_with_prefix and multimod_compile_and_run_with_prefix as test-fns. 5ca9e65 Skip the GHCi debugger tests when unregisterised (trac #1545) 9c80aed maessen_hashtab is broken (trac #1546) ac121a7 Fix the haddock tests when going via C We need to have a header which claims the foreign imports we do are for entities that actually exist. Otherwise the C compiler complains. c631662 Add a test for trac #1322 (ghc --make recompiles hs-boot files unnecessarily) d1ffdb8 Really remove an obsolete test (print015) 5882c76 Make a non-profiling version of test cabal01 6a28cc1 Share the pwd program between tests 957f390 Fix cabal01 to work on Windows 32b0f9d Tell the testsuite what exeext is dfd54ce Add a test for copyFile 83d34b4 skip read023 (see #1215 and comment in all.T) c49f83a The galois_raytrace test requires the parsec package 8f2f4e8 Add test for Trac #1564 cf1ab09 Update expected output 404e5aa Update (previously buggy) output f0d1027 Add test for record wildcards b56798c Testsuite driver doc updates e448217 Add "composes" to the driver docs 62d7929 Define and use rawSystem in the testsuite driver and the driver tests spawnlp doesn't exist in Windows, so this avoids using it. 83616fb cabal01: we need --with-ld=$(LD) for Windows e3931f3 Docs have moved to the wiki 7f4585e Add exit_code_if_platform functions to the testlib 3bc60be Add tests for catching exceptions on Windows caff4e5 Follow flag changes 6562dc3 Use -XGADTs rather than -X=GADTs 08079dc Test for Trac #1581 127d06b Test for Trac #1037 f6daa8a Trac #736 is fixed 6420763 FIX ghci019 4e4d35b Tests for indexed type synonyms f656d8a Another indexed type families test 29c623e Test Trac #1606 f029d2d Accept changes (mostly paren removal) d0f9766 Update standalone deriving test, and add a failure test 20536c4 Update the bytestring tests for the bytestring package d00ef04 Follow the base split 0a19231 Document and fix expected failure code for derefnull and divbyzero 80a2586 Another indexed types testcase 9abbf47 Added a new :print test 660e7b0 Aad test break020 for :stepover 38d17ef Accept output due to changes in :history c8c702e Synonym family problem with higher-kinded families 8f242dd Types families: Refl suceeds without tyfam patch 5831465 Two more indexed types tests cac4ba7 Add a test ghci020 for trac #1587 4d00739 Add a test ghci021 for trac #1565 bdff7d3 Type families: "Kind" is now working c18d36f Another type families test d10e59b Type families: Infix works now f464a83 Type families: adapt to improved error messages 6f82033 Another type families/gadt test 92bc422 A couple more GADT/type families tests a65df58 Stop the timeout calibration ever returning 0 bfaba00 getDirContents001 needs -fno-gen-manifest dd22532 Windows-specific output no longer required a39ea8d count a syntax error in a .T file as a framework failure 57cbb7b fix syntax errors 7cd3811 add test for part of #1372 562d2bb Fix the expected output for derefnull and divbyzero on Windows e0f0e41 Update tests now that #1384 is fixed #1384 = Exporting a module that isn't imported doesn't fail cabc575 Update array test output Unfortunately safeIndex is too polymorphic to be able to show the index or the bounds when we have a bad index. 4195c04 conc057 needs the parallel library 078afe1 conc068 needs parallel 568a7a6 dynamic002 needs -package packedstring now aab48bd tcrun021 needs -package containers ac43e33 Revert a hack now that the buildds will make a gcc-lib directory on Windows 0462e1e Changes necessary for type family patch - Mostly changed error messages - 'while' needs another type annotation due to changed rules as to what annotations are required for GADTs. 55abde4 TypeFamilies: check arity of type instances d258ca3 cc013 works now 29beb7a add test for #1593 8b313b0 Aad test break020 for :stepover 2f25c64 Accept output 41ec0c1 Added tests for :steplocal and :stepmodule b2936b9 fix this test on Windows 6607849 Remove an old readme-like file 81a1590 adjust some tests 134d80e Accept slightly different output in some breakXYZ tests 0d3f02d Add a test for #1375 (ByteString?s ?lines? eats empty lines) 1e8d4f8 Adapting some breakXYZ tests to sorted output a050a0f Add two new tests for the debuggger involving .boot modules aaa3578 Marked as expected failures for now 4a5d485 Add a new RTTI test 9614fee TypeFamilies: test for decidable tyfam instances fd9e77c TypeFamilies: accept some slightly improved error messages d2ffc49 skip readwrite002 on Windows, it now hangs following fix to inputReady.c 8137819 add test for out-of-memory c84c795 Fix outofmem on MacOS 186a2ab TypeFamilies: Numerals test 1c2badd Tom Schrijvers' type family tests fdbf503 Add a failing type families test f89d2ba Failing type families/GADT test 0d16bd1 Test for type families related panic 4bd84f7 add 64-bit output 700a20d don't try to run hp2ps if the program failed with exit(>127) 40e5bab add test for #1648 a0ecdca arrowcase1 is now fixed By: Mon Sep 3 07:10:44 PDT 2007 Ross Paterson * FIX for #1080 4d6db40 equality constraint encoding of functional dependency where the FD's LHS is empty: 77310ab add missing file a65554d Add a test num014 for #1658: CSE [of Doubles] changes semantics cd63e58 equational class context expect_fail is now normal because of bug fix 509d49b recursive equational class context e0a2fc2 tests for type family completion algorithm and higher order types 4936baa Add dummy stderr file for panic test e09d888 Another failing type families test 04154b6 Yet another failing type families test 73678c7 And another failing type families test b0568a3 A further failing type families test 4335297 Track changes in deriving 7120aa2 Adapt test to new restrictions on type families f02843f make config.top an absolute path c6abb42 omit tcrun022(ghci), since it relies on optimisation 88d8f95 conc057 and conc068 have moved to the parallel package 696a7d2 Test now works cf9420c this test works now 2a010c6 add test for qualified name printing b707da5 test for bug #1465 (12 files, phew) 37c5525 accept output 079efcc TypeFamilies: GADT8 is fixed 2dddfbb Set os.environ['TERM'] = 'vt100' before running tests Readline sometimes spews out ANSI escapes for some values of TERM, which result in test failures. afbb581 Fixup bytestring tests to work with current QuickCheck and bytestring Sadly requires that the internal Fusion module be exported from the bytestring package which is bad because that's not supposed to be part of the public api as we're just about to replace all the fusion internals. f8faca5 Accept some output d188ac3 break020 and break021 underline things in the wrong place; trac #1669 19d86cb this test should unregister the test packages afterward (fixes driver063) df991a2 TypeFamilies: fixed Simple14 and added Simple15 f09a855 Simple9 is fixed 4a4fad3 Accept improved error messages for some tcfail tests eebaab5 Two more failing type families tests b39011e Yet another failing type families test 4f73eb8 And another failing tyfam test 4942391 accept output 2bf3853 Only run the tests from libraries that we have built Fixes failures when you have unbuilt libraries in your validate tree. 2419689 #1669, these tests work now 2c37458 TypeFamilies: change of error messages due to changed traversal order - Just the usual indeterminism in HM. The messages are neither better nor worse. d47e0ec add test for #1677 406f2f2 Added tests break024 and break025 for -fbreak-on-error and -fbreak-on-exception a4673c3 Simplified break025 to better illustrate the problem, and marked it as failing under ticket #1681 cbc623a Accept output 644bbab Accept output for break024 b525f51 TypeFamilies: added test exercising skolemOccurs 40abe56 Avoid Dyn exceptions in break024 c5da124 comments e598cb5 a test to show that multiple calls correctly share a return address to see the optimization at work, compile cps027.cmm with -fconvert-to-zipper-and-back -frun-cps 82edc42 Test case for #1689 (openTempFile naming) ceb239c in test case for #1689, close files, just in case 224fbf6 GHCi debugger: add a test exercising -fprint-evld-with-show b4ed822 Accept output due to :print not using Show instances anymore 04bf640 Add failing TypeFamilies test c368d68 i386/Linux output 02f657a remove ordering dependency for ffi018 a91c1b1 remove read001 -fglasgow-extss, it messed up THREADS=N and -fglasgow-exts is deprecated anyway 69d9ed0 remove ordering dependency f7434a7 Allow files-to-cleanup to be attached to a test using extra_clean(files) This is better than a top-level clean() when using threads a0f3347 remove ordering dependencies (see bug #158) be1c1d8 remove one more ordering dependency 08d7e92 eliminate ordering constraints 4b7981e Test display of types in GHCi 64b0862 Test nested forall types (thanks to Claus) 84faed9 InstEqContext2 fails now - This test fails with the overhauled rewrite rules. This is (judging from -ddump-tc-trace) not because the new rules implementation goes wrong, but because the old implementation left out some improvement and hence passed this test by accident. 7997293 Changed error message f6202dd TypeFamilies: fixed Simple12 deea7da Different output expected for this test on x86_64-unknown-openbsd 1803c98 some expected outputs on openbsd 5004052 Yet another failing TypeFamilies test 3dd6650 TyepFamilies: should_compile/Simple16 (#1713) a120c43 Typechecker: tc237 (#1688) 14ed376 Enhance tc236 slightly 4b9f108 Rename flag 15a1db3 Add test for exponential behaviour of type synonyms 4a20379 Add comment 4657d09 Tests for Trac #1627 and #1718 05a57ac Failing tyfam test 1cf5645 Various testsuite helper functions like expect_broken_if_compiler_ge 86ffb85 Fix ffi018(ghci) when running from a different directory to the test 91accb6 tc236 fails for 6.8 d09b9d3 Add a test for changes to C files causing relinking 5bbe00b expect success for arith008(profasm) on x86 605e6d0 FIX #1254: avoid calling truncate when the result does not fit in the target type c70161b GMapAssoc, GMapTop: expect failures on the 6.8 branch 79a391f GADT3: expect success for profc/profasm on the 6.8 branch 275efd6 Simple12: expect failure on the 6.8 branch 5be5ab9 ind2: expect fail for profc/profasm on the 6.8 branch 2e96684 Add a test (pragma001) for #1736 a4d9e1d expect failure when using the NCG on x86 due to floating point differences a353e48 add test for #1734 a7cc3da fix framework failures 65cc94c add expect_fail_ways_if_compiler_lt() somehow I forgot to add this yesterday, I'm mystified about where it went.. a6dd57f getTestDir() is slightly better than in_testdir('') 07c3828 GADT3: expect failure on the HEAD too (and add a ticket) 059b7e1 Pass -ignore-dot-ghci to GHCi fd00a21 driver027/driver028 need to use -fvia-C to expose a bug in -stubdir ef5fd52 updates to hReady001 (see comments in all.T) 16ef48a TypeFamilies: test boxy splitters d80e23f Test for Trac #1746 1b7f854 TypeFamilies: should_compile/Simple19 (from #1729) 569de64 TypeFamilies: should_compile/Simple20 2dc254e TypeFamilies: should_compile/GADT3 fixed 0860284 test case for #1743 201a4d1 I committed simpl019 too early; it's expected broken until I commit the patch 5d41441 add tests for #1748 ef9048d break026 now works (#1743) 5857808 break025 now works (also, the test itself was broken) 6129c42 Add test for Trac #1678, and update output for TH_exn2 7c94185 Test for Trac #1759 c629131 simpl019 now passes 280ed38 Update output a9f6957 Test for Trac #1680 3c2302a ccfail002: line number in error message changed bafd0e2 Test case for #1537 c3ec0a3 Clean bug 1465 better 5fb860d TypeFamilies: should_compile/Simple20 fixed ef3ccc5 Changes to the testsuite for the new renamer The rationale for these new behaviors is as follows: fd7d8cd Update output 54f5a94 Update output from constraint simplifier 1a411cb Add exotic functional-dependency test b93c120 TypeFamilies: should_compile/Simple22 * Demonstrates a bug in TcUnify.tcSubFun found by Andrew Appleyard c47aa37 TypeFamilies: exercise deferring on tyvars in TcUnify.subFunTys c8ddf27 tcfail175: error message changed * The error message has become less informative, but I don't see how to avoid this easily. * The error message is now also different to that of 6.8. I am not sure how to handle this case. Can we have different stderr files for different compiler versions? Or shall we simply merge the corresponding changes into 6.8? 6b83caf skip the non-threaded ways for conc023 on Windows, see #1197 53ebe72 the GHCi debugger now works with an unregisterised GHCi dd20805 these tests moved to the directory package 193348e Update output for TH_exn1 927fe3b add test for #1468 e1674ac TypeFamilies: should_compile/Simple21 * Code of #1776 from aslatter at gmail.com b1b9bce TypeFamilies: for additional tests fixed by properly zonking EqInsts aee6f58 tcfail174: minor improvement of error message de51abf tcfail175: improved error message slightly 39c6c73 Add namebase_if_compiler_lt to the testsuite driver Allows us to use a different name base for foo.stderr for old compilers, e.g. test('tc141', namebase_if_compiler_lt('ghc', '6.9', 'tc141-6.8'), compile_fail, ['']) 5951c53 Fix various tests for the 6.8 branch 5ba7aba Add space after -ignore-dot-ghci pointed out by Claus Reinke aaab2ac use -ignore-dot-ghci Suggested by Claus Reinke 5521d34 add test for #1791 f121012 this test works now, apparently a59f5db GMapAssoc, GMapTop now apparently work on the 6.8 branch 03f88cd ind2 apparently works on the 6.8 branch 813a2b9 arrowrun004 is now apparently passing on both 6.8 and 6.9 4cfe25d update expected failures for the 6.8 branch a0b41e7 add 6.8 output eee8899 Update test results in the 6.8 branch bf9817e outofmem2 doesn't pass in the 6.8 branch bdc2e98 Tests for functional dependencies and loops in TcSimplify fcdadfa Update tc141 expected output 1d2b2b8 correct code for typecheck/should_compile/tc192.hs c86f038 Update output (comments added to source file) 3424aa4 add output for the 6.8 branch 7d0200a fix this test on the 6.8 branch 8246d4a Add test for GADTs and scoped type variables 4d238db Update type checker errors b91c2ce Test for #1662 bd0625f Fix test outofmem for powerpc_apple_darwin 5acd938 Add test for Trac #1072 8f5834c adapt tests to new Category superclass of Arrow d809081 add extra_hc_opts for ghci_script 130883c Test for Trac #1814 6a34410 Test for Trac #1814 f983a21 Test for Trac #1608 efb6ce6 tests for :browse!, :{:}, :set, :show languages/packages 07f2742 update test for #1765, #1766 9c5c45d update test output c4113b3 accept output following #1561 b9252d4 add test for #1561 df1993d test for #1617 bc9c8b4 skip arrow for ghc < 6.9 (Control.Category doesn't exist) 185965f Skip arrowrun003 for ghc < 6.9 (Control.Category doesn't exist) d2c7633 Add a test for trac #1588: unrequested generalized newtype deriving? Test is drvfail013 36fbd8e Update output 15297b5 add test for #1852 7018f10 add test for #1603 cfedbe4 FIX ghci024 for unregisterised, powerpc_apple_darwin, and ghc-6.8 97cfaff Accept output d80afd9 Remove some tabs in break020.hs 4e568f8 Add a test for #1827 (:print panicswith overloaded values)) 70f39d1 Test for Trac #1888 1d01ed5 Test for Trac #1662 0432847 Add test for #782 69aad50 simplify ghci024.py, fix -fprint-bind-result, -fno-ignore-breakpoints, -fprint-bind-contents d09518c Adapt output to improvements in the TTerm pretty printer a1d4514 Add test for #1892 - :info of a bkpt binding panics 40ac852 Accept output a159d2d FIX #1840: outofmem and outofmem2 need ulimit settings to avoid filling up swap 6d6e848 add test for #1679 fb16aaf outofmem2 passes on the stable branch b996c45 1603 depends on the gcc version, which we can't easily account for, so skip 8750fd9 fix this test for case sensitive filenames 5a3ba0c small tidyups to thie Makefile b599808 Add -XExistentialQuantification flag (should have been there all along) 06d253c update to test #1873, #1360 2cb2c7b Test for Trac #1806 86e50eb Test for Trac #959 f9b1bfe augment ghci025 to cover #1847 827f8ce Tests for Trac #1825 61c1f54 test repeated open/close of 1000 files d6030d4 countReaders001 now passes a718f4a Test for Trac #1913 3658339 Update for rebindable changes (Trac #1537) 7aa2a86 Update test output d00b006 Update output 5a361f1 Update output (slight improvements on the whole) d1270a0 add test for #1753 d9c8221 remove the _with_prefix forms of compile_and_run, add cmd_prefix() config instead 26aae27 openFile008: do "ulimit -n 1024" first Hopefully fixes this on MacOS where the limit is 256 by default 58085a0 Simple{20,22,23} now pass in the 6.8 branch 4084c62 Make Church2 fail as it (currently) should 80c1930 Be more consistent in printing about framework failures 4679353 fix this test when CLEANUP is not done cab326a add test for #1916 b7d8057 Test for Trac #1935 f88463d Update output for change to deriving (Trac #1935) 742044e add test for #1744 db260a4 add test for #1914 6afeed0 Add expected output for 1744 de6e63d fromdos test FD1 073df30 FD1 now behaves the same in 6.8 and HEAD ec21a85 rebindable8 is still broken in GHC 6.8 f58ee9c Add 6.8-branch output for rw edd5267 Give GHC 6.8 output for tcfail168 217f695 tcfail175 output is now the same in 6.8 and HEAD 69d56c2 Add 6.8-branch output for tcfail178 788d940 Add tcfail187 output for the 6.8 branch a081045 Update ghci024 output for the 6.8 branch ecc7374 6.8 branch no longer needs special output for ghci026 e8bf33e Add 6.8 branch output for break003 f38572d Add 6.8 branch output for break021 85637e3 countReaders001 now passes in the 6.8 branch 4d18140 Skip arrowrun002 for the 6.8 branch 45d3e87 Skip arrowrun004 in the 6.8 branch 5280b38 GADT9 passes now that we have fixed #1919 20948b3 Added test for :print of a reference c5cbe3f add test for #1048 4d11ac3 add test for #1959 31a49e1 test now passes 113a88c Test for Trac #1370 4da65e7 Fixed by correcting normalisation of dicts 84c8d1d Fixed by removing GADT refinements in favour of equalities 6c94991 type families: Temporary fail - GADT3 fails with equalities instead of GADT refinement due to a known bug 5e5ed24 gadt: slighly changed error msg with equalities 8245208 Remaining regression of change from GADT refinement to equalities * gadt/lazypatok fails * tcfail167's error message gets worse; ie, no more "Inaccessible case alternative: Can't match types `Char' and `Float'" 6b373c5 Adapt to changes in :print (contents of references) 6a5f304 fix this test on windows (avoid non-portable use of :!) c1ccd0b countReaders001 doesn't work on Windows c0dc495 add 6.8 output 4e0d8dc accept output 3fb5d60 Test from #1815 4945a1a Test for #1722 fec5162 Test for #1723 a82c997 Make GADT tests work with 6.8 again 9254d56 More 6.8 fixes e0e5690 Update tests for Trac #1972 8eeb9b4 add 6.8 output 33d63cc Simplify the testsuite driver Now instead of saying, e.g. namebase_if_compiler_lt('ghc','6.9', 'foo-6.8') you say if_compiler_lt('ghc','6.9', namebase('foo-6.8')) 805d6a4 6.8 updates aa2c520 Fix outofmem for other 32-bit Linux platforms 9b4ee31 add test for #1980 4e21a08 Unsoundness in the RTTI scheme acd4730 Give a ticket # to expect_broken 33b21f5 Tests for generalised list comprehensions f0cd5ac Replace mentions of way 'opt' by the new 'optc' (often adding optasm too) 82711cb Add test for Trac 1981 2d27d0f Test for Trac 1495 adabec5 Test for Trac 1988 6fa9ed6 Enable an old test for Trac 323 2497337 Accept output for gadt13, gadt7 d35d2a4 Accept output for tcfail172, too 06ef755 add test for prefix unboxed tuples 4a9f71e add test for curried unboxed-tuple constructors 0ba992f ghci can't run unboxed tuples currently 052aa3d Skip TransformListComp tests for GHC < 6.9 f101413 Skip more tests if using GHC < 6.9 b3f489f Remove bogus constructor from test cf86eba Add tests for type signature validity (cf Trac 2019) 0fbdefa Test for Trac #2017 d499864 Update output for new -XImpredicativeTypes flag c82ee5a Tests for Trac 2030 ac6a6e7 Test for Trac 2018 7be427b Mark some bugs as broken in the HEAD due to FilePath bug #2034 9b76013 bug1677 is also broken by #2034 (FilePath bug) 9228ed4 Add a test for trac #2033: view pattern where expression expected 00ecd81 Testsuite fixes for GHC 6.8 cd3b57c Update output 3ef22a2 Test for duplicate decls 090fb7b Add test for Trac #2024 9764c72 Tests for quasi-quotation 1351580 Add a test for trac #1821 897c7a6 Add a test for :main and :run 2289264 Add a test that we get an error if conflicting mode flags are given e5c24de Test for ghc -e ":main" 4ae9de8 Add a test for multiple -e flags 51e76b4 Fix #1599: Improve timeout on Windows We now run programs in a Job, which means that we can kill a process and all of its children when a timeout happens. 932a608 Add WinCBindings.hsc, not WinCBindings.hs! a3440b7 Add a test for exitWith and ghc -e 9a332e3 Add another ghc -e / runghc test 79ae17f Mark some bugs as broken in the HEAD due to FilePath bug #2034 a21f10f bug1677 is also broken by #2034 (FilePath bug) 794320b Test for Trac 2055 630fabf fix intermittent failure with ghci025 0e746bc allow extra normalisation to be applied to the output on a per-test basis 758f77d normalise '\' to '/' in the output, to fix Windows failures 11cce0f remove now-unnecessary #1545 skips 7b38abe update to test for #2049 eafa561 Don't hide output 9a517c5 Avoid some escaping in a commandline 687a3f6 Normalise some slashes 94aed1f add test for #1750 89d1867 accept output (change to default exception handler in Control.Exeption) 1f5ad28 accept output. The column number is different, and still wrong. cc1a561 accept output. The order of compilation has changed, for some reason. 34b9c75 Add a new test for #1537 946ab64 accept output (no newline after uncaught exception) 3b7c09f accept output (no newline after uncaught exception) e812749 add test for #2047 4591261 If the "setup" argument to test is a list, treat it as a list of functions Avoids the need to write composes() 8b03f03 skip if GHC < 6.9 d4da119 6.8-specific output. The remaining validation test failures on the stable branch will be fixed by pending merged. 3bc99c3 Find compiler version-specific output files automatically Also, clean up the way we find the output file. From the comment: 5f13d9d Add tests for parameterised monads from Oleg 4851699 rebindable5,6 are expected failures (see Trac #1537) 9fc058b Add a new category of "eyeball" tests 075e90e Add another eyeball test a0c768b add test for #2080 6170ff6 DoParamM depends on mtl 4c09546 Follow change in error message wording 978e4ad Cache the results of looking to see if we have a library or not When handling a test says reqlib('mtl') we cache the result, so we only need to run ghc-pkg once no matter how many tests say it. This makes quite a difference, especially on Windows. dbbbd70 Apply cmd_prefix also to the ghci way 2f6dbb3 remove now-superfluous 6.8 output 65a0fb1 fix #1750 in the stable branch 7db13e4 Give 6.8-branch output for TH_fail 4c6c47d Add a slightly more robust concurrent I/O test also disable concio001, which is too unreliable 8b8a0d2 Add 'dyn' as WAY (different from 'normal' only by -dynamic) dc016c3 Add a test for #2082 02f9516 Actually run test ghci030 314838f ghci030 is currently broken: trac #2082 6b88596 Track error message changes eadd1be Add fundep to rebindable5, which makes it work again 5c006ef Tests for Trac #2114 18c8543 Test Trac 2126 b42446d Type families: tests for SkolemOccurs loop - Two tricky tests by Tom Schrijvers and Martin Sulzmann a8ccf50 Test for Trac #1899 7c837ea Test for Trac #2111 a024cd9 Track error message changes 03cb3d7 Track changes in error messages 561d44c add test for #2122 8a0a865 add "profthreaded" as a run way d844cf0 Update 6.8-specific output 42f8287 enable profthreaded only for GHC 6.9+ 90cfe11 expect failure for profthreaded (NCG floating pt differences) 30c8fb4 Add some tests ea100f5 Add a SpecConstr test 01bce2a Fix expected output d8ba966 rename ccall to ffi dfbba23 run ffi009(ghci) b446101 skip ffi012 unless running on Windows 9762129 add i386/Linux output This might as well be the default output, so we at least have a chance of this test working on other platforms. e8d8c2e Type families: Roman's test for normalisation of reduced dicts 1e4335a typecheck/FD3: revert to error msg of previous version ofthe compiler 1df9779 add test for unsafePerformIO/stack overflow 753c883 Add 6.8 output for FD3 a453821 Add a test rn065 for trac #1578 70ef4d8 Update output for bug1465 92bca1a Ooops, rn065 is for #1491, not #1578 1f9e374 Update output e3832db Add a new test for :list 9dac95e Update ghci025 output be5ac1e Update output for ghci024 231bd36 Update base01 172b7fe Update tc231 output b4e7f25 Update output for tc168 ef96789 Make stableptr003 give more useful output 1ea8c07 print002 is broken (trac #2174) aad83cd stableptr003 is broken; trac #2175 abb9e34 Tweak #2174, which we now expect to pass again 27e2c4b Add a test for trac #2158 33c70ee Add a test TH_scope for trac#2188 4cc9b39 Add a test simplrun010 for trac #1947 556eb0c Another eyeball test for the inliner f1fd6aa rn063 and rn064 are expected passes now, bugs fixed f7beb4f Test path virtualization in GHCi 9ed556b Test 'list002' should be passing now 99e0697 Re-jig test for Trac 2188 c257c08 Accept output for read029 4245e08 Accept output for bug1677, mod178 28fcbe4 update output 24c800c add -v0 to Over, we don't care in which order the modules are loaded 8aee8b4 Test for Trac 2205 f038d22 Follow minor spacing change in typechecker output a2ce260 Test for GADT escape (I forget which Trac bug this is for, if any) bbb8c9b Slightly less nice output, but the previous version was largely accidental e322b29 Track error message changes b4f2750 Add test for Note [transferPolyIdInfo] in Id.lhs 39076a2 Track the addition of the Static Arg Transformation ac0e764 Add a missing file for test print029 fce1e8c Add a test for #2044 (:printing impredicatively typed values) e5d157f Update output for arith011 on 32bit machines 8f4ee52 Add if_platform and remove *_if_platform This removes some duplication from the testsuite driver db49cc0 Add if_os, and change derefnull/divbyzero to use it I think different Linux setups generate different output for these tests, so we just ignore the output on Linux now. 1278374 Test print033 passes now dddac3e Skip test base01 if GHC < 6.9 as it now assumes the ghc-prim package exists cc1d61b Add GHC 6.8 output for print002 14c2d4c Add a test rnfail054 for trac #2141 0e1b201 Add a test tcfail199 for trac #2179 a0c0c8d Add Word# literals to some tests cd9221a Add a bits test for Integer c31ae89 Add a test for Integer conversions 1b651a8 Comment out some unused code in test 2122 This was causing the test to fail on Windows, as the unused code used System.Posix.IO. 88b5819 Remove derefnull.stderr We ignore it on Linux, and it's wrong for Windows (which caused the test to fail). a8eb6fa Remove divbyzero.stderr We ignore it on Linux, and it's wrong for Windows (which caused the test to fail). 8632e56 Add a test for showing Doubles In particular, show (Just (-0/1)) should put parens around the -0.0 in Just (-0.0); trac #2036. d2ece6b Add a test for spaces in SCCs (trac #2036) 5c485c5 Skip TH_repPrim and TH_repPrimOutput for GHC 6.8 They now use Word literals, which 6.8 doesn't support. 0d46e31 Add output for break019 and GHC 6.8 1d13114 Skip print022 with GHC 6.8 (it uses Word literals) 304b058 Test for Trac #2238 cf0e2b7 move these tests to the process package da3f49f We expect T2238 to fail with GHC 6.8 fab86ad accept output after changes to overloaded literal desugaring 94d386b skip ffi004, which calls a varargs function via the FFI db8863c add test for #1861 7b00496 added a test for eliminating dead assignment i++ in loop 09cff8f Don't bother testing ghostscript if we have no profiling libraries acdb4e6 make this .T file more multi-thread-friendly use extra_clean, and avoid top-level runCmd cd10aa4 add test for #1288 677872f add test for #2276 e82fcf29 Add a test for trac #2059 951770f Fix a framework error in ffi018 e651506 add test for #2014 0b391b8 Accept -fmethod-sharing f97bb92 fix ghci024 (for HEAD, at least) 46868ce following the fix for #1955, the .ps file is now in foo.ps, not foo.exe.ps on Windows 17506a0 Test for unboxed values in tuples 10d7b2e Update tests to improvements in renamer error reporting (duplicate decls and misplaced sigs) ef76ff8 tc199 is now expect-pass 583d44b Update output for GHC 6.8 57a85ee Omit the ghci way for TH_spliceE5_prof We don't support --interactive -prof 191bcb6 Add boilerplate to Makefile 31dcba3 add missing file 2d23089 tc199 is expected to fail on GHC 6.8 (#1061) 3d8eccb update expected output b6c8842 add test for hs-boot consistency checking 7f02e7f add test for a bug in 6.8.2's handling of orphan modules 367afdf skip rnfail055 for 6.8 55a206a add test for #1372 82b886b Wibble the num009 test ca1ce21 Omit cg060(profasm,profc) for the 6.8 branch 0c15419 Omit xmlish(profasm,profc) for the 6.8 branch cfa1651 Omit conc064(threaded2) on the 6.8 branch 353b33c Wibble the conc035 test Fixes its output when running the ghci way d4ab8c8 Skip ghcpkg01 in the 6.8 branch "ghc-pkg describe testpkg-*" wasn't matching anything; looks like it looks at the package name in isolation, rather than considering the package name and version together. 208586f Skip barton-mangler-bug(profc) in the 6.8 branch It was hitting the timeout limit 28f6a95 cg057 passes in the 6.8 branch 846a88c ffi018(ghci) is failing in an unregisterised 6.8 branch compiler, so skip it (in the 6.8 branch only) c39588a Skip 1372 in the 6.8 branch 38a39cb ghci030 is fixed now (bug #2082) 6f13e97 Skip the DoParamM test in the 6.8 branch 929ef03 Skip recomp005 in the 6.8 branch The output looks OK to me, although I'm not sure why it differs to the HEAD. 63c4d23 Skip maessen_hashtab in the 6.8 branch 6.8.2 and soon-to-be-6.8.3 fail it the normal,ghci,threaded1 ways. 59f9991 hs_add_root() is necessary before calling any Haskell code d8c144e Skip print026 in the 6.8 branch It fails for me, but not consistently - possibly only with a validate build. Seems plausible that the problem is something like library build flags. 2debd59 use stage2 by default f795cf4 Pass -dno-debug-output to GHC>=6.9 Allow the testsuite to be run with a DEBUG compiler b996a45 FIX #2175: evaluate the list first 1c8d7a2 fix up this test following the header-file changes in the C backend 649b68f add test for #2334 0b8b737 Test for T2339 6704972 rebindable9 works now that Trac #1537 is fixed 7d3ceb3 Test for Trac #2310 b5b9d5e Stop rebindable9 relying on Control.Monad.Identity 7d5f803 Test Trac #2045 e9cb5fe Test for Trac #2334 af3a8ab Update test output 2cc1011 Test Trac #1624 6a137ef Break expect_fail_if_compiler_type and expect_broken_if_compiler_type down into their component parts if_compiler_type expect_fail expect_broken e8d2050 Pass --threads rather than --thread f6227dd Refuse to use threads unless python version >= 2.5.2 According to trac #1558, 2.5.2 should work. It's possible a lower bound, e.g. 2.5, would suffice. b1ed042 Fix Cpr001 to work when we run with multiple threads 4a9e2b5 Remove a duplicate all.T entry for conc051 2e848a5 Simplify, and correct, the code for determining whether we should use threads e0248bf Update unicode002 output for unicode 5.1.0 7dc9732 Add a test for Integer-Float/Double conversions 73c168c Use -fforce-recomp instead of -no-recomp 7883b14 Use -fforce-recomp rather than -no-recomp 15b0f99 Use -fforce-recomp rather than -no-recomp ee414c0 Avoid using deprecated flags 46ec5a8 Avoid using deprecated flags in the testsuite tests 0ef5288 Make tcfail071 work when -fglasgow-exts is given 815f0cf Update output in tcfail071 bf082a0 2310 is not fixed on the 6.8 branch (yet) 93d08cd T2334 is an expected failure in 6.8 8b8ece1 TH_reifyMkName (#2339): fix wasn't merged 819fc1b add 6.8 output d68cde2 rebindable9 is expect_broken(1537) de4ebe4 add 6.8 output 165a98b update output 6756184 add test from #2185 29797e3 Update output 0ffea46 Update rn.prog006 following Cabal changes 98462c0 Fix ghci024's test stanza We need to talk about the powerpc-apple-darwin platform rather than the powerpc_apple_darwin platform. Spotted by Claus / Thorkil. 188e282 .darcs-boring updates 93b549f Testsuite cleaning fixes 7af0003 Update .darcs-boring 146d84b More testsuite cleaning edec627 Clean empty directories as well as files bf6eb67 Tweak some tests: tell make to be quiet rather than ignoring all output aaffd29 Use extra_clean rather than clean This makes things more robust when running with threads 2bef773 Clean .std{out,err}.normalised e4569be Tweak whitespace 3c755c7 Fix ghcpkg04 9d484f7 Remove uses of clean_o_hi This makes the testsuite more resilient when using threads cbce68b More cleanup fixes 1db5bb2 Add a test that apparently made the typechecker loop (around Feb 08) 95e199e Test for Trac #2358 d8baa23 Update output aad2d3c Test for Trac 2378 ab9d5ab Test for Trac #2409 e164c37 Test Trac #2307 6eb9db8 Add a test tcfail202 for trac #2307 74106f1 Update outputs 8346d8f add test from #2317 aa96c28 add -ignore-dot-ghci fdbc137 Test for Trac #2414 0d31281 Test for Trac #2386 b1877b6 add another test for #1736, and mark pragma001/pragma002 as fixed in 6.9 e182cdb FIX BUILD f2f9067 Type families: clean up - RankN1 was a bogus test. There error didn't have anything to do with rank-n types, but was just due to an ambiguous signature. 85fcdd8 Types families: clean up, part 2 e86a1a4 Test cases for #1900 & #1999 3d451f4 remove .o and .hi files beforehand c1d3ccd add test for #1357 596927d add test for #1103 4c96813 update; *sigh* this test is so fragile af45af6 add tests for #1048 fa25624 fixes to this test da6cae4 add test for threadStatus 6bc071e update output c63d2de FIX boottestsuite build failure cd93166 Update ghci024 for PostfixOperators 80dfbe8 update output (line-length changes in pretty printer) 0eaa66e add test for #2302 415fe63 Type families: T2157 d4b09ea Type families: test for 1st half of #2203 efe5934 Type families: GADT instances for data families (#1968) 905cc55 Follow changes in GHC's build system 497e9f5 The hs-boot output has improved (although I'm not actually sure why) 0e69b83 Use the right ghc-pkg program 9b09753 Update output 06f2a00 Add a test for the WARNING pragma 30d1066 Update the driver200 test to use the new -opt-dep flag replacements ed52e56 Update output 89792c2 Add a test for unrecognised pragmas aec015c Build the timeout program with Cabal 1174775 We need to tell Cabal that WinCBindings is a module of the timeout program 72f3913 add tests for #2248 4ced8c7 use absolute path to ghc-pkg 0d6b8de windows-specific output for this test d5dd387 fix some tests on Windows 16ece0c fixes required after changes in #1205 ":load M" now complains if M.hs doesn't contain module M, but ':load M.hs' does not. This seems reasonable to me, but there's potential for confusion. I'm not sure how to improve the situation though. 0615141 Don't fail when cleaning if cabal-bin doesn't exist 86666c3 add test for #2388 68f9d22 Follow extensible exception changes 0b5f231 Update TH_runIO output f590043 Update output for break025 7b967ed Update ghci007 output 6e1b38c Make the exception tests use OldException, as that's what they test b9c1ef5 Give a type signature in the break024 test Avoids an ambiguous type variable with extensible extensions c8ebd6c Expect break011 and break024 to fail due to trac #2475 'debugger gives "Can't unify" when stopped at an exception' 99b6d94 Update TH_runIO output a52dd8d Change the timeout program to use exceptions properly We now don't eat any type of exception, e.g. the user pressing ^C fff26d8 Fix the arith011 test now that catchAny is gone c86fbff Update TH_runIO output (again) c4ff41d Test for Trac #2478 a47b664 Test Trac 2433 b8c4494 Test for Trac #1930 e88d44b Update ghci011 output b985cce Update output following the move of the Char definition 5417ce7 add test for #2452 5aea157 update output (-fimplicit-import-qualified) 939f87c Update output d1721c8 Line number information change only 1199146 Make the gadt-records test work even during fast validate 03e8e23 Test Trac #2486 8530988 Test Trac #2506 c9e7866 Test Trac #2494 abc0aac Add test for empty cases; update output for braces in HsCase printing 5e191ae Update output 15f4d15 Update output 04edc17 Add test for Trac #2490, follow output changes 76ae89a fix this test on Windows 273873d update these tests 09a57ff add test for #2491 5c95f54 add test for #2441, and stacking of package.confs 52d34f1 update f2c9b65 Add an Exceptions test from trac #2508 38dee26 Add a test for trac #2412 d036e96 Add a test for trac #2449 5ba2000 Add ghcpkg05 output 6386240 Skip ghci024 when fast This test is very fragile, and updating it is fiddly due to the auto-generation, so skip it when fast (and thus when validating). 052d05a countReaders001 now works on Windows 363e34d openFile005, openFile007, readFile001 now pass on Windows be256d0 Update Windows output for cabal01 018066e Fix the hReady001 test now that GHC's hReady behaves correctly 4256148 Don't skip readwrite002 on Windows any more We used to skip it because of trac #1198, but that is now fixed ee93e6e Skip num009 if fast, as it gives the wrong answer on some platforms bf9f384 Fix 1288 and 2276 Windows-only tests ca8f0ea add test for leakage of Control.Monad.Instances into Haskell 98 modules 904cef7 add test for #2330 26d2330 add Makefile for haskell98 test 7277a81 follow exception library changes 977497f Update output of explicit-forall failure 163365f Follow error messages for explicit-forall syntax 6b918b1 Simplify the driver a bit: Break skip_{if,unless}_tag down into smaller parts b30149e Remove GHC 6.8-only stuff from the testsuite cb59c5b Fix typos in the testsuite 4bcd936 Ooops, T1972 should be normal, not expect_fail e7ce4ce Fix conc036 0e55ad0 Fix test 1980 bf0e801 Make conc015(ghci) a bit slower, so that it works in ghci b34e57c Fix conc034 d281e54 omit profthreaded for conc039 (for the same reason we already omit threaded1 and threaded2) 417ecb1 Fix dynamic002 f8d87f2 fix enum01 4ca708b fix enum02 1824cbf Fix enum03 f61ba70 Fix list001 bb555e8 Fix num013 56e0bd2 qq005 and qq006 require parsec aced5e0 Fix recomp005 b002990 Update output for typecheck.prog001 56fe332 break017 is broken (trac #2475) 312c034 Fix tests following the st split-off frmo base 57c674a We now depend on concurrent (split off from base) b0f8f4f Fix some parallel testsuite problems 9d1f045 Fix tc170 in the parallel testsuite 87061e9 Fix rn043/rn044 problem with parallel testsuite 18cb779 Remove no_clean from the driver We don't use it any more, and it shouldn't be used as it effectively means that the test won't work in the parallel testsuite. 2c5e456 Fix TH_spliceE5 in the parallel testsuite 7a00383 Fix some tests: T2310, T2486, FD2 c48cc5e Add a test for "bad flag" errors a247dd6 add test for #2542, #1205 3f58cbc update output 47f9fbb Add test for Trac #2497, #2213, #2494 cb3a1f9 Test for Trac #2520 f6ef929 Test Trac #2538 ec68002 Track error message changes 7ae96d5 Update output to follow comments 38b973c Test for Trac #2529 77330f2 Fix the records test when running the testsuite in parallel mode a21e58f Fix mod127 in the parallel testsuite 4341431 Fix mod125 for the parallel testsuite acc6801 Make mod127 clean the right files 7a116d7 Add Ganesh's test for T1999 a678631 Follow error message changes 0aa0811 T1999 passes now (acccidentally I think), but T1999a still fails 04e03f8 follow library changes 009e563 Comment only b4aaf57 Replace 'pure' by 'arr' b9449db Test for Trac #470 aca31a1 Follow error messsage changes fb88dc5 Add rn067 test f37188d Fix a syntax error in an all.T file dc511e1 Add tests for hugs trac #46 and #48 bugs 26a7b15 2185 is broken in 2 ways: #2185, #2570 d27a67c Add a boilerplate Makefile 69f1070 reify is broken (trac #2572) 1e8e197 tcrun007 is broken (trac #2573) 45f1822 2317(threaded2) is broken (trac #2574). 25a3905 fromdos ghci024.py 2fc9b50 Update ghci024 output a80b936 fromdos ghci024.script 28bbdbb Make ghci024 a lot less fragile Now we grep for representative output, rather than trying to match all of it. bd0c96b Update dynamic002 output e25b5ce heapprof001(prof_hc_hb,prof_hr) is broken (trac #2576) d3b862d import Control.Monad.Instances in bytestring00{1,4,5} They need the Functor ((->) r) instance ba419b3 Rename an hGetBuf001 to avoid a name clash fee2872 Test T1470 is still broken aa6f6cd tc176 works now 6588cdc Test Trac 2572 a8901d3 Follow error message wibbles 653a711 T2572 needs RankNTypes e8edad9 Test Trac #2573 986c5e5 Eyeball test for Trac #2581 7de94fe Fix typo in T2573 c4b8670 #2533: Generic functions that take integral arguments should work the same way as their prelude counterparts 5f6e0eb Add a test for trac #1709 5030ab0 not broken any more 226402d heapprof001(prof_hc_hb,prof_hr) are now fixed (#2576) dfe9733 ghci024: add -ignore-dot-ghci 6a83fcc reify and tcrun007 have been fixed 6fc5cb0 test for #2469 cfa8489 test for #1548 97c77e7 Type families: Simple20: warning about loopy equality 5b6f72c Type families: harmless changes of error messages by new algo 92193af Type families: output wibble 9b9cd59 Type families & GADTs: fixed tests 4b7102f Type families: don't bleat about regressions with new solver 7863f4e Type families: fixed 4 regressions 67d50a4 remove spurious -fasm (causing failure for the unreg build) 38cf442 fix TH_spliceE5_prof b73f920 Type families: fixed many regressions of new solver 8901f37 update output b0a50e9 Test Trac #2604 0f6b7d5 Follow error message changes (Trac #2604) 254e7f2 remove some calls to the old 'breakpoint' combinator ae24120 Add a new test e19919e Accept output 1201388 Tickets #1995, #2475 are now fixed 868f36d print022 is failing atm, I don't know exactly why 0bf6738 T1470 now passes 0f743ee Give a bug number for the print022 failure, fixing a testsuite failure 701ad5f tcfail138 now works 001fd55 Fix test regex001 Needed to restrict the type of 'try' now that we have extensible exceptions e148167 Test Trac #2587 5592baa Add tests for Trac #2597 4fa6a8c Minor change in error message a94d60a add test for #2228 12e7ab8 make this test THREADS friendly e4f3af1 add tests for -XNewQualifiedOperators fca2709 add test for #2566, also enable driver100 which wasn't being run f575e92 accept output (Show Ratio changes, #1920) 5435175 add test for #2499 (package flags in OPTIONS pragmas) f24ff99 Update the ws-64 output for the arith011 test e2444f6 Fix the driver100 test 79d4646 Skip the new qualified operator syntax tests in 6.10 571a5b2 Add a test for ":i thisIsNotDefined" It used to make ghci exit 514276b Type families: test for decomposition problem 63731b1 Update ghci025 output 0c2d897 Add a test that the --help and --version flags behave properly 3677fe4 Fix conflicting_flags output f59cbaf Test Trac #303 4adfec7 Type families: another small tricky example of SPJ c7092e3 Improve the mode001 test 242af23 oops, we haven't been running tests from packages for goodness knows how long 20ed32a add test for #2295 (-outputdir) d407bd6 Fix the mode001 test on OS X 7738a0a we can observe the exception again in break011 f18c711 GADTs: T2040 8b05448 Type families: T2219 a45b302 Type families: fixed GivenCheckDecomp 2f5cacd Type families: T2627 056dabe Type families: Tricky GADT/RankN/TF example e911453 Type families: T2627b 80349a8 add test for #2594 3101e9e GADTs/TFs: Added T2151 & TF's Simple14 passes 0d3f062 TFs: Fixed InstContextNorm faf8601 add test for #2410 b970a26 Print out exceptions when cleaning tests c24feb8 TFs: Proper error message for GADT12 6b3d367 TFs: T2448 4d014cd tcfail145 error message improved, too d7cfe1f accept break017 output (seems to be correct), and enable it in validate 373460d add an extra delay to make this test a bit more robust 29e224e accept output (Show Ratio changes) 741a8f4 add IOList optimisation example 591d2e3 accept output, and enable cg026 in validate 21607c1 omit ways that run out of time 5bbdbfa TFs: T2291 a589f82 TFs: Test for repeated tvs in left-hand sides of instances ab724ea Tweak break017 db8f08c Add test for Trac #2632 f8d0b06 Comments only 5e36a28 TFs: Examples for Relaxed Conditions 86f1557 TFs: T2639 f44573e update output (Show Ratio changes) 0233f2a make this test more reliable, and enable threaded2 527d61b add test for #2589 3ab6cf6 add test for #2636 1f170c8 add test for #2685 573b215 Update test output 94ddca4 Wibble to output 4bf46ec Skip 2228 on Windows f051b21 T2688 f4b72c6 T2693 c9ad5dd Add test for data instances that are GADTs 1b37d96 Track error message change in deriving cff7590 Improved error message on data constructor return types 756b618 TFs: 7 tests fail as they used unsupported superclass equalities 881b85f Test Trac #2714 ddb2a3d skip conc069/conc070(ghci) if we have no threaded RTS c3c42c3 Test Trac #2700 259533d Test Trac #2701 259e668 Update output to follow improved error messages for fixity decls 5e4fb4f Test Trac #2713 fe5776b Test Trac #2723 5512c72 Test for existential record update (cf Trac #2595) ee2071f Skip bytestring00{1,4,5} (designed for an earlier version of bytestring) c9e3be7 Omit the profiling ways when running qq005 We'd need to jump through some hoops to run this test the profiling ways, due to the TH use, so for now we just omit them 46791db Skip qq005(hpc) in the 6.10 branch; trac #1779 b5e2abc Add -fno-method-sharing to eyeball/inline1.hs eb1f5f5 Track changes in naming of class dictionaries, coercions etc f419ba5 Expect T2723 to fail in 6.10 3ba4e33 TF_GADT fails in 6.10 8021669 Add 6.10 output for tests gadt11, tcfail155, tcfail176 6012478 We expect tc244 to fail in the 6.10 branch 3166a38 Add GHC 6.10 output for some tests e6166f1 Tests for Trac #2674 7ae888d Test annotations 0197184 Make ann01 not depend on linking order 1de9bc2 Follow improvements in type signatures 011e93b Test Trac #2735 975cb8e extra_clean for T2685 54bee08 extra_clean for rename.prog005 644090f Increase the requirements for the annotations tests from 6.9 to 6.11 d25ec98 Add some 6.10-specific test outputs d33dc99 add a DLL building test (#2745) 1223c38 Add a test that $( (\b -> [| b |]) True ) works 8ec61cd make it so that WAY=profthreaded works 3fff1f0 -package syb is required when linking now that array doesn't depend on syb 0af014d make this test a bit more robust 4bcebea add test for #2783 114a4e1 Follow changes in pragma error reporting. 83eafc4 Add a space leak test, and some infrastructure for checking space usage 1c3974e Don't show whitespace differences when diffing test results d558fdb Add some 6.10-specific output 94bdcb8 small fix to the space-leak testing framework 28c0fcf Test Trac #2799 9eef6f3 add test for #2740 aa54a46 Test Trac #2766 ffe6ae0 Update output to follow :t output formatting change 404c727 Test Trac #2756 709f9d6 Test Trac #2817 c66f537 Simple17 passes 29b0f4e Follow improved error message a4585b2 Clean .exe.manifest files 9a4ffa1 Remove INLINE for recursive function cc1a719 Mark break018 broken (#2845) 83ffee0 Add a test for trac #2847: Parsing OPTIONS_NO_SUCH_PRAGMA pragma 6a3cb69 Add a test that we ignore OPTIONS_HUGS pragmas b3b52ea add test for #2838 9052b85 FIX #1364: added tests for C finalizers. bd40af6 check for valid .prof files when profiling dafa937 test for #2592 51f05d5 Fix this test: it was using a C finalizer that called back into Haskell Which isn't allowed using the ordinary newForeignPtr any more, it has to be done with Foreign.Concurrent.newForeignPtr. a0f8b23 Make the testsuite work with the new build system b9e5a99 break018 is expected to pass again after the INLINE patch rollback 29a8632 fix typo 8647288 Add first test for GHC API features. 3a262a7 Test Trac #2901 14b6090 Track new quotes in error message ebccce1 Test Trac #2851, and update error message for other tests 15bb779 Test for empty type indices (Trac #2888) 151d911 Test Trac #2856 f793789 Use -XImpredicativeTypes instead of -fglasgow-exts 01c01d6 Track error message changes 3de678a Test Trac #2721 897361e Change in error messages 5e7a73c Add comments to a very tricky test 4248971 Test Trac #2756 03440ae add test for #2910; move #1980 into validate 45d6c04 Test Trac #2914 15a27e5 Consistently use GHC_PKG instead of GHC_PKG_INPLACE a2ab554 Remove uses of pwd in favour of abspath e6fc6a9 Remove uses of MKDIRHIER in favour of mkdir 2117cc2 Disentangle the testsuite from the compiler's build system d53431b Better error messages ce40b0d Actually define TEST_HC for the new build system 8b9081b Put the endif's in the right places 5c7ae61 Don't insist on python being in /usr/bin 476e8ef Check that make supports eval 13fef46 When checking programs exists, check prog.exe too b964175 Wibble error message to not confused vim's syntax highlighting 59b5ac4 Add a "show" target f192a25 Look for .exe when looking for the compiler, too cf21985 Fix timeout's clean target b4b5a57 Remove otu-of-date comments 3dc46ba Add clean and distclean targets 07008f0 Remove redundant CLEAN_FILES be7075b Remove target.mk 1207215 Tidy up the Makefile a024c99 Fix hGetLine001 a3b41b7 Fix hGetPosn001 on Windows 8c9ede9 Fix hIsEOF002 on Windows b78e008 Fix hReady001 on Windows 259224e Fix hSeek002 on Windows eed47c2 Fix hSeek003 on Windows 1366b7e Fix ioeGetErrorString001 on Windows c577cdf Fix ioeGetFileName001 on Windows 1a11db6 Fix ioeGetHandle001 on Windows 1751d7b Fix readwrite00[12] on Windows 2ddc5df Make ghciprog004 not rely on $(CC) being correctly defined 34b9c1c Fix rn.prog006 on Windows 9260ce1 Update tests following change to pretty printing Haddock comments 366f6e5 Fix test 2566 in the new build system b0edf85 Add a boot target, and tidy up the Makefile a bit 40d7f27 add boot target to the top-level Makefile; fix boot target in test.mk 87ffd67 mk/test.mk wibble 3e63f64 Tweak top-level Makefile 7c79231 Test Trac #2931 ffdda43 Follow error message change cfaecbd Test Trac #2944 0bb2b53 Don't fail "make clean" becaues GHC etc can't be found 080376c Move the Makefile changes around so they don't cause test failures Our "make clean" detection was causing problems for tests which had their own local clean target. e87b83a update output after changes to ghc-pkg a56435d Canonicalise paths in the testsuite 82de8ca Also canonicalise the install prefix for the timeout program 835cd33 Hack to find gcc for an in-place ghc 0eb5757 Add a GCC hack for the new build system too 293f8b6 Canonicalise the prefix used by test cabal01 6b267cc Normalises slashes in the ghcpkg03 and ghcpkg05 tests be6233f Fix setting the value of config.top 9c9e249 In older compilers, only try to remove the profthreaded way if it exists Otherwise the testsuite driver fails. c6b18fe Add a test for trac #2968: C trigraphs a8152ea Add a test TH_sections for trac #2956 b660643 A better test for whether we have profiling Sigh, another shell command. 1090738 T2723 now passes in the 6.10 branch 23a9002 Test Trac #2985 d0754c9 Add a test for trac #2937 80de94c Add a test for trac #2913 OldException's catch etc should treat new Exception types as DynException's b6a5e94 Tests for DeriveFunctor b75cabf Added tests for Foldable and Traversable deriving 144406f Track precedence parsing error messages a20c22b Test Trac #2993 326e8dd Follow error message changes 15c103f try to make this test more robust 7562713 Do not use System.Process on Posix systems We were using System.Process.Internals, which isn't safe in general. Also, when the child process dies with a signal, we now raise the same signal ourselves. 0694fc7 Add test for Trac #2994 e0de482 Update test results for the 6.10 branch 3b987be update expect_brokens to point to the right tickets 41a173c further fixes to this test 3a9f519 add LANGUAGE c51d6b9 hack to make this test work more often 57eae27 remove -debug; we already have debug and non-debug ways a5c9709 test the work-stealing deque implementation (rts/parallel/WSDeque.c) adb314c Test Trac #3017 1249a89 fix conc018(ghci) 3a49158 Accept saturating Float to Int conversion On SPARC and PPC, double2Int (2^33) does a saturating conversion which results in 2147483647. On i386 it gives -2147483648, but I'm declaring that broken. 1d6db5b Add a test for #3001 4830921 Add another test for trac #3001 2274041 add test for pointer alignment f1dff85 Accept output for changes due to "Do not print anything to stdout when stopping at a breakpoint with custom code" 785c2ea skip testwsdeque if ghc < 6.11 7074a4b Adapt test to use CharRep instead of StringRep deb0083 update output 9e84eb5 Test Trac #3057 681c11d Test Trac #3066 d682411 Add test for #3067: GHCi panics with 'initTc:LIE' while :stepping on code with funny types 7f53870 Fix a framework failure 5d85998 Add a test for trac #2962 080aad2 Add a test for trac #3066 3ec26f9 test alignment guarantees of Foreign.alloca de94089 add test for #2976 c1576eb add test for #2816 48f5fb3 3017 and 3057 fail in the 6.10 branch 723de8b add 'set -e' to catch errors properly f37ce42 unbreak ghcpkg02 d28fa12 enable ghcpkg02 in validate f17d238 Test Trac #3087 c4e36ba Add a test read068 for trac #3079 98b5f02 3087 is expected to fail in the 6.10 branch 5524bc6 Add test for Trac #3092; and follow error message change 51504db Test #3101 and track error message changes 27fe87a Test Trac #3095 0cb80c8 add test018a, a test for #3093 03e02fb Update expected output 83d5669 Enable all these tests for validate 57fca84 Template Haskell: two tests for type families fa0e334 Fix this test (myghc ==> ./myghc) cc4f1a9 Template Haskell: test for equality constraints 4264234 Avoid error message from some shells when cygpath does not exist 15ac71a Don't hardcode sh as the shell, use $(SHELL) instead 487573b Fix trac #3091: the driver was choking on python versions containing letters 9f2a36c Fix a Makefile 92852c7 Output of bits is different in the 6.10 branch In the 6.10 branch, show (toConstr 'A') == "A" while in the HEAD it is "'A'". c5102ac Add a Makefile 10129fe Expect genUpTo to fail in the 6.10 branch 562f339 length001 fails in the 6.10 branch b6ad9d7 Recent TH tests fail in the 6.10 branch f5b87c5 Add 6.10 branch output for rnfail048 efdc6da Fix a framework failure 9d720fb Fix apirecomp001 to work outside a GHC tree b932863 TH: test for pragma support 5334fa6 Template Haskell: Using kinds 4e3058d fix openFile003 on i386/solaris2 by providing appropriate stdout file e94c75a Add tests for Trac #246 and #3126 ac5afe0 Fix num012 on 32-bit platforms round and truncate are undefined if the result would be outside the range of the target type (#1254). 61292cb clean .eventlog files 7973f49 Disable these tests when profilng they would need extra magic, like the TH tests bf81cb8 TH_pragma fails in 6.10 6a0aeca Test Trac #3118 3d7512e Eyeball test for Trac #3116 248918e Test Trac #3106 bbde26b Define and use opts in simple_run in the driver b703efc Re-indent simple_run in the driver abf5514 Rewrite the result testing logic in simple_run 6ed0203 Improve the testsuite driver support for -t stats, and enhance space_leak_001 f432685 Define if_wordsize in the driver 2961830 Define if_not_platform d5999e7 Expand the space_leak expected results to work on more platforms 3836739 Add support for compiler -t stats b3335eb Add a compiler space usage test for trac #1969 a5fa38b Relax the peak_megabytes_allocated requirements for T1969 bc64f55 Update error messages 3eb5711 Test Trac #3155 f673f9c Tell Cabal where hsc2hs; fixes trac #3147 Patch from gwright. b3c9796 print022 does not fail anymore 78d4de7 Make test print022 a bit stronger f2392c6 add test for #3153 a6f45c4 accept output a730391 accept output (#2500 is fixed) b31adce accept output (#2500 is fixed) adb67b4 accept output 7492512 add test for #3166 e9b2dc5 Test Trac #3176 d1bc75c Use a bang pattern when we where/let-bind values with unlifted types 27bf63e Add a test for the first part of #2806 5dc393d Also test the other part of #2806 in tcfail203 89dab97 Tweak the driver so that 2566 passes in teh new build system b03663b Update ghcpkg02 for the new build system 6b920fb add test for 3171 (a test for Ctrl-C!) b917662 add some testing code for HEAP_ALLOCED(), so I don't lose it 8e2b588 add sample output 5fd289c Add an HPC variable, for the location of hpc a690b73 Tell the testsuite driver where hpc is 305292e Update test output, add NoMatchErr 0f727b7 Test Trac #3219 b861c92 Test Trac #1633 f814b72 Follow improvements in kind error messages 72c6f3d make maintainer-clean work 75f721d Add stderr for T1633 877f9c7 add test for #3207 bb1ba4a add test for #3236 66025ff add reqlib('packedstring') 7506f0d bump max bound for 64-bit 462e70c fix skipping of 3171 6ecb912 Fix copy/paste-o 27f97f9 Test Trac #3163 9a7d730 Test Trac #3221 6fcd889 Test Trac #3177 779dda9 Update output 8c4a11c Add a test that -Werror and defaulting warnings work properly e069de6 Add eye-ball test for eta expansion and state hack 6acba8a Test Trac #3013 1c37f73 Add -XDeriveFoldable, -XDeriveTraversable where necessary 5f2dc6e tcfail204 fails (#3261) b789b44 Track error message changes c3b0415 Track improvements in -ddump-splices 9795b63 tcfail204 works now that T3261 is fixed 4aa7d87 Comment only 21bfb8d Track error message changes e2c0678 add test for #3156 943716e Test Trac #3265 ee7de20 bump the threshold for T1969 on x86_64 again 8c86617 Add a test for trac #2806 507517f Update cabal01 output 227075c Use +RTS -V0 when looking at timing information This should make things more deterministic 943cd5c Only run T1969 the 'normal' way 1562b00 Add a test for foreign importing 'gamma' 7e39a73 Remove a comment that GHC_OPTIONS doesn't work in the unicode/1103 test and use OPTIONS_GHC instead of OPTIONS. 05a6511 Try and find a utf8 locale to use In other locales we get some test failures for some ghci unicode tests d4809bd recomp005: update output Two of the modules now get compiled in the opposite order 92f9e98 Add TypeOperators pragma to recomp006 modules 1b856da Look at whether we already have a UTF8 locale, before trying to find one This works around a problem on (old?) Fedora systems, where "locale -a" lists every locale that /might/ exist, rather than only those that /do/ exist. aca63cc Switch from foreign import ccall threadsafe to just safe The 'threadsafe' one is now deprecated. d55028c add test for pretty-printing of [x..y] f19331f Update and add new tests for the Unicode IO library 4bea5bb Add test for #2678 it's a generic test, so I named it after the operation rather than the ticket e8db2e4 add test for #3128 d4528e7 Adjust tcfail141 so it does not import int2Integer# from GHC.Prim Since we're about to remove that primop. Define a version locally (using undefined). It does not have to work since we only need it for its type. 27dd2c4 add test for #3279 and #3288 5d160bb add test for #3132 2095aa1 Don't hide the recomp002 commands when running the test by hand b6711b4 Handle Windows line endings in mk/boilerplate.mk 75e52f5 Handle end-of-line in a way that is also OSX-friendly d6f8abc Adjust for the changed location of gcdInt 1581746 update Windows output 7e8980c hTell001 and hTell002 now pass on Windows 078d4f8 Follow Integer library changes db3dbef make this test less sensitive to file descriptor numbers 66660a5 Test Trac #3262 674f39d Test Trac #3323 3dd7d37 Update output 73fad54 Add test for the new magic treatment of 'seq' in RULES 78c9130 add test for #3319 9437ddf accept output after fixes to FFI declaration pretty-printing be63ee3 Remove hacky GCC setting It isn't necessary now that Cabal can find gcc in the new layout, and it was taking a long time (2.5s on Windows every time you start up make in the testsuite) ef90a1d add readwrite003 (from bug #679) 79b7a9c TFs: nullary families are ok 376902e Track change in record syntax for GADTs 1055776 NonLinearSigErr is actually OK 7bacfb3 Track error message change ebd1736 Test Trac #3342 d09b00a Support for -fwarn-unused-do-bind and -fwarn-wrong-do-bind, as per #3263 dea6db8 Make changes to -fwarn-unused-do-bind and -fwarn-wrong-do-bind suggested by SPJ e7d536d Update cabal01 test for Cabal change 33ea1e2 TFs: T2677 996b809 Tests for unused imports 7703adb disable T3016(profc), gcc takes ages 411ee0e T3016: skip_if_fast, and omit optc too. 39428d8 TFs: fixed should_compile/Simple8 & wibbles 4a2bedf TFs: Added T2203b b29901d Add a test for #1792 333d197 Add a test for #1074 df3adad Test derived Foldable instance f7ad439 add utf8_bom codec f915d8c Update mode001 The earlier of --help and --version now determines the behaviour 835e060 accept output after changes to dfun naming da98c42 Add test for Trac #3346 623f3b7 Add a test for #3055 2723f3c Add a test for #1647 55976aa Test for Trac #3382 9bb8581 Test pattern-match overlap checking for GADTs f1beb47 tc215 works now that Trac #366 is done 94b85f4 Give us some more breathing room in T1969. 7ec428b accept output 03bb465 Follow Integer changes 059783d Use /usr/bin/env to find Python 5e8ff84 Tests for basic TupleSections 1a19250 Tests for unboxed tuple sections f7765c4 Tweak tests for unboxed tuple sections d31d495 Test standalone deriving for GADTs a9c1f57 Follow output f86adf0 fix broken test on Windows 6b871ea Follow output changes (braces in do-notation) 17cba8f Test Trac #3391 8ba8aee add -no-user-package-conf to GHC command lines 261a315 add --no-user-package-conf for ghc-pkg tests 87968d9 Test for make supporting abspath, and fail if it doesn't This fixes problems using GNU make 3.80. 401236e bump limits for T1969 again (it was failing on Windows) fb0080e 2816 is if_platform('i386-unknown-mingw32',expect_broken(3398)) 429e8b9 add test for atomic_inc()/atomic_dec() 91ec889 Update array test outputs 2c38552 Add a test for trac #789 6f54cb9 Remove the DiffArray tests They're now in the diffarray package 1e26522 fix tests after RTS tidyup 9b69276 remove deprecated -#include flag 9964748 Regression test for Trac #2395 d080e4a Test for group being a special_id when TransformListComp is on e44d60e Test Trac #2395 20bcf3d Test Trac #3395 e102f3a Trac change in Template Haskell errors bf510aa Add a test for #3303: multiline deprecated warnings 6129e89 Test Trac #3409 cb36d7d Add a test for #3007 403c8c2 add test for #3429 200e576 Add a test for trac #3286 bd69019 the remaining part of #1548 is now fixed 2663204 add test for an illegal C finalizer callback cefcb84 TFs: test cases for #2767 & #3208 482b6a9 TFs: T3418 6fb20da add threaded2_qw way, which is threaded2 with +RTS -qw 771ae24 accept output dacefa0 Update output 824b080 accept output 1b74da3 follow changes in the base package 17567c3 add the test from #3424 35c85b3 Track wording changes in error messages 337ccb6 Test Trac #3437 75a981a Test Trac #3371 a35144b Add a dynamic hello world test, that gets run during validate 88e3668 Use the dynamic way if we have a dynamic RTS 3adf1c5 Test Trac #3423 19054d3 Test Trac #2850 40abae8 TFs: T3220 6b33ba4 TFs: T3423 was missing -XFlexibleInstances 82d6d5b add extra_clean for T3286 d043132 Test Trac #3406 aea3f4d follow change in Cabal: package -> sourcePackageId bcd2e98 update ghc-pkg tests following the addition of installedPackageId 4f88d70 fix a bug: the sequence was incorrect, rather than incomplete 7924cfb follow changes from #3310 e3aed8a T3391: omit profc, profasm 0c2b9c0 Use a stable ordering of the export list 84e2e87 omit prof ways for ffi020 df8254d accept output 5e55ba3 omit various non-optimised ways for space_leak_001 f023ba3 tweak the values on x86-64/Linux (max_bytes_used improved) 43e7238 Test Trac #3468 d93e635 Test Trac #3403 e9925be add a test for package shadowing c0b7835 accept output 7893fd9 expect_broken(3498): unicode output doesn't work on Windows (yet) 69e6b24 Make this test a little more stable 38cfe22 update tests following package-related changes in GHC/ghc-pkg 0072a61 Add output for T3403 6bd6c19 Test Trac #3467 47a09b8 Add test for empty data declarations 0734672 Update output ad4e1fd Track changes in error message format (TH related) 8d571cb Follow TH changes 86fbc4a Test nested splices: TH_NestedSplices 80422a3 accept output 74ee94e make this test more robust, don't depend on the format of package.conf 053ac30 Update tests to not rely on -fglasgow-exts c3fbb44 Use +RTS -I0.1 -RTS for ghci tests Now that GHCi has a longer default idle GC time 79c292c remove -fglasgow-exts 5268346 update to not require -fglasgow-exts 0ea8608 add a test for the NCG space leak I found while looking at #3294 9326712 use "ghc-pkg init" to create databases, and update test output da0dd2b accept output 341de4f Fix runtests.py for Python 2.6.1 - This is the version of Python that comes with Snow Leopard 9e75b25 expand the test for shadowing to include overriding with -package-id 18781c8 add test for #2881 7363d20 arith008(dyn) and arith012(dyn) are expected failures on x86 ecbfc39 Tweak T2378 to not need syb 7152f59 Tweak T2394 to not need syb 444e35d Tweak T2573 to not need syb 3a50f4a T3087 need syb 6c97609 Move syb tests from the testsuite repo to the syb repo 65acd64 Tweak deriving-1935 to not need syb 8348016 drvrun022 needs syb 4d842e7 Tweak ds055 to not need syb 357b534 tc191 and tc220 need syb 9a0de32 Tweak tcfail163 to not need syb f851958 tweak acceptable limits for T3294 5159d0e wibbles to setting LC_ALL, trying to fix buildbot test failures c2dccc2 tweak the boundaries for T1969 (we got better) 9f357f3 Test Trac #3540 5891a00 Track error message changes 2548040 Update tests; ghc is a bit more consistent about flags 68b297b Tweak tcrun007 to not depend on syb 1f18c17 Fix #3551: conc0{69,70} should be skipped when -threaded is not available 7ef873b the threaded2 way tests event logging too 04edf89 Add a test for shadowing/overlapping packages with Cabal 1a74182 tidy up aca9884 Test -XExplicitForALl 1e358e5 tweak T1969 values on x86-64 14a2201 Remove old build system support from the testsuite makefiles 05867fa Drop "NEW_BUILD_SYSTEM_" prefix on Makefile variable names a8c6f7a Tell the testsuite driver about the bindisttest GHC location e93c500 T1074 needs mtl 94b2161 Fix the Windows detection in the testsuite Makefiles We need to look at "ghc +RTS --info", not "ghc --info". 7b96dcf ghc is "ghc.exe", not "ghc", on Windows 4144207 Fixes for paths containing spaces 47f234c Fixes for spaces in paths 04a8806 Switch back to a BIN_ROOT definition that works on all platforms provided there are no spaces in the path 52f1b64 Add some diagnostics to timeout b3c27bc Fix the config.timeout setting 501d458 Define BIN_ROOT in a way that works if the path contains spaces dd5802c Fix quoting in the testsuite timeout program's Makefile ca5006e add test program from #3561 3276f6f add test for #3579 6491132 might as well make the finalizer do a callback to make the test more interesting 0e6382a add a test for foreign import '&foo' with GHCi 77bd4d3 re-enable ffi005 with the non-portable bits removed 20bc50b Test Trac #3572 9cd66e6 Test Trac #3263 66dfea9 tcfail188 compiles fine, now that Trac #959 is fixed 365105d add classes of ways: prof_ways and threaded_ways 9c1047a omit prof ways for ffi005 b088f0f Test Trac #3600 b1e291d Adapt test to avoid uniquies 1e29f07 renamed prof_ways -> extra_prof_ways to avoid clash 4fb93d6 Test Trac #3591 bf79026 Add more quoting for paths with spaces 3bdc27c Fix more path quoting bcdf3c5 Quoting fix 3d3a306 Always use / to join paths; stops "make -C .\ clean" being misparsed 34c8493 Quoting fixes fa94d46 Normalise slashes 910fa59 Quoting fixes f4cf5ca More quoting fixes a138c04 Complete timeout.py's unix support 9967407 Always use the python timeout program on non-Windows Use a python timeout program, so that we don't have to worry about whether or not the compiler we're testing has built the timeout program correctly c6528f5 Test Trac #3590 5fb7e9e Update test so it does not use Control.Monad.Reader 40c0db6 Add missing stdout file for T3591 e743ac3 Update tests following deprecating mdo 2ef7693 Add test for 'rec' in do blocks 5a7ebf2 Track changes arising from improved location info in list comprehensions 28c7e2c Test Trac #3613, and track error message change e9b3d6c Don't use threads on Windows It seems to cause some sort of deadlock 959c5d4 Add undecidable instance test 6b8a32d Add stderr files for depreceated-mdo warnings d6cd3f2 Update tests for INLINE patch d859bd8 Add test for Trac #3621 457a780 Add -fno-warn-deprecated-flags to tests involving -XImpredicativeTypes 4cfd5f2 Track change in how LANGUAGE-pragma errors are reported c7756ea Only run T3294 if we have an NCG (#3548) 6dde0b3 add a test for single-stepping over getArgs 34341b5 add config.have_shared_libs 51f8bbe add test for #3604 (template-haskell + -dynamic) 8ef5a4f Add test for Trac #1735 3e8a6a2 Test Trac #3234 (foldr/single rule) dad7ae6 Add source file for T3234 88c8801 The bindisttest GHC is now always in the same directory We therefore don't have to try to work out if we are on Windows or not in order to find it. 7e2609cf Fix the code to append .exe to program paths 1514856 Fix quoting in the 3171 test 3fdf676 Track changes in duplicate/shadowed errors 8ddad5b Add test for Trac #3640 ee6fc80 Fix finding GHC on cygwin f0926d7 Track trace output b90ca73 add test for #3624 36a7d3e Fix setting of utf8 locale on Mac OS X 9704ea8 Add coercion test for PushC rule d8dd521 Rearrange perf-related tests 9791a7e add test for #3586 (newArray performance) fb845aa fix framework failure be052a2 Test for higher rank rules b0271b1 Accept wobbles in error messages c5374d2 Bump the ulimits for outofmem/outofmem2 They just started failing on x86-64/Linux here, no idea why. 58443a8 add missing files bbdeaf3 accept output a359e3b make this test do what it was supposed to do 1d792d0 accept output (for the time being) the test output has changed due to differences in the compiled code for GHC.IO.Exception.ioError. 0c5ca7c add a test for #3633 ee961e5 Tweak testsuite results for 6.12 branch 94d8c6d Make test 1959 tell us what's going on 50914a3 Fix test 1959 e337ffd Make test 1959 even more informative when run by hand 98ec6b9 Follow changes in ghci011 0fb72c5 Follow changes in tcfail073 90e9934 grab the target architecture from GHC, and add an if_arch() test 05a2f49 ffi005: run only the via-C way on x86 platforms due to 80-bit vs. 64-bit precision leading to floating point differences when using the native code generator. -fvia-C uses the -ffloat-store gcc sledgehammer to avoid this. a619390 add 32-bit output 2a11cb6 rtsflags001: run only the normal way ee0ed3e Follow column number changes in tcfail 67b07e7 Follow column number changes in parser/should_fail 0ec5c97 Follow column number changes in rename/should_fail 559d51c Follow column number changes in module 1c91021 Follow column number changes in deriving/should_fail ed1eba1 Follow column number changes in indexed-types/should_fail ad0eb81 Follow column number changes 8788566 Accept changes in break016 and break020 5f72509 Follow column number changes in the break016 script 59d18c3 Quoting fixes be0b079 Remove some @s from a Makefile 270545d Follow column number changes e85a253 Add some tests for error positions ecea053 Follow column number changes now that SrcLoc knows how tabs work 4549b9c Gather all tests at once, rather than doing them directory by directory This increases the parallelism possible, and allows us to track what progress we are making. ca10316 Print out how many tests we have done and the total when we run a test This isn't perfect, as it doesn't account for tests that will be skipped in the total. But that's hard to work out, as we might skip a test in only some ways and we currently don't work out which ways to run it until later, so I think this is good enough for now. cfe12f5 Make the driver/ tests declare themselves 'alone' individually This way we can fix them one by one 9ded076 Make driver011 parallelisable c5b9f68 Make driver012 parallelisable 0872866 Make driver013 parallelisable 7a7891e Make driver014 and driver015 parallelisable d3569a4 Make driver016 parallelisable 8acba77 Make driver017 parallelisable 82a0f95 Make driver018* parallelisable 441fda2 Make driver019 parallelisable 747d3c3 Make driver024 parallelisable bffaef9 Make driver021 parallelisable 725b0d7 Make driver022 and driver023 parallelisable 53e9fa3 Make driver024a parallelisable e2d56f8 Make driver025 parallelisable c7ea836 Make driver026 parallelisable db1b570 Make driver027 parallelisable 15a12a3 Make driver028 parallelisable bbc3331 Make driver031 parallelisable 6c5887a Make driver032 and driver033 parallelisable 20b46ed Make driver034 parallelisable f7088fc Make driver035 parallelisable 09bf0dd Make driver041 parallelisable bd41e1a Add some extra cleaning for driver033 ccff779 Make driver042 parallelisable c4fcb8d Make driver043 parallelisable 914ab5c Make driver044 parallelisable fd737a7 Make driver045 parallelisable 19b034b Make driver051 parallelisable f61f7eb Make driver052 parallelisable 568195a Make driver053 parallelisable f04a8f6 Make driver060 parallelisable c504e84 Make driver061* parallelisable 96c2a6a Make driver062* parallelisable 5601d78 Remove some unnecessary 'alone' calls 8f7adf7 Make more driver tests parallelisable dbe214a Make driver063 parallelisable 2717e12 Make driver080 parallelisable e385513 driver100 doesn't need to be run alone af52dc7 Make driver081* parallelisable 9e4e1e2 Remove now-unused cleanall function 3e683be Make 2566 parallelisable da386d2 Make driver200 parallelisable 73557b0 Make bug1465 use a local package.conf Eliminates random failures when it runs in parallel with other tests 6ba2f7a Make 1372 use a local package database Eliminates random failures when it's run in parallel with other tests f355745 Make more cabal tests run 'alone' 5d77309 ghcpkg01: Follow Cabal changes e0a6b89 Refactor the cabal03 test 85f014b Add a missing package-db flag from cabal03 3cb583d Tweak cabal03 test 0d9fc0a In cabal03, don't register --inplace This means it ignores the package database we tell it to use. Instead, do a normal register, but pass --force so it doesn't fail due to missing files. 657d5b5 Fix cabal03 46d7964 add a test for #3677 8029440 add a test for #414 b7cbd55 fix driver033 0125c53 Test Trac #3100 5d1f042 Add test for a loop in the simplifier c4a8f62 Accept output for break020 It now gets the columns right for the highlighting 4b1b243 Accept column change output in break021 44147c7 Add a test for the difference between the H98 and the alternative layout rules d110b0e Add another layout test 9e12080 Add another layout rule test 9fcf729 Add another layout test d9544b6 Add another layout test 44e336d Add another layout test 8282528 Test Trac #3012 b40cb71 Track error message changes for deriving edaee9f Add output for T3102 bd7a1a1 accept output 3354a33 accept output (column numbers) 2a6e1e0 Fix typos 3241528 Fix quoting, and add some sanity checking 67885b3 update expected value comments 6b0b198 add test for #3741 2f0432d add test for #3742 67a9cc8 use a smaller stack limit for conc012(ghci) 8b733de Decouple ghcpkg02 from the GHC build tree 3cca461 Tweak rule2 test and accept output The test now suppresses uniques to avoid spurious changes in the output 1776ed4 Accept output for T2486 51a66fc Tweak T3234 test and accept output The test now suppresses uniques to avoid spurious changes in the output fb17b35 Add test for type families, discovered by Roman 20c9800 Test Trac #3717 91abb98 Add test for applying specialisations inside InlineRules 0219870 Update output 3688af8 Remove a test for GHC < 6.11 d5d04c8 Allow tests to behave differently depending on whether the compiler is in-tree And skip testwsdeque if it is not in-tree, as we rely on some headers from the build tree. 0902adc Fix driver016,driver019,driver028 5a03565 Remove no-longer-used files e7841b8 Add pre-command support to the testsuite, and fix annrun01 by using it cc4a5ce Fix cleaning annrun01 1da0248 Remove debugging print d48cf60 Add clean_cmd to the testsuite, and use it in bug1465 8a7aa2f Remove unused clean_o_hi function db3898d Refactor the cleaning code c7b4f36 Add some more clean_cmd's 6436bdd Add you more clean_cmd's 3bd037a Fix broken python syntax af30b58 add test for #3751 4a23292 accept output (better SrcLocs for lexer errors) f2e474e Add test for Trac #3245 60cdd53 Test Trac #3776 942b156 Check for duplicate test names, and report them as framework failures 8ab1e20 Give more info in the testsuite output 93f98d2 Fix some test name collisions 017d8c7 Fix some test name collisions e2c5f15 Fix some test name collisions 645992e Fix some test naem collisions 58e9801 Fix some test name collisions 74a9a39 Fix some test name collisions 7ce623c typo 22a250d Fix a test name collision 49b5792 Fix some test name collisions 4abd32a Fix some test name collisions d79cce0 Fix quoting for the apirecomp001 test 7f09f0f Add some hsc2hs tests 5ddb795 T1969: drop lower bound for max_bytes_used on x86/Linux 698110d Add test for Trac #3772 808495a Accept output 4ca70ce Add test Trac #3731 e494e87 Complete test Trac #3772 a43304f Accept specialised function argument order change 511dd7d Test Trac #3792 c3d8979 Use "test -x" rather than "test -e"; fixes trac #3778 Solaris doesn't support -e 059a8ce Follow more-accurate spans in error messages 99307f8 Improved "Invalid type signature" message 28c78c6 Change debug print format eb38dc6 Add missing T3772_A.hs 0928752 Always define IN_TREE_COMPILER in mk/boilerplate.mk There was one path in which it was not being set. 0a71f99 Improve the handling of TEST_HC We now accept TEST_HC=ghc as well as TEST_HC=/usr/bin/ghc The code is also a little more correct, as it will now actually canonicalise the value of TEST_HC if it is given on the commandline. 8f2e6d2 fix cleaning in cabal03/cabal04 cec3a49 Add a layout rule test aea6134 Add a layout test fbf9318 Track error message change 25414b7 FIX #2615 (linker scripts in .so files) This is the regression test for FIX #2615 (linker scripts in .so files). 94c4723 Tweak the T2615 test 3cdc7ab OS X doesn't seem to support linker scripts 6ed70ce add test for #3832 b80c6b7 Add a test for #3823 0ebe481 Expect T3823 to fail to compile f565ffd Update column numbers for the HEAD 5ac3989 add test for #2464 41f0120 add test for #3674 58d1d3a Add tests for trac #3833 and #3834 3b4037c Update column numbers for the HEAD 10323c4 Add a test for trac #3813 07a7606 Test Trac #3831: SpecConstr blowup 547bbb8 accept output (#3848) cbf875e Fix test T3831, and change to Unix coding 6043629 Add quasi-quote test for declaration and type quotes ec07e1f New syntax for quasi-quotes, and record field names for QuasiQuoter type 1df10fb Fewer parens when printing HsPat 4ca2102 Test Trac #3845 6af7396 add test for #3676 adcdda6 add a test for a bug in noDuplicate# 04c3e51 enable the asm ways for ffi009 on i386 if -msse2 is available 178fb5e Add a test for recompilation when a package version changes 8628318 omit profilng ways 8ccbf64 omit via-C ways for this test, gcc takes too long 05965f6 disable annrun01(dyn) (see comments) 54901b8 expect_broken(3676) 34822e0 Add DPH quickhull test d69fc62 Add quickhull test output ed89767 arith012, arith008: use -msse2 on i386 if available f44926c Add DPH dotp test be68165 Prefix dph tests with 'dph-' to avoid name conflicts 4aa4c53 In dph-dotp, compare with result computed via regular list fns. 40c8c75 Add DPH primes test b7dbdfa Add DPH smvm test 3ac88b9 Add missing Makefiles 2e5fb1a Add DPH solution for 1st Euler problem 6f29f2e add test for GHC.Exts.traceEvent (#3874) 409e4d9 Add a test for #2578 53c283e Add DPH solution for 108th Euler problem 6e261fc Add x86_64 specific version of smvm test data 2e9ec62 Add sparc specific version of smvm test data 5756824 Track changes in pretty-printing of IfacePrag 5c8d037 Track extra suggestion in newtype deriving (cf Trac #3888) 942f9df omit profiling ways for traceEvent 53bed04 A missing change from the InlinePrag pretty-print change 8f8065d Add a layout test 564bc41 Update layout tests b8cad05 Add test for Trac #3901 9c0646e Add test for Trac #3899 a9e79fe Track change in -dsuppress-unique printing for TH a7900cf Track improvements in pretty-printing for group-by, order-by 192b291 Fix detection of whether we have profiling libs It broke when the installation path contained a space 27c239a Fix running hp2ps in a directory containing spaces e52a76d Add test for Trac #1954 286dc0a Track change in printing of Activations 5010397 Add some tortuous throwTo tests 8778f53 do the throwto tests in a validate run b75b809 Add a test for en/disabling RTS options 1046b79 Add a test for -with-rtsopts d1b4607 Always use -rtsopts when compiling things with GHC dfd88b8 Update the rtsOpts test now that RTS options are off by default 51a49ae Use -rtsopts for the outofmem2 test 62d5a1f Update rtsOpts output b30df6e Add dph-words test I've only set this to run with the "normal" way atm because it takes about 1.5 min to compile on my machine. SpecConstr blows out the size of the core program to about 400k, which is probably a good enough reason to have it in the testsuite. 21271c6 Add test for Trac #3920 4994bdf Accept change in inline pragma format 3b1aa30 The T2267 test needs utf8-string 7222ae7 Mark hsc2hs001 and hsc2hs002 broken on Windows (#3929) 9bf0034 Use the UTF8 codepage when running on Windows Fixes openTempFile001 for some system codepages, most notably 437 (US). 37a4380 2302 now passes on Windows, presumably due to the codepage change a464591 2816 now passes on Windows, presumably due to the codepage change 60fe941 Fix the cabal04 test on Windows 4a243ef dynHelloWorld currently fails on Windows; trac #3861 a18dec3 print021 now passes on Windows, presumably due to the codepage change 227af63 we should be testing $(TEST_HC), not simply 'ghc' c28bd0f update to work with parallel-2 bc6f62f not broken any more: the new Strategies library fixed it e2c3c22 Run this test the threaded2 way only It seems to be scheduling sensitive, and sometimes diverges when given only one core. 729c996 Fix running the testsuite on msys I'm not entirely sure if the cygwin code is actually right (i.e. I'm not sure what calling convention it uses), but it seems to work. c3b2f66 Use ${PYTHON} instead of relying on #!/usr/bin/env python 6fc2d9d Fix quoting in Makefile 52615c0 Tests for spelling correction for LANGUAGE pragmas 129c4bd Add test for Trac #3950 e6fd476 Add test for Trac #3943 12ba411 avoid spurious extra output bb9eb7f Remove -fno-code in various places These tests were relying on the old behaviour of -fno-code, and work just fine without it. b19322b TH_pragma: remove superfluous -S, which now breaks the test e40bba0 ffi002: work around dependence on old cmd line semantics f1fb386 Fix the ffi002 test fa6d8ee Make the dynlib tests work on Windows 690dd9b Fix the shared001 test 2532b9e Fix running dyn tests on OS X 829aed1 Updating expected output of spec-inline test. 4a57a00 Fix creation of Config.hs in annrun01; fixes #4033 4cdd699 test hGetBufSome 7971933 add test for #4030 5b93bb2 fix conc059 7f256c4 add a test for #3890 877d882 Test Trac #3955 068529d Tidy up tcfail145 a little 007a284 Accept output e7e3026 Modify test slightly 9a39fb5 Test Trac #4042 4e4f631 Modify test slightly fefe9f9 Fix quoting in mod175 27d71dc Make tc212 actually need a specialize pragma 39a6be6 add sample output 19b95dd Remove invalid UNPACK pragma f24c4ba add test for #4051 be4e8de add test for #4066 7e774f0 Add a test for #4059 8642827 Add a test for #4003 38c12b7 Add stderr file for T3953 54e9d20 Test Trac #3955 37a94b7 Test Trac #3965 b9779d2 Test Trac #3964 76230cf Add test for trac '3953 c43d15c add test for #4078 586fd40 update expected values for x86/Windows 3671bf3 update expected values for x86_64/Linux e1820f3 Move the ctypes import in the driver The import is failing on sparky, and we only use it on Windows anyway, so move it inside an "if windows". 1898f71 Fix the pkg02 test to not depend on the network package 4d6aba8 expand the shadow test a bit to cover #4072 310e46e Test Trac #3966 a0dafb9 Test Trac #4087 ed0350e Test Trac #4056 b8d3178 Test Trac #4015 c9a3f1a Accept output 2fb8e8c Add an indexed types performance test 335bc71 Remove duplicate T3955 test 01ca9e2 hGetBufSome comes from System.IO now. bf8c6c7 ffi005 is broken on OSX (#4105) c34aea9 Add a test for #3911 312c6d5 Update error messages for printing singleton contexts 904a077 Follow change in random library 15c61e0 Follow changes in ghc-pkg output 81854cf Fix apirecomp001 on cygwin f3ad3d5 Fix recomp007 on Windows f3c2c54 Fix quoting in recomp007 39fa440 Add a test for #4113 4761aff Fix T4113 on Windows ec93a15 Track changes to type error messages 21e1202 Test Trac #4127 a459e66 Use -fno-warn-deprecated-flags in the optc and profc ways as they use the -fvia-C flag, which is deprecated 27818a9 Add -fno-warn-deprecated-flags to tests that use -fvia-C / -C 5105596 Update following fixes for #4104 and #4134 504e4c0 add test for #4038 6fd4c3b Add a test for #3822 583faf7 trac #1789 (tests for missing import lists) 1f65432 More #1789 tests 9cc4bee Add new llvm ways (llvm, optllvm) to testsuite 5d6014f Fix quoting in TH_recompile 934a3a2 Add Windows output for ghcpkg03 5104d7d Add Windows output for ghcpkg05 e5f10d9 Fix 4038 test on Windows; it needs a larger C stack b4e91eb Add a test for #3389 17298c1 T3389 is broken fad0ed0 Add a test for #3449 2874642 For #3389, use -optP -C manually c2541cd Add a test for #3364 085798c Expect length001 to fail for llvm way. e73604d Omit optllvm way for derefnull test d809e13 add a test for #4144 35d96ef Skip some tests the optc/profc ways Rather than tweaking the GHC flags to get the test to pass, just skip them for the deprecated ways. This'll also make it easier to discover the workarounds and remove them once the ways are removed. 5489321 hReady002: omit ghci way f5c10be ghci script for trac #2362 1cd0ad3 cg003: remove -fvia-C 4f6d4e7 T1969, T3294: widen the limits on Windows e488e6b add/modify tests for new async exceptions API f6dd83c Test the second bug reported in Trac #4127 f6b121a Add a RelaxedPolyRec test 4f105dc Improve test 18fc100 Add test for Trac #4136 685565b Retab the dph .T files 0f427aa Run the dph tests alone They use a lot of RAM 5fe92ca lower bound for T3294 on x86_64/Linux 51e63f5 move to parallel package c6d49db add test for numSparks 9b08e17 Update error output 00f202f Add test for Trac #4188 b889b51 Add read065 stderr now that NewQualifiedOperators is deprecated 94a4fd1 fromdos ghci023.script 0fe295d Skip the dph tests when running the fast testsuite These 7 tests were taking almost half the testsuite time f28d39e tcfail126: accept output a505ee5 tcfail144 only fails in H98 mode f2d5eae Add a test for #4150 9c3988a Fix some tests now H2010 is the default a1e0ee6 The rebindable tests use NPlusKPatterns fbfbb2b Remove n+k pattern from readFail001 24a54db readFail035 assumes Haskell98 7d16f27 Remove n+k pattern from cgrun058 d7f3d04 ds020 uses NPlusKPatterns ec5aec4 Fix ds tests that use NPlusKPatterns ca2a198 Fix a couple more tests now H2010 is the default d691ed5 Fix the apirecomp001 test; it needs to flatten the flags now 033a505 Skip the via-C ways for read065 We get spurious failures due to deprecation messages ac0c554 Fix more tests now H2010 is default d390003 Tests for trac#1344 1087a6b Add a test for trac #4233 51b7e92 Add a test for #4239 cbff4bc Add a test for #4240 ce62d56 Update rtsOpts test 76e8805 Update output now ghci module-loading output goes to stdout 27d3d60 Remove some errmsg normalisation (removing paths from filenames) This wasn't needed, but was breaking "data/newtype" in an error message 4db47d8 Add a couple of tests for #3811 629c7c9 Add DoAndIfThenElse tests 6c9d25b Update output for error message changes 891b5aa update test output (compilation messages now go to stdout) e165d82 add test for #4221 96a5e89 Update output following parser error improvements b8260af Add more parse error tests for #3811 d452fed remove a non-deterministic part of the output 38ad732 add missing output files 2b9b807 T3822(ghci) is broken due to #1333 58f915d update output (Windows) 3c5d78b fix expected values (Windows) c24ca8c expect conc016(threaded2) to fail e2ce037 missed part of the patch to add #4221 test a68150b Test Trac #4220 d6260b6 Test Trac #4203 cc6fc94 Modify Trac #4233 tests 5b2aab2 Test Trac #469 d1e0ccc Add test for Trac #4099 ce0d148 Fix cabal01 so that it works even if your local package database is faulty 2ad9cc9 Accept output 6f3fc74 Test Trac #4120 2baf8aa Test Trac #3983 ccf2650 Test Trac #3959 60e4554 update output 34eb1bf make this test a little more robust e3d2e73 Add a test for #3807: shared library generation 42c675f T3807 can't be run on Windows, and fails on OS X (#4264) f454070 another attempt to make the test more robust ca9b704 Enable the optllvm way if llvmc is found f237fe9 Fix "/bin/sh: llvmc: command not found" noise when running testsuite This also made the "run_command $MAKE" tests fail, as they were also sending this to stderr. a229e80 Make a "fast" way for the dph tests so we can still run them during validate Setting -fno-rewrite-rules means we still test out the vectoriser, but don't spend ages optimising the generated core code. 6c0be53 update test for containers-0.4 e6585ca fix enum04 - it is no longer an expected failure 02e5168 remove enum04 06d42f0 add a test to catch over-allocation in lazy bytestrings 4aad487 Update output c40809d Add test from ghc-users mailing list about GADTs 61fef43 Update error messages for new typechecker e60303b Make tc159 (generalised newtype deriving) into a runnable test 6ed8697 Add a type signature in the test 3888ddc Add type signature for top-level error c774968 Comments only e3dc5c6 test wibbles cc76525 Add test for Trac #4235 035d2a9 Accept output 316afaf Update deriving test for type families/gadts 6a4eb29 More update to deriving a897ab8 Accept output d88b0b6 Accept changes 2bc6455 Comments 7b207cb More wibbles 109c5c0 GADT12 passes now 1897f97 Impredicative breakage 81c20b8 Cant unify under an implication 705152f Two expected breakages edf395e Can't do type-function equalities under forall bdb48a6 Comments only 95a2753 Accept error message change a8ad539 Expected breakages 46394ae Impredicative breakage 8bae12e tc216 fails now (fundep divergence) 83c60bb Accept output 762c286 simpl017 should fail (impredicative) d07507d Accept output 40f9546 Monster patch of testsuite changes with the new typechecker 80685f8 Update output c50f456 Add missing simpl017.stderr 7b5674c Add test for Trac #4302 26159e9 Test Trac #4306 322885c Accept changes (some tests now work) 636c986 Error message wibbles 9868542 Add comment c8bbc83 Add a syb-like test ce40c02 Add test for Trac #4246 1e920ad speedup testsuite driver startup on Windows/OSX Instead of calling "ghc-pkg list" and "ghc-pkg field" for each package, call "ghc-pkg dump" and grep the output. Saves a few seconds on Windows for 'make TEST=foo'. 51da30f Accept error message changes 131987a Test instance reification (Trac #1835) 9ca9712 Update for TH instance reification 3372095 Test for Trac #4240 works now 0cb1b0e Test Trac #4201 (eta reduction) 40b606f Test Trac #4093 bf66c30 Test Trac #3787 b953920 Test Trac #2683 96833f5 T3787 should pass df8ed7e Add tests for T3330 48d5e11 Add test for Trac #4160 168b8f1 Make these typechecker tests run in the optimised way too 1363ab4 Accept error message changes 625cb2e Add two implicit-parameter tests f658f05 Remove spurious "rm -f"s 081d7ce Add a test for #3972 bfe332e Add a test for #4325 f51d12b Trac #4235 works now ea7c3e2 Test Trac #3826 cb76676 Accept improved error message 0cd2b1d Add tests for Trac 4179, 4254 6042fbb Change in error message wording ed7913d Changed error message wording db327f6 Add test for Trac #3696 489f296 Test Trac #1123 5e9a571 Add tests for Trac #3851, 4200, 3692, 3500 e507a75 Tests for Trac #700, 2239 5520f79 when calling ghc-pkg for reqlib(), add --no-user-package-conf 3870919 Test Trac #4178 454f6d4 Accept test output 9b83aec Add four tests aed96e5 fix hClose002 test output on i386-solaris2 platform 25d812a Remove some handling for GHC < 6.9 82aa866 Remove a GHC < 6.11 test 27df8a6 Add an if_compiler_profiled helper and use it to skip the th, ghci and debugger tests when GHC is profiled. a5adc77 Remove a GHC < 6.11 test 0ff83b1 Remove a GHC < 6.11 test 71c1833 Remove a GHC < 6.11 test 9fd203a Skip some more tests when the compiler is profiled d1a5be8 Add a test for #4255: can't use TH with a profiled compiler 070a7cd Fix a couple of framework errors 76976e3 Test Trac #2193 3281a6d Impredicative types no longer deprecated 3587fff Update output: OPTIONS -> OPTIONS_GHC 75f975b Accept (better) output e43f7ed simplrun006, which is a CSE test is broken again 33c1db1 Add a test for #4321 26584c3 Fix reading the --info outputs on Windows 0acf7d1 add test for #4274 8b4be55 comment including ticket no. for #4274 test 0eff684 Pass OUTPUT_SUMMARY on to the testsuite driver 03985b3 run stdcall tests on non-Windows platforms too (#3336) 950116d accept output (:show packages) f8935df T4321: use -msse2 to get reproducible floating-point results on x86 6234e1d update output (-fwarn-tabs) 9994dad Test Trac #4371 b45feda Accept changes 08e0fa5 Accept error message changes b8e1444 Accept output 4355297 Add tests for Trac #4345 and #4361 b6c2bfe Accept output b66f64f Test Trac #4355 c54b384 Add mtl dependency for T4355 811690f Test Trac #4358 22535fa Update tests now -fglasgow-exts is deprecated 1ecb52f Remove more -fglasgow-exts uses from tests 27dc436 Add a MAkefile 7e19c45 Remove more -fglasgow-exts uses from tests bd5fdf0 Tweak tests 877b420 Fix cc004 93c94f6 Add -ignore-dot-ghci to a ghci test 41b7552 Add tests for interruptible FFI annotation d58ee91 fix expected output 5a1f810 add test for #4381 eabdad3 omit conc068(threaded2), it is non-deterministic 9b9226d need MagicHash 0e04e0b gadt2 needs ExplicitForall 5f0fb8f Nilsson needs ScopedTypeVariables a7bd8df accept output (InlPrag no longer has sat-args for NOINLINE) 5fa0704 Test Trac #1634 4bfa371 Add a test for -fno-ghci-sandbox 9268e0b Add a test for #4401 12bf683 Add a test for #4404 458c134 Add a test for #3651 4bb4c08 Replace the test for #3731 The old test was broken. The new one is from teh ticket, merged into one file and cut down. 4214797 FIX #4409 Now needs the NPlusKPatterns extension. f4f61e4 Fix dph-smvm, follows move to Data.Vector c749fcc Add a test for SCCs being correctly generated eb751c0 scc001 is broken (#4414) 654bac4 Test Trac #3023 2661597 Roll back bogus changes to debugger output d1a9147 Trac 3651 works c1eb4b0 Debugger improvements 3be5704 Test Trac #3023 and 4358 ee9fe3d Accept changes dcbba88 add HasKey test eb07a21 Accept output c2b61cd Accept output 306dd0d GHC 7.0 now rejects superclass equalities (rather than behaving inconsistently) a41da5a T3651 isn't in this directory! It's in gadt/ 73f2464 Update output f1564fa Add test for Trac #4418 b275026 add test for #4334 (space leak in Data.List.lines) 01d525a Add tests for view patterns in template haskell (Trac #2399) 27ec50d Test Trac #4398 eb699fb Follow warning message change 644e5d9 Add test for Trac #4356 34d3bca trac #836 tests 0d8e310 Use the RebindableSyntax flag, not NoImplicitPrelude 94651af Follow test output changes ede3466 Add a performance test for #3736 ee75b9e Add a performance test for #3738 b8dc00a Follow GHC.Bool/GHC.Types merge e7eda10 Add a performance test for #3064 585643f T3064 allocates less in the stable branch 2859077 Give break007 its own copy of Test3.hs It compiles it, so it can cause problems with other tests if it shares the same source, as they get confused by object files appearing and disappearing. 2470c32 Test Trac #3638 ac3877c Add tests for Trac #4436, #4439 7fc1604 Add a test for #4437 (check all the GHC extensions are registered with Cabal) 22c2038 add test for #1666 b1f70eb accept output (more warnings) c833fdc accept output (some re-ordering in error messages) e53cf24 Add method-sharing test fc898b0 Add a test for trac #4444 323c292 Add a test for #2846 9351cdf Follow change in typechecker error messages d7304d8 Comments only 845aff2 Add test for Trac #3440 2b6b2a7 Add a test for returning memory to the OS 5695c1a Add 'unless_os' testlib helper 5bbc839 Add a test for #4464: -rtsopts and dynamic libraries 15353f8 Add test for Trac #4492 a4d9a40 Test Trac #4484 be72302 Test "frozen" type errors 42a4a85 Follow error message changes with new typechecker cd9e8ad More LANGUAGE BangPatterns db74f97 Lower the bounds for T3064 GHC is now more efficient; hurrah! 71de40c Update 32-bit memory usage for T3064, following GHC space improvement f911d4b Add 32-bit memory usage figures for MethSharing 02ed46a Add 32-bit memory usage numbers for T3738 7d9eae0 Add a framework test for the package cache file being modified Tests shouldn't touch the compiler's package database 582f85a Use a local database for cabal01 b8033cc Test Trac #4494 ce026bc Add test for Trac #4485 e1d9ee1 Test Snoyman's emailed data family deriving program d6bc56c Test Trac #4174 4cba029 Add tests for deriving Typable on data families 850e09e Test Trac #4489 f53b2d9 Test Trac #4488 9497869 -fwarn-identities doesn't test for fromInteger and fromRational 5a37330 Improved warning 55fe19b Reworded error message, and slightly fewer -fwarn-lazy-unlifted-bindings warnings 1a3364b Test Trac #4498 a9535df Test Trac #4497 285414f Follow error message change (Trac #4499) 9a1b350 Fix 7.0-branch testsuite behaviour f93b31d Remove special results for old GHC versions 0b0e489 Remove old stdout/stderr files for old GHCs fc8ecf8 de-tab readFail027, and remove trailing whitespace 2a748a0 Add RelaxedLayout to T4437 ea89b3c Accept output for hist001 (#3165) 0d3d7bd update expected values c13ab31 Accept output 33d795c Allow a lower peak_megabytes_allocated value 808d4a1 NondecreasingIndentation tests 263e0f5 And and update RelaxedLayout tests d26caff add some Unicdoe to the hSeek/hTell test acf9517 update expected values ae959ec Add a test for reliable encoding errors 10f7cee add test for #4262 2538823 skip #4262, it doesn't give reliable results 998831a add test for #4373 4181ff3 Test Trac #4524 1a8269a Remove NewQualifiedOperators tests (extension no longer supported) f920dbf -XPArr is now -XParallelArrays 6acbb8a Test Trac #4814 014c745 Add a smaller test for recursive superclasses (T3731 simplified) 2919d9a add test for #4808 4313fb5 add a test for #4469 f8b27ad add test for #4813 9d677ee cope if the compiler doesn't tell us the "Global Package DB" ed49bfd add test for #4811 3b35693 Add some more files to be cleaned 8756fa1 Add a test for deprecated [$foo| ... |] quaosquote syntax 5ad66cf Add a test for #4478 f0517ea Add a test for Read/Show of Data.Fixed 11faa45 Update hist001: The GHCi debugger gives us better locations again 4d86087 -XPArr is now -XParallelArrays 79618a6 Add a test for #4007 00f7285 add test for #4383 bfa3ddf update results following fix in #4383 e80d269 Accept core ppr wibble f592af1 add a 'threaded1_ls' way, like threaded1 but with +RTS -ls 2623cba Add Test for Trac #4830 d742618 Test Trac #4534 bea95e3 4262 fails in the 7.0 branch 4b8bfc5 T4478 fails in the 7.0 branch 4a41098 Another, simple, superclass loop test 4907d7d Test Trac 4809 bdb71d4 Error message wibbles 7a46b8b Comments only 7e208ce HsExpr must be an instance of Typeable1 475e4b9 Add FlexibleInstances to tests that need it e89c96b Test Trac #4528, twice 4bc936e Wibbles to error message wording d9cb7a3 Test Trac #4816 06a820f Simplify test case a bit, and add comments 99e6b7b Widen the boundaries for T3064 The limits were very tight; my validate build went just over the allocs limit, while the nightly builds were falling under the lower bounds for peak memory use and residency. 2f94623 Test Trac #3484 ea3df4d Test Trac #3460 ce286f4 T3208b rightly rejects the program 520746f Test Trac #2664 3e23348 4813: remove -debug, it might not be available with certain ways (e.g. prof) 2916e39 add a test for -rtsopts=some (#3910) b1e58e2 add test for stack overflow/underflow with unboxed tuples 492f6ea Remove some redundant CPP checks 645388b Add the stderr for T3208b 8af0c1d Add GADTSyntax tests c9f4191 Cabal tests no longer need to be run 'alone' d49925d Add test for #4850 I couldn't reproduce the bug reliably, but I made a test that demonstrated the problem by creating more OS threads than it should have. ddd5e11 Update bytes allocated for space_leak_001 RTS was changed to calculate allocations more accurately 0489725 Update bytes allocated for T3738 RTS was changed to calculate allocations more accurately b543948 add test for #3837 ad56777 add an old ForeignPtr stress test I found in my tree d28cea1 mdofail004 now compiles c6a15cf Track changes in fuzzy-matching in error messages a60b0f8 Add FlexibleInstances 112cafa Track error message changes 1f23f5d Comments only 7d1e7d2 update values for T3738 on 32-bit 896b448 T4321: on x86, optc and profc are giving slightly different results c506729 update results following fix in #4383 1036d45 fix apirecomp001 following GHC API changes adb2c74 bump stack size for ioref001 0b6b9fb add a test for multiline do, GHCi #4316 38643f3 multiline command tests #4316 5c1bad1 add test for #4876 0cfcb53 Update test mod90 with the new error message. 0b7702d Test Trac #4875 2961f32 Test Trac #4870 a740ece Follow change in out-of-scope variable suggestions b1a7054 Follow improvement in kind-error message 2274617 Follow wibbles in conflicting-instance error messages 3f01f3b Test Trac #4801 ca15920 Test Trac #2722 0b00c6a Massive bunch of changes to track my massive refactoring to the typechecker 4ea571a Add a missing change 2d96883 Test Trac #2544 b704f0a Track changes to the finder's error messages 3b5c38f Track recent changes in error messages 6ccd658 add test for #4895 b03d50d T4488 fails in the 7.0 branch 0346540 Accept GHC 7.0 break024 output b63366f Add some 7.0 stderr's 1ffd496 Add 7.0 output for mdofail00* tests 82c8c4d DPH: update command line options of DPH tests 3a33a98 Test Trac #4917 73df3b6 Redundant case is now eliminated 698f822 Test Trac #4912 b8688dc Test Trac #4903 eb4c7e4 Test Trac #4918 6b18393 adjust values for 32-bit 5871d81 Better simlifier output following SpecConstr fix ea6cd21 Follow changes to optimised code after fixing Trac #4908 cec6e4d Fix bogus error message 20363fe Test Trac #4908 0491ff9 Test Trac #4930 df5a486 Test Trac #3169 cd30705 Test for strictness loss in FloatOut 3df4b6f 7.0 branch updates 68c06eb expect pass for length001(ghci) aa184f0 Update some renamer tests to not use the haskell98 package 96b4ce9 Remove the haskell98 dependency from some ghci tests 32bdc52 Remove the haskell98 dependency from some renamer fail tests d421a68 Remove the haskell98 dependency from the lib/IO tests 9ef0f42 Remove the haskell98 dependency of the module tests 8357812 Remove the haskell98 dependency from the deSugar/should_run tests 1e77e5b Remove the haskell98 dependency from the codeGen/should_run tests 3d7189f Remove the haskell98 dependency from the typecheck/should_fail tests 1cfe243 Remove haskell98 dependency from parser tests e17c468 Remove the haskell98 dependency from typecheck/should_compile tests 57ad42e Remove the haskell98 dependency from some lib tests d470a4c Fix the haskell98 test a7461b4 Remove the haskell98 dep from more lib tests f4738c9 Remove the haskell98 dependency from various tests 965ad7d Remove the haskell98 dependency from more tests fc6f449 #1333 is fixed now 9afb4d7 Remove the haskell98 dependency from the array tests f334a97 Remove concprog003's haskell98 dependency, and remove some unused imports b5c2c31 Remove the haskell98 dependency from full-testsuite tests 5a3b96a Test Trac #4935 2f2ebd3 Test Trac #4949 486294b Add tests for quasi-quoting unboxed values 83b1dbc Add a test for TH and unboxed tuples f8cd1a4 Add test for sizeofArray# and sizeofMutableArray# 6335532 accept output (unicode tables updated) c233512 Test Trac #4935 af6ebe5 Test Trac #4957 c872772 Fix testsuite on 7.0 branch ddb23e1 Test Trac #4966 5ea6c19 Follow error message wibbles db79f82 Error msg wibbles due to VECTORISE patch fec5524 Test Trac #4952 74497b2 Test Trac #4969 f94f4d9 Remove heapprof001's dependency on haskell98 0a57d44 tests for :script #1363 9ab6e6b Add a Makefile to ghci/prog011 3ceae5a Update T1789 output c5d2cbf Fix #5003, test 4038 (ghci) fails on OS X 64 bit. db5d6c7 Correct expected exit code on OS X 64; fixes #5046 35cf5ab Test 4808: Follow change in GHC.IO.FD.openFile definition e59c82b Remove the optc and profc ways -fvia-c is now a no-op e2a0f2a add test for GHC.Conc.allowInterrupt e65cb19 add test for #4441 28ee57c add tests for forkOn and threadCapability 2440c2d 1288, 2276 and 2276_ghci are broken on i386-apple-darwin (#5052) 054f6ed Mark some dph tests as broken (#5065) 41473ca Remove spaces from wc output in test 4850 Fixes the test on OS X 6bf44c4 Fix driver024a in git d42e6cb Fix driver062d in git f7af4f5 Fix driver062e in git bedeada Fix recomp003 in git 096e192 Unmark 1288, 2276 and 2286_ghc as broken now that #5052 is closed 30e4529 Add .gitignore file for testsuite dc34ea9 Remove any mention of optc/profc from all.T files b0deb74 Follow Cabal changes in ghcpkg01 4926f93 Merge branch 'master' of http://darcs.haskell.org/testsuite 0309610 Ticket #4404 is now fixed: update test f3f033b Add a test for #4891 3326f68 Add test for #4832 30e6a44 Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 692bfea Tests for trac #5025. 1729728 cope with multi-digit file descriptors (#5066) Thanks to altaic for the patch. 455b59b avoid undefined behaviour in arith005 f0411b5 T3064: lower the minimum peak_megabytes_allocated to 8 for 32-bit (currently 9) b788acf Remove -fvia-c tests c3a53d1 fix tests following changes to stub-file generation 02bd5ea Test that hPutArray/hGetArray use count argument: #4827 d0b0116 Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 63c13a7 Add a "sleep 1" (should fix #5080) 7404081 add some debugging traces 3cf2abc Merge branch 'trac_5025' of https://github.com/thoughtpolice/testsuite d364200 2228 no longer fails on MinGW due to isatty patch. d7f3038 Test case for CmmOpt inliner on non-single assignment code from new codegen. badbad3 Test for getProgName. 353e4db Merge remote branch 'origin/patch-4404' 54b357c Merge branch 'master' of http://darcs.haskell.org/testsuite 85e796a fix stub tests be09626 Add cgrun067, which can tickle premature stack slot reloading bugs. 5dcfb59 Fix T4891: Don't hardcode the patch to GHC 2efd47b add a test for #706 163a7ee Fix cgrun067 c36ee3d Add a boilerplate Makefile f0ff84d objc-hi is broken on 32bit OSX (#5106) 947f028 T4801: reduce memory use thresholds 8e8c3d5 RtsFlags.h has gone away (it was deprecated) 2f55ea0 objc-hi now passes on i386 Darwin 00440b5 test for #5114 8d151e1 Fix ffi022 on Windows 32507af Fix readFile001 on Windows ca3b93b Fix T4809 (depends on mtl); fixes #5121 db673d4 Add JMP_TBL fixup test. 8792fd6 Add a performance test for #2762 67b2af0 Add a test for #2902 4c1bca1 Replace simplrun006 with a less fragile perf test T149 e66ff25 Fix recomp008 when $(TEST_HC) contains spaces 440dddf Fix imports in HappyTest.hs 9f096bd Make T706 use -ignore-dot-ghci. fd44046 Test Trac #5041 7a6a7a3 Run GADT tests in optimisation mode too b534b27 Test Trac #5045 9ce49f6 Test Trac #5038 c958de1 Test Trac #5130 16fb7ae Test Trac #5126 6c32ee8 Add TEST_HC_OPTS to every Makefile invocation of TEST_HC cdd6afc skip T2615 on Solaris which does not support GNUish linker scripts 81525f9 Merge branch 'master' of http://darcs.haskell.org/testsuite dad1bf2 Test Trac #5113 27e2c65 Test Trac #5084 e54809c Adding test for #5120 6784081 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics d6b517d Add some pre-test-cleaning to rn.prog006 a07c8a4 Adapting the testsuite for the new generic deriving mechanism. f0f582e monad comprehensions: test suite 9544858 Pass TEST_HC_OPTS to Cabal tests 49f1874 Add print007.stderr 2ec3ee9 Accept error message output changes 30724a0 Modify tests, mostly adding -XTranformListComp 69cc9a5 Add some tests for the new generic deriving mechanism. 156cd39 Merge branch 'master' of http://darcs.haskell.org/testsuite 857405e Revert commits 53b30fac9fc30d9d85cc... and c8244f5cd31774de2e39... as they were not intended for master. 4163d2c Revert "Revert commits 53b30fac9fc30d9d85cc... and c8244f5cd31774de2e39... as they were not intended for master." dc4b013 Add expected output for these tests. 2288d81 Adapt outputs for the fact that the hasGenerics field is gone. 92af817 More tests for the new generic deriving mechanism. 8e967dc Add test for too many/few args in higher order situation 26ea1e8 Adapt the testsuite to the recent ghc-generics changes. 41ab7dc More adaptation of the testsuite to the ghc-generics changes. 56db641 Test Trac #5117 fd25485 Ignore more things in the testsuite ca32a1e Merge into monad-comp branch 9107d82 Follow error message changes d02b4bf Skip jmp_tbl test for llvm when -fPIC is unsupported. 26af053 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 26c4300 Merge branch 'master' of http://darcs.haskell.org/testsuite 0ad3cf3 Test Trac #4851 dabffee Test Trac #5168 4dae41e Track error message changes 77a7a22 Merge remote branch 'origin/master' into ghc-new-co 30f7ddb One more error message 412c310 Move tests out of h98; directory now removed f2ff83c Moved tests out of tests/libraries 2f5b50e Adapt the testsuite to the renaming of `Representable0` to `Generic`. 2672cde Rename the generics tests. Add a test for the deprecation of -XGenerics. 177ba82 add a test for #5149 2bc8e1a handle spaces in $(TEST_HC) properly 4a48544 update some 32-bit results (we got better!) c5cf3b3 Adapt to the improved error output. d779ff3 Track monad-comp error message changes 098aa6c Merge branch 'master' of http://darcs.haskell.org/testsuite c61d9a1 New coercion rep breaks 'T1999a' and 'termination' 8c37bcb Compiler is faster on T3064 5c166dd Fix comments in test a785d57 Merge branch 'ghc-new-co' 10810a9 Adapt testsuite output to the new deriving error messages. f15db4b Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics a2380e7 Add StandaloneDeriving d5b7764 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 32a173d Add -XDeriveDataTypeable 698c122 test Float properties too (#5178) aa78954 accept output 0a2730e Accept output for dynamic001 10ccac8 Fix annrun01; follow changes in GHC API c52ac8e - remove threaded2_qw way, the -qw flag has been a no-op for a while - add the threaded2_hT way, for testing +RTS -N -hT (#5127) - enable threaded2_hT for concprog002, to test for #5127 56215d5 Update syntax for records in GADT syntax 90dad59 Remove control-M 67417c3 Merge branch 'master' of http://darcs.haskell.org/testsuite 854f437 Small diagnostic print changes 40ea804 Trac #4370 is fixed, so all these work now 96780d4 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics e123a07 dos2unix on these two files. 45021cd Another test case to tickle a new codegen bug. d248787 massive_array: -dynamic not necessary. 9b48454 Tests for the PEP383 functionality and bugs it fixes aa404a6 Test #2245 e668209 Expanded .gitignore 2ad0384 Accept improved error message for ds022, following FloatingLit change 0edad9b Ignore files generated while running tests 71688f1 Mark num009 as expect_broken on OS X eeb5304 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 632d0a5 Update encoding002 given that we use private-use characters and //ROUNDTRIP 2e0e320 Avoid roundtripping characters in encoding001 ee549c6 More tests and wibbles in existing tests. 34480fe Merge branch 'master' of http://darcs.haskell.org/testsuite 9045999 Change to the 0xEF80..0xEFFF private-use range for //ROUNDTRIP 225af9b Adding -fcontext-stack flag option to SlowComp. Compiles in under a second now (fixes #5030) but needs large context stack. 971a81e Merge branch 'master' of http://darcs.haskell.org/testsuite 7896bd5 Add test for array copy/clone primops ab00ea4 Add stress test for array copy/clone primops 9027efb SlowComp needs a reqlib('mtl') 031d583 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 4dac997 Add a new test to test for a strange error when missing FlexibleContexts. 54241a3 test +RTS -G1 for the codeGen/should_run tests 6fd09bc Add "LANGUAGE DatatypeContexts" pragmas to some tcfail tests ee66f7e Add "LANGUAGE DatatypeContexts" pragmas to some tests 53a780b Remove datatype contexts from readFail001 2f1a43b Add "LANGUAGE DatatypeContexts" pragmas to some tests f7b96c0 ghci008: accept output: types no longer have datatype contexts 17d4776 Accept changed output for a couple ghc-pkg tests 539ddc1 add tibbe's perf regression test for #4978 569830c fix test following changes to inlining heuristics 150277e accept output 6141d75 Add filtering and accept output for ghcpkg01 ca81f39 Don't hide test commands when running make by hand 44f1597 Fix 3307 for people who don't have the en_US.UTF-8 locale 68999f6 Fix 3307 and environment001 35baa54 Merge remote branch 'origin/master' into ghc-generics 19f1816 Update tests for generics e266b3b Mark T3064, IndTypesPerf, and T4801 as expected-broken pending attention to Trac #5224 807f9c8 GShow fails for now (#5227) 58160c6 Always run cgrun068 e1448b9 Add test for new ghc mem* prim ops ba16431 fix cleanup for T4903 de57e6f IndTypesPerf and T4801 are temporarily unbroken (#5227) b81541b Remove an out-of-date comment 24f117b adjust values for T4801 on 32-bit a094f78 T4978 seems to allocate about as much on 32-bit as on 64-bit, so update the values. I'm not sure why this is - perhaps all the allocation is ByteArray# or something? I checked the Core and it looks reasonable. ad78df6 Adding test T5236 from Trac 3740b0a Mark GShow1 as "normal", since #5227 has been fixed. dc03ce4 Merge branch 'master' of http://darcs.haskell.org/testsuite c5734be Test Trac #5246 39f4bc6 Tweak test 3307 93d4133 Add some ASCII output to 3307 f20a7a2 3307 is broken on Windows (#5253) 2c4821b Ignore .tix files f5412ce Test Trac #5252 a0e01c6 Test Trac #2436 1d030fb Less UNPACKing in GHCi (Trac #5252) e6a4fb5 Ignore .stackdump files ba50519 Part of test for Trac #5252 cce849c Tweak UNPACK pramgma test aeaf958 Merge branch 'master' of http://darcs.haskell.org/testsuite 1ea5228 Test Trac #5211 b47643f Test Trac #5217 d19d3d4 Test case for canonicalization bug. 48757c1 Merge branch 'master' of http://darcs.haskell.org/testsuite 03e402f Add test for unrolling memcpy/memset in the x86 backend b23ecc8 Fix bug in mutlisrc compile not picking up compilation errors. 8428e08 Merge branch 'master' of http://darcs.haskell.org/testsuite bc0ab18 Show directories in testsuite summary; partially fixes #5024 a0799f1 Follow DatatypeContexts deprecation 993cfba Remove the tcrun007 test c22dc03 Update output for recomp007 eb6f5d3 Test 'gadt/termination' passes# f9d25f5 Test Trac #5037 0f97bbe When tests return 'fail', return a 'reason' too 0cebaf8 Print the reason tests fail in the testsuite summary (#5024) fcb48a1 Add a simple test for ticket #1595. 67eb92f Merge branch 'master' of http://darcs.haskell.org/testsuite 612c3b7 Merge branch 'master' of http://darcs.haskell.org/testsuite 075655b Add test for byte array copy primops 7c4d3ad Adapt DPH tests to recent changes in the DPH libraries. 8fefa25 Accidentally tracked some binaries. Now added them to '.gitignore. 6826e08 Fix up testsuite for SafeHaskell 5b2940f Test Trac #5051 81b8459 Comments, plus Unix file conventions ffcaf21 Accept error message changes after removal of silent superclass parameters 1409f85 Add tests for superclass equalities 11c398d InstEqContext and InstEqContext3 both pass now (superclass equalities work) f50237c Test Trac #3018 0da9cdb Semi-fix 4006 on msys cbc8f10 Expect 4006 to fail on msys 136cbdd Improve a comment f2a3fac Update Windows output for ghcpkg0[35] 53f7e4a Merge branch 'master' of dippy:c:/msys/1.0/home/ian/ghc/testsuite 8a1d083 Tweak environment001 1891f1f Fix dph-words. sliceP no wants its second argument to be the slice length. 8e1bed9 Merge branch 'master' of http://darcs.haskell.org/testsuite 3167d74 Merge branch 'master' of http://darcs.haskell.org/testsuite 5505d87 Fix 3307 on Windows 93f0a15 Turn the #5030 test into a performance test db26a24 Add a perf test for #5205 7efb2f6 Remove a commented out import af8a5a6 Fix tcrun006 and tcrun029 (they need DatatypeContexts) 78dd7f5 slightly reduce the lower bound for peak_megabytes_allocated for T4801, I saw one failure here. 1053d72 omit conc016(threaded2), it gives nondeterministic results 06d0dda Fix spurious failure in ghcpkg05 in the nightly build 5e5fa7a remove datatype context 3d99ee1 T3064 is no longer expected_broken(5224), and adjust the ranges (downwards) ed6f0d6 Another variant of hashStr, this one caught a Hoopl bug. 7040713 T3064, T3294: update 32-bit values (downwards) 116672b add a test for stack pointer alignment (see #5250) 075af95 Add .gitignore ee47972 Plugin tests fd12968 Add another test of home-package plugins 08b9bcc Add another home-package-plugin test 7d67222 Add expected-fail test showing plugin linking is faulty 5aab5ca Test Trac #5283 aac4335 Trac change in ids assigned by specialiser 3780ba1 Test Trac #1595 aa22ff2 Fix validate failures with more quoting d01c1c8 plugins01 fixes b56af6e Remove GenDeprecated test 95a3a25 Skip optllvm 44fcc0a remove optllvm from other_ways (it is already automatically added to run_ways, having it in other_ways just causes strange effects) 3a17ede Add test for #5129 a63069e Improvements to testsuite to allow more complex tests 5faed3b Add tests for Safe Haskell 0fbb62e Pass defaultLogAction to defaultErrorHandler in annrun01 895dc2f Rename T1595 because there is T1595 in typecheck/should_fail already 3e9cc50 Fix some issues with safe haskell tests 6cd7909 Clean .comp.stats files 85001ae Mark tests which depend on random afe452c Accept output for a few dph tests 8564b05 Update tests for new InterruptibleFFI extension 0f15c50 Add some more safe haskell tests ee7949b fix up existing Dynamic/Typeable tests and add a few more 53a6cc8 update following changes to tyConString c7dd6db add test for #5243 1dbfdf4 Fixes to safe haskell tests when run with THREAD 32d9610 Update safe haskell tests after removal of SafeLanguage f4ce3b2 Formatting wibble 948c82d More THREAD fixes to safe haskell tests e182041 Handle missing stderr files 0480136 TH doesn't work in a stage 1 compiler af63209 Make and use a req_interp helper d7b647a Remove used of python 2.5 feature 7f6a5a6 test for #5313 db53da3 Fix some (significant!) white space 10d09ea T3064 sometimes uses a little less memory 6da0343 Test Trac #5315 2d0540a Stop CheckA and CheckB sharing a source file c9d1b37 Test Trac #5300 3101c49 Accept wibble in core-syntax printing baf3b51 Merge branch 'master' of http://darcs.haskell.org/testsuite cc08997 Test Trac #5329 487c80b Fix a driver problem with older versions of python d6b1a57 Add a test for #5332 (unboxed singleton tuples and TH) 3019b1e When the output files differ, present the diffs between the *actual* output, not the normalised output. The latter may have newlines removed, making the diff unreadable. I broke this recently, but it was only working by accident, now it is working by design (and is commented, to boot). 6594600 fix 5313(threaded2) d1ae79f Add a test for #481 cc4d1ff fix 5313 when BINDIST=YES (need some quoting) fda1f8a Test Trac #5334, #5331 ae6129e Merge branch 'master' of http://darcs.haskell.org/testsuite 5296caf add test for #5314 ebd422a fix a bug in displaying diffs when there is no expected output 16514f2 Move tests from tests/ghc-regress/* to just tests/* 1b292eb Update some more files for ghc-regress removal 96de88d Remove old darcs file fd4250b Add tests for Safe Haskell Typeable instances feature 7f69762 Use mutlimod not '--make' in all.T 742978f Follow output wibbles de0fbd1 Add InterruptibleFFI extension 19ecb95 accept output bf4b825 T3064: widen the expected results again. 3cd7b40 Test Trac #5290 e499561 Fix dph-diophantine (#5065) 1c40062 Test Trac #5303 b4c7862 Monir tweaks to annrun01 da1938c dph-diophantine-opt fails for the same reason as dph-diophantine-fast (#5065) 8b7e253 Accept plugins04 output 8b9fffb Test Trac #5287 e5cda42 Merge branch 'master' of http://darcs.haskell.org/testsuite 1bcd34c Improved error report 53bccbb Ooops, I messed up the stderr file for T5287; this fixes it 4f52ee4 Add a test for Integer constant folding d8b3d62 Accept EvalTest output (change of whitespace) f42770d Merge branch 'master' of http://darcs.haskell.org/testsuite fcaa1f5 Test unresolved infix expressions and patterns 006e534 Slightly reduced compiler allocation in T3294 c25980f Different order of -ddump-simpl definitions 9d79948 Simplify TH_unresolvedInfix2 cb692c5 Test Trac #5342 55271bc Track error changes resulting from fix to #5281 31675c9 Test Trac #5281 171846e Tiny increase in compiler allocation 04a19ff Error message wibbles b01ecfd Mark plugins06 as passing (using reinitiliazeGlobals) 2752726 Error message wibble (fixes #5351) f79861d Merge branch 'master' of http://darcs.haskell.org/testsuite b65f16d Fix integerConstantFolding on 32bit platforms 4e05b61 Whitespace only 87a5ef5 Error message changes due to pretty-printing of provenances 1aa636c Error message wibbles due to reordering constraints (the DPH problem) c99860f Simplified API for GHC.setContext 3c63183 Merge branch 'master' of http://darcs.haskell.org/testsuite c10e3ff Improved error message 41e5e78 Tiny increase in allocation for T3064 3eb85d3 Test Trac #5359 619d8d8 Test Trac #5358 8632b53 Test Trac #5306 6dee925 Test Trac #5362 132f398 Merge branch 'master' of http://darcs.haskell.org/testsuite 299e4d0 Spelling suggestion has changed cb37643 Unique-name wibbles in SpecConstr 085a89b Different order in generated export list 53e07d8 Test Trac #5147 2059d2d Add a test for #481 8b5a1b8 support globbing in extra_clean([...]) 24f1eaa add a test for #5289, and various other GHCi linking scenarios 81c3aea Fix a framework failure on Windows when accepting output, and allow accepting output when the output file does not exist (it is now created). 42b2df8 bump alloc limit for T3064 6e86ac1 Dot-ghci needs to be ignored. d7bc712 Remove recomp009 from tests/ghc-regress/driver, it's now in tests/driver d6a1379 We now need DebuggerUtils for dataConInfoPtrToName 9cdff2b Test Trac #5372 b6d68d1 Merge branch 'master' of http://darcs.haskell.org/testsuite 6339c4d Test Trac #5095 25d4863 fix an unexpected pass a55eca9 add some more reqlib('random')s 39828a2 Test 5250 is an expected failure for optllvm due to #4211 5042c0c Don't specify -fasm in massive_array.hs 7a2c3db Fix test 5149 on an unreg compiler a7ae775 Disable outofmem for OS X 995b512 Fix remaining test failures on OS X/x86_64 8e76f04 add a perf test for the parser/lexer 84a7666 Bump 32-bit allocation limit for T3064 b1b2433 Accept error message changes f53c388 Merge branch 'master' of http://darcs.haskell.org/testsuite fa3fb70 Test Trac #5379 e252030 Accept output (one more for #5379) 5b5294f Testcase for objective-c++ compilation (trac #5150) 6f663a6 Move objcpp-hi files out of ghc-regress/ 7b04db1 Add extra cleaning a57f8a3 Rename files and fix cleaning for GEq1 974c629 Add more cleaning 5f12b5e Add support for checking whether files are written by more than one test 5348e23 Test Trac #5385 1c4413d Merge branch 'master' of http://darcs.haskell.org/testsuite 424174d Accept error message wibble a012b78 remove duplicate test (driver/recomp009 is the same test, from #481) 9eac5df Fix race condition with SafeLang15 120d266 Fix silly mistake with SafeLang15 3d6dcea Use True/False rather than 1/0 for opts.alone 9d561c3 Fix up Safe Haskell tests for recent ghc changes. 3d6d967 Update ghcpkg01 for changes to safe haskell 2d7de12 Add test for #5402 8d0d8a2 adjust 32-bit stats for parsing001 b86d227 Tests for Trac #5404 and #5410 f8638de Partial fix to a test-framework crash affecting #5313 ea991e6 Merge branch 'master' of http://darcs.haskell.org/testsuite 7020145 Accept changed output (resulting from fix to #5410) 5bf960e Test Trac #1897 57e41d9 Test Trac #5032 ad68e98 tc168 is supposed to fail with an ambiguity check e5680cb Error message change 07f62bf Add some new code to T2693 abb92c1 Remove ambiguous defn (now rightly rejected) from T3346 94c2f39 Test Trac #2357 52cc4e1 Add missing stderr files 7389faf Add test for popCnt# primop 53ba351 dph/quickhull: Import vectorised Double d1dc7d4 .gitignore 3a9794b Fix Python crash caused by quoting problem in test for #5313 c6a646d Add debugllvm target d278292 Formatting fixes c667ee4 Accept output changes (related to patch for #5417) dd4e4a1 Merge branch 'master' of http://darcs.haskell.org/testsuite e8f0225 Test Trac #5417 c19deeb Wibbles to accommodate TH changes (Trac #4429, #5406) 0f02c58 Accept benign changes to stderr after removing a hack in the type checker that affects dictionary order 95de2a5 Merge /Users/benl/devel/testsuite/roldugin/testsuite f7c13b6 Merge branch 'master' of http://darcs.haskell.org/testsuite 8167ff3 Follow ghc-prim changes 1c1f2d1 accept output db73d0e Fix incorrect test 6d43f0f Accept error message wibbles b7aa8a8 Update error messages; and SimpleFail10 now passes dee226c Test #4429, #5406 b38eae1 Add a test for ":show imports" 1a7ee66 add a test for #4988 8be4a04 accept the correct output 9c1c2ef Merge branch 'master' of http://darcs.haskell.org/testsuite 8af2f36 Test Trac #5439 7ef9f22 Fix some more race issues with safe tests. 7814e7b Improve the check-files-written testsuite driver functionality d45fc36 Remove ^Ms from ghci025.script 8dd8177 Stop ghci025 sharing files with prog001 e8f1741 Tweak the outofmem and outofmem2 tests 19bb5ca Stop BadImport03 using BadImport02's sources c427e93 Check explicitly for writes to ghci_history e29b6d5 Use -fno-ghci-history when running tests d947d38 Test Trac #5434 and #5452 12c8daf Error message wibbles ef943d8 Don't use qualified names in in binding positions c5fd250 Merge branch 'master' of http://darcs.haskell.org/testsuite b4b59ca Error message wibbles 06127a2 Change test, now that imported data families don't get implicitly exported b336462 Test Trac #5424 deeceec Trailing Whitespace 2371c5b Fixed imports 32761ba Improve the check-files-written testsuite driver code 53be4ed Improve check-files-written mode 97d7cd9 Tweak the shadow test 20450f6 Fix some written-but-not-cleaned files 31afed7 Fix some more written-but-not-cleaned files 6d22763 Fix some more written-but-not-cleaned files ce76f53 Tweak openFile003 c76825a Use ReadMode in finalization001 a6bef02 Whitespace only in encoding001.hs 41adf38 Fix some more written-but-not-cleaned files cb41ea3 Test Trac #5453 9ca6350 Test Trac #5458 35d7722 Merge branch 'master' of http://darcs.haskell.org/testsuite c5aa25e Whitespace only 4346c12 Fix typo (TT5458 -> T5458) a305d0d Test Trac #5455 a6c3734 Reduce context stack max depth, to avoid validate running out of memory a6b7bb8 Wibbles for Trac #5455 test e9fab19 Fix some more written-but-not-cleaned files 04fd366 Fix some more written-but-not-cleaned files 3ff21bd Don't clean tests that we aren't running 1ba832e Fix some more written-but-not-cleaned files in driver/ 83db11b Fix some more written-but-not-cleaned files aa65815 Add a Makefile 89f34a4 Fix some more written-but-not-cleaned files 877dc99 Fix some more written-but-not-cleaned files 12850c1 Fix some more written-but-not-cleaned files 49eee08 Clean more in the plugin tests 84cf6cd Clean more stuff in the safeHaskell tests 8b5a2b4 Test the ConstraintKind extension and related changes 400842c Test abstracting over a type variable of kind Constraint f92f720 Make the test nicer, now that associated types can mention type variables not in the class faa2503 ConstraintKind -> ConstraintKinds 0074dc0 Test Trac #5441 eaf6a58 Test associated type defaults 3723ffd Merge branch 'master' of http://darcs.haskell.org/testsuite 0d963be Accept increase in T3294 allocation 9857fca Tweak tcrun043 to test constraint tuple codegen 09af1e9 Merge branch 'no-pred-ty' 02a0b7d Bump T3294 a bit higher again due to high variance 9a3d824 Test irreducible-evidence self-interactive d7114e7 Test #5481 c46faf3 Add a test for #3103 7a10aeb Add a test for #3743 0b378db Fix arith013 following integer-gmp changes 3c4cbdf Tweak EvalTest to be less sensitive to whitespace changes 40801ee Test Trac #3592 06d452d Test Trac #5478 54ced85 Accept error message change a3661c6 Improved debugger output bc0183f Test Trac #5490 1170912 Merge branch 'master' of http://darcs.haskell.org/testsuite 84f98e1 Add a test for Integer literals in interface files a6dc8a8 T4239 now passes 06d637b Update T4801 bounds eaae2a0 Add missing file cf37945 Rejig how performance test stats are stored 2a24c3c Add amd64/OS X specific stats to the T4801 test b4d3426 Merge branch 'master' of mac:ghc/git/val64/testsuite 0ce6b6c Test cases for GHCi data, class, etc. 30a698d add test for a bug with :force 52fd56a update error messages e3e2bab bump max_bytes_used for T3294 0224b80 Remove quotes from echo'd comments in GHCi script 0a9c183 Fix #5436 by using 'recover' on handle EOF 8c428d7 Revert "Remove quotes from echo'd comments in GHCi script" dddb294 Merge branch 'master' of http://darcs.haskell.org/testsuite 767c1b7 Attempt to fix decodingerror002 test for non-UTF8 locales 9f70e96 Don't use "with lock" syntax in the driver c9e94c5 Test some more Integer constant foldings 83e34c3 Fix ghci038 on Windows 8051c69 Tell python to let us use the "with X:" syntax cec1859 Update test output following change to associated type synonym default kind-checking time 7139942 Add test that caused <> before fix to associated type defaults 25d6a04 Fix decodingerror002 on Windows 11152ac Make T4437 more thorough, and update it f8e0e9e Add tests for NoTraditionalRecordSyntax 6421302 Wibbles to error messages following fix to Outputable.quotes 670796e Test Trac #5515 2f9ee36 T5481 should jolly well fail 4512ca1 Test Trac #5513 50029f6 Accept error message wibble b34aa2c Test Trac #5508 94e4202 Test Trac #5514 0cbfe0b Add test case for #5204. e54ec3b Add a test for #5430 9d11154 Add some tests for handling of FFI types 8a051fc Add a test for newtypes and the FFI 1e3708f Add another case to cc015 f1b395c Add a couple more cases to ccfail004 c9a0347 More cc015 cases 59694a7 Add a test for types of GHC FFI primitive imports a374bf9 Add a test highlighting a messy case for FFI type errors a40f26b Accept type error message changes b80cc02 Add a test for dynCompileExpr a434963 Tweak ghci032 1d39571 Driver: define config.libdir for tests to use 7f1d4e7 Run the dynCompileExpr test all ways eb9accf add a test for foreign imports in GHCi 81c3b71 Update perf bounds for OS X x86 8ae3201 Fix #4264 on OS X 809f807 Add a test for the output of -ddump-deriv. 41cfaef Add a test for #5373 (-rtsopts, dynamic libs and OSX / Windows) feacf3d add test for #5425 18a64d1 make the test fail if the sleep doesn't get interrupted (#5471) ae94844 Improve test T5373 610c0e6 Merge branch 'master' of mac:ghc/git/val32/testsuite 001455a Have multi[src,mod] test ways clean up after themselves. 57938f3 Merge branch 'master' of http://darcs.haskell.org/testsuite 6a58730 Whitespace only in cgrun044.hs 35d2c75 Fix some tests following the removal of Num's superclasses c5eed72 Reduce T4801 bounds on amd64/Linux b214e7a Fix more tests following the removal of Num's superclasses 219eee6 Merge branch 'master' of mac:ghc/git/val32/testsuite 2957cfc Follow removal of Eq and Show superclasses from Num 29caf2a update tests for safe haskell changes cca85ff Change Safe Haskell tests for new -fpackage-trust flag 67918f7 add test for #5545 d5520d6 use "-osuf p.o" instead of "-osuf p_o", to test #5554 f2f3b14 Catch any uncaught exceptions in test_common_work 2ce702e Get rid of the multisrc* test types 73ab436 generalise cmd_prefix to a general function to transform the command 9d9682f add a test for #5558 c0ac40a Merge branch 'master' of http://darcs.haskell.org/testsuite 766e211 Fix passing spaces to tests on Windows, and add a test for it c6b31a8 Simplify the 5313 test definition bf137ad add missing file 0d26f73 follow removal of RunFailed in the GHC API 4cee410 disable profilng ways (GHC cannot interpret code with profiling) e52d58c strip away quotes in the argument, hack to fix 5313(ghci) 33943b9 Merge branch 'master' of http://darcs.haskell.org/testsuite 43fe693 Revert "strip away quotes in the argument, hack to fix 5313(ghci)" 06d7440 Test for misplaced SPECIALISE instance signature e1bd906 Fix T5331; it had a misplaced signature dcd2f02 Test Trac #5533 13b8cc9 Test Trac #5557 bbb1ddc Wibble to error message 67572e2 Test Trac #5549 eb2b012 Test Trac #5570 1d81b32 Merge branch 'master' of http://darcs.haskell.org/testsuite 5830f5e Add new tests for relaxed superclass cycle check 1da8a36 Fix old tests for new superclass cycle error message 6f362e3 Test Trac #5573 ee02ab5 Test Trac #5566 0eab81b Fix spacesInArgs(ghci). trac #5575 0983386 Merge branch 'master' of http://darcs.haskell.org/testsuite 398ef53 Improved error meesage b85ba42 Accept better perf on Windows b31e49e Accept improved stats in T4801 5695b73 Add test for T5581 c38bbab test for #5564 93cd698 fix test wrapper for 5558 2eb3bf1 Add a couple of hsc2hs tests 29ac850 Test :kind and :kind! commands c7dd812 Merge branch 'master' of http://darcs.haskell.org/testsuite b3a3065 Merge branch 'master' of http://darcs.haskell.org/testsuite 4bc68c3 Merge branch 'master' of http://darcs.haskell.org/testsuite adde3f6 Update T4801 bounds for x86 (based on OS X values) f4226ea Merge branch 'master' of mac:ghc/git/val32/testsuite a4a8a28 The hsc2hs tests now pass on Windows, and 3929 is closed ed0bb9b Modify and add a bunch of new tests for Safe Haskell changes ac8c632 Add more Safe Haskell tests for new design 5c466ca More fixes to Safe Haskell test for design changes 2274cbd More updates to Safe Haskell tests 30c94d2 Remove cabal02 17956f1 Fix test T5373 for +RTS/rtsopts changes 8ece5ce Test for #5589. 41b7d05 Test Trac #5592 3cb0621 Test 5250 works on LLVM now. 8509603 Merge branch 'master' of http://darcs.haskell.org/testsuite 275a841 make cg057 compile 5a43b03 profasm does not require the NCG any more 4209133 add an unoptimised profiled way ('prof') d12a8bd code for comparing profile outputs 200325f some more profiling tests 12d9170 print032 is not broken any more 064fc4f accept (better) output fd896fd Add test for a bug in the byte code generator 9f99065 follow changes in Core: Note -> Tick ea7a161 Update GenDerivOutput output e8deec5 Add a test for #5603 07e311d Don't give normalised diff output 9caf805 Add a test for #5380 5c117b6 Add a test for #5267 00ca8c3 Add a test for TH's qAddDependentFile fd5a345 Add a test for trac #5423 5ae42c5 only add -fno-ghci-history if GHC >= 7.3 d6a5995 test for #5421 be88f02 Add missing file 5f48bc1 add test for #5594 73c8cec update to use HsFFI.h (was using the old Rts.h API) 126700c dph-diophantine-fast(normal) fails (#5613) 21bc0ef Update Mixed01 for new output cd98bd8 Follow API changes in DPH tests f09d5e2 ghci038 is expect_broken(5289) on Windows 1591f81 fix test on Windows def631c allow error message normalisation to be customised 0ac1ea3 normalise slashes in error messages 0aa7b0f mark 5250 as expect_fail on Windows fb086d3 add test for #5611 305f85c shouldn't fail the test if we are accepting output d704d6c add test for #5559 (unicode cost-centre names) 6d5e17f Add test case T4491 for #4491. 3eaeb7a Make cgrun059 code slightly clearer 798f3ec Update Safe Haskell test to include recomp checks 7472e33 Tabs -> Spaces 5d78f96 Fix dph-smvm 3029bc3 Merge ../../hack/testsuite 9c2f576 Add test for #437: recompilation bug with '-main-is' 3e0ed81 Add tests for #5054 3de85fd Be explicit about the package exposing D.A.P.Unlifted 8c9b783 For DPH tests, -fdph-* -> -package dph-* 9ab60b9 clean some extra files here c647dd8 add test for #5614 4c9b1ba Whitespace in dph/smvm/dph-smvm.T ccf8629 Add package dph-prim-par because dph-smvm needs D.A.P.Unlifted too 5e1333a New kind-polymorphic core 26c821a Expect T3330c to pass again e20ccfe Add expected failure output for tc167 b951f38 Increase allocation limit for T3064 a bit 49d2d90 Import Constraint to use it 7ec8fd6 Follow dph package name changes 3230598 push the (now correct) output 2d51594 expect failure for 'profasm' too b0e0d27 Reduce this test case further. There looks to be something suspicious going on, perhaps a general bug related to .hs-boot files, we should really look at this. d3b38da omit prof/dyn ways 536905c remove accidentally-left-in debugging output 61b56ba update results (and add an expected failure) for the ioprof test 8a931a6 cgrun057: accept output and mark as non-broken (#948) 4fe140c cleaning of testsuite a49e501 add test for #5626 5a3ddc1 Test Trac #5628 ae13660 fix up 5054 test efb1deb tweak readme 6419e5d Trac #5603 is fixed ef4b72a Merge branch 'master' of http://darcs.haskell.org/testsuite 27d4562 Accept error message wobbles ec709de Test Trac #5625 cc7041e Test Trac #5587 e6d2587 Wibble in T3234 output; this one is rather wobbly a97f82b Fix meaning of the only_ways field (fixed cgrun057(normal) in validate) bef9c72 Set -no-hs-main if the test is not Haskell code d5d71b2 enable RTS opts for GHC 7.3+ 2805bc1 add test for #5584 8affaea T5373 is now expected to pass on mingw32/darwin 5267879 add req_shared_libs and use it 0b266ac Fix T4464 for the new way of handling main() and -rtsopts 83e84e3 Error message modifications for the new constraint solver. 40d4f9f Merge branch 'master' of http://darcs.haskell.org/testsuite 797453a Add the right stderr file to T5625 6fe9d96 add test for #5238 e402b82 Merge branch 'master' of http://darcs.haskell.org/testsuite ae3b9f9 Reducing the context stack for this file, which was looping anyway, to make it fail sooner when we run the testsuite. Due to modifications in rewriting we run out or context stack more slowly than before. Perhaps something to come back to at some point. 8e0165c Merge branch 'master' of http://darcs.haskell.org/testsuite e38d7d2 Remove executable mode from some files 6c094de Add kind polymorphism tests 8c44438 Add kind annotations d874449 Update outputs f9073a7 Update outputs (error message locations) 0031457 Add Safe Haskell tests for new '-fwarn-safe', '-fwarn-unsafe' and '-fno-safe-infer' flags. ea9a94c Merge branch 'master' of http://darcs.haskell.org/testsuite b7c6166 Reduce allocation bound for T5030 6f665b9 Merge branch 'master' of http://darcs.haskell.org/testsuite 346205e New test 'dph-classes' b8aa49b Test Trac #5597 ad35781 Missed zero in tests for T5030 43e7140 Update test suite following the removal of the default grouping clause from the SQL-like comprehension notation 0cf2bde Make this test not require the stm package f519626 Add a test for #5327 89fbd3c Add missing $(TEST_HC_OPTS) in tests 3565a1b Define the GHC "compiler_always_flags" in make; fixes trac #5213 5262def test for #3589 413481c Add a test for T5198 0c8af70 Merge branch 'master' of http://darcs.haskell.org/testsuite b13a599 Filter -fforce-recomp out of TEST_HC_OPTS in the driver tests 9f9ed4d Remove duplicated options from a test f29fa0d Update encoding002 for lone-surrogates 134e325 Add tests for T4474 20d5052 Define 32bit expected values for T4474* 770b0da CPUTime001 has moved to base/tests 9dfd901 Move lib/Char tests to base/tests b9bbe38 Move testsuite/tests/lib/Data.Fixed test to base/tests 319b1cc Move testsuite/tests/lib/Show to base/tests 29fa609 Move testsuite/tests/lib/Numeric to base/tests 378c836 Fix typo 0b550dc Move hash001 to base/tests 96d6b06 Move lexNum to base/tests 9eec445 Move Data.List tests to base/tests 127b5f4 Move ix001 to base/tests 0c2c601 Move lib/System tests to base/tests e48b32f Move ioref001 to base/tests e004dbf Remove posix001 4c559a3 Enable and fix the posix* tests 9a53d8f Mostly fix posix005. Complete fix blocked on #5648. 7c1a774 Enable and fix posix006 fa902db Remove posix007 eba2c7c Remove posix008 ce1baf1 Remove old .stdout files b657214 Fix and reenalbe posix009 9a2af0b Fix and enable posix010 ec98be2 Remove posix011 28e2ccb Remove posix012 93b9ede Remove posix013 e72ea1f Fix and enable posix014 cae73c2 Remove sockets tests 09182c1 add test for #5644 6f94904 Simple test for PolyKinds inference 42967bc Update outputs after renaming the ? and ?? kinds 60d7866 accept output ("Linking" message moved from stderr to stdout) 1954033 accept output 2fb313c clean up test failures dd1a92d test SCC with omitted quotes d8e09ff add test scc004 which is expect_broken(#5654) cd90c22 Test Trac #5655 5e1de50 accept output 2f394b4 Test case for #5643 74961f7 Test for #5237 8a7e20d Test vectorisation of type classes some more e93087d fix this test (need to use reservedSignals) 8b9a506 Update output d4f962f Update outputs dbb2dde Remove GenBigTypes test 0310bd1 dph-classes wibble 9a1b288 Expect 3307 and environment001 to fail on msys; fixes trac #5599 75505d4 Error message shuffling. 4d71ddb Add CApiFFI to T4437 4e0e38e Error message shuffling. 20cc2b6 Add a test by Julien 8b6bdeb Another PolyKinds test b342348 Decrease max bytes allocated limit of T3064 e02ff2e defined prof_ways, threaded_ways and opt_ways automatically 1b29b68 simplify using prof_ways 75bdc3a T3103 is expect_broken for optllvm too 138d63f test for GHC.Exts.currentCallStack 19eaab1 callstack001 requires profiling 854abfe Follow error message changes c04b289 Merge branch 'master' of http://darcs.haskell.org/testsuite 5fa4cf3 Test Trac #5631 aab952d Test Trac #5001 4ad42be Test Trac #5625 299a992 Ignore IDLE in .prof.sample (fix spurious profthreaded failures) 9cb230c accept output e8f513d #5371 is now fixed, re-enable ghcilink{001,004} on mingw32 57412d0 Test for Debug.Trace.traceStack and GHC.Stack.whoCreated 4266f9d skip posix003 on Windows 9bd8efa posix009: omit threaded ways 458cd69 callstack001: add -fno-state-hack to get consistent output 7cf9c77 Update adding source locations to cost centres. 03365e9 Test Trac #5595 4176ca7 T4120 passes now! Hooray 0670411 Track error message changes b4d0a6f Merge branch 'master' of http://darcs.haskell.org/testsuite c743f1f Add note the T3016 also tests #5652 d77aede Merge branch 'master' of http://darcs.haskell.org/testsuite 747661f Add tests for trac #5486 and #5681. fc9a073 Fix debugllvm WAY a6ecfec Accept output for callstack002 a68d54b posix004(threaded2) and posix014(threaded2) pass now a3ed907 T5030 has improved; update boundaries 4aafa41 Tests for primtypes 'ArrayArray#' and 'MutableArrayArray#' d559300 plugins05, plugins06: expect fail for dyn and profiling ways 03ee7cd add test from #5363 35b4a34 add a perf regression test for #783 db2d096 dph: follow changes in unlifted API 5e3f60e dph: duplicate copy tests as vseg tests 87df7c6 dph: rename test file a72dd7b dph: add nbody test fe6e9e4 dph: drop optimisation level for some tests to speed up validate a113604 dph: multi-file tests must be set to alone to avoid build races 76f2fa9 Test Trac #5676, and wibble to error message on mod45 dc132ed Test Trac #5686 7083082 Test Trac #5689 3a105fd Mark dph-diophantine (#5613) as fixed 371bb05 Wibble to error message for deriving( Functor ) e93e53a Add InstanceSigs to GhcOnly flags c20f6ac accept ac499b7 add a test for #4018 ce7325c Move T4113 to libraries/directory/tests (#4480) 1f725a8 Get the value of $(AR) from ghc --info f4318b7 Merge branch 'master' of http://darcs.haskell.org/testsuite d594d84 .gitignore de8a1bf Add a test for a memory allocation bug in the RTS flag handling. abfcdc0 Tests for T5684. They won't fail necessarily in 7.2.1 because there was yet another bug (related to lazyness) but if the T5684 bug appears again in HEAD then it will be revealed by this test (because I also fixed the lazyness bug as well). 584f65a Test Trac #5691 01477fe dph: add alone flags to fix build race 0fc8eeb Testing vectorisation of superclasses 7d92019 add a test for setNumCapabilities c425b2f accept output 544a738 fix $(HAVE_PROFILING) on Windows 45a7084 add 32-bit output 0909d1b Test Trac #5657 6b90fe4 Update Safe Haskell tests e5ed689 Error change following up kind constraint solving modificatios. e08432d More Safe Haskell tests fd9bfbd Test Trac #5712 6a70b5a Test Trac #5719 7eb58c0 Minor wibbles to error messages, as a result of fiddling with the handling of default declarations 374e7b5 Adjust test to handling of unit unboxed tuple d3c9c1d Test Trac #5700 4976d0e Merge branch 'master' of http://darcs.haskell.org/testsuite 869df3c Performance test for Trac #5321 bae7a6b Test Trac #5721 9284030 Test Trac #4310 7348bb7 Error message wibbles for new CoAxiom story d72ca1b Adapt test output to reflect better -ddump-deriv output 747f2c4 add test for #5747 2ac8fe3 Count the number of tests that failed due to reqlib() e16808a setnumcapabilities001 requires the parallel package 13ce4f4 Don't add threaded2_hT unless we have threaded and SMP support d491031 Skip setnumcapabilities001 if we don't have SMP support 8111e64 widen the boundaries for space_leak_001 (fixes failure when unregisterised) 5e975ba Test Trac #5759 922bc6b Merge branch 'master' of http://darcs.haskell.org/testsuite ad0e1c9 Add quot and rem to the integerConstantFolding test 5ce0e4e add reqlib('random') 05306f4 widen max_bytes_used for T4801 2ed1fdf widen peak_megablocks_allocated for T4801 (64bit/Linux) 4c68c2f Lots of error message wibbling, following the major TcErrors refactoring d342f88 Merge branch 'master' of http://darcs.haskell.org/testsuite df587d5 Merge branch 'master' of http://darcs.haskell.org/testsuite e948d22 Test Trac #5658b ee599f6 Update .gitignore to include generated test files 3d52fa8 More .gitignore updates. f6cea70 Fix T5430, make output independent of user timezone cacd982 Update error message 63afeeb Add {double,float}FromInteger to the integerConstantFolding test 655e409 Add encodeInteger{Double,Float} to the integerConstantFolding test 0a797ea Update tests after instances are moved out of Control.Monad.Instances 5601845 Adapt 'dph-classes' to class support in dph-lifted-vseg db6d9cd Adapt DPH tests to classes in the DPH library eaae5f4 Add Defer02.stdout fcbfdfe Merge branch 'master' of http://darcs.haskell.org/testsuite 28f619e Wibble to recomp006 error 5ff65d7 Use the new flag -XDataKinds 199f388 Parse the ghc --info values using a Haskell program, and cache the results a8f94cc The LLVM backend now only works with 2.9+, don't try it if we have 2.7 cb0f98d Test Trac #5745 08413e4 Adapt test output fee30b7 Revert "The LLVM backend now only works with 2.9+, don't try it if we have 2.7" cffcc44 Test Trac #5776 d242001 Merge branch 'master' of http://darcs.haskell.org/testsuite 64b6389 Add normalise_exe for removing ".exe" extensions in output on Windows 95cb0a1 3429: We should be using +RTS -C0.001 not +RTS -i0.001 5262d70 Skip conc036 entirely (see comments) 58759ba foreignInterruptible: expect_fail on Windows 6e5aa9e Expect failure for numrun012(ghci) on Windows 90dc223 fix (non-fast) validate c752b33 Add stderr for warning (arising from Trac #5779) 209fc3e Merge branch 'master' of http://darcs.haskell.org/testsuite 0998987 Update .gitignore. ef9249e Add test for #5785. 96988cc Test Trac #5742 de90d88 Merge branch 'master' of http://darcs.haskell.org/testsuite d7bb891 Add missing stdout for T5742 def5baf accept output 898eca9 Don't read boilerplate.mk on 'make maintainer-clean' deeeacb Fix for Windows, and delete the .mk file if ghc-config fails 558fc1e Don't fail if "ar command" is not found 99a4418 Merge branch 'master' of http://darcs.haskell.org//testsuite 9e5aa33 Mark dph-diophantine-copy-opt as broken (#5817) 69017ca Add a test for the integerToInt/smallInteger rule 6453351 Generalise the integerToInt_smallInteger test (now fromToInteger) 71c3095 Add a perf test for #5536 616fbe9 Add a perf test for #5642 2555da0 mod175 now passes: #437 is fixed c90ed07 objc-hi and objcpp-hi fail the ghci way 874c337 Fix mod175: Tell make to be quiet b2e4c1e Make TH_Depends more portable 0b395e1 Tweak TH_Depends 777dff2 Make posix003 a little more portable 48ba35e Merge branch 'master' of http://darcs.haskell.org//testsuite afee003 Test Trac #5798 c397d7b dph-diophantine is fixed 087d60a Add dph-nbody test with the dph-lifted-copy library e2787de Test Trac #5792 3ff3050 Remove the Data.ByteString tests; part of #1161 ff4939e Remove the tests/lib/PrettyPrint tests; part of #1161 c8755c9 Text.Printf tests have moved to base; part of #1161 eb2261c Move lib/Time tests into the old-time package f3c7910 Remove Regex tests; part of #1161 5c18627 A couple of compiler performance tests have improved :-) 9e59ec2 Minor wibbles in error message ordering 9636898 Merge branch 'master' of http://darcs.haskell.org/testsuite c41b9a8 Add test for 'distrust-all-packages' flag 6e56fa9 Add some safe haskell test for '-trust' flag. ec735ca Don't use TOP_ABS in Makefile rules 7d556a4 Filter colons out of ghc-config-mk 152cd16 Remove some Makefile debugging code 35c3c30 Accept error message changes in response to Trac #5860 9e81663 Test Trac #5820 6b4e38a Merge branch 'master' of http://darcs.haskell.org/testsuite 8ebdadb Merge branch 'master' of http://darcs.haskell.org/testsuite 2a68da8 Add some tests for ghci under -XSafe ba88ec4 Update gitignore 23fb5aa Add stdout for T5820 8a808e4 test #5836 ab59200 Fix up safe haskell test outputs eb7aacb Make the compiler_always_flags modifiable on a per-test basis ef05085 Allow perf bounds to be specified as base + percentage deviation 71c20ca Disable -dcore-lint for compiler perf tests b32ad24 fix failure in apirecomp001 (IIModule type changed) 0290ab2 update max_bytes_used for T1969 c64c802 add req_smp 03906d4 update output cdbb35c Add a CAPI / CTYPE test (Capi_Ctype_001) 7cd5106 Add optllvm as allowed way in testsuite baf1881 Remove some out-of-date normalisation 3b4572b Add another test for CAPI / CTYPE 9919372 Update tests following OldException removal 5f3b4dd Fix Capi_Ctype_001 on case-sensitive filesystems ac780df Follow change in bindisttest install directory name f98922b Accept update 043a7c8 Accept output in ccfail004 4b78411 Follow more output changes de39a6f Remove type synonym part of Capi_Ctype_001 fdbe5f4 Update output for rnfail055 again 51fbbbb Update test outputs now the bytestring version number has changed 042461c Add a test for add-with-carry 1128d8a Add 32-bit output for add2 52037f7 Add a test for 2-word-multiply 54f69dc Add 32bit output for mul2 ab91cde Use 64bit args in mul2 9a3c874 Add a test for FFI decl parsing aedcb21 Add a test for CAPI value imports ead65bb Add a test that you can't import "value"s using ccall 70326cc Add a test for a "value" FFI import with a function type 913a3bd Move test array01 into the array package 2453e10 Test changing the -main-is function name, not just the module 36c9b79 add test for #5866 5b7328c Wibbles to error messages 05c51c0 update 32-bit results 8359158 add a test for :seti 2e02097 update ghci024 following changes to :set ac80ea2 accept output ff74e75 add missing file 7a29e7e fix test for the new TASKS stats output 64880bb Modified error output and new tests for PolyKinds commit a2cf0fd Remove unnecessary import 05b18ad Test Trac #5717 3b9c651 Merge branch 'master' of http://darcs.haskell.org//testsuite ffd72d2 Test Trac #5862 61de0db Test Trac #5912 85abd54 Test Trac #5892 98479d6 Test Trac #5881 0d049c0 Wibbles to testsuite/mk/boilerplate.mk a56ce4f Test Trac #5716 097dca2 Disable threads with python 2.7.2. 0d59d22 Fix llvm check 03a88aa Update .gitignore. 5ec8527 Accept changed debug output from Simon's changes to GHC 253d34d Update perf bounds for i386. 25017db Move base and unix tests to respective packages; part of #1161. b2fb5b9 Raft of wibbles after refactoring type-class constraint errors 9d9a897 Merge branch 'master' of http://darcs.haskell.org/testsuite 3c08377 Test Trac #5858 0534f09 Test Trac #5922 ea9ba3f Bumping allocation limit for parsing001 a little 470382e Test Trac #5915 ff0c535 Update .gitignore 08154fb Update gitignore 8fe929f Test Trac #5937 d773cf6 Merge branch 'master' of http://darcs.haskell.org//testsuite cc06a17 Test Trac #5915 3dea107 Test Trac #5937 55063d0 Add KindSignatures flag to test c4a89da Test Trac #1541 4feb0ea Test Trac #5833 a9c1ace Test Trac #5935 3582eea Test Trac #5882 9f598bb Test Trac #5886 197917e Merge branch 'master' of http://darcs.haskell.org//testsuite 9410a8d Fixes to reflect changes in behavior of -XTypeOperators. cf1ed00 Update error message: now 1 is a potentially valid type. 43034fc Update error message for malformed sub-ordinates. 210cd92 The example n this test is now valid, when TypeOperators are enabled. b473b25 Merge remote-tracking branch 'origin/master' into type-nats ea2f35b Test Trac #4135 f258092 Fix testcase for #4135. 5c31e42 Merge branch 'master' of http://darcs.haskell.org//testsuite a2487c3 5250 is expected to pass on Win64 17e45d2 Merge branch 'master' of win:c:/m64/reg4/testsuite 528aba0 Merge branch 'master' of http://darcs.haskell.org//testsuite f635846 Merge remote-tracking branch 'origin/type-nats' 4de8de2 Add new extension to the list pf GHC-only extensions. 9246be3 Update test to reflect the improved printing of data declarations. 429183f Update test to reflect printing of imported/exported type operators. 6eb9500 Merge branch 'master' of http://darcs.haskell.org//testsuite 6dc6775 Error message wibbles following TyClDecl/HsTyDefn refactoring 5f02fd0 Slashes and backslashes in filenames ada17f2 Bump limits for T1969 9734a93 Test Trac #5971 6137c0f Test Trac #5955 1a98639 TH_scopedTvs succeeds now we have scoped type variables in TH 0c8318e Test Trac #5968 6b4527a Test Trac #5951 02fb36f Add testcase for #5979 b9cc105 Add testcase for #5984 9615ede Add testcase for #5555. 47c2cb0 Add testcase for #5976. d6ff372 Add testcase for #5664. 0b3c3c8 Error message modifications following ghc-new-solver modifications 77af343 Merge branch 'master' of http://darcs.haskell.org/testsuite dde0085 Test Trac #5957 01fcb7a Add RankNTypes flag to tests that should really have it db71e3e Merge branch 'master' of http://darcs.haskell.org/testsuite d450ec4 Update safe haskell tests for change output formatting f90a4e1 Merge branch 'master' of http://darcs.haskell.org/testsuite ac8464b Test Trac #5022 17f3e90 Fix dynamic stub in tests after fix for #5664. 56de6d1 Expect failure on T3064 3a9ba4d Add (in comments) more variants to T3064 704c150 Actually test T5022! 597bbcf Accept improved error message 34138c1 Merge branch 'master' of http://darcs.haskell.org/testsuite c5e6c6d Add files for testing T5795 a312fd1 Following up from the last commit in the constraint solver. a647d30 Add testcase for #5948. 6e369fd Adding test case for polytype decomposition in the constraint solver. e8429ae Adding testcase for Trac 5934 d80aac9 Update Safe Haskell tests for changed format. 362ee5a Add test to make sure flag extensions are correctly display as a unsafe reason. 639f8a4 Fix Defer02 test for Windows. 8a1c584 Add testcases for #5975. 3ff6439 Add testcase for #6001 f9e8ebb enable the ghci way for various tests, now that GHCi detects deadlock properly 125a20f Test #5993 f98194b Merge branch 'master' of http://darcs.haskell.org/testsuite 65f10e4 Increase the size of T3064 and upgrade 64-bit numbers accordingly 6cc2d27 Test Trac #5938 7066577 Wibble to error message c1e5ca5 Merge branch 'master' of http://darcs.haskell.org//testsuite 8f2d111 Add testcase for #6011. d2e2e13 Merge branch 'master' of http://darcs.haskell.org//testsuite ae2c534 Merge branch 'master' of http://darcs.haskell.org/testsuite 1d9f491 Merge branch 'master' of http://darcs.haskell.org/testsuite 458673e Test Trac #5853 1be154d Unix line endings for T5938 1cd2e3e Test for second bug in Trac #5716 6ea9c2b Merge branch 'master' of http://darcs.haskell.org/testsuite b13a295 Add a quotRem2 test f8cc68f Test Trac #6031 48bafff Test Trac #6020 cead06e Test Trac #6022 a7bf4c0 Error message wibbles ef0d0b7 Add combined_output option. 9ff81c7 Merge nb:ghc/git/ghc/testsuite f082135 Merge branch 'master' of http://darcs.haskell.org//testsuite 1d59d3a Merge branch 'master' of http://darcs.haskell.org/testsuite 7f3a9de Test Trac #5920 3b84b0a Test Trac #6020 9ff3250 Test Trac #6025 f926399 Test Trac #6031 355b1b1 Test Trac #5997 b26282d Test Trac #6002 e4c802d Add comment to test 86403bf Test Trac #6039 f2d5b3e Merge branch 'master' of http://darcs.haskell.org//testsuite 4c0ec20 Test Trac #6035, #6036 0ad0d56 Test Trac #5867 a475fa4 Trac #6022 is broken at the moment c9bb4fa Wibble for changed pretty-printing of CoAxioms 279a594 Merge branch 'master' of http://darcs.haskell.org//testsuite 2ceaa81 Wibbles to deprecation errors 07b041b Merge branch 'master' of http://darcs.haskell.org/testsuite 579c91b Test Trac #6005 109f8bf Adjust seldom-run tests for flag changes fa48f52 Test Trac #6021 eb32f34 Test Trac #6020 again, and #6044 68c082b Follow changes in pretty printing 1565cf7 Test Trac #6005 (second bug) 66a44d6 Test Trac #5884 524043d fix bounds for T1969 on x86_64-linux 2a05a99 fix bug in stats checking 02dd86d Update some perf bounds that have improved 3ad4e94 Test Trac #5837 32b2573 Add tests for #6027. a6a3bf4 Wibbles to error messages arising from using coreBindsStats 73b97bd Add test for #6006 05f46d0 Add test for #6007 22028c1 Merge branch 'master' of http://darcs.haskell.org/testsuite d642f5c Testsuite driver tweak for Windows 79d1d3d Bump peak-megabytes-alllocated for T4801 0021043 Test Trac #6055 b71f703 Test Trac #6054 73f28aa Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 27c08af Simplify the stdout-* filename generation in the driver b4d34d4 Allow OS-specific test outputs in the driver 3e467a9 Add test for #6060 cf85b75 Don't try to run ghc-config when cleaning f205f21 remove accidentally added file 8e6b902 fix T4464 on Windows 782b5bf Fix capi_value on Windows deaa0ab add missing file 3a3d1c6 substitute for $topdir in $(AR) 4a5c6a0 Omit prof_ways for T6006 a8a0071 update 32-bit results beaf772 follow changes in the GHC API 753d59c Change how we detect whether the terminal is cygwin or msys e07d432 Merge branch 'master' of win:c:/m64/ghci2/testsuite cace35f Fix cabal tests on Win64 9d07791 Fix some more tests on Win64 b806bd2 Tweak 4038 for Win64 a511dcd Fix the way we find the path to 'ar' 0285e28 Fix ghcilink002 on Win64 a44d52b Fix other ghcilink tests on Win64 83dc4b7 Tweak plugins01 92fddec Accept output for T6006 on Windows 12dc1b6 5250(llvm) is expect_broken(4211) on i386-unknown-linux b67b943 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 95978ed Fix ghcilink00{1,4} when the path to AR contains spaces c8b715c Mark SEH tests as broken on Win64 (#6079) e9e791d dph-classes-vseg-fast is broken (#6080) a6ab229 Add Win64 output for outofmem b35ad0a Fixed #6080 07fadb7 Driver tweak 5f9c642 Some test fixes on Win64 79e56d3 3837 now passes on Windows: #3929 is fixed bb5447c More Win64 test fixes 93d853b Move win32 tests to win32 repository. 9dfd8cd Test Trac #6078 7d3a6ae Better performance for #3064, but #5030 is now expect-broken e4212c2 Wibble to simplified output 3528d0a Merge branch 'master' of http://darcs.haskell.org/testsuite af0bf03 Test Trac #6048 43e1ff2 Merge branch 'master' of http://darcs.haskell.org/testsuite 4faed34 Accept debug-print wibbles b2d98cc Test Trac #5623 3970d9a Add needed -XPolyKinds 50b41cf Test Trac #5737 6729fa6 Test Trac #6081 d93dc41 Test Trac #6015 37a2820 Add test for #6091. 24d70da Rename package-conf flags to package-db. 8b5836a Use -fobject-code for tests that use UnboxedTuples 577e98f Add -fobject-code to the numeric *2 tests 14f7be1 tc126(optasm) is broken (#6096) 3392311 tc078(hpc,optasm,profasm) are broken (#6097) 3a6f1aa 4321 is broken again 11e13be Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite ada75a8 Testsuite update for unboxed tuples in arguments accd944 Test Trac #6015 and #6068 5a502c7 Merge branch 'master' of http://darcs.haskell.org/testsuite 284a60f Add red-black tree test from github (with permission) 3539136 Applied lunaris's patch to allow promoted types and rich kinds in Template Haskell a5ce7e4 Accommodate INLINALBE pragmas in TH b70dd33 THis test does not actually use HsExplicitListTy 64f085a Fix tests to run without mtl 3e512f2 Follow the move of Word from base to ghc-prim 9a6b8e4 Accept output for mc22 1c2954c add test for #6106 ee2f63d dead code: guess_compiler_flags() 856e916 Go back to using -no-user-package-conf for a while 2118d80 Test Trac #6118 ffe4372 Fix a testsuite driver failure on cygwin 0a0087a add test for #6105 ac371fe accept output 677a3ab Merge branch 'master' of http://darcs.haskell.org/testsuite 2c363f4 Extend test for Trac #2713 (cf Trac #6120) b7892a1 Wibbles in debug output 77066ac Test Trac #6120 535ad9d Test Trac #6123, and improve an error message in T2627b 0d3c52d Merge branch 'master' of http://darcs.haskell.org//testsuite 75706a4 Go back to using 'const' in capi_value 64e32f5 Add a test for setByteArray 3d07201 Merge branch 'master' of http://darcs.haskell.org//testsuite 85c9dd9 fix 6048 (stat too good on 64-bit) ac2bc9c Update output 12e5c1e Add missing file 3ae7138 Merge branch 'master' of http://darcs.haskell.org/testsuite 08a4aa7 Test Trac #6114 808e1df Wibble in error message 64910ca Merge remote-tracking branch 'origin/unboxed-tuple-arguments2' ad4020d Fix testcase for #5971. 224b98d Merge branch 'master' of http://darcs.haskell.org//testsuite 9a767ff Add more tests to integerConstantFolding c60977e Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 208fa3a Merge branch 'master' of http://darcs.haskell.org/testsuite a001844 Merge branch 'master' of http://darcs.haskell.org//testsuite e8ec579 Error message wibbles 8491727 Test Trac #6049, #6093, #6129, #6137 9f3cf8c Test Trac #6148 91ea5b4 Test Trac #6145 1e169cf test for #6146 bb639e4 Wibble to error message 09d687b tcfail098 now passes because of UndecidableInstances (I've added comments in TcMType.checkValidInstance) 1600508 Test Trac #6134 c85a85f Test Trac #6088 29d83fe Merge branch 'master' of http://darcs.haskell.org/testsuite 751f030 Test Trac #6152 0d36d57 Testcases for floating equalities ouf of implications and for recording extra untouchable variables. 8a40940 Testing of generating Derived equalities from Given dictionaries with functional dependencies. 4f882db Testing new top-level defaulting plan. 2ed41c1 Forgotten entry. f3cb7ec Merge branch 'master' of http://darcs.haskell.org/testsuite 35073a0 Avoid using deprecated package-conf GHC flags. ba5c1e9 Add more cases to the integer constant folding test e598fd3 Update output (spelling of "inferred") c5c9026 Update test output for mdo changes (Trac #4148) eaef9e3 New tests for Trac #4148 15c2e4f Merge branch 'master' of http://darcs.haskell.org/testsuite 1716d85 tc078 and tc126 are no longer expect_broken (6096 is fixed) 6c52b64 update max_bytes_used for T4801 on 64-bit d200ba1 no need to force -O here any more (#3966) 8d41d9e Fix plugins01: Follow changes to GHC 26e1e7e Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 0c0b2bb Improved error message 2a99c19 add a test for INLINE and -fprof-auto (#6131) debfd1d Merge branch 'master' of http://darcs.haskell.org//testsuite 64cf942 Merge branch 'master' of http://darcs.haskell.org//testsuite de246aa Test Trac #7007 cd0a88a Update tests following changes in base 60ab8ea Fix the timeout program following the changes to base 6f9114e Test unencoded StringPrimL dd44a15 Add test for #5963 9d3bf7d Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 0898526 Wibbles to error messages fc68de5 Test #4361 would fail because of the removal of the UNSAVORY HACK but this change makes it work again by adding a type signature c02a823 Merge branch 'master' of http://darcs.haskell.org/testsuite 686628d Add tests for deriving Generic1 7d8b524 Add test for #5936 488f34c Add one of Reiner Pope's tests for #5936 45dc613 Merge branch 'master' of http://darcs.haskell.org/testsuite 8536690 Reduce the bounds for perf/compiler/T4801 4b21a22 Remove the deprecated concurrent modules from GoodImport03 1495dc1 Correct the inferred type (in comment) c79768d Merge branch 'master' of http://darcs.haskell.org/testsuite 09803f8 Add #6158 test case. 425434b Merge branch 'master' of http://darcs.haskell.org/testsuite 9758c36 Fix handling of optllvm way a6bacc3 Update .gitignore 87d3f54 Adapt to the re-introduction of silent superclass parameters 02a343c Add stderr for tests now (correctly) failing due to silent superclass args 1c595c0 Fix cleanup for some tests. e277797 Add test case for #5900 71bb780 Add IntegerConversionRules aa490c9 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 4ae3075 Update some limits for x86 perf tests. 478b36f Add a test for #4138 (currently failing) 8542e25 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 4c8f4f7 Adapt tests to change in a parser error message. 3195d47 Fix ds055 (redundant import of Data.HashTable removed) d0d96bc Remove Data.HashTable from GoodImport03 f0a23c0 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite c426022 add test for #7037 a5c9ed1 T5111 is an expected failure becuase of Trac #7046 9613d73 T3294 improved with the new codegen merge 8be2830 Fix test case for #4138. 10f46f4 fix syntax error 6bda872 Fix T5975a/b conflict when run in parallel 5372ff5 Adapt to removal of catch from Prelude 2d47ca4 Make numrun012 work with excess-precision.(#5856) c0b6669 Accept error wibbles 547ab6f Merge branch 'master' of http://darcs.haskell.org/testsuite 55b5468 Add tcfail209a 02af0c5 Accept error message changes 8df0337 Merge branch 'master' of http://darcs.haskell.org/testsuite 4968a28 Wibble 003fc45 Fix numrun012 on x86_64. ad859f5 Tests for Trac #7053 8197fe8 Test Trac #7019 aab80f8 Test Trac #7020 89261ca Test Trac #7022 1d51cc8 Add testcase for #7060 c64e7d5 Merge branch 'master' of http://darcs.haskell.org/testsuite 16e79b1 update T5267 for change to TypeOperators Now it breaks properly again. ce68b75 Add a couple of tests for gcdInteger d832d1f Test Trac #7023 c2cb067 test trac #7073 49703b9 Test Trac #5978 and #7010 4371e72 Follow changes in FastString b72aa2c Added LambdaCase tests. 5246de0 Added MultiWayIf tests. ffae5d4 update for MultiWayIf and LambdaCase 2c7d9ab increase range for T4801/max_bytes_used, it was failing validate sometimes 17087f4 Update bytes_allocated for T1969 51e5586 Merge with HEAD 982d970 Update the expected allocations for T1969 436630f Wibbles to error output 21e38cc Fix T4007 after changes for #7060. 410ad38 Make 5558 portable by replacing seq with python code (#5558) 3dda492 Test Trac #7082 964ea43 Add 32-bit output for gcdInteger a631a13 Improving error messages for synonyms. 577b9dc Merge branch 'master' of http://darcs.haskell.org/testsuite 0c42fb3 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 1f405ee Test Trac #2534 a55605f Merge branch 'master' of http://darcs.haskell.org/testsuite 2b5c6ba Test Trac #7085 b1ddfcf Adjust T1969's bounds again ed3c066 Fix arith013 6e199bd Remove T7041; it doesn't make sense now that we handle gcd differently 3c52a0f Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 7744195 Add error output 59a4b58 Accept error 94187d0 Merge ../../HEAD/testsuite a8072f3 Test Trac #7088 7cf9432 Test Trac #5821 afa3965 Add a type signature for a function with an ambiguous type 9cfb3c6 Add some NOINLINE pragmas to satisfy the (correct) "RULE may not fire" warning b79822c Merge branch 'master' of http://darcs.haskell.org/testsuite 8eba4f8 Test Trac #6082 rule matching warning d23aa19 Merge branch 'master' of http://darcs.haskell.org/testsuite 6f75505 Merge branch 'master' of http://darcs.haskell.org/testsuite ddbe790 Fix T6082-RULE test case 3afc015 Add test case for #7014. 822f996 Fix failures in the full testsuite 9e82dc1 add a test for #7087 3e2d0af accept output for now 4409a21 reduce max_bytes_used for T1969 d29defa bump sample for T783 cc7384d Add test case for #7126 23748ed Add test case for #7118. 2999eae don't force -O ef4140f don't include $(EXTRA_HC_OPTS) twice 31fb6f5 don't force -O0 af7c852 omit -dcmm-lint too be04536 Accept error change 42d70b5 Update T7022 to test more as per the ticket 2dba6fb Tweak some limits in performance tests. caf3f59 Add test for #7130 a706a60 Update error message in safeHaskell/ghci/p2 562b154 Fix test case 7087 for x86. f5144f5 Add test case for #7117 022dc1c Update old safehaskell test 9ffb400 Test Trac #7128 a26252c Add test for #7145 310d39d Add some haddock space usage tests 5a42050 Add 32bit expected values for the haddock perf tests 41b7f9d Adapt to extra \n in multi-line string printouts 53ffd2e Adapt to new TH pragma data types 12512e1 Merge branch 'master' of http://darcs.haskell.org/testsuite 33a75d9 Test Trac #7064 36f2ec6 Test Trac #7151 d8b5659 Add DataKinds flag to test 385058e Update stderr in p2 test case. 57a409c Test Trac #7095 1ce4253 Test Trac #7147 b17b14c Merge branch 'master' of http://darcs.haskell.org/testsuite bfbc4f8 Test Trac #6038 da71a95 Add comment 4b0b0f1 Change in line numbers 814707f Test Trac #7156 431577b Run testcase for #5205 without optimization 0e8d47c Fix T7151 test e537b4d Test Trac #7171 e6a9b96 Merge branch 'master' of http://darcs.haskell.org/testsuite 5af27e2 add the test from #7160 81712b6 drop lower bounds for haddock.base and haddock.compiler on amd64/Linux f345776 Make tc219 a bit more stringent -- require polymorphism 13dc09c Test Trac #7173 433f7a6 Accept improvement ac4bf2c lower max_bytes_used for T1969 5ea88b6 add tests for #7040 f00609d Add a test for #7163 3e88c1a add test for #7170 19b7140 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite adfedb0 Merge branch 'master' of http://darcs.haskell.org/testsuite 0faa602 Test Trac #7176 b72d673 Add more safe haskell test coverage. 2853d32 Update SafeHaskell outputs. ecababf Add test for #7172. 29070f8 fix this test not to use QSemN (which has gone) 6115c4f accept output ("RULE might not fire" warning) e8461e6 accept output ("package flags have changed" message is now suppressed) 2bc957b avoid the new -rtsopts/-shared warning d8ca9ab fix bounds for T1969 again c9e10d0 use $(MAKE) instead of make (#7180) 88c2a95 Merge ../../HEAD/testsuite d426f86 Trac #7176 is broken in HEAD at the moment 6520e57 Merge branch 'master' of http://darcs.haskell.org/testsuite 7b2b6d2 Test Trac #7101 930e93f Test Trac #7164 50d7c3b Test Trac #7090 3e7161b Test Trac #7165 a284cd9 Add regression test for dodgy import warning bug 7434b79 Add test for T7167. dcecf9d Remove rnfail038 test case a8869ba Fix 7170 for i386. cfdcf55 Test Trac #7092 dedb295 Merge ../../HEAD/testsuite 3a4d34a Merge branch 'master' of http://darcs.haskell.org/testsuite 90761a9 Test Trac #7194 1d95758 Fix all.T bug in test for #7171 3a8075f Merge ../../HEAD/testsuite 92b9bda Fewer "shadowed bindings" messages from TH (result from fix of #7092) 4976939 Test Trac #7196 c5b9219 Teat Trac #7175 7fa287a Accept error message changes 8f00033 Update performance figure 23f4463 Accept error message changes 490e006 Update 64-bit results for the new codegen a0fa6c3 Adapt tests to the removal of the MR in GHCi 6bceb07 massive_array is expect_broken(#7213) 018db07 add a test for #7215 d3c01e2 accept 547913e Add test for #7210. 575629f Fix tests after update to bytestring 0.10.1.0. 2a000a9 Fix warning in T4464. 3c4aac0 Add dynamic version of T4464 cca9cb1 Remove unnecessary hs_add_root call (#7031) 5a71292 Merge branch 'master' of https://github.com/ghc/testsuite 68fb999 Update perf test bounds 45cf6f8 Test Trac #7237 00922ef Test Trac #5252 (again) 1f49b82 Test Trac #7224 and #7230 261e91e Test Trac #7238 adf6cdf Add a test directory for ext-core, and test Trac #7239 9d780e2 Merge branch 'master' of http://darcs.haskell.org/testsuite 3648727 Raise T5837 bounds b81c3d4 Follow module removals in base 18766f7 Update perf bounds f3b2ed5 Update test output 7095121 Merge with master f1557f3 A ton of error message wibbles b37dc96 use /bin/sh, not /bin/bash (#7244) 8909f0c Print stdout diff even if stderr diff alrady fails (#7247) 1ebabeb test for #7227 7ba13fa Follow GHC change: No deprecated warnings for defining class methods faec924 Add a perf test for #7257 48b4b88 Failing (by timeout) tests for #367. a003897 Add support for per-test timeout adjustment (timeout_multiplier), and tighten up #367 test. 1175d35 Tweak #367 tests to use -fno-omit-yields and expect passes. ba20cc3 Add TypeHoles to the list of LANGUAGE extensions that GHC knows but Cabal doesn't 7719317 Make the test output a bit more self-explanatory c22af4a Tons of error message wibbles 6eed673 Wibbles e978cd6 Merge remote-tracking branch 'origin/master' into tc-untouchables cb467f0 Add bunch of llvm ways for testing purposes. 6b8d013 Merge remote-tracking branch 'origin/master' into tc-untouchables 5010cf3 Update max_bytes_used for haddock.Cabal on 64-bits 791f491 Two mor error message wibbles cbf3d4b Merge branch 'tc-untouchables' 05a8c3e We now have left/right coercions again, so T1999a passes 2bf8943 Better perf c99f305 Test Trac #7205 3189427 Test Trac #5591 cc9a8c7 Test Trac #7278 69e406a We weren't generating a stats file for tests that only had stats_range_fields perf tests 70c1aef Fix stdout for T7257 a3d981f Wibble to perf range e19b6fd T1969 was just failing the residency bound if its .hi file existed 79be61e Test Trac #7272 7d7c728 Test Trac #7287 37c33c5 Merge branch 'master' of http://darcs.haskell.org//testsuite 1f8c1c3 Test Trac #7276 7f91d0d Arrow wibbles 70e78a4 Add a -static way, enabled only if dynlibs are used by default 4675647 Fix the T5252 tests 516259e Fix ghcilink002 and others when dynamic-by-default 26ab06c Fix a couple of tests when dynlibs-by-default is on abefa53 Make some perf tests always use -static 29eed98 Test Trac #7050 3bb499d Error message wibbles now that we do less defaulting when there are insolubles 7cd3b39 I've changed the error reporting so that with -fdefer-type-errors you get *all* type errors as warnings, rather than some being suppressed e11f19c Merge branch 'master' of http://darcs.haskell.org/testsuite 319f9ba Don't use the dyn way if we're dynamic by default c0ca8ff Driver: Define have_shared_libs correctly 2432082 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 7fdd69f 2228 is broken on x86_64-unknown-linux e70e497 Test Trac #7293 6b7ca88 Test Trac #7294 b379f27 Test Trac #7280 33b5076 Commit missing stderr file 00a672e Update to new Cmm syntax 829b179 Update to new Cmm syntax 06e0c3a update 64-bit values 3fbc247 Update 32-bit compiler perf stats 07d4a4b update 32-bit stats for T7257 7c96e85 massive_array now passes on x86 (#7213) 5f48b24 Need to use high-level cmm here (fixes test on x86) 5ec6ea3 Make it possible to test the generated assembly cecf7b5 Use -shared for the prof ways b0d2529 Whitespace only in dph/diophantine 9246f17 Allow dph-classes-vseg-fast to run in parallel 2d6836c Add an outputdir test option 378363c Add 'high_memory_usage' as an alias for 'alone' 4fb3f11 Copy the flag lists before altering them 5f4d651 Let the dph tests run in parallel a2870ad Run all the 'alone' tests at the end of the testsuite run 3674eaf Add outputdir's for the dph-nbody tests 6226c19 Add expected output for T7194 22281f1 Add a test for T6161 671ec1c Add a test for #6117 251d843 GHC now treats ((->) t1 t2) just like (t1 -> t2), so we need to obfuscate this test a bit 75183ed Better output ab57afe Test Trac #5751 b4166fd Test Trac #5913 ab47200 Test Trac #7321 b7fba60 Test Trac #7312 1876048 Update ghcpkg01 output 8933b4e ghcilink001 is expected to fail when ghci is dynamic 91e7d5b ghcilink004 fails when ghci is dynamic (it tries to load a .a file) bdd4042 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 6afab22 Fix memcpy when -fPIC is on d4aca87 Add a test for reloading a module in GHCi eca96a2 print035(ghci) fails when ghci is dynamic ab466bb The asm tests pass on Linux, but not OS X b601aae Tweak the 2228 config c673422 Test Trac #7332 09cdd12 Replace Rank2Types and PolymorphicComponents by RankNTypes 8bc6c4a Improvements to kind error messages, mainly 5c1d923 Adapt to being a bit more picky about inference with GADTs 796322f Improved desugaring in TH for Rules 81bac4f Adapt to fix in exprIsWorkFree 9c782f2 Minor changes to tidying a8ed7cc Comments and consequential line number changes ea081c0 Check that existential data constructors can't be promoted 96f9aff Better duplicate signature warnings bd56e72 Kind error wibble f7ad2aa Test Trac #7338 63a3760 bump stats for T1969 and T4801 4c88078 Merge branch 'master' of http://darcs.haskell.org//testsuite f58d238 widen the range of max_bytes_used for T1969, to reduce spurious failures f2a0738 reduce stats for T1969/T4801 again; looks like the bump was due to -fPIC 83014ab add test for #7233 dd9dbdb Merge branch 'master' of http://darcs.haskell.org//testsuite b5897f9 Testsuite fixes for when we only have dynamic libraries 45475f0 Update T4437 following changes in Cabal's extensions list 2db1733 Error message change for duplicate type signatures 4f093d6 Wibbles to type error messages 126c798 Merge branch 'master' of http://darcs.haskell.org//testsuite 043fddf Test Trac #7328 and #7332 91790aa Another test for Trac #7338, duplicate type sigs cdb0361 Test Trac #7347 e65d702 Test Trac #7341 d32a0c8 Test Trac #7276 (part 2) ceb03c2 Test Trac #7368 d143e5f Test Trac #7354 8c3dc56 Another test for Trac #7354 2d44ece Test Trac #7336 7d7410f Fix the have-we-got-vanilla-libraries test baf9da6 make it optional to have DynamicByDefault, to support older GHCs 04219cf add test for #7319 abc6031 fix HAVE_VANILLA when we have both static profiling and vanilla libs a7e4046 accept fad3687 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 2f6b815 Use 'error "uk"' rather than 'undefined' f28972a Improved performance bounds on 32-bit win fcb4fe5 Wibbles to error messages 309c7e6 Extend tc194 slightly c682cab Add error output (accidently omitted before) 87de298 Merge branch 'master' of http://darcs.haskell.org//testsuite 2098689 Test Trac #7264 9de0eb9 Test Trac #6069 c085b2d Fix ghcpkg03, ghcpkg05 (we need to normalise the dynlib names) 8cddd70 Modify T5130 so that it passes 9d22874 Merge branch 'master' of http://darcs.haskell.org/testsuite cb9e449 Fix error output 3c48b06 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 19cb2c6 Teat Trac #7220 897415c Merge branch 'master' of http://darcs.haskell.org/testsuite eb1c829 Don't enable the "static" way if we don't have vanilla libraries aba7b11 Add a test for CAPI wrapper functions 34a23d3 Follow changes in dependency generation 696798a Test Trac #7386 81f2c86 Test Trac #7384 ceedeba Wibble to output c1b677f Merge branch 'master' of http://darcs.haskell.org/testsuite 258d554 Remove duplicate test 16f685e Fix ghci058 on Windows ec56be8 Add if_compiler_debugged to testsuite driver 26cb867 update bounds f9b7f14 update 64-bit bounds 3c65824 Test TypeHoles 14c4520 Fix some tests 5cabf9a Fix safeHaskell/check/pkg01 tests dbb8d75 Fix Check09 test; it depended on the exact version number of bytestring 393939e Make the plugin tests standalone e9043b0 Remove the 'alone' modifier 75eae9c Test Trac #7422 8c98b1e Merge branch 'master' of http://darcs.haskell.org/testsuite 286b88f Add regression test for #7433 956f574 Test Trac #7438 04829b5 Make T7438 insensitive to the directory from which it is run 939fc5c Test Trac #7410 4228699 Accept error message improvement 8a27909 Test Trac #7451 b289026 Merge branch 'master' of http://darcs.haskell.org/testsuite 97842af Test Trac #7404 93c49b4 Test Trac #7408 5689e2d test for #7231 31e246d Add a test for #7453 e94c634 Merge branch 'master' of https://github.com/ghc/testsuite c7a5730 Test for #7162: RULES that never fire automatically 97e1ee6 Use python2 if it exists. Based on a patch from michalt. Fixes #7333. 16c2961 Make some tests independent of the version number of the array package 0e78931 Fix safePkg01 f3938cb Now that existential data constructors can be promoted T7347 passes 6c1caeb Merge branch 'master' of http://darcs.haskell.org/testsuite 2ecdaed Add test for -funbox-strict-primitive-fields 34534c5 Test Trac #7445 93e82e2 Merge branch 'master' of http://darcs.haskell.org/testsuite 63e4bca add test for #7478 b444487 delete stray file 1d50de5 Move UnboxStrictPrimitiveFields.hs to the right directory 33ab3f5 Add a test for #7476 dbb5a87 Add a test for #7474 4162905 Add test for #7487 575573e T3294 now uses more space ad48224 Merge branch 'master' of https://github.com/ghc/testsuite cd01e48 Add test for word2Double# and word2Float# 9924685 plugins*: Follow changes in ghc 6f50601 Add a test for -dynamic-too cf240aa Only run dynamicToo001 if we have both vanilla and dynamic libraries 8cd4ced perf test for Word->Float/Double conversion 8daa246 Test Trac #7506 f65b347 Test Trac #7502 e8aa218 Wibbles for new UNPACK stuff 16760df Test Trac #7489 9719ad9 Test Trac #7368 (second example) e2ab88c Add test for Trac #7488 9a1b165 Merge branch 'master' of http://darcs.haskell.org/testsuite 7a42cf6 Implement overlapping type family instances. 29696e3 Merge branch 'master' of http://darcs.haskell.org/testsuite 62a3c50 Test Trac #7525 1f7d26b Merge branch 'master' of http://darcs.haskell.org/testsuite 49bfb63 Wibble to debug output 53a3f0d Bump the residency of T4801 3a2ce0b Merge branch 'master' of http://darcs.haskell.org/testsuite 77dc694 Test Trac #7507 2f784e3 Don't run T7507 in ghci fee81ff Fix T7160 segfault by importing debugBelch2 7041e9c Test Trac #7536 a974886 Test Trac #7532 4e6bbb7 Test Trac #7541 5e1d9d5 Merge branch 'master' of http://darcs.haskell.org/testsuite d056bb3 Test Trac #7545 7ee327b Merge branch 'master' of http://darcs.haskell.org/testsuite 8f01d1e Test Trac #7360 1d21158 EmptyCase is now an extension flag that GHC understands (but Cabal does not yet) d6a3cca Wibble to output, now that CaseElim is less aggressive. 2fb886e Test Trac #2431 92d9cb7 Updated stderr outputs to reflect changes in FamInst de40b04 Test Trac #7436 b942d04 Wibble to test output after fixing Trac #7436 97b75f7 Merge branch 'master' of http://darcs.haskell.org/testsuite 83bfdc2 Merge branch 'master' of https://github.com/ghc/testsuite 744035f Fix Word2Float# test on 32-bit 441a87a Wibbles to error messages and tests, following ambiguity-check changes 0488163 Merge branch 'master' of http://darcs.haskell.org/testsuite aace245 Ambiguous-type wibbles 6c0c723 Fix typo in extension flags 2267f41 Typo in comments cfcd6b8 Re-do commit 1b8b7f47018eb33bebb0d7f3ee451f7d858a0f8f, which got lost by mistake 5c899f9 Test Trac #7454 b048618 Test Trac #5366 b5cf497 Merge branch 'master' of http://darcs.haskell.org/testsuite 23b0bf0 Test Trac #7279 4aa886d Add new testcase for Trac #7560. 26e5aaf Add test for #7361 0ac8c37 Test Trac #7562 b479c35 Add a test for #7563 f5a5229 Add a missing FD on `Add`, otherwise the test is (correctly) rejected. b4ebf62 Merge branch 'master' of http://darcs.haskell.org/testsuite fa0397f Fix test by removing unnessary (and bogus) fundep 9c64c3f Fix test by adding a fundep on class A, which makes the B instance legal again 292f99c Fix Test by adding a fundep to make the (Concete a b) instance legal bb79e71 Fix test by adding an extra fundep to make the (HasSingleton (Maybe a) mp) instance legal 053b211 Make tc226 have -O, so that the unboxing stuff happens a2e27e1 Add new test case T7585. 08e69b5 Merge branch 'master' of http://darcs.haskell.org/testsuite 657e24b Add a test for #7299 df80694 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 037617a Merge branch 'master' of http://darcs.haskell.org/testsuite d236645 Add better support for .cmm test files. 18fd170 Test for #7600. 94a1cf1 update gitignore d3bfd67 Fix simplrun010 test e34b2bf Adjust debug output for different syntax of strictness annotations 6544692 Adjust performance bounds slightly cb22ebd arith005(ghci) is broken on OS X x86 (#7043) 611105b Output wibble 2120d4e Test Trac #7594 0edc78a Add missing paren 27b0f0b Add a test for #1133 e672241 Add another test for #1133 f999a39 Test for Trac #7571. d22658b Remove a stray colon from the framework fail messages 531a441 Add a (currently very permissive) test name check 9b2d9d8 Add test for T7575. 3b42c19 Only run T7575 on 32bit arch. 3cedede Test Trac #7587 7f823a0 Fix debugging glitch in test output 479a922 Test Trac #2247 fb20a08 Fix T1133, T1133A when BINDIST=YES 70dc712 Don't allow '/' characters in test names 33af647 Use .hpc. for the hpc directory 3e70ca7 Clean the .hpc directories 8e9572b fix runtests to set LD_LIBRARY_PATH environment variable. 4a33b6e Rename some tests to not start with a digit cffb976 Make do_test catch and re-raise KeyboardInterrupt 69317c7 Adjust test; Int is not promotable 8f157fb Error message wibbles 488bf73 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 45ba79b Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 2c74d11 Rename some numeric tests: nnnn -> Tnnnn 3bd690a Rename some numeric tests: nnnn -> Tnnnn 01c5ea9 Rename some numeric tests: nnnn -> Tnnnn 4a37808 Merge branch 'master' of http://darcs.haskell.org/testsuite 8f5b045 Rename some numeric tests: nnnn -> Tnnnn 3d0f4c7 Rename some numeric tests: nnnn -> Tnnnn ff813a6 Rename some numeric tests: nnnn -> Tnnnn fc4e194 Rename some numeric tests: nnnn -> Tnnnn cccb390 Rename some numeric tests: nnnn -> Tnnnn 56de263 Rename some numeric tests: nnnn -> Tnnnn 2959a30 Rename some numeric tests: nnnn -> Tnnnn 4d4c5d7 Rename some numeric tests: nnnn -> Tnnnn 55e3a48 Rename some numeric tests: nnnn -> Tnnnn ea2a7ae Rename some numeric tests: nnnn -> Tnnnn 08db66a Rename some numeric tests: nnnn -> Tnnnn b107603 Rename some numeric tests: nnnn -> Tnnnn 4b7060c Rename some numeric tests: nnnn -> Tnnnn 8d715e6 Make numeric-only test names a framework failure 40bf8b8 Rename a test that shared its name with another test e645a38 Revert "fix runtests to set LD_LIBRARY_PATH environment variable." a673689 numrun012(ghci) now passes on Windows e66a81c Handles TEST_HC=c:/... on Windows 35eb509 Fix T7037 on Windows c2326d4 Tweak a comment to help vim's syntax highlighting cbe9e14 dynCompileExpr(dyn) fails on Windows as ghc isn't built the dyn way 188b562 Make T7037 work on both Windows and other platforms 254c887 test for #2435 c70d6ad Debug output wibbles c594883 Test Trac #7524 ee76d84 SimpleFail9 now passes, which is actually fine 27a66f0 update haddock.base figures ad22567 T5113 is passing, remove expect_broken, see comment on #7046 df3027e Remove some redundant 'extra cleaning' in T4850 33b47c3 Test Trac #7609 c588568 Interface files now include promotion flags d7eccda Improve test ce2f9eb Test Trac #7282 bea606f Merge branch 'master' of http://darcs.haskell.org/testsuite 1c81f61 Test Trac #7601 ffcfd20 Error messsage wibbles 512af3b Merge branch 'master' of http://darcs.haskell.org/testsuite 7361acf Add a test for #984 79a6a7a Accept output for readFail007 518c56d Add a test for #2222 fd1cf5c T5113 is failing again 4ff945c spelling fdf6cc7 Add a test for #1849 0eed595 When the testsuite is ^Ced, print the summary anyway 91aa609 Handle ^C better when threads are being used too 6eb328b Fix shared001 8005af1 Use a proper executable (rather than a shell script) in T6106 4200e0a Tidy up some tests 7dc2f44 Skip ghci/linking tests if we don't have ghci. 73e251d Fix cabal01 on Windows 8a0eeb4 dynamicToo001 is broken on Windows (#7665) 5527c5b Use normalise_errmsg_fun rather than normalise_fun where appropriate 4bde383 Fix T7037 on Win64 9dba3a8 Fix safePkg01 on Windows a9387d9 dph/words: don't inline the vectorised exported functions a69204b dph: tests with dph-lifted-copy need to use '-fno-vectorisation-avoidance if scalar closures get too big f854c8b dph/classes: fails for the moment, but earlier success was spurious a4b5be7 Fix framework failure 772a804 Eliminate *_num_field 0bbefb1 Make failing perf test output easier to read 25af5c0 Fix perf bounds on amd64/Linux following the change to *_range_field 164f705 add test for #7636 79f3386 Add a TEST="..." line to testsuite output c4cd533 Simplify driver code slightly 86df0f3 Define 'when' and 'unless' helpers f66409d Rename some arguments de7e357 Change how the testsuite driver handles copying the test options effc8af Pass the test name to the test options 83a6ae9 Remove unused *_num_fields bindings fba6633 Add a different sort of stats_num_field helper function f3c0dae Allow a simpler form of stats_num_field where all platforms use the same value d34f3e8 Convert to stats_num_field in perf/should_run 7d73454 Replace 'if_platform' and 'unless_platform' with 'platform' 338f03d Switch some more tests to use the new helpers 65b9cf7 Merge branch 'master' of http://darcs.haskell.org/testsuite 6dc2bd0 Convert remaining *_range_field's to *_num_field e315f36 Remove unused helper functions 50cfc63 Merge branch 'master' of http://darcs.haskell.org/testsuite 9f293ae Merge branch 'master' of http://darcs.haskell.org/testsuite a950053 Wibbles to test 8e1e95e Update 32bit perf results for the haddock tests 5ec0ad3 Rearrange the summary output 61dfc6c More 32-bit perf updates 448d4e7 More 32bit perf test bound updates 3541207 More 32bit perf bound fixes 77cfc62 Tweak another 32bit perf bound 98e12ea Tweak another 32bit perf bound 6e20d5d Improve bound for T3064 152b72d T5113 is fixed c5b0908 Merge branch 'master' of http://darcs.haskell.org/testsuite 3d94d01 Add 'make list_brokens' 240da00 Replace 'if_os' and 'unless_os' with 'opsys' 4c879a4 expect_broken_for should also be added to the list of brokens 78ff69f Handle duplicates in the brokens list 40f960d Print a warning if we get framework failures when listing brokens 5382010 Change '{if,unless}_arch' to 'arch' 02bd959 Convert more helpers to the new scheme 7cc907d Convert more helper functions to the new scheme 8d34b5c Convert more helper functions d36dc34 Convert more helpers 30a52e4 More helper conversions f73bd00 More conversions 89899d7 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 39997e4 Ticket #1845 is closed, so ghci024 presumably works on PPC/OSX now ac5ac46 Tweak the brokens list to include the directory the test is in 3e68b98 Remove T5763 dc96f51 Add expected output for T6117, which is now working f07528b Remove ds061 e71492e Update the reason for T5267 being broken d6df5b4 Add expected warnings for print020 3cdee65 HappyTest needs MagicHash 6dd940a Update print020 expected output 0821cab print020 now passes 716d83b Fix result001 6750676 Added testcase for Trac #7681, a Template Haskell missing feature. dc30d98 Update test to match new I/O manager behavior 94d8b99 Implement poly-kinded Typeable c7a2d3d Merge branch 'master' of http://darcs.haskell.org/testsuite a78a229 Merge branch 'master' of http://darcs.haskell.org/testsuite 55f1558 Error message wibble fdc6e90 Bump bounds slightly cc5fba7 Proxy is now defined in Data.Typeable ec8d757 Proxy comes from Data.Typeable, Typeable1/2 no longer exist 03753b0 Test #7631 cdddc52 TH empty case expressions now ok (with -XEmptyCase) a848c40 Reorder some functions to group them 8b801de peak_megabytes_allocated bounces around a lot 9781d94 Significant (15%) bytes-allocated reduction in haddock.Cabal and haddock.base c30fba2 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 8f6af34 Test Trac #7649 c3e24e8 Test Trac #7669 44cd844 Merge branch 'master' of http://darcs.haskell.org/testsuite a347ce0 Test Trac #876 718ab58 Merge branch 'master' of http://darcs.haskell.org/testsuite 06bf9e9 Merge branch 'master' of http://darcs.haskell.org/testsuite 91dd774 Change T3064's peak-megabytes again. It just bounces around 9d5fbec Wibbles because of exprStats change 00a3d58 Wibbles because of length-is-good-consumer change c02f121 add a StableName test 046b6ff fix T3064 bounds b3bf41f Error message wibbles when adding overloaded lists da1c206 Add tests for OverloadedLists a5e761b Merge branch 'master' of http://darcs.haskell.org/testsuite be6d11c Improve a comment aea57e4 Remove uses of compose(s) in tests, and change how composition is handled fc58f9b Test Trac #7645 a6244c3 Merge branch 'master' of http://darcs.haskell.org/testsuite 0e95a50 DPH: test tidying when unvectorised version of an exported variable disappears ff6ee52 Test Trac #2354 764d4cc Merge branch 'master' of http://darcs.haskell.org/testsuite 5238415 Test Trac #7688 28c2b2a unixify line endings d447f1d Don't use deprecated System.Cmd cfa86db Fix T7688 721f9cc mask002: Follow changes in base 5acf074 T4978: Follow changes in base f2b383f BadImport04: Follow changes in base 3fbfc40 Remove BadImport04 and BadImport09 c109bed Remove Dep0{3,4} 9a76609 Update GoodImport03 028e7a7 Add extra cleaning for ccfail004 6819503 Add extra cleaning for print035 fd24920 Follow the unsafePerformIO change in base a9e0501 Fix prog003 after forkOnIO was removed 8adfaeb Fix T4891 following GHC API changes 43d4588 Fix T6145; MatchGroup was renamed to MG and altered a513cdf Remove compose 5a219fb Fixed dph-classes 5a2f0bc Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 7d7518f Revert "Significant (15%) bytes-allocated reduction in haddock.Cabal and haddock.base" 96cf2fd update T3064 max_bytes_used (up a little) 8d70a44 unsafePerformIO moved d6eba9a accept output 9cfc862 Test #7689 887b9f0 Update T3279 to use mask rather than block 06596cf Update a couple of tests to use mask rather than block/unblock 52ea416 Update a few more tests to use mask rather than block/unblock f65de9e Follow the removal of blocked in base 5e10b98 Revert "Update T3279 to use mask rather than block" dcbd5a5 use unsafeUnmask instead of an IORef containing restore f2a8479 small tidyup d1d45e8 The "unblock" was important here 566128c Test #7710 580fd74 Add a test for #7671 11237cf Add a test for #6037 d658827 Update outputs following the unicode quote change in GHC's output c5800c9 Fix line endings in Defer02.stderr 05cd20d Accept Defer02 output following unicode quotes change 0d7562d Accept T3208b output following unicode quotes change adcba27 Accept T3950 output following unicode quotes change c1881fa Update T3103.stderr following unicode quote change d911c3b Add a test for #2507; we should get `' quotes if unicode quotes don't work e43b7eb Fix T6037.stderr; it uses LC_ALL=C, so won't actually get unicode quotes e0413f0 Add a couple of tests for #7627 a3e9109 T7671 / #7671 is now fixed 69db014 Remove redundant SafeHaskell tests ccd4aa7 Test Trac #7729 7341c6b Merge branch 'master' of http://darcs.haskell.org/testsuite 3b88f75 Add a test for #7734 ef9f796 Update drvfail011.stderr following #7734 fix; patch from monoidal 455fbad Wibbles to error messages following fixing Trac #7696 and #7697 a0d9992 Test Trac #7641 58bac61 Test Trac #7696, #7697 35a209c Trac #7736: Parallel array enumeration causes compiler panic (enumFromToP), expected fail b400b60 Merge branch 'master' of http://darcs.haskell.org/testsuite 398c3d0 Wibbles from new arrow typechecking code Refactored to solve Trac #5609 44129f0 Merge branch 'master' of http://darcs.haskell.org/testsuite ade5319 update T5045 for new typing of arrow forms 3a4200f Accept unicode quotes in T2507 0aee231 Force recompilation to ensure plugin output, fixes #7597 eff6546 plugins01 should be using $(TEST_HC_OPTS), not $(HC_OPTS) 5c2f794 Update test output 51a1962 Add test for T7704 0edf9ca Add a test for AutoDeriveTypeable 7440ff2 Merge branch 'master' of http://darcs.haskell.org/testsuite 2ec07b3 Test Trac #7748 9142f09 Revert "Accept unicode quotes in T2507" 1bc7f3e Stop T2507 failing on Windows 6f6305e Add a simple test for compiling and running a program that uses the GHC API 5039959 Update haddock.Cabal bounds f3da8ce Tests for nullary type classes (#7642) 6215d4c Fix tests for dynamic ghc 543641a Fix ghci058 with dynamic GHC 61c83e9 Tweak test as a result of fixing #4175 c536db7 Initial test for Trac #4175 0ab15cf Fix T5555 with dynamic ghci bed5808 Fix plugins02 with dynamic GHC c9dbd10 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite e9fb977 T5313 is broken (#7774) 600d873 Add a test for #7776 302f20d Make T7319 run in all ways 6e09157 Merge branch 'master' of http://darcs.haskell.org/testsuite 2e55b16 Fix a framework error when using a non-dynamic GHC 3333a9c new test for #7796, also improves a haddock perf 9c0dbe3 SpecConstr infinite specialisation: test for #5550 86825d5 Test Trac #7805 25fb90d Test Trac #7804 717a1db Wibbles to error output 45e9b6a Bump peak-megabytes (always a wobbly number) 5363f26 Test Trac #7827 0e489e5 Wibbles to "main is not defined in Main" messagse 665bf58 Test Trac #7837 43bbd40 Test Trac #7586 15fe210 Test for #7815 3ad224c Whitespace only e47e664 Add a multi_cpu_race helper 0229378 Fix the testsuite config to allow running with GHC 7.6 539a9bf Add a test for #7848 b917510 Fix tests after #7848 c3d2436 Fix detection of library flavors on FreeBSD 8394c0e Fix library flavor detection for the validate script as well d61719f Actually test T4175 9bf2e77 Improve tests slightly 0edc55b Error message wibbles, following TcErrors refactoring 0bfd104 Test Trac #7786 f28c6b0 Peak-memory usage for T3064 varies depending on whether .hi file exists on not 0d07390 Error message wibbles af58cc6 Test Trac #7857 ce5d75b Add a test for "--make -dynamic-too" 30ae934 dynamic002 is broken (#7864) f4943f0 Fix the dynamicToo002 test 9183ff2 Update Cabal perf expected values following Cabal update e0a8eb6 More dynamic-too tests f5d3675 dynamicToo002 now passes d5bd2d3 Wibbles to error messages, following the fix for Trac #7851 1cbc06e Test Trac #7778 b505805 Test Trac #7851 f468754 Test Trac #7856 1129cf0 Test Trac #7869 70f883e Test Trac #7861 7a0919e Test Trac #7872 b663dd2 Test Trac #7873 8c561fc Test Trac #7875 69b9352 Wibble to error message 2718c2b Test Trac #7865 a9f00a6 Adjust tests to match -funbox-small-strict-fields change 8eef271 Add test for T7878 f010e1a Add a test for shutting down a process with in-calls in progress af43126 unbreak tests (removal of block/unblock) 8eb3cf9 Tidy up the driver slightly 985a221 Fix library way detection; fixes the ImpSafeOnly* tests when BINDIST=YES ebd5165 Add a test for #7373 962fd59 Change how we detect what library ways are available f9763a5 Test Trac #7910 464dc37 Update test now that undefined has an OpenKind forall 866b6e4 Wibbles to error messages 15013c0 Better error message 1fab45e Test Trac #7268 7a7ace7 Test Trac #7888 2ef4463 Test Trac #7892 600726c Update test for application of (->) to Int# cd5b6ba Improved compiler performance! Reason unknown, but hey, it's good news 60e39fa Test Trac #7891 and #7903 81058c9 Wibble to simplifier output 91132ac Test Trac #7906 cb5ed25 Make the test actually test the bug! 5888f61 Make test cleaning a little more consistent 8c6794a Merge branch 'master' of http://darcs.haskell.org/testsuite 26eee8d Add a test for 2 trailing commas in the module export list ea5bdfd Improved error message 61b57b2 We no longer quantify over an entirely-unused existential type variable 47aebf9 Add stderr output 9918965 Test deriving Typeable for promoted data constructors with AutoDeriveTypeable fca2491 Add test for T5863 c311c2a Update output for T2604 78618d4 Test Trac #7916 c1d4cd7 Test Trac #7924 dcafadf Improve test T7916 d90640e Test Trac #7939 302b38b Test Trac #7931 28207fb Explicit kinds in :info command ===> testsuite wibbles 02e0df0 Test Trac #7937 3a596be Test Trac #7943 4039397 Test Trac #7797 762b777 Re-increase the (erratic) max-bytes-used bound for T3294 0a5065a Wibble to error message 182e34b Test Trac #4185 4316bc3 Add test for polykinded Control.Category. 4112b1f Whoops. :( 2e7d1fd Test Trac #7809 967f685 Make test for T7903 a bit harder! 56f4215 Test Trac #7785 9051d7f Test DerivingNewType now passes 71178ab Remove CatPairs test. 5b08752 Fix test for Trac #7931 65b3531 Add a test for #7859 753ab0b Performance test for Trac #7702 557fa20 Remove some cruft 99da484 Test Trac #7959 e36f28b Add missing files from #7702's test 9e7d0dc Merge branch 'master' of http://darcs.haskell.org/testsuite 70ceb7b Simplifier trace wibbles for cardinality analysis 6599d46 Update gitignore. cc1b579 Allow fast from top level makefile. 09de957 Update readme to markdown and expand. b52a0a2 Test Trac #7894 98265b3 Update expected perf results c5d5e3a add test for the new bswap primops cb5a00c Fix cgrun072 436f896 Test Trac #7973 5bd297c Test Trac #7974 2333148 Wibbles to error message in recomp006 bab5720 Test Trac #7967 133b500 Mark cgrun072 as expect_broken( 7902 ) da80f8e Fix some testsuite cleaning; part of #7941 4895155 Update fptr01 a595130 Fix qq00{7,8} with dynamic ghc 9e5f86a Fix apirecomp001 with dynamic GHC 08da282 Fix annrun01 with dynamic GHC 82fc261 Test Trac #7963 5c0012b Test Trac #7969 03fe914 Remove .imports file which isn't part of the repo a67156e Test Trac #7954 5cc6773 Test Trac #7558 1008179 Add Windows expected output for T7859 7b78543 Improve the testsuite's LLVM detection a26bf92 Just moving some tests aroudn to make it easier to see what's going on c30744c Updates to support closed type families. a44e4a7 Add another -dynamic-too test 3df8953 Wibbles to perf tests 57bfe48 Test Trac #8002 b60461e Test Trac #7995 8b24aa7 Test Trac #8011 fe2397f Test Trac #7989 62e48fb Test kind inference for closed type families/T7939. 3ab4718 Add test case T8018 6297368 Add test from #7919 991a6fd Add test for #7574 40e10bd Add test for #7970 e010fa6 conc031 now deadlocks, due to fix for #7970 0e3e681 T149 is passing b098a7a Revert "Add test for #7574" a99cd86 Add test T8028 3248b3a Fix testsuite failure caused by fix to #8041 5d621d5 Add a test for #8035; patch from errge 504c0af Add expected output for T8035 5bd8743 Add test to check stack is not executable, to prevent #703 regressions. d8b1626 Tests for atomicReadMVar. ca3a648 Add simple test for tryAtomicReadMVar. 48ac948 Add a test for #7850 2c35ccb Rename atomicReadMVar and friends to readMVar. 4a2ade4 cgrun072 now passes. 657da7a Add note about how to cleanup test files. aab4cda Only run T7995 with optimizations (it tests rule firing). 9c3bfb1 Add a test for #8083 aae6751 T8083(ghci) fails 5aaca55 Add output for T7970, make it run when 'fast', and remove bogus file f32f5f9 Wibble to output from new instances in Data.Data 229c664 Add some missing cleaning 1facc19 Rename a mis-named test 5970baf Add a test for #8101 c93e866 Add a test for #7835 9437811 Test for #7116 (strength reduction) e63fd2a Add a test for T7895 (literal overflow) f70e79a Add NegativeLiterals to T4437 5207c0f Add a test for #7881 65a5305 Add new test for #8020. 929155f Add tests for roles. 40cd71a Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 733b6ee Wibbles to output from refactoring datacon code a3a99eb Add test case for #7938. fd20b87 Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 902cf01 Added test cases for closed type families in .hs-boot files. b02aa92 Fix #7116 failing due to uniques f0beac1 Add LICENSE file, along with a copy of the GPLv3. 9b5f1c1 Fix duplicate test names 0a5e964 Fix naming of ClosedFam1/ClosedFam2 tests. 015da28 print035 now passes (see #7382) 0ced36c Add failing test, see issue #8131. 5f18e9e Add a failing test, see #7574. 0c03fae Comparison primops return Int# (Fixes #6135) bbb9cbe Add regression test for #8103 6d4bf54 Add a regression test (see #8116) b082afa Add a regression test (see #7953) d764c0c Add testcase for #8138 9aaaf62 Fix test for #8116. 8a1456a Test case for #7901. 5eae0ad Improved performanace 0bc0e7d Add test cases for T457 d157f5f Add regression test for #8142 5314acb Rellocate test for T7689 to different directory 6fcb7c6 minor: update test case to go along with atomic_inc change a29b67b Add a basic test for casArray#. 24aaa0f Omit hpc for CAS test. HPC breaks CAS currently. b92d14d Update casArray# test and add simple casMutVar# test. d4a2cce Add a test for unloading object files in the linker (#8039) afac9ac linker_unload fails when using dynamic GHCi. f3f9077 remove debugging cruft 7b03dbf Fix atomicinc 77210ad The linker can still be used when DYNAMIC_GHC_PROGRAMS=YES 65b737f Add regression test for #8113 5b606aa Update `perf/haddock` expected values 2416079 Fix typo in expected-perf update commit c6361f6cb4 6cb3e0b Add test-case for #8172 f9d1f65 Add test for #8186 e06abac Wibble to output from change in roles error messages a7bc138 Wibble to tests from improving comments about apartness. 567f2fc Add test for -XNumDecimals f1cd6b1 Add NumDecimals to GHC ext list in T4437. ce82e57 Use msse2 in Conversions test (See #8195) c1bb147 Test Trac #8155 9166f69 Increase peak-megabytes for T4801 059acec Follow TH pretty-printing change e44d8cd Follow error-message changes for type holes e35f5c8 Updated tests for the change in wrapper IdInfo syntax in c080f727ba5f83921b842fcff71e9066adbdc250 cf2fe3e Test cases for new IncoherentInstances behaviour 2fcaed3 Adapt for `containers-0.5.2.1` update 25df0af Merge branch 'master' into atomics 77fb33c Wibble for removing InlineWrapper 644d917 Test Trac #8196 23fb31b Test Trac #8215 2065c01 Test for T7918 6f0cf01 add a test for #8209 cab84ec Tests for Trac #8221 8c16eb5 Magic incantation to make T7918 work on Linux 391e99d Adapt test to avoid Typeable instance error 16f468f Add test for #8132 32a0d95 Test for -staticlib flag 92bd658 Adapt for `containers-0.5.3.1` update fb5156d Remove extensions from T4437 known to Cabal 1.18.0 4c959e2 Update T4437, per JavaScriptFFI changes. 8859e1e Test for Trac #8242 0b1bea4 Fix most AMP warnings. ad8fb8f Test Trac #8227 9ca4a73 Error message wibbles f355937 Test Trac #8262 394ab58 Fix output for T8262 13f1caa Leftover change to relevant-binding warnings (one I missed) 47a0c36 Fix remaining AMP fallout. 2801397 Test for #8205 04a2428 Add some tests for evaluating type-level naturals. 7e76e92 Follow change in [e17549c80425f3/base] 5dd3e99 Tests for the Coercible class 226a18b Tests for #5435 (init/init_array/constr handling by linker) 02d4958 Properly provide leading underscore when necessary. 35db0b3 Fix egregious pathchar business in linker_unload. cef90d5 Suppress some known errors from Mac OS X. bd598da Suppress some known broken Windows tests. baaf4e8 Adjust test suite to new Language Pragma warnigns 05d2fae Make these two tests thread safe. 5f7733d Add tests for the new ByteArray# <-> Addr# copy primops 321647d Fix up cgrun072 a bit (#8250) 4d2cd51 Delete trailing whitespace in cgrun070 0138d19 Fix usage of 'expect_fail' in T2507 4141f8b Add test case for #8184 c65a3cd T5435 test improvements, see #5435 for details. 9b0f0cb Test for #8306 d53be3b New and improved tests for #5435. Linux only at the moment. 853f92c Implement assembly test for #5435 in Windows. 7b12be7 Finish up asm test #5435 for Mac OS X 0eb7546 In the test that tests -optP -C, also pass -optP -ffreestanding 3505891 Adjust testsuite to new printf implementation 9a4c4e2 Recompilation test case for #8247 b4ab30d Add missing Windows stdout/stderr output for #5435. 1e3ca73 Update to tests due to change in syntax for role annotations. b6d90d1 Update to new missing-method-decl warning style f900796 Tests for MINIMAL pragma (#7633) 1c5fee1 Follow changes in [12a8244/ghc-prim] (#7633) 690b7e4 Follow changes in [7ab62490/base] (re #7633) eca3044 Trailing whitespaces 4a9f216 Follow changes in comparison primops (see #6135) e9fa009 Fix T4007 71f0918 Fix performance failures on x86_64 33dfd92 Test driver: Print total time spent at the end 1e24696 Test driver: Implement different verbosities 9d0ae76 Test Trac #8280 fd4e4ab Test Trac #8129 b139102 test Trac #7800 023eff7 Test Trac #8333 b7e27b6 Typos c0d6441 T7574 is now passing (#7574) 10a4450 linker_unload is now passing (#8192) 72fa9fc Wibble after #8218 325587c Driver: Fix % operator typo 3eb5cfd Add some tests for type-level subtraction. 9a7626c Fix T8132 030e3f7 Fix T8333 (#8333) 883fd49 Test Trac #8377 6a8e733 Fix fallout from making lazy unlifted bindings an error 18f2895 Deal with failures for T367, T367_letnoescape under ghci 5fa0c79 Update compareAndSwap for new comparison primops 5d12054 Mark T7881 as expected failure for WAY=hpc (#8384) 7ff4696 Update spec001 for new Typeable, and disable AMP warning ab86ebd Update prog001 output (see #7633) a86935b Update role annotation syntax in TcCoercible ba3ae9c Fix T8129 (#8129) 82cd258 Add tests for new internal GMP primitives b9ce2d5 new test cases for MultiWayIf w/ layout f9bcb83 add a sleep for systems with low-resolution file timestamps b275be6 Test Trac #8329 0ad7cdb Error message wibbles, bd0c900 Test Trac #8359 4bdbdd1 Better fundep error message 1e41257 Mark those tests which depend on libraries not built when cross-compiling 61e0979 Skip integerGmpInternals in ghci (no unboxed tuples) 40177b2 Add 32-bit output for T7919 e663290 Add tests for prefetch primops (#8256) 6b56962 Further testsuite wibbles following changes to kind suppression 067f78b Error message wibbles following ambiguity check changes 65128ed Test Trac #8392 be98618 Test Trac #8391 d371092 Trac #T7881 now works for hpc way again 80d2a08 Test Trac #8357 f76d68d New tests for #8368. cd504d8 Fixup basic type-lits test. 4462992 Fix a failing test. 5863ce4 Test Trac #8383 c5806bf Error messsage wibblification 4ccdc32 Adjust tests for new Template Haskell. 1d43475 Fix test wibbles for new Template Haskell. c2dc336 Update tests now that declaration splices are legal everywhere. 6a82b92 Update test to reflect fix for #1201. f8dd650 Fix test wibble. 27c2fd7 Peculiarly, we now pass this test on ghci. 3db7650 Merge New Template Haskell branch. 718e86b Flag to test suite: SKIP_PERF_TESTS aa8559d Add tests for new TH #4124, #4128, #4170, #4364, #6062 9cd6e6e Change deprecated _scc_ to {-# SCC #-} (#8170) 15b4f83 More error-message wibbles 7912f8b Error wibbles now that we print roles in :info 26cc444 concurrent/conc012: Pass RTS options to executable, not ghc a936391 Wibble to annfail10 due to Edward's changes. e8efda2 Wibble after typofix 519c0d7 Test #8428 aa7cbbc don't need ghci_way_flags, the ghc package works all ways a9fb5a7 accept cgrun057(prof) 20b962b Update test-suite for new `array-0.5.0.0` 7cfe392 Test #8430 dcdc172 Test #8431 6584d73 Add a timeout for #8431 3b6d57f Test #8412 081dd69 Test #8412 (again) 7245b3e Added test for #7667. 62d0116 Test Trac #8449 9ed37ee T5313 now succeeds (Fixes: #7774) 77250f2 Update performance test due to fix for #8456 eb49cba Update performance tests 169a188 Flush stdout after printing in runIO c650ed4 Test #8119 a6d5d9c Test #8119 89b4686 Dial back -O level on DPH tests to speed them up 5c4c46d Don't run opt versions of DPH tests at all 59d86a3 Test Trac #8448 8ce3516 Error message wibbles f9f69e8 Test Trac #8470 4d75984 Add test for #8455. c43dd97 Add new test for the second round of #7667 99cd277 Update tests to reflect new check for GeneralizedNewtypeDeriving 324f995 Wibbles to output regarding role annotations. 2041b94 Test Trac #8469 bbda6d5 Test Trac #8467 7b93a3d Test Trac #8425 4253456 Adjust performance of T783 to #8456 fix 8a4c406 Test Trac #8474 2a8bfc3 T8242 now passes on Windows f294ef1 Fix dangling pointer reference in T8242 104773d Test Trac #3333 e5b0a50 Follow version bump of `pretty` ed807b7 Add tests for new internal GMP primitives 80c8b2a Don't include malloc.h in linker_unload test. 2fc162e Add test for #8485. c9fabf5 Test #8492 72102f1 Update tcfail082 output (#8322 fallout) ac4a5e2 Test Trac #8500 a7d9aa1 Test Trac #8499 a2ff078 Error messsage wibbles bc61455 Peak megabytes for T1969 varies from run to run 136dc98 Test Trac #8450 959eef6 Test Trac #7477 a69fea8 Test Trac #8506 f6f9eb3 Test for Trac #4135, comment 2 bc5f6f5 Error message wibbles 22bcd5e Wibbles following fix to Trac #8278 3fe4b67 Error message wibbles 4962f40 Add tests for new import/export GMP primitives bd61277 Test Trac #8037 486d396 Run T7478, plugins06, T7918 only when dynamic libraries are available 0b46843 Typo in test definition fd252df Test Trac #8507 c6ccdbb Test Trac #8518 6be78e2 Much better perf on 5030, higher peak on 3064 552f1bf Test Trac #8514 50c4f33 Wibbles 1e603f5 Actually increase the perf number! ee65883 Detect msys2 via uname (different to msys) faa6842 Test Trac #5996 29b6882 Increase coverage of #4175 a0d5566 Wibble cb9a3b3 Test Trac #8535 8d2617a Wibble after typofix 3b55ede Update output for generics ac73a9a Test Trac #8534 4642f87 Add DeriveDataTypeable (omitted wrongly before) e43a412 Wibbles to deriving error messages 7903476 Include pairs in this test 483ff50 Add examples from #8541 to testsuite a37c6ad Test case for undersaturated newtype in Coercions ea3c659 Test coercing under under-saturated newtypes a1ca534 Test cases for context stack overflow 13fd6e2 Update linker_unload to cope with CAFs 9f71101 Mark tests as expect_broken when borken with -DDEBUG 0d10c87 Test Trac #8526 e38b994 Test #8542 b99d8aa Test Trac #8537 67661b6 Improved error messages ea73ef7 gadt6 is fine now, even with DEBUG e4e7aff Error message improvements d3ea4ce Error message wibbles 15bfc03 Higher residency in Haddock 7055a16 Test Trac #8540 a4c79e3 Type function application has its own depth counter now 6f49522 Add test cases for Coercing recursive newtypes (#8503) d544260 Testcase for Coercible and newtype families (#8548) 4a2e4a7 Coercible-base GND: update error messages d6b0c79 Update test output of print018 42370b5 Updates perf numbers after #8503 implementation 3b45ada T5246 and T7474 back working with -DDEBUG a56dadc Mark break006 break003 print019 as broken by #8540 58e1993 Error message wibbles 586a251 Add testcase for #8563 7dcce31 Mark #8562 as fixed 56b9f2a Add testcase for #8565 ce5b7e7 Bump haddock.compiler perf data d2bcc79 Testcase #8565 no longer broken b5b6613 Ensure nested CPR does not break havoc with repeat d3b14cd #3103 no longer broken, it seems e28006c Output of T7861 has changed 25be487 Update some perf results for master 52b96a7 add Note about residency tests eebf8d8 Add test for T6084 6da3797 Undo my wrong bumps to T6048 3ec7f39 Summarily skip compiler_perf tests when DEBUG is on d79ecb4 Explain skipping compiler-perf tests when debugging is on cefe67b Error message wibbles 88d06d9 Fixed Trac #8540 a95a20b Test Trac #8557 76f8a4b Wibbles when fixing Trac #8570 c5fa5d5 Test Trac #8570 3526198 Test the strictness analyzer using annotations a96f715 Add test case for #8569 eb98c81 Update testsuite for nicer Coercible message 49cbda5 Bump T3064 perf values c4296b9 Update apirecomp001 output e1fffa6 Mark type-rep as broken until #5869 is fixed c838eb1 Try to set flags for some tests involving TH right acdb3a4 TH_import_loops fails for GHCi again ca80875 Looks like plugin06 really only works with dynamic libraries enabled 102fe6a Test case about HyperStr and UseDemand aba39d0 Wibbles to output caused by change in checking role annotations f6f82a9 Update output: New error messages as per #8576 381724b Update output: More elaborate GND error messages f783a6f Add new ghc-e/should_fail test suite 75dbe87 Different quotes in error messages following lexer clean-up 6b52a20 Test Trac #8577 373e340 More different quotes in error messages following lexer clean-up 773003a Add testcase for #8598 fb906bf Use -ddump-strsigs in tests/stranal/sigs 5a0eaba Mark testcase for #8598 as not broken 9e84e13 Add nested CPR testcase 08d21c4 Demand Analyser testcase: Unsaturated functions bef57f0 Sort the output of -dump-strsigs 0da1a84 Test Trac #8566 d39bb03 Adjust output to new oneshotness fedd570 lazy-bs-alloc improved from oneshotness stuff f116efa Update compiler performance values 00cd65f Error wibbles while fixing #8607. 03d7cc6 Update perf numbers for 32-bit This has not been done for ages a5cb317 Test Trac #8633 33b931c Test Trac #8603 d53a095 Error message wibbles 4393b4b Fix number literal syntax mistake 22770b4 Test Trac #8625 f54fc09 Test Trac #8639 (just the GHCi version) 40db99a Test Trac #8639 fb121d3 Improved out-of-scope error for qualified names in GHCi e54ce01 Test Trac #8644 c06528c White space only b0cdb9b Update T7594 as a result of fixing #8644 bcd92b0 Do hFlush in the T8639_api test 7f2bf06 Test Trac #8640 de705b8 Test Trac #8628 a9eed48 Test Trac #8579 1675423 Update T7594 properly c3a08c0 Add output for T8639 fc19426 Update perf values for T5237 036916b Add test suite for #8602 c53b339 Tests for #8601 b014797 Test that runST is not inlined prematurely 5d2fb2e Further refine the test for 'given' equalities 0f737ce Comment typo 0ec5302 Improve documentation of :module etc (Trac #8622) 19e23dc A little refactoring so that we print package-qualified modules names if necessary 322b48b Further improve the "same-occurrence" error messages (Trac #8278) 73c08ab Re-work the naming story for the GHCi prompt (Trac #8649) 15a3de1 Comments only 91252ef Test Trac #5498 eeb6963 Changes in error messages when fixing Trac #8649 e8529d3 Adjust "max_bytes_used" upward for T4801 21b3245 Test Trac #8649 d154b7b Test Trac #8651 95f938d Fix a typo in comment ad233cf Add forgotten stderr output for T5498 063a1b2 Notes and code cosmetics 17a3dac Bring kind variables into the type-checker's scope as well as type variables 08a3536 Make showSDoc and friends respect -dppr-cols b7ddf63 Make initGhcMonad call setUnsafeGlobalDynFlags ea5da60 Comment typos only 3c2ae51 Document the fact that Areas overlap, and why. 0369c97 Clarify issue in #8630 in users' guide. 566ba6f Fix #8599. a32d478 Update mailmap cc29b46 Fix typo in error message a924deb fix a mistyped label that caused a stray reference 6669340 Fold testsuite.git into ghc.git (re #8545) 5f54d67 Update `sync-all` and others files w.r.t. merged testsuite (re #8545) 5f2cdca Fix new Haddock doc parse failures. 5356fb3 Bump Haddock perf numbers for new parser f806598 Update new testsuite .gitignore ae87e12 Fix #8180 6494de1 More testsuite .gitignore updates 4af1e76 Add Windows to NoSharedLibsPlatformList 9c91a24 More .gitignore updates 2d9be8c Test Trac #8616 a3616cd Lower T4830/allocated_bytes due to [7bdcadda7/integer-gmp] (#8647) 8a0f1d2 Adapt perf values due to [cbde8627/integer-gmp] ed86b1a Remove obsolete declarations from `MiscClosures.h` f9892b2 Regenerate core-spec.pdf. 4d5d68a Disable -dynamic-too on Windows 7df27d5 Fix the behavior of ae87e122 (#8180) 5949489 Tweak OS X/amd64 perf numbers. 91fd784 Update .gitignore again 01b85a8 Update .gitignore abea97b Fix T3333 cd3e345 Mark static001 as failing d4c2397 Add T8172 output for Win32 1c43b74 Fix T8172 for Win32 (again) 8eae725 Fix T7859 mingw32 output 0da3ef2 Fix T8526 on Windows 769c75a Mark T8602 as expect_fail on Windows 59182e4 Add Solaris linker support to SysTools b9b94ec Fix binary linking errors on Solaris dfc32cd5 genprimopcode: Applicative instance for ParserM 10d36f3 Fix AMP warnings for MaybeT/MaybeErr 0537cb7 Another AMP fix for Stream 4571b40 Fix ./validate failure due to -Werror f73fc7d Fix TyCon import aae5931 Fix Windows binary-dist target 3e633d9 Typo in comment 235fd88 Turn -XTypeHoles into a (on by default) warning 89c83d6 Update to `terminfo-0.4.0.0`/`haskeline-0.7.1.2` 95d0439 Implement pattern synonyms 3bc8c62 T7336 is expected to be broken because of a regression introduced by pattern synonym implementation From git at git.haskell.org Wed Jan 15 15:41:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 15:41:26 +0000 (UTC) Subject: [commit: ghc] master: s/warn-type-holes/warn-typed-holes/g (778b48a) Message-ID: <20140115154126.802932406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/778b48afc36e2b0eb44387e2a36947ac0c6ddd95/ghc >--------------------------------------------------------------- commit 778b48afc36e2b0eb44387e2a36947ac0c6ddd95 Author: Austin Seipp Date: Wed Jan 15 08:35:37 2014 -0600 s/warn-type-holes/warn-typed-holes/g Signed-off-by: Austin Seipp >--------------------------------------------------------------- 778b48afc36e2b0eb44387e2a36947ac0c6ddd95 compiler/main/DynFlags.hs | 6 +++--- compiler/rename/RnExpr.lhs | 4 ++-- docs/users_guide/7.8.1-notes.xml | 4 ++-- docs/users_guide/flags.xml | 6 +++--- docs/users_guide/glasgow_exts.xml | 6 +++--- docs/users_guide/using.xml | 6 +++--- testsuite/tests/module/mod71.hs | 2 +- testsuite/tests/rename/should_fail/rnfail016.hs | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 29f3834..f720db0 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -464,7 +464,7 @@ data WarningFlag = | Opt_WarnUnsupportedCallingConventions | Opt_WarnUnsupportedLlvmVersion | Opt_WarnInlineRuleShadowing - | Opt_WarnTypeHoles + | Opt_WarnTypedHoles deriving (Eq, Show, Enum) data Language = Haskell98 | Haskell2010 @@ -2575,7 +2575,7 @@ fWarningFlags = [ ( "warn-identities", Opt_WarnIdentities, nop ), ( "warn-auto-orphans", Opt_WarnAutoOrphans, nop ), ( "warn-tabs", Opt_WarnTabs, nop ), - ( "warn-type-holes", Opt_WarnTypeHoles, nop ), + ( "warn-typed-holes", Opt_WarnTypedHoles, nop ), ( "warn-unrecognised-pragmas", Opt_WarnUnrecognisedPragmas, nop ), ( "warn-lazy-unlifted-bindings", Opt_WarnLazyUnliftedBindings, \_ -> deprecate "it has no effect, and will be removed in GHC 7.10" ), @@ -2990,7 +2990,7 @@ standardWarnings Opt_WarnWarningsDeprecations, Opt_WarnDeprecatedFlags, Opt_WarnAMP, - Opt_WarnTypeHoles, + Opt_WarnTypedHoles, Opt_WarnUnrecognisedPragmas, Opt_WarnPointlessPragmas, Opt_WarnDuplicateConstraints, diff --git a/compiler/rename/RnExpr.lhs b/compiler/rename/RnExpr.lhs index 0da22d6..01e8a44 100644 --- a/compiler/rename/RnExpr.lhs +++ b/compiler/rename/RnExpr.lhs @@ -104,7 +104,7 @@ finishHsVar name rnExpr (HsVar v) = do { mb_name <- lookupOccRn_maybe v ; case mb_name of { - Nothing -> do { opt_TypeHoles <- woptM Opt_WarnTypeHoles + Nothing -> do { opt_TypeHoles <- woptM Opt_WarnTypedHoles ; if opt_TypeHoles && startsWithUnderscore (rdrNameOcc v) then return (HsUnboundVar v, emptyFVs) else do { n <- reportUnboundName v; finishHsVar n } } ; @@ -313,7 +313,7 @@ Since all the symbols are reservedops we can simply reject them. We return a (bogus) EWildPat in each case. \begin{code} -rnExpr e at EWildPat = do { holes <- woptM Opt_WarnTypeHoles +rnExpr e at EWildPat = do { holes <- woptM Opt_WarnTypedHoles ; if holes then return (hsHoleExpr, emptyFVs) else patSynErr e diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index a5edeea..72601f3 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -19,13 +19,13 @@ By default, GHC has a new warning enabled, - -fwarn-type-holes, which causes the + -fwarn-typed-holes, which causes the compiler to respond with the types of unbound variables it encounters in the source code. (It is reminiscient of the "holes" feature in languages such as Agda.) - For more information, see . + For more information, see . diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml index a9b989d..3a69c8f 100644 --- a/docs/users_guide/flags.xml +++ b/docs/users_guide/flags.xml @@ -1522,10 +1522,10 @@ - - Enable holes in expressions. + + Enable holes in expressions. dynamic - + diff --git a/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml index 32f2c2e..d336ee9 100644 --- a/docs/users_guide/glasgow_exts.xml +++ b/docs/users_guide/glasgow_exts.xml @@ -7671,14 +7671,14 @@ with but type inference becomes less predica - + Type Holes Type hole support is enabled with the option -, which is enabled by default. +, which is enabled by default. -The goal of the type holes extension is not to change the type system, but to help with writing Haskell +The goal of the type holes warning is not to change the type system, but to help with writing Haskell code. Type holes can be used to obtain extra information from the type checker, which might otherwise be hard to get. Normally, the type checker is used to decide if a module is well typed or not. Using GHCi, diff --git a/docs/users_guide/using.xml b/docs/users_guide/using.xml index 7192e6a..8d8211e 100644 --- a/docs/users_guide/using.xml +++ b/docs/users_guide/using.xml @@ -1094,9 +1094,9 @@ test.hs:(5,4)-(6,7): - : + : - + warnings When the compiler encounters an unbound local @@ -1106,7 +1106,7 @@ test.hs:(5,4)-(6,7): includes the type it needs to type check. It works particularly well with deferred type errors. - See + See This warning is on by default. diff --git a/testsuite/tests/module/mod71.hs b/testsuite/tests/module/mod71.hs index 7798cfc..28d388c 100644 --- a/testsuite/tests/module/mod71.hs +++ b/testsuite/tests/module/mod71.hs @@ -1,4 +1,4 @@ -{-# OPTIONS_GHC -fno-warn-type-holes #-} +{-# OPTIONS_GHC -fno-warn-typed-holes #-} -- !!! Illegal _ in expression module M where f x = x _ 1 diff --git a/testsuite/tests/rename/should_fail/rnfail016.hs b/testsuite/tests/rename/should_fail/rnfail016.hs index 5e71207..1bf15b0 100644 --- a/testsuite/tests/rename/should_fail/rnfail016.hs +++ b/testsuite/tests/rename/should_fail/rnfail016.hs @@ -1,4 +1,4 @@ -{-# OPTIONS_GHC -fno-warn-type-holes #-} +{-# OPTIONS_GHC -fno-warn-typed-holes #-} module ShouldFail where -- !!! Pattern syntax in expressions From git at git.haskell.org Wed Jan 15 18:06:39 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:06:39 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Strictify the demand on unlifted arguments (ea313b8) Message-ID: <20140115180639.66F092406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/ea313b831b0d77fb416841c1b246f0570c34e8ca/ghc >--------------------------------------------------------------- commit ea313b831b0d77fb416841c1b246f0570c34e8ca Author: Joachim Breitner Date: Wed Jan 15 16:52:23 2014 +0000 Strictify the demand on unlifted arguments because they are trivially strict, and the primitive operations do not have the strictness demand in their demand signature. >--------------------------------------------------------------- ea313b831b0d77fb416841c1b246f0570c34e8ca compiler/basicTypes/Demand.lhs | 6 +++++- compiler/stranal/DmdAnal.lhs | 16 +++++++++++----- testsuite/tests/numeric/should_compile/T7116.stdout | 8 ++++---- testsuite/tests/simplCore/should_compile/T3772.stdout | 4 ++-- testsuite/tests/simplCore/should_compile/T4930.stderr | 2 +- testsuite/tests/stranal/sigs/HyperStrUse.stderr | 2 +- 6 files changed, 24 insertions(+), 14 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index b857ef5..8a977ff 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -11,7 +11,7 @@ module Demand ( countOnce, countMany, -- cardinality Demand, CleanDemand, - mkProdDmd, mkOnceUsedDmd, mkManyUsedDmd, mkHeadStrict, oneifyDmd, + mkProdDmd, mkOnceUsedDmd, mkManyUsedDmd, mkHeadStrict, oneifyDmd, strictifyDmd, getUsage, toCleanDmd, absDmd, topDmd, botDmd, seqDmd, lubDmd, bothDmd, apply1Dmd, apply2Dmd, @@ -185,6 +185,10 @@ bothStr (SProd s1) (SProd s2) | otherwise = HyperStr -- Weird bothStr (SProd _) (SCall _) = HyperStr +strictifyDmd :: Demand -> Demand +strictifyDmd (JD Lazy u) = (JD (Str HeadStr) u) +strictifyDmd (JD s u) = (JD s u) + -- utility functions to deal with memory leaks seqStrDmd :: StrDmd -> () seqStrDmd (SProd ds) = seqStrDmdList ds diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index a942c4e..f6c995c 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -28,7 +28,7 @@ import Id import CoreUtils ( exprIsHNF, exprType, exprIsTrivial ) -- import PprCore import TyCon -import Type ( eqType ) +import Type ( eqType, isUnLiftedType ) -- import Pair -- import Coercion ( coercionKind ) import Util @@ -103,12 +103,18 @@ c) The application rule wouldn't be right either evaluation of f in a C(L) demand! \begin{code} --- If e is complicated enough to become a thunk, its contents will be evaluated --- at most once, so oneify it. +-- This function modifies the demand on a paramater e in a call f e: +-- * If e is complicated enough to become a thunk, its contents will be evaluated +-- at most once, so oneify it. +-- * If e is of an unlifted type, e will be evaluated before the actual call, so +-- in that sense, the demand on e is strict. dmdTransformThunkDmd :: CoreExpr -> Demand -> Demand dmdTransformThunkDmd e - | exprIsTrivial e = id - | otherwise = oneifyDmd + = when (not (exprIsTrivial e)) oneifyDmd . + when (isUnLiftedType (exprType e)) strictifyDmd + where + when True f = f + when False _ = id -- Do not process absent demands -- Otherwise act like in a normal demand analysis diff --git a/testsuite/tests/numeric/should_compile/T7116.stdout b/testsuite/tests/numeric/should_compile/T7116.stdout index 549ed48..9b7f7c8 100644 --- a/testsuite/tests/numeric/should_compile/T7116.stdout +++ b/testsuite/tests/numeric/should_compile/T7116.stdout @@ -6,7 +6,7 @@ T7116.dl :: GHC.Types.Double -> GHC.Types.Double [GblId, Arity=1, Caf=NoCafRefs, - Str=DmdType m, + Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) @@ -24,7 +24,7 @@ T7116.dr :: GHC.Types.Double -> GHC.Types.Double [GblId, Arity=1, Caf=NoCafRefs, - Str=DmdType m, + Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) @@ -38,7 +38,7 @@ T7116.fl :: GHC.Types.Float -> GHC.Types.Float [GblId, Arity=1, Caf=NoCafRefs, - Str=DmdType m, + Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) @@ -56,7 +56,7 @@ T7116.fr :: GHC.Types.Float -> GHC.Types.Float [GblId, Arity=1, Caf=NoCafRefs, - Str=DmdType m, + Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) diff --git a/testsuite/tests/simplCore/should_compile/T3772.stdout b/testsuite/tests/simplCore/should_compile/T3772.stdout index 6c7735e..6c418fa 100644 --- a/testsuite/tests/simplCore/should_compile/T3772.stdout +++ b/testsuite/tests/simplCore/should_compile/T3772.stdout @@ -4,7 +4,7 @@ Result size of Tidy Core = {terms: 29, types: 12, coercions: 0} Rec { xs :: GHC.Prim.Int# -> () -[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType ] +[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType ] xs = \ (m :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m 1) @@ -15,7 +15,7 @@ xs = end Rec } T3772.foo [InlPrag=NOINLINE] :: GHC.Types.Int -> () -[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType ] +[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType ] T3772.foo = \ (n :: GHC.Types.Int) -> case n of _ [Occ=Dead] { GHC.Types.I# n# -> diff --git a/testsuite/tests/simplCore/should_compile/T4930.stderr b/testsuite/tests/simplCore/should_compile/T4930.stderr index 9570b7b..ee77e0c 100644 --- a/testsuite/tests/simplCore/should_compile/T4930.stderr +++ b/testsuite/tests/simplCore/should_compile/T4930.stderr @@ -13,7 +13,7 @@ T4930.foo1 = GHC.Err.error @ GHC.Types.Int lvl T4930.foo :: GHC.Types.Int -> GHC.Types.Int [GblId, Arity=1, - Str=DmdType m, + Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) diff --git a/testsuite/tests/stranal/sigs/HyperStrUse.stderr b/testsuite/tests/stranal/sigs/HyperStrUse.stderr index 1a0ff33..6c5d487 100644 --- a/testsuite/tests/stranal/sigs/HyperStrUse.stderr +++ b/testsuite/tests/stranal/sigs/HyperStrUse.stderr @@ -1,5 +1,5 @@ ==================== Strictness signatures ==================== -HyperStrUse.f: m +HyperStrUse.f: m From git at git.haskell.org Wed Jan 15 18:06:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:06:42 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Add Converges to DmdResult (112584f) Message-ID: <20140115180642.C5F0E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/112584f8dcdf0d8741206545f6dd727079f8645e/ghc >--------------------------------------------------------------- commit 112584f8dcdf0d8741206545f6dd727079f8645e Author: Joachim Breitner Date: Thu Dec 12 15:45:19 2013 +0000 Add Converges to DmdResult to detect definite convergence (required for nested CPR). Notable details: * botDmdType is no longer the unit for lubDmdType. So do not use foldr lubDmdType botDmdType when combinding the branches of a case, to avoid throwing away information. * avoid declaring recursive things as terminating for sure, by removing the Converges flag from a loop breaker. * cprProdSig comes with a Converging flag, so it is removed using sigMayDiverge where necessary * a data constructor worker is not converging, if it is strict in any of its fields. >--------------------------------------------------------------- 112584f8dcdf0d8741206545f6dd727079f8645e compiler/basicTypes/Demand.lhs | 67 ++++++++++++++++---- compiler/basicTypes/MkId.lhs | 5 +- compiler/stranal/DmdAnal.lhs | 15 +++-- .../tests/simplCore/should_compile/T4918.stdout | 4 +- .../tests/simplCore/should_compile/T7360.stderr | 4 +- .../simplCore/should_compile/spec-inline.stderr | 4 +- 6 files changed, 74 insertions(+), 25 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 112584f8dcdf0d8741206545f6dd727079f8645e From git at git.haskell.org Wed Jan 15 18:06:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:06:45 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: In deferType, return convRes = Converges NoCPR (e4e5230) Message-ID: <20140115180645.354C12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/e4e5230a8d0090eab0359a693b5a1438684a92a4/ghc >--------------------------------------------------------------- commit e4e5230a8d0090eab0359a693b5a1438684a92a4 Author: Joachim Breitner Date: Wed Dec 4 16:55:18 2013 +0000 In deferType, return convRes = Converges NoCPR because this is the right-identity to `bothDmdResult`, and this is the right thing to do in a lazy context. >--------------------------------------------------------------- e4e5230a8d0090eab0359a693b5a1438684a92a4 compiler/basicTypes/Demand.lhs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 2bc78c7..f839b52 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -783,8 +783,9 @@ seqCPRResult RetProd = () -- [cprRes] lets us switch off CPR analysis -- by making sure that everything uses TopRes -topRes, botRes :: DmdResult +topRes, convRes, botRes :: DmdResult topRes = Dunno NoCPR +convRes = Converges NoCPR botRes = Diverges cprSumRes :: ConTag -> DmdResult @@ -1214,9 +1215,9 @@ postProcessUnsat (True, One) ty = deferType ty postProcessUnsat (False, One) ty = ty deferType, reuseType, deferReuse :: DmdType -> DmdType -deferType (DmdType fv ds _) = DmdType (deferEnv fv) (map deferDmd ds) topRes +deferType (DmdType fv ds _) = DmdType (deferEnv fv) (map deferDmd ds) convRes reuseType (DmdType fv ds res_ty) = DmdType (reuseEnv fv) (map reuseDmd ds) res_ty -deferReuse (DmdType fv ds _) = DmdType (deferReuseEnv fv) (map deferReuseDmd ds) topRes +deferReuse (DmdType fv ds _) = DmdType (deferReuseEnv fv) (map deferReuseDmd ds) convRes deferEnv, reuseEnv, deferReuseEnv :: DmdEnv -> DmdEnv deferEnv fv = mapVarEnv deferDmd fv From git at git.haskell.org Wed Jan 15 18:06:47 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:06:47 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Literals are Converging (1f7b570) Message-ID: <20140115180647.BD8A72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/1f7b570f49eeac126fefd2cf6434fdf6a61b3903/ghc >--------------------------------------------------------------- commit 1f7b570f49eeac126fefd2cf6434fdf6a61b3903 Author: Joachim Breitner Date: Fri Jan 10 13:39:22 2014 +0000 Literals are Converging >--------------------------------------------------------------- 1f7b570f49eeac126fefd2cf6434fdf6a61b3903 compiler/basicTypes/Demand.lhs | 5 +++-- compiler/stranal/DmdAnal.lhs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index f839b52..8da0841 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -19,7 +19,7 @@ module Demand ( peelUseCall, cleanUseDmd_maybe, strictenDmd, bothCleanDmd, DmdType(..), dmdTypeDepth, lubDmdType, lubDmdTypes, bothDmdType, - nopDmdType, botDmdType, mkDmdType, + nopDmdType, litDmdType, botDmdType, mkDmdType, addDemand, BothDmdArg, mkBothDmdArg, toBothDmdArg, @@ -1107,9 +1107,10 @@ emptyDmdEnv = emptyVarEnv -- (lazy, absent, no CPR information, no termination information). -- Note that it is ''not'' the top of the lattice (which would be "may use everything"), -- so it is (no longer) called topDmd -nopDmdType, botDmdType :: DmdType +nopDmdType, litDmdType, botDmdType :: DmdType nopDmdType = DmdType emptyDmdEnv [] topRes botDmdType = DmdType emptyDmdEnv [] botRes +litDmdType = DmdType emptyDmdEnv [] convRes cprProdDmdType :: Arity -> DmdType cprProdDmdType _arity diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 7bfc7b2..12215d1 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -135,7 +135,7 @@ dmdAnal :: AnalEnv -- The CleanDemand is always strict and not absent -- See Note [Ensure demand is strict] -dmdAnal _ _ (Lit lit) = (nopDmdType, Lit lit) +dmdAnal _ _ (Lit lit) = (litDmdType, Lit lit) dmdAnal _ _ (Type ty) = (nopDmdType, Type ty) -- Doesn't happen, in fact dmdAnal _ _ (Coercion co) = (nopDmdType, Coercion co) From git at git.haskell.org Wed Jan 15 18:06:50 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:06:50 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Variables of unlifted types are always converging (e876100) Message-ID: <20140115180650.4AEC82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/e8761003d21c150beda10cdb687db35f1b892ad3/ghc >--------------------------------------------------------------- commit e8761003d21c150beda10cdb687db35f1b892ad3 Author: Joachim Breitner Date: Fri Jan 10 13:46:01 2014 +0000 Variables of unlifted types are always converging >--------------------------------------------------------------- e8761003d21c150beda10cdb687db35f1b892ad3 compiler/basicTypes/Demand.lhs | 2 +- compiler/stranal/DmdAnal.lhs | 8 +++++++- testsuite/tests/simplCore/should_compile/spec-inline.stderr | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index a523535..7126988 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -28,7 +28,7 @@ module Demand ( DmdResult, CPRResult, isBotRes, isTopRes, - topRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, + topRes, convRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, trimCPRInfo, returnsCPR, returnsCPR_maybe, StrictSig(..), mkStrictSig, mkClosedStrictSig, nopSig, botSig, cprProdSig, convergeSig, diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index da2a7c3..493c923 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -699,7 +699,12 @@ a product type. \begin{code} unitVarDmd :: Var -> Demand -> DmdType unitVarDmd var dmd - = DmdType (unitVarEnv var dmd) [] topRes + = -- pprTrace "unitVarDmd" (vcat [ppr var, ppr dmd, ppr res]) $ + DmdType (unitVarEnv var dmd) [] res + where + -- Variables of unlifted types are, well, unlifted + res | isUnLiftedType (idType var) = convRes + | otherwise = topRes addVarDmd :: DmdType -> Var -> Demand -> DmdType addVarDmd (DmdType fv ds res) var dmd @@ -1051,6 +1056,7 @@ extendAnalEnv top_lvl env var sig = env { ae_sigs = extendSigEnv top_lvl (ae_sigs env) var sig' } where sig' | isWeakLoopBreaker (idOccInfo var) = sigMayDiverge sig + | isUnLiftedType (idType var) = convergeSig sig | otherwise = sig extendSigEnv :: TopLevelFlag -> SigEnv -> Id -> StrictSig -> SigEnv diff --git a/testsuite/tests/simplCore/should_compile/spec-inline.stderr b/testsuite/tests/simplCore/should_compile/spec-inline.stderr index 0a53e18..27607ee 100644 --- a/testsuite/tests/simplCore/should_compile/spec-inline.stderr +++ b/testsuite/tests/simplCore/should_compile/spec-inline.stderr @@ -16,7 +16,7 @@ Roman.foo_$s$wgo = \ (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#) -> let { a :: GHC.Prim.Int# - [LclId, Str=DmdType] + [LclId, Str=DmdType t] a = GHC.Prim.+# (GHC.Prim.+# @@ -60,7 +60,7 @@ Roman.$wgo = case x of _ [Occ=Dead] { GHC.Types.I# ipv -> let { a :: GHC.Prim.Int# - [LclId, Str=DmdType] + [LclId, Str=DmdType t] a = GHC.Prim.+# (GHC.Prim.+# From git at git.haskell.org Wed Jan 15 18:06:53 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:06:53 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Note [Termination information and arguments] (1018aeb) Message-ID: <20140115180653.5895A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/1018aeb637c675602d76228a59f62f5ea9e70d2e/ghc >--------------------------------------------------------------- commit 1018aeb637c675602d76228a59f62f5ea9e70d2e Author: Joachim Breitner Date: Wed Jan 15 16:53:31 2014 +0000 Note [Termination information and arguments] >--------------------------------------------------------------- 1018aeb637c675602d76228a59f62f5ea9e70d2e compiler/basicTypes/Demand.lhs | 30 +++++++++++++++++++- compiler/prelude/primops.txt.pp | 1 + compiler/stranal/DmdAnal.lhs | 1 + .../simplCore/should_compile/spec-inline.stderr | 4 +-- 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 8da0841..a523535 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -1196,7 +1196,7 @@ postProcessDmdTypeM (Just du) (DmdType fv _ res_ty) postProcessDmdResult :: DeferAndUse -> DmdResult -> Termination () -- if we use it lazily, there cannot be divergence worrying us - -- (Otherwise we'd lose the termination information of constructors in in dmdAnalVarApp, for example) + -- See Note [Termination information and arguments] postProcessDmdResult (True,_) _ = Converges () postProcessDmdResult (False,_) (Dunno {}) = Dunno () postProcessDmdResult (False,_) (Converges {}) = Converges () @@ -1407,6 +1407,34 @@ and A on the second. If this same function is applied to one arg, all we can say is that it uses x with , and its arg with demand . + +Note [Termination information and arguments] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +A strictness signature of t indicates: + If you apply me to one argument, I will surely terminate (even if this + argument may diverge). +Therefore, in postProcessDmdResult, we replace the termination info of a lazy +argument by Converges. + +For strict arguments, we do not do that. But usually, t is not possible anyways: +Assume such a function is applied to undefined. This diverges, because it is strict, +and it converges, because of the terminating flag. + +One exception to this rule are unlifted arguments. These cannot be undefined, so the +function is (vacuously) strict in them. But moreover, it is important that we treat +them as strict! Consider I# (or any function with an unlifted argument type). We +clearly want "I# 1#" to be terminating, and also "I# x" and "I# (x +# 2#)". +But not "I# (x `quotInt#` 0#)"! Therefore, we need to analyze the argument with a strict +demand, so that postProcessDmdResult will not hide the termination result of the argument, +and bothDmdType takes case of erasing the Converges coming from I#. + +This is a property not just of primitive operations. Consider + f :: Bool -> (Int# -> b) -> b + f b g = g (if b then 1# else 0#) +Is this strict in `b`? Yes, it is! So we want to consider any function with an +unlifted argument type as strict. Hence we do that conveniently in dmdTransformThunkDmd. +And therefore we do not have to worry about the strictness on arguments in primops.txt.pp + \begin{code} newtype StrictSig = StrictSig DmdType deriving( Eq ) diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index f020ae8..b1278af 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -62,6 +62,7 @@ defaults commutable = False code_size = { primOpCodeSizeDefault } -- Strictness is turned to terminating in PrimOp.primOpSig, if allowed + -- Also see [Termination information and arguments] strictness = { \ arity -> mkClosedStrictSig (replicate arity topDmd) topRes } fixity = Nothing llvm_only = False diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 12215d1..da2a7c3 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -108,6 +108,7 @@ c) The application rule wouldn't be right either -- at most once, so oneify it. -- * If e is of an unlifted type, e will be evaluated before the actual call, so -- in that sense, the demand on e is strict. +-- See [Termination information and arguments] dmdTransformThunkDmd :: CoreExpr -> Demand -> Demand dmdTransformThunkDmd e = when (not (exprIsTrivial e)) oneifyDmd . diff --git a/testsuite/tests/simplCore/should_compile/spec-inline.stderr b/testsuite/tests/simplCore/should_compile/spec-inline.stderr index 27607ee..0a53e18 100644 --- a/testsuite/tests/simplCore/should_compile/spec-inline.stderr +++ b/testsuite/tests/simplCore/should_compile/spec-inline.stderr @@ -16,7 +16,7 @@ Roman.foo_$s$wgo = \ (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#) -> let { a :: GHC.Prim.Int# - [LclId, Str=DmdType t] + [LclId, Str=DmdType] a = GHC.Prim.+# (GHC.Prim.+# @@ -60,7 +60,7 @@ Roman.$wgo = case x of _ [Occ=Dead] { GHC.Types.I# ipv -> let { a :: GHC.Prim.Int# - [LclId, Str=DmdType t] + [LclId, Str=DmdType] a = GHC.Prim.+# (GHC.Prim.+# From git at git.haskell.org Wed Jan 15 18:06:55 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:06:55 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Some primitive operations are converging (7be1249) Message-ID: <20140115180655.EE32C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/7be1249bb3442aec681bc5287a3162ccab75ddbb/ghc >--------------------------------------------------------------- commit 7be1249bb3442aec681bc5287a3162ccab75ddbb Author: Joachim Breitner Date: Fri Jan 10 13:42:21 2014 +0000 Some primitive operations are converging >--------------------------------------------------------------- 7be1249bb3442aec681bc5287a3162ccab75ddbb compiler/prelude/PrimOp.lhs | 4 +++- compiler/prelude/primops.txt.pp | 1 + testsuite/tests/simplCore/should_compile/spec-inline.stderr | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/compiler/prelude/PrimOp.lhs b/compiler/prelude/PrimOp.lhs index 12f71c2..2ee7da4 100644 --- a/compiler/prelude/PrimOp.lhs +++ b/compiler/prelude/PrimOp.lhs @@ -516,8 +516,10 @@ primOpOcc op = case primOpInfo op of primOpSig :: PrimOp -> ([TyVar], [Type], Type, Arity, StrictSig) primOpSig op - = (tyvars, arg_tys, res_ty, arity, primOpStrictness op arity) + = (tyvars, arg_tys, res_ty, arity, strict_sig) where + strict_sig | primOpOkForSpeculation op = convergeSig $ primOpStrictness op arity + | otherwise = primOpStrictness op arity arity = length arg_tys (tyvars, arg_tys, res_ty) = case (primOpInfo op) of diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index 36eec67..f020ae8 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -61,6 +61,7 @@ defaults can_fail = False -- See Note Note [PrimOp can_fail and has_side_effects] in PrimOp commutable = False code_size = { primOpCodeSizeDefault } + -- Strictness is turned to terminating in PrimOp.primOpSig, if allowed strictness = { \ arity -> mkClosedStrictSig (replicate arity topDmd) topRes } fixity = Nothing llvm_only = False diff --git a/testsuite/tests/simplCore/should_compile/spec-inline.stderr b/testsuite/tests/simplCore/should_compile/spec-inline.stderr index 0a53e18..27607ee 100644 --- a/testsuite/tests/simplCore/should_compile/spec-inline.stderr +++ b/testsuite/tests/simplCore/should_compile/spec-inline.stderr @@ -16,7 +16,7 @@ Roman.foo_$s$wgo = \ (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#) -> let { a :: GHC.Prim.Int# - [LclId, Str=DmdType] + [LclId, Str=DmdType t] a = GHC.Prim.+# (GHC.Prim.+# @@ -60,7 +60,7 @@ Roman.$wgo = case x of _ [Occ=Dead] { GHC.Types.I# ipv -> let { a :: GHC.Prim.Int# - [LclId, Str=DmdType] + [LclId, Str=DmdType t] a = GHC.Prim.+# (GHC.Prim.+# From git at git.haskell.org Wed Jan 15 18:06:59 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:06:59 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Mark the scrunitee of a multi-way-case as converging (fa49a3b) Message-ID: <20140115180702.E1F1C2406D@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/fa49a3b1b7033c618bc468694e07be579612f1f4/ghc >--------------------------------------------------------------- commit fa49a3b1b7033c618bc468694e07be579612f1f4 Author: Joachim Breitner Date: Fri Jan 10 13:45:39 2014 +0000 Mark the scrunitee of a multi-way-case as converging >--------------------------------------------------------------- fa49a3b1b7033c618bc468694e07be579612f1f4 compiler/stranal/DmdAnal.lhs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 310c013..7bfc7b2 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -275,7 +275,9 @@ dmdAnal env dmd (Case scrut case_bndr ty [alt@(DataAlt dc, _, _)]) dmdAnal env dmd (Case scrut case_bndr ty alts) = let -- Case expression with multiple alternatives - (alt_tys, alts') = mapAndUnzip (dmdAnalAlt env dmd) alts + case_bndr_sig = convergeSig nopSig + env_alt = extendAnalEnv NotTopLevel env case_bndr case_bndr_sig + (alt_tys, alts') = mapAndUnzip (dmdAnalAlt env_alt dmd) alts (scrut_ty, scrut') = dmdAnal env cleanEvalDmd scrut (alt_ty, case_bndr') = annotateBndr env (lubDmdTypes alt_tys) case_bndr res_ty = alt_ty `bothDmdType` toBothDmdArg scrut_ty From git at git.haskell.org Wed Jan 15 18:07:01 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:01 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Initial work on Nested CPR (50d7bc5) Message-ID: <20140115180702.E6DC924069@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/50d7bc50cef52dae43e9bf85bc960c38698d77a8/ghc >--------------------------------------------------------------- commit 50d7bc50cef52dae43e9bf85bc960c38698d77a8 Author: Simon Peyton Jones Date: Mon Nov 25 09:59:16 2013 +0000 Initial work on Nested CPR >--------------------------------------------------------------- 50d7bc50cef52dae43e9bf85bc960c38698d77a8 compiler/basicTypes/Demand.lhs | 133 ++++++++++++++++++++++++---------------- compiler/stranal/DmdAnal.lhs | 114 ++++++++++++++++++++++++---------- 2 files changed, 159 insertions(+), 88 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 50d7bc50cef52dae43e9bf85bc960c38698d77a8 From git at git.haskell.org Wed Jan 15 18:07:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:04 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Limit the depth of the CPR information (239303c) Message-ID: <20140115180704.258152406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/239303caec2dff515962f25c8b64ad9ca7ece15c/ghc >--------------------------------------------------------------- commit 239303caec2dff515962f25c8b64ad9ca7ece15c Author: Joachim Breitner Date: Thu Dec 5 16:13:41 2013 +0000 Limit the depth of the CPR information as otherwise, it could become infinite. >--------------------------------------------------------------- 239303caec2dff515962f25c8b64ad9ca7ece15c compiler/basicTypes/Demand.lhs | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index bc2d87a..43b0418 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -826,10 +826,33 @@ getDmdResult _ = topRes divergeDmdResult :: DmdResult -> DmdResult divergeDmdResult r = r `lubDmdResult` botRes +maxCPRDepth :: Int +maxCPRDepth = 3 + +-- With nested CPR, DmdResult can be arbitrarily deep; consider +-- data Rec1 = Foo Rec2 Rec2 +-- data Rec2 = Bar Rec1 Rec1 +-- +-- x = Foo y y +-- y = Bar x x +-- +-- So we need to forget information at a certain depth. We do that at all points +-- where we are constructing new RetProd constructors. +cutDmdResult :: Int -> DmdResult -> DmdResult +cutDmdResult 0 _ = topRes +cutDmdResult _ Diverges = Diverges +cutDmdResult n (Converges c) = Converges (cutCPRResult n c) +cutDmdResult n (Dunno c) = Dunno (cutCPRResult n c) + +cutCPRResult :: Int -> CPRResult -> CPRResult +cutCPRResult _ NoCPR = NoCPR +cutCPRResult n (RetProd rs) = RetProd (map (cutDmdResult (n-1)) rs) +cutCPRResult _ (RetSum tag) = RetSum tag + vanillaCprProdRes :: Arity -> DmdResult vanillaCprProdRes arity | opt_CprOff = topRes - | otherwise = Converges $ RetProd (replicate arity topRes) + | otherwise = Converges $ cutCPRResult maxCPRDepth $ RetProd (replicate arity topRes) isTopRes :: DmdResult -> Bool isTopRes (Dunno NoCPR) = True @@ -1118,10 +1141,11 @@ bothDmdType (DmdType fv1 ds1 r1) (fv2, t2) instance Outputable DmdType where ppr (DmdType fv ds res) = hsep [text "DmdType", - hcat (map ppr ds) <> ppr res, + hcat (map ppr ds) <> ppr_res, if null fv_elts then empty else braces (fsep (map pp_elt fv_elts))] where + ppr_res = if isTopRes res then empty else ppr res pp_elt (uniq, dmd) = ppr uniq <> text "->" <> ppr dmd fv_elts = ufmToList fv From git at git.haskell.org Wed Jan 15 18:07:06 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:06 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Use isTypeArg instead of isTyCoArg (forgot why) (34df8d4) Message-ID: <20140115180706.830292406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/34df8d459e077e4438d1f84b42cf78a01ecd386f/ghc >--------------------------------------------------------------- commit 34df8d459e077e4438d1f84b42cf78a01ecd386f Author: Joachim Breitner Date: Thu Dec 5 16:14:07 2013 +0000 Use isTypeArg instead of isTyCoArg (forgot why) >--------------------------------------------------------------- 34df8d459e077e4438d1f84b42cf78a01ecd386f compiler/stranal/DmdAnal.lhs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 048abd2..42153b3 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -519,7 +519,7 @@ completeApp :: AnalEnv completeApp _ fun_ty_fun [] = fun_ty_fun completeApp env (fun_ty, fun') (arg:args) - | isTyCoArg arg = completeApp env (fun_ty, App fun' arg) args + | isTypeArg arg = completeApp env (fun_ty, App fun' arg) args | otherwise = completeApp env (res_ty `bothDmdType` arg_ty, App fun' arg') args where (arg_dmd, res_ty) = splitDmdTy fun_ty From git at git.haskell.org Wed Jan 15 18:07:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:09 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Check mAX_CPR_SIZE in dmdAnalVarApp (1e68e8f) Message-ID: <20140115180709.A2BC22406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/1e68e8fe95577d5db452e86144c5af0918b8c3b8/ghc >--------------------------------------------------------------- commit 1e68e8fe95577d5db452e86144c5af0918b8c3b8 Author: Joachim Breitner Date: Thu Dec 5 18:01:34 2013 +0000 Check mAX_CPR_SIZE in dmdAnalVarApp >--------------------------------------------------------------- 1e68e8fe95577d5db452e86144c5af0918b8c3b8 compiler/stranal/DmdAnal.lhs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 42153b3..5409538 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -532,6 +532,8 @@ dmdAnalVarApp env dmd fun args | Just con <- isDataConWorkId_maybe fun -- Data constructor , isVanillaDataCon con , n_val_args == dataConRepArity con -- Saturated + , dataConRepArity con > 0 + , dataConRepArity con < 10 , let cpr_info | isProductTyCon (dataConTyCon con) = cprProdRes arg_rets | otherwise = cprSumRes (dataConTag con) From git at git.haskell.org Wed Jan 15 18:07:12 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:12 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Add a flag -fnested-cpr-off to conveniently test the effect of nested CPR (46ede93) Message-ID: <20140115180712.288032406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/46ede931aad26290718033743b2425bfcd5e1cac/ghc >--------------------------------------------------------------- commit 46ede931aad26290718033743b2425bfcd5e1cac Author: Joachim Breitner Date: Wed Dec 4 09:14:26 2013 +0000 Add a flag -fnested-cpr-off to conveniently test the effect of nested CPR >--------------------------------------------------------------- 46ede931aad26290718033743b2425bfcd5e1cac compiler/basicTypes/Demand.lhs | 31 ++++++++++++++++++++----------- compiler/main/StaticFlags.hs | 9 +++++++-- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 43b0418..cef71b2 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -829,6 +829,13 @@ divergeDmdResult r = r `lubDmdResult` botRes maxCPRDepth :: Int maxCPRDepth = 3 +-- This is the depth we use with -fnested-cpr-off, in order +-- to get precisely the same behaviour as before introduction of nested cpr +-- -fnested-cpr-off can eventually be removed if nested cpr is deemd to be +-- a good thing always. +flatCPRDepth :: Int +flatCPRDepth = 1 + -- With nested CPR, DmdResult can be arbitrarily deep; consider -- data Rec1 = Foo Rec2 Rec2 -- data Rec2 = Bar Rec1 Rec1 @@ -838,21 +845,23 @@ maxCPRDepth = 3 -- -- So we need to forget information at a certain depth. We do that at all points -- where we are constructing new RetProd constructors. -cutDmdResult :: Int -> DmdResult -> DmdResult -cutDmdResult 0 _ = topRes -cutDmdResult _ Diverges = Diverges -cutDmdResult n (Converges c) = Converges (cutCPRResult n c) -cutDmdResult n (Dunno c) = Dunno (cutCPRResult n c) - cutCPRResult :: Int -> CPRResult -> CPRResult -cutCPRResult _ NoCPR = NoCPR -cutCPRResult n (RetProd rs) = RetProd (map (cutDmdResult (n-1)) rs) -cutCPRResult _ (RetSum tag) = RetSum tag +cutCPRResult 0 _ = NoCPR +cutCPRResult _ NoCPR = NoCPR +cutCPRResult _ (RetSum tag) = RetSum tag +cutCPRResult n (RetProd rs) = RetProd (map (cutDmdResult (n-1)) rs) + where + cutDmdResult :: Int -> DmdResult -> DmdResult + cutDmdResult 0 _ = topRes + cutDmdResult _ Diverges = Diverges + cutDmdResult n (Converges c) = Converges (cutCPRResult n c) + cutDmdResult n (Dunno c) = Dunno (cutCPRResult n c) vanillaCprProdRes :: Arity -> DmdResult vanillaCprProdRes arity - | opt_CprOff = topRes - | otherwise = Converges $ cutCPRResult maxCPRDepth $ RetProd (replicate arity topRes) + | opt_CprOff = topRes + | opt_NestedCprOff = Converges $ cutCPRResult flatCPRDepth $ RetProd (replicate arity topRes) + | otherwise = Converges $ cutCPRResult maxCPRDepth $ RetProd (replicate arity topRes) isTopRes :: DmdResult -> Bool isTopRes (Dunno NoCPR) = True diff --git a/compiler/main/StaticFlags.hs b/compiler/main/StaticFlags.hs index 01dc3b7..feb7235 100644 --- a/compiler/main/StaticFlags.hs +++ b/compiler/main/StaticFlags.hs @@ -27,6 +27,7 @@ module StaticFlags ( -- optimisation opts opt_NoStateHack, opt_CprOff, + opt_NestedCprOff, opt_NoOptCoercion, -- For the parser @@ -140,7 +141,8 @@ flagsStaticNames :: [String] flagsStaticNames = [ "fno-state-hack", "fno-opt-coercion", - "fcpr-off" + "fcpr-off", + "fnested-cpr-off" ] -- We specifically need to discard static flags for clients of the @@ -195,10 +197,13 @@ opt_NoDebugOutput = lookUp (fsLit "-dno-debug-output") opt_NoStateHack :: Bool opt_NoStateHack = lookUp (fsLit "-fno-state-hack") --- Switch off CPR analysis in the new demand analyser +-- Switch off CPR analysis in the demand analyser opt_CprOff :: Bool opt_CprOff = lookUp (fsLit "-fcpr-off") +opt_NestedCprOff :: Bool +opt_NestedCprOff = lookUp (fsLit "-fnested-cpr-off") + opt_NoOptCoercion :: Bool opt_NoOptCoercion = lookUp (fsLit "-fno-opt-coercion") From git at git.haskell.org Wed Jan 15 18:07:14 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:14 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Actually create a nested CPR worker-wrapper (70b5115) Message-ID: <20140115180714.924882406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/70b5115d8098d9be6c84d17e2be233be1fa9bbf2/ghc >--------------------------------------------------------------- commit 70b5115d8098d9be6c84d17e2be233be1fa9bbf2 Author: Joachim Breitner Date: Thu Dec 5 18:58:07 2013 +0000 Actually create a nested CPR worker-wrapper >--------------------------------------------------------------- 70b5115d8098d9be6c84d17e2be233be1fa9bbf2 compiler/basicTypes/Demand.lhs | 24 ++++---- compiler/stranal/WwLib.lhs | 123 ++++++++++++++++++++++++++-------------- 2 files changed, 93 insertions(+), 54 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 70b5115d8098d9be6c84d17e2be233be1fa9bbf2 From git at git.haskell.org Wed Jan 15 18:07:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:17 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Refactor trimCPRInfo away (26978dc) Message-ID: <20140115180718.16DE12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/26978dcf8b41ddf7e494d6b3576105b9cf8a829d/ghc >--------------------------------------------------------------- commit 26978dcf8b41ddf7e494d6b3576105b9cf8a829d Author: Joachim Breitner Date: Wed Jan 15 17:44:30 2014 +0000 Refactor trimCPRInfo away >--------------------------------------------------------------- 26978dcf8b41ddf7e494d6b3576105b9cf8a829d compiler/basicTypes/Demand.lhs | 35 ++++++++++++++++++++--------------- compiler/stranal/DmdAnal.lhs | 30 ++++++++++++++++++++---------- 2 files changed, 40 insertions(+), 25 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index a8d7a6d..23dacea 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -30,7 +30,8 @@ module Demand ( isBotRes, isTopRes, getDmdResult, topRes, convRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, - trimCPRInfo, returnsCPR, returnsCPR_maybe, + returnsCPR, returnsCPR_maybe, + forgetCPR, forgetSumCPR, StrictSig(..), mkStrictSig, mkClosedStrictSig, nopSig, botSig, cprProdSig, convergeSig, isNopSig, splitStrictSig, increaseStrictSigArity, sigMayDiverge, @@ -857,6 +858,24 @@ cutCPRResult n (RetProd rs) = RetProd (map (cutDmdResult (n-1)) rs) cutDmdResult n (Converges c) = Converges (cutCPRResult n c) cutDmdResult n (Dunno c) = Dunno (cutCPRResult n c) +-- Forget the CPR information, but remember if it converges or diverges +-- Used for non-strict thunks and non-top-level things with sum type +forgetCPR :: DmdResult -> DmdResult +forgetCPR Diverges = Diverges +forgetCPR (Converges _) = Converges NoCPR +forgetCPR (Dunno _) = Dunno NoCPR + +forgetSumCPR :: DmdResult -> DmdResult +forgetSumCPR Diverges = Diverges +forgetSumCPR (Converges r) = Converges (forgetSumCPR_help r) +forgetSumCPR (Dunno r) = Dunno (forgetSumCPR_help r) + +forgetSumCPR_help :: CPRResult -> CPRResult +forgetSumCPR_help (RetProd ds) = RetProd (map forgetSumCPR ds) +forgetSumCPR_help (RetSum _) = NoCPR +forgetSumCPR_help NoCPR = NoCPR + + vanillaCprProdRes :: Arity -> DmdResult vanillaCprProdRes arity | opt_CprOff = topRes @@ -871,20 +890,6 @@ isBotRes :: DmdResult -> Bool isBotRes Diverges = True isBotRes _ = False -trimCPRInfo :: Bool -> Bool -> DmdResult -> DmdResult -trimCPRInfo trim_all trim_sums res - = trimR res - where - trimR (Converges c) = Converges (trimC c) - trimR (Dunno c) = Dunno (trimC c) - trimR Diverges = Diverges - - trimC (RetSum n) | trim_all || trim_sums = NoCPR - | otherwise = RetSum n - trimC (RetProd rs) | trim_all = NoCPR - | otherwise = RetProd (map trimR rs) - trimC NoCPR = NoCPR - returnsCPR :: DmdResult -> Bool returnsCPR dr = isJust (returnsCPR_maybe False dr) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 5409538..a080930 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -651,21 +651,25 @@ dmdAnalRhs :: TopLevelFlag -> (StrictSig, DmdEnv, Id, CoreExpr) -- Process the RHS of the binding, add the strictness signature -- to the Id, and augment the environment with the signature as well. -dmdAnalRhs top_lvl rec_flag env id rhs +dmdAnalRhs top_lvl rec_flag env var rhs | Just fn <- unpackTrivial rhs -- See Note [Trivial right-hand sides] , let fn_str = getStrictness env fn - = (fn_str, emptyDmdEnv, set_idStrictness env id fn_str, rhs) + = (fn_str, emptyDmdEnv, set_idStrictness env var fn_str, rhs) | otherwise - = (sig_ty, lazy_fv, id', mkLams bndrs' body') + = (sig_ty, lazy_fv, var', mkLams bndrs' body') where (bndrs, body) = collectBinders rhs env_body = foldl extendSigsWithLam env bndrs (DmdType body_fv _ body_res, body') = dmdAnal env_body body_dmd body - (DmdType rhs_fv rhs_dmds rhs_res, bndrs') = annotateLamBndrs env (isDFunId id) + (DmdType rhs_fv rhs_dmds rhs_res, bndrs') = annotateLamBndrs env (isDFunId var) (DmdType body_fv [] body_res) bndrs - sig_ty = mkStrictSig (mkDmdType sig_fv rhs_dmds rhs_res') - id' = set_idStrictness env id sig_ty + sig_ty = mkStrictSig $ + mkDmdType sig_fv rhs_dmds $ + handle_sum_cpr $ + handle_thunk_cpr $ + rhs_res + var' = set_idStrictness env var sig_ty -- See Note [NOINLINE and strictness] -- See Note [Product demands for function body] @@ -681,16 +685,19 @@ dmdAnalRhs top_lvl rec_flag env id rhs (lazy_fv, sig_fv) = splitFVs is_thunk rhs_fv1 - rhs_res' = trimCPRInfo trim_all trim_sums rhs_res - trim_all = is_thunk && not_strict - trim_sums = not (isTopLevel top_lvl) -- See Note [CPR for sum types] + -- Note [CPR for sum types] + handle_sum_cpr | isTopLevel top_lvl = id + | otherwise = forgetSumCPR -- See Note [CPR for thunks] + handle_thunk_cpr | is_thunk && not_strict = forgetCPR + | otherwise = id + is_thunk = not (exprIsHNF rhs) not_strict = isTopLevel top_lvl -- Top level and recursive things don't || isJust rec_flag -- get their demandInfo set at all - || not (isStrictDmd (idDemandInfo id) || ae_virgin env) + || not (isStrictDmd (idDemandInfo var) || ae_virgin env) -- See Note [Optimistic CPR in the "virgin" case] unpackTrivial :: CoreExpr -> Maybe Id @@ -881,6 +888,9 @@ may be CPR'd (via the returned Justs). But in the case of sums, there may be Nothing alternatives; and that messes up the sum-type CPR. +This also applies to nested CPR information: Keep product CPR information, but +zap sum CPR information therein. + Conclusion: only do this for products. It's still not guaranteed OK for products, but sums definitely lose sometimes. From git at git.haskell.org Wed Jan 15 18:07:19 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:19 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Allow the CPR w/w to take unboxed tuples apart (e928039) Message-ID: <20140115180719.EAA622406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/e928039b753e2337775e9806e3273ce22e284973/ghc >--------------------------------------------------------------- commit e928039b753e2337775e9806e3273ce22e284973 Author: Joachim Breitner Date: Thu Nov 28 10:29:47 2013 +0000 Allow the CPR w/w to take unboxed tuples apart >--------------------------------------------------------------- e928039b753e2337775e9806e3273ce22e284973 compiler/stranal/WwLib.lhs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/stranal/WwLib.lhs b/compiler/stranal/WwLib.lhs index 36d5550..2467b70 100644 --- a/compiler/stranal/WwLib.lhs +++ b/compiler/stranal/WwLib.lhs @@ -505,7 +505,7 @@ deepSplitCprType_maybe :: ConTag -> Type -> Maybe (DataCon, [Type], [Type], Coer deepSplitCprType_maybe con_tag ty | let (co, ty1) = topNormaliseNewType_maybe ty `orElse` (mkReflCo Representational ty, ty) , Just (tc, tc_args) <- splitTyConApp_maybe ty1 - , isDataTyCon tc + , isDataTyCon tc || isUnboxedTupleTyCon tc , let cons = tyConDataCons tc con = ASSERT( cons `lengthAtLeast` con_tag ) cons !! (con_tag - fIRST_TAG) = Just (con, tc_args, dataConInstArgTys con tc_args, co) From git at git.haskell.org Wed Jan 15 18:07:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:22 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Pass nested CPR information from scrunitee to body (60d9a40) Message-ID: <20140115180722.39BB72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/60d9a40cef5e5e9079cdc93e66868c5531ccc240/ghc >--------------------------------------------------------------- commit 60d9a40cef5e5e9079cdc93e66868c5531ccc240 Author: Joachim Breitner Date: Wed Jan 8 15:09:42 2014 +0000 Pass nested CPR information from scrunitee to body in case of a complex case scrunitee. >--------------------------------------------------------------- 60d9a40cef5e5e9079cdc93e66868c5531ccc240 compiler/basicTypes/Demand.lhs | 16 ++++++++++++++-- compiler/stranal/DmdAnal.lhs | 41 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 23dacea..b2a9465 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -27,8 +27,9 @@ module Demand ( peelFV, DmdResult, CPRResult, - isBotRes, isTopRes, getDmdResult, + isBotRes, isTopRes, getDmdResult, resTypeArgDmd, topRes, convRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, + splitNestedRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, returnsCPR, returnsCPR_maybe, forgetCPR, forgetSumCPR, @@ -704,6 +705,7 @@ splitProdDmd_maybe (JD {strd = s, absd = u}) (Str s, Use _ (UProd ux)) -> Just (mkJointDmds (splitStrProdDmd (length ux) s) ux) (Lazy, Use _ (UProd ux)) -> Just (mkJointDmds (replicate (length ux) Lazy) ux) _ -> Nothing + \end{code} %************************************************************************ @@ -875,13 +877,23 @@ forgetSumCPR_help (RetProd ds) = RetProd (map forgetSumCPR ds) forgetSumCPR_help (RetSum _) = NoCPR forgetSumCPR_help NoCPR = NoCPR - vanillaCprProdRes :: Arity -> DmdResult vanillaCprProdRes arity | opt_CprOff = topRes | opt_NestedCprOff = Converges $ cutCPRResult flatCPRDepth $ RetProd (replicate arity topRes) | otherwise = Converges $ cutCPRResult maxCPRDepth $ RetProd (replicate arity topRes) +splitNestedRes :: DmdResult -> [DmdResult] +splitNestedRes Diverges = repeat topRes +splitNestedRes (Dunno c) = splitNestedCPR c +splitNestedRes (Converges c) = splitNestedCPR c + +splitNestedCPR :: CPRResult -> [DmdResult] +splitNestedCPR NoCPR = repeat topRes +splitNestedCPR (RetSum _) = repeat topRes +splitNestedCPR (RetProd cs) = cs + + isTopRes :: DmdResult -> Bool isTopRes (Dunno NoCPR) = True isTopRes _ = False diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index a080930..d37e5bc 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -190,6 +190,44 @@ dmdAnal env dmd (Lam var body) in (postProcessUnsat defer_and_use lam_ty, Lam var' body') +dmdAnal env dmd (Case scrut case_bndr ty [alt@(DataAlt dc, bndrs, _)]) + -- Only one alternative with a product constructor, and a complex scrutinee + | let tycon = dataConTyCon dc + , isProductTyCon tycon + -- If the scrutinee is not trivial, we are not going to get much from + -- passing the body demand to it. OTOH, we might be getting some nested CPR + -- information from the scrutinee that we can feed into the bound variables. + , not (exprIsTrivial scrut) + , Just rec_tc' <- checkRecTc (ae_rec_tc env) tycon + = let + scrut_dmd = mkProdDmd (replicate (dataConRepArity dc) topDmd) + (scrut_ty, scrut') = dmdAnal env scrut_dmd scrut + + scrut_ret = getDmdResult scrut_ty + -- The case binder has the same signature as the scrunitee, + -- but at least the usual CPR property according to dc + case_bndr_sig | returnsCPR scrut_ret = convergeSig (mkClosedStrictSig [] scrut_ret) + | otherwise = cprProdSig (dataConRepArity dc) + + + env_w_tc = env { ae_rec_tc = rec_tc' } + env_alt = extendAnalEnvs NotTopLevel env_w_tc $ + (case_bndr, case_bndr_sig) : + zipWith (\b ty -> (b, mkClosedStrictSig [] ty)) + bndrs (splitNestedRes scrut_ret) + + (alt_ty, alt') = dmdAnalAlt env_alt dmd alt + (alt_ty1, case_bndr') = annotateBndr env alt_ty case_bndr + res_ty = alt_ty1 `bothDmdType` toBothDmdArg scrut_ty + in + -- pprTrace "dmdAnal:CaseComplex" (vcat [ text "scrut" <+> ppr scrut + -- , text "dmd" <+> ppr dmd + -- , text "scrut_dmd" <+> ppr scrut_dmd + -- , text "scrut_ty" <+> ppr scrut_ty + -- , text "alt_ty" <+> ppr alt_ty1 + -- , text "res_ty" <+> ppr res_ty ]) $ + (res_ty, Case scrut' case_bndr' ty [alt']) + dmdAnal env dmd (Case scrut case_bndr ty [alt@(DataAlt dc, _, _)]) -- Only one alternative with a product constructor | let tycon = dataConTyCon dc @@ -1109,6 +1147,9 @@ sigEnv = ae_sigs updSigEnv :: AnalEnv -> SigEnv -> AnalEnv updSigEnv env sigs = env { ae_sigs = sigs } +extendAnalEnvs :: TopLevelFlag -> AnalEnv -> [(Id, StrictSig)] -> AnalEnv +extendAnalEnvs top_lvl = foldl' (\e (i,s) -> extendAnalEnv top_lvl e i s) + extendAnalEnv :: TopLevelFlag -> AnalEnv -> Id -> StrictSig -> AnalEnv extendAnalEnv top_lvl env var sig = env { ae_sigs = extendSigEnv top_lvl (ae_sigs env) var sig' } From git at git.haskell.org Wed Jan 15 18:07:24 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:24 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: In CPR, remember what is an unboxed tuple (71046ae) Message-ID: <20140115180724.D12132406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/71046aeeb3fbced49f27fc825842128ee06b6062/ghc >--------------------------------------------------------------- commit 71046aeeb3fbced49f27fc825842128ee06b6062 Author: Joachim Breitner Date: Mon Jan 13 15:46:48 2014 +0000 In CPR, remember what is an unboxed tuple We don't want to consider m#(,) to have a CPR property, otherwise checkSize will be called and make it INLINE. >--------------------------------------------------------------- 71046aeeb3fbced49f27fc825842128ee06b6062 compiler/basicTypes/Demand.lhs | 79 ++++++++++++++++++++++------------------ compiler/basicTypes/MkId.lhs | 2 +- compiler/stranal/DmdAnal.lhs | 8 ++-- 3 files changed, 48 insertions(+), 41 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 71046aeeb3fbced49f27fc825842128ee06b6062 From git at git.haskell.org Wed Jan 15 18:07:27 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:27 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Inline the datacon wrapper more aggressively (0fadbc1) Message-ID: <20140115180727.CC0662406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/0fadbc19284a317c5f16d01f9ed21f260b72c892/ghc >--------------------------------------------------------------- commit 0fadbc19284a317c5f16d01f9ed21f260b72c892 Author: Joachim Breitner Date: Tue Jan 14 10:18:48 2014 +0000 Inline the datacon wrapper more aggressively so that the CPR analysis find the real constructor and can return a nested CPR result. An alternative would be to look through the unfolding and analize that (but that would only be a good idea if the wrapper is going to be inlined afterwards), or special-case wrappers in the demand analyzer. Both not very nice. According to nofib: The impact of this is (on code size and allocations) is ... nil. >--------------------------------------------------------------- 0fadbc19284a317c5f16d01f9ed21f260b72c892 compiler/basicTypes/MkId.lhs | 2 +- compiler/coreSyn/CoreUnfold.lhs | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs index b77d31c..14a8d6f 100644 --- a/compiler/basicTypes/MkId.lhs +++ b/compiler/basicTypes/MkId.lhs @@ -513,7 +513,7 @@ mkDataConRep dflags fam_envs wrap_name data_con -- ...(let w = C x in ...(w p q)...)... -- we want to see that w is strict in its two arguments - wrap_unf = mkInlineUnfolding (Just wrap_arity) wrap_rhs + wrap_unf = mkDataConWrapUnfolding wrap_arity wrap_rhs wrap_tvs = (univ_tvs `minusList` map fst eq_spec) ++ ex_tvs wrap_rhs = mkLams wrap_tvs $ mkLams wrap_args $ diff --git a/compiler/coreSyn/CoreUnfold.lhs b/compiler/coreSyn/CoreUnfold.lhs index a219de8..2df8139 100644 --- a/compiler/coreSyn/CoreUnfold.lhs +++ b/compiler/coreSyn/CoreUnfold.lhs @@ -29,6 +29,7 @@ module CoreUnfold ( mkUnfolding, mkCoreUnfolding, mkTopUnfolding, mkSimpleUnfolding, mkInlineUnfolding, mkInlinableUnfolding, mkWwInlineRule, + mkDataConWrapUnfolding, mkCompulsoryUnfolding, mkDFunUnfolding, interestingArg, ArgSummary(..), @@ -127,6 +128,16 @@ mkInlineUnfolding mb_arity expr boring_ok = inlineBoringOk expr' +mkDataConWrapUnfolding :: Arity -> CoreExpr -> Unfolding +mkDataConWrapUnfolding arity expr + = mkCoreUnfolding InlineStable + True + expr' arity + (UnfWhen needSaturated boringCxtOk) + -- Note [Inline data constructor wrappers aggresively] + where + expr' = simpleOptExpr expr + mkInlinableUnfolding :: DynFlags -> CoreExpr -> Unfolding mkInlinableUnfolding dflags expr = mkUnfolding dflags InlineStable True is_bot expr' @@ -199,6 +210,26 @@ This can occasionally mean that the guidance is very pessimistic; it gets fixed up next round. And it should be rare, because large let-bound things that are dead are usually caught by preInlineUnconditionally +Note [Inline data constructor wrappers aggresively] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The wrappers for strict data type constructors are to be inlined even in +a boring context. This increases the chance that the demand analyzer will +see the real constructor and return a nested CPR property. + +For example: + data P a = P !a !b + f :: Int -> P Int Int + f x = P x x +previously, the demand analyzer would only see + f x = $WP x x +and infer a strictness signature of "m(,)", i.e. a non-nested CPR property. + +But if we inline $WP, we get + f x = case x of _ -> P x x +and we would get ",m(t(),t())", i.e. a nested CPR property. + +A real world example of this issue is the function mean in [ticket:2289#comment:1]. + %************************************************************************ %* * From git at git.haskell.org Wed Jan 15 18:07:31 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:07:31 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: CPR test case: Case binder CPR (c66641d) Message-ID: <20140115180731.E05312406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/c66641de3fdfcd8946e6f8a3cdfb0abe4923dcca/ghc >--------------------------------------------------------------- commit c66641de3fdfcd8946e6f8a3cdfb0abe4923dcca Author: Joachim Breitner Date: Tue Jan 14 09:36:34 2014 +0000 CPR test case: Case binder CPR >--------------------------------------------------------------- c66641de3fdfcd8946e6f8a3cdfb0abe4923dcca testsuite/tests/stranal/sigs/CaseBinderCPR.hs | 15 +++++++++++++++ .../sigs/{FacState.stderr => CaseBinderCPR.stderr} | 2 +- testsuite/tests/stranal/sigs/all.T | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/testsuite/tests/stranal/sigs/CaseBinderCPR.hs b/testsuite/tests/stranal/sigs/CaseBinderCPR.hs new file mode 100644 index 0000000..13f2163 --- /dev/null +++ b/testsuite/tests/stranal/sigs/CaseBinderCPR.hs @@ -0,0 +1,15 @@ +module CaseBinderCPR where + +-- This example, taken from nofib's transform (and heavily reduced) ensures that +-- CPR information is added to a case binder + +f_list_cmp::(t1 -> t1 -> Int) -> [t1] -> [t1] -> Int; +f_list_cmp a_cmp [] []= 0 +f_list_cmp a_cmp [] a_ys= -1 +f_list_cmp a_cmp a_xs []= 1 +f_list_cmp a_cmp (a_x:a_xs) (a_y:a_ys)= + if r_order == 0 + then f_list_cmp a_cmp a_xs a_ys + else r_order + where + r_order = a_cmp a_x a_y diff --git a/testsuite/tests/stranal/sigs/FacState.stderr b/testsuite/tests/stranal/sigs/CaseBinderCPR.stderr similarity index 53% copy from testsuite/tests/stranal/sigs/FacState.stderr copy to testsuite/tests/stranal/sigs/CaseBinderCPR.stderr index 133ad6e..f2ea61d 100644 --- a/testsuite/tests/stranal/sigs/FacState.stderr +++ b/testsuite/tests/stranal/sigs/CaseBinderCPR.stderr @@ -1,5 +1,5 @@ ==================== Strictness signatures ==================== -FacState.fac: dm1(d,tm1(d)) +CaseBinderCPR.f_list_cmp: m() diff --git a/testsuite/tests/stranal/sigs/all.T b/testsuite/tests/stranal/sigs/all.T index 3657432..3e271c5 100644 --- a/testsuite/tests/stranal/sigs/all.T +++ b/testsuite/tests/stranal/sigs/all.T @@ -13,3 +13,4 @@ test('HyperStrUse', normal, compile, ['']) test('T8598', normal, compile, ['']) test('FacState', expect_broken(1600), compile, ['']) test('UnsatFun', normal, compile, ['']) +test('CaseBinderCPR', normal, compile, ['']) From git at git.haskell.org Wed Jan 15 18:08:06 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 18:08:06 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr's head updated: Inline the datacon wrapper more aggressively (0fadbc1) Message-ID: <20140115180806.49F7B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc Branch 'wip/nested-cpr' now includes: 6b67476 [project @ 2001-03-07 15:49:24 by sewardj] Driver and infrastructure files (.T's) for the new test framework. c476429 [project @ 2001-03-07 16:55:48 by sewardj] Beginnings of a H98 test suite: 16 tests taken from Malcolm Wallace's NHC test suite. Many more to come. d9f024b [project @ 2001-03-08 14:21:02 by sewardj] Changes to support multiple tests in a single directory. 375b743 [project @ 2001-03-08 14:21:53 by sewardj] Changes to support multiple tests in a single directory (rename std-macros.T to singlefile-macros.T). 5f0ccf4 [project @ 2001-03-08 14:23:20 by sewardj] Rearrange so that multiple tests reside in the same directory. 35450a6 [project @ 2001-03-08 14:46:20 by sewardj] Further flattening of the directory hierarchy. 9b3c7b7 [project @ 2001-03-08 15:02:19 by sewardj] Make existing tests work again in the modified framework. 15a0c07 [project @ 2001-03-08 16:33:03 by sewardj] More tests. .T files are all empty at the moment. 909a6d2 [project @ 2001-03-08 17:01:31 by sewardj] Make more tests work. 1d4cafb [project @ 2001-03-09 11:30:10 by malcolm] #ifdef the import location for `trace' depending on build compiler. 1be3095 [project @ 2001-03-09 11:33:35 by malcolm] Should run to completion with output "True". a60cc4d [project @ 2001-03-09 11:36:34 by malcolm] Add config case for nhc98. cebad7b [project @ 2001-03-09 11:37:30 by malcolm] This test should pass. 37b2013 [project @ 2001-03-09 11:40:05 by malcolm] GHC gives a "parse error", not "Could not deduce". ee82fee [project @ 2001-03-09 11:42:00 by malcolm] Add nhc98 config case. eaaf73d [project @ 2001-03-09 11:49:14 by malcolm] Basic config file for a York machine. 82fed7f [project @ 2001-03-09 11:50:24 by malcolm] Use the -98 flag with nhc98 to ensure H'98 compatibility. 49d51f5 [project @ 2001-03-09 14:36:13 by malcolm] Test should deliver a runtime pass, with 'True' as output. 9835a32 [project @ 2001-03-09 14:40:14 by malcolm] Add config clause for nhc98. 6c23303 [project @ 2001-03-09 14:47:17 by malcolm] Example infix/fndecl should now compile and run with ghc. It wasn't intended to test for ambiguous type variables - just for the (a1 `op` a2) a3 = ... definition style, which nhc98 still fails to parse. ba0d1cf [project @ 2001-03-09 14:49:23 by malcolm] Add a config clause for nhc98. b04a3ae [project @ 2001-03-09 14:53:18 by malcolm] Add config clause for nhc98. 76a32be [project @ 2001-03-09 14:56:09 by malcolm] Typo: chr1.run.stderr should be chr1.run.stdout. e2446b6 [project @ 2001-03-09 14:59:55 by malcolm] Add expected output. 210848c [project @ 2001-03-09 15:02:19 by malcolm] These have moved up a directory. db84b27 [project @ 2001-03-09 15:05:46 by malcolm] More stuff that has moved up a directory. 2a4fd92 [project @ 2001-03-12 17:10:38 by malcolm] Typo in test config file: expect -> expected cded480 [project @ 2001-06-12 11:48:13 by sewardj] It is a sad directory that does not contain a Makefile. 9531b02 [project @ 2001-06-12 12:06:02 by sewardj] Make another sad directory happy. 90e793b [project @ 2001-06-13 12:24:25 by sewardj] Changes to support running "vanilla" tests -- those with a single source file, reference .stdin, .stdout and maybe .stderr files. These constitute the vast majority of GHC tests. 0cc32f5 [project @ 2001-06-13 12:25:20 by sewardj] Beginnings of documentation for the driver language syntax/semantics. 48d22aa [project @ 2001-06-14 11:39:14 by sewardj] Commit hackery so far. 655db08 [project @ 2001-06-14 17:01:55 by sewardj] Save today's work in a safe of placety, in view of the catastrophically bad current state of our main NFS server. 416f1d0 [project @ 2001-06-15 16:33:22 by sewardj] Yet another major rewrite of the test driver. 05e11cd [project @ 2001-06-18 17:02:22 by sewardj] Onwards and upwards (allegedly). 1e64a14 [project @ 2001-06-19 13:17:06 by sewardj] Many improvements and debuggings. The test driver now works as desired, with multiple tests described in each .T file, and with the test driver having a minimum of hardwired logic. d6b22f0 [project @ 2001-06-19 14:03:39 by sewardj] Move to new framework. 0ad1f5e [project @ 2001-06-19 15:06:07 by sewardj] More minor tweaks. 8c28264 [project @ 2001-06-19 15:06:36 by sewardj] Track recent hackery. 23f574d [project @ 2001-06-20 13:08:14 by sewardj] Command-line enhancements: * Restrict the run to specific test(s). * Allow variables to be set at the command line. 1dce884 [project @ 2001-06-20 15:11:17 by sewardj] All your codeGen tests are belong to me. Well, the should_run ones, at least. c1d554d [project @ 2001-06-20 15:12:17 by sewardj] Various misc hackery which didn't seem to have made it through since the last commit. 76e5776 [project @ 2001-06-20 15:44:54 by sewardj] Add support for compile-only (should_run) style tests. 5cef897 [project @ 2001-06-20 15:46:02 by sewardj] Complete the codeGen tests. f888eb8 [project @ 2001-06-20 15:57:19 by sewardj] Hey! This game is easy. ec4b443 [project @ 2001-06-20 16:13:06 by sewardj] Quite a significant number of your typechecker tests are belong to fptools/testsuite. 0a845eb [project @ 2001-06-21 11:15:17 by sewardj] Document current limitations of ghc-regress tests. 05065c9 [project @ 2001-06-21 11:16:27 by sewardj] Add typechecker should_fail tests. 9ea3922 [project @ 2001-06-21 16:18:26 by sewardj] Add support for piping arbitrary strings through arbitrary programs. 8fe8aed [project @ 2001-06-21 16:21:48 by sewardj] Further adventures to do with approximate matching of compiler error messages. Use the new pipe facility in the test driver to normalise error messages before comparison, by piping them through new program normalise_errmsg. This avoids various kinds of tiresome comparison failures to do with capitalisation, whitespace changes, and path names. be8858f [project @ 2001-06-22 09:04:29 by sewardj] Updated expected output for typechecker failure tests. 883433f [project @ 2001-06-22 09:47:24 by sewardj] Print the outcome for each test as soon as it is known. Makes debugging the testsuite a lot easier. 95a03e6 [project @ 2001-06-22 09:49:57 by sewardj] Assimilate renamer tests. 569bcea [project @ 2001-06-22 11:17:29 by sewardj] Add stranal tests. f28cb04 [project @ 2001-06-22 11:18:25 by sewardj] normalise_errmsg()s in a few more places. 4f3a880 [project @ 2001-06-22 11:53:44 by sewardj] Add simplifier tests. b43197d [project @ 2001-06-22 12:10:59 by sewardj] Further improvements to printing of diagnostic information. 2f6552a [project @ 2001-06-22 12:28:32 by sewardj] Add deSugar tests. a2de2d3 [project @ 2001-06-22 12:29:14 by sewardj] More diagnostic wibbles. fa980b2 [project @ 2001-06-25 09:49:12 by sewardj] Enough commits to make it usable. 11373b9 [project @ 2001-06-25 10:04:28 by sewardj] Use an installed ghc-5.00.2 to build the test driver and error normaliser. This is a temp hack until the Makefiles in testsuite/ are properly integrated into mkworld. 34a5daa [project @ 2001-06-25 11:57:16 by sewardj] Improved diagnostics when a should_compile test fails. 172201a [project @ 2001-06-25 12:54:59 by simonpj] Add an implicit-parameter test 850e0b3 [project @ 2001-06-26 11:31:20 by sewardj] Add the parser tests, formerly known as reader/. Contains a significant amount of breakage which needs to be looked at. 58bbfc5 [project @ 2001-06-26 11:45:11 by sewardj] Add the printing tests. ca8f236 [project @ 2001-06-26 11:53:11 by sewardj] Add the numeric/ tests. 25f7d5d [project @ 2001-06-26 12:04:32 by sewardj] Add deriving/ tests. 0bb68a0 [project @ 2001-06-26 12:19:59 by sewardj] Add concurrent/ tests. Still needs work. 312ff67 [project @ 2001-06-26 12:20:29 by sewardj] Implement a missing case in doStmt. 7d4ce16 [project @ 2001-06-26 14:11:05 by sewardj] Add ccall tests. f3a1946 [project @ 2001-06-26 14:17:21 by sewardj] Add array tests. b4e851f [project @ 2001-06-27 15:22:16 by sewardj] Fix some breakage. e78eebf [project @ 2001-06-27 15:44:02 by sewardj] upd expected output f6122f2 [project @ 2001-06-27 15:44:33 by sewardj] Fix bug in vanilla-comp-test-actions 0fb039d [project @ 2001-06-27 16:31:45 by sewardj] Update expected outputs. a6291e8 [project @ 2001-06-27 16:32:51 by sewardj] Record the current state of play. 583a4dc [project @ 2001-06-27 16:39:02 by sewardj] All these concurrent/ tests tend to fare better when compiled with "-package concurrent". Duh. 3b27905 [project @ 2001-06-28 15:08:39 by simonpj] Add tcfail094 190697f [project @ 2001-06-28 15:24:56 by lewie] I guess I shoulda put it here... 648d1b9 [project @ 2001-06-28 16:25:46 by simonpj] Update tests 6b071de [project @ 2001-07-06 14:24:18 by simonmar] add these files in The Other Place too a686e0c [project @ 2001-07-11 16:06:23 by sewardj] Assimilate ghc/tests/programs. This includes bringing several of them back from the dead. 3b5b917 [project @ 2001-07-11 16:07:02 by sewardj] Support file for multiple-module tests. 771cb56 [project @ 2001-07-11 16:07:52 by sewardj] Rename some functions used in vanilla-test.T to be more consistent/logical. 516abcb [project @ 2001-07-11 16:11:26 by sewardj] Oops! Nuke the old Makefiles. 79c2420 [project @ 2001-07-12 12:40:09 by sewardj] Fix type causing all concurrent tests to fail. ba63115 [project @ 2001-07-12 16:22:04 by simonpj] Add tc130 87d8f19 [project @ 2001-07-13 14:25:14 by sewardj] Changes to support comparing against summaries of previous runs: --save-summary= saves a summary of this run --compare-summary= compares this run against summary from 179553f [project @ 2001-07-13 14:59:13 by sewardj] -- Use diff to show diffs between actual and expected compiler output. -- Show compiler output in cases where none was expected. 708d4ba [project @ 2001-07-13 15:39:55 by sewardj] Handy shell scripts for running tests. Use either as ./run or ./run testname(s) (In general, ./run followed by any other args you want to pass to the test driver). e0ee994 [project @ 2001-07-13 15:40:24 by sewardj] Fix bogons from last commit. 80c2dd3 [project @ 2001-07-13 15:41:52 by sewardj] printing wibble 92ee7ed [project @ 2001-07-20 16:51:58 by simonpj] Add test for newtypes a325b73 [project @ 2001-07-23 09:45:08 by simonpj] Add tc131 5519110 [project @ 2001-07-25 15:56:39 by simonpj] Add tc132 5c1adf6 [project @ 2001-08-14 14:19:50 by simonmar] Random hackage, including: bc8fc28 [project @ 2001-08-14 16:02:15 by sewardj] Some rudimentary documentation of the .T language syntax and semantics. 810768d [project @ 2001-08-16 12:00:00 by simonmar] - Fix a bug in the 'defined' operator - Print fewer newlines 42afc33 [project @ 2001-08-16 12:02:16 by simonmar] Add a verbose flag (use ./runtests verbose=True to get the actual command lines printed out) 16e9c49 [project @ 2001-08-16 13:22:01 by simonmar] - print diffs when output files differ (in verbose mode) 60a369a [project @ 2001-08-16 13:30:06 by simonmar] --tool is no longer a formal option: you can get the same effect by just saying tool= on the command line. This means it can also be set in a config file instead. a4ca1e3 [project @ 2001-08-16 13:32:32 by simonmar] Bring these tests up to date. 7139190 [project @ 2001-08-16 14:12:56 by simonmar] Fix these tests. cb18602 [project @ 2001-08-16 14:13:37 by simonmar] Don't try to handle multiple sample stdout/stderr files for now. d2cfd45 [project @ 2001-08-16 14:23:27 by simonmar] merge from old test suite 3e8cae7 [project @ 2001-08-16 14:25:04 by simonmar] Allow compiling to .hc only. e6e7e51 [project @ 2001-08-17 10:48:27 by simonmar] - Replace the parser with a happy one - simplify the grammar in a couple of places - don't automatically print out the argument to 'run'. 212adad [project @ 2001-08-17 12:58:37 by simonmar] Track some minor changes to the syntax. e174308 [project @ 2001-08-17 13:00:24 by simonmar] Use say_fail_if_noteq() rather than inline version. 3f4e985 [project @ 2001-08-17 15:05:29 by simonmar] Print a helpful message when the program produced some output and it shouldn't have. 481e06b [project @ 2001-08-17 16:16:21 by simonmar] Knock this into slightly better shape and bring over some more tests from the old test suite. cdd58a9 [project @ 2001-08-20 14:53:12 by simonpj] Add tcrun016 886e7fe [project @ 2001-08-20 14:58:10 by simonmar] print contents of the file that should have been empty, in verbose mode f30dbe2 [project @ 2001-08-20 14:59:21 by simonmar] These tests now work ab6bd57 [project @ 2001-08-20 15:15:23 by simonmar] We had file better turn on -fglasgow-exts for this test: it uses local unversal quantification. 1e81eb4 [project @ 2001-08-20 15:42:41 by simonmar] fix obviously wrong typo 68990f6 [project @ 2001-08-20 15:47:12 by simonmar] ignore newlines too: because the compiler pretty-prints error messages, we sometimes encounter spurious line wrappage. 386ead5 [project @ 2001-08-20 16:20:30 by simonmar] update these tests 01a7e86 [project @ 2001-08-21 16:23:29 by simonpj] Add tc133 2dd00f3 [project @ 2001-08-22 09:58:49 by simonpj] add strictness test 730ab9b [project @ 2001-08-22 10:36:07 by simonmar] Add a simple fptools project, so we don't have to wire in things like the location of GHC_INPLACE, and so we can use Makefiles in the various test subdirectories to simplify running the test driver. 6011b4e [project @ 2001-08-22 10:42:32 by simonmar] Use makefiles in the subdirectories to ease running the test driver in a subdirectory. It can be run in the following ways: 9e2f38d [project @ 2001-08-22 10:57:35 by simonmar] Add a README file, which explains how to run the testsuite, how to update the expected output, and how to add new tests. It assimilates the contents of tests/ghc-regress/HOW_TO_ADD_A_TEST, which has been removed. 20e48fd [project @ 2001-08-22 11:21:07 by simonmar] Allow expected failures, by setting the global var $expect to "fail" (defaults to "pass"). 71bd814 [project @ 2001-08-22 11:23:22 by simonmar] Allow expected failures. 47d33a6 [project @ 2001-08-22 11:23:44 by simonmar] This test is an expected failure. We have no idea how to run it. b78b12e [project @ 2001-08-22 11:41:40 by simonmar] update this and actually use it from vanilla-test.T and multimod-test.T 88b6ee1 [project @ 2001-08-22 11:45:42 by simonmar] make this an expected failure 8247bf8 [project @ 2001-08-22 11:46:29 by simonmar] Add Makefiles for these tests 0c1eaff [project @ 2001-08-22 11:47:00 by simonmar] the stubs shouldn't be in the repository 40ae428 [project @ 2001-08-22 11:48:53 by simonmar] don't forget to include std-macros.T 6f3df5c [project @ 2001-08-22 11:50:07 by simonmar] tcrun015 doesn't exist (???) 5ac6fee [project @ 2001-08-22 11:52:34 by simonmar] expected failure fixes e2520c8 [project @ 2001-08-22 11:53:10 by simonmar] expect tcrun007 to fail, because it requires generics support in the prelude. ee157e6 [project @ 2001-08-22 12:17:42 by simonmar] Remove these tests: they used to test the compiler's internal printing machinery, but too much has changed in that area for the tests to stand any chance of working. At some point we should add some new tests for -ddump-foo. 1ff078e [project @ 2001-08-22 12:21:15 by simonmar] Add cpranal tests. 1f95756 [project @ 2001-08-22 12:31:24 by simonmar] Add a Makefile here. ea04e86 [project @ 2001-08-22 13:17:54 by simonmar] oops, I didn't notice that "reader" had been renamed to "parser" when it was imported. So these are the changes I made to the reader tests to make them work. I'll go and remove reader in the repo. 5beeb5f [project @ 2001-08-22 13:20:57 by simonmar] add Makefiles 0ae8de2 [project @ 2001-08-22 13:36:15 by simonmar] Run each test in its own directory, rather than trying to run them all from the directory in which the driver was started. This is required because several tests expect to be able to open auxilliary files in the current directory. 4511bce [project @ 2001-08-22 13:59:54 by simonmar] More tidyups and code sharing. 8724376 [project @ 2001-08-22 14:08:21 by simonmar] This file isn't used any more. I had to do some repository surgey on std-macros.T because it seemed to have been removed and then magically brought back to life such that it was "alive" but living in the Attic. d2946ab [project @ 2001-08-22 14:11:33 by simonpj] Add tcrun015 d98ce54 [project @ 2001-08-22 14:58:35 by simonmar] Move the test code into a separate makefile. 284db99 [project @ 2001-08-22 15:00:34 by simonmar] Run the compiler from the directory in which the test source lives. This allows simple multi-module tests using the vanilla test macros to work (not strictly the right way to do it, but several of our tests are of this kind). 061ce2c [project @ 2001-08-22 15:04:55 by simonmar] Slight change to the semantics so that global vars can be modified from within a macro. 10b86e7 [project @ 2001-08-22 15:05:21 by simonmar] fptools-ish Makefile 2051a4c [project @ 2001-08-22 15:09:56 by simonmar] hReady001 is an expected failure 38c78d8 [project @ 2001-08-22 15:31:55 by simonpj] Add tc134 d65e92e [project @ 2001-08-22 15:32:37 by simonpj] Add Thurstons modular arith 5b3f3b1 [project @ 2001-08-22 15:38:25 by simonmar] update expected output 5069be6 [project @ 2001-08-22 15:46:41 by simonmar] update expected output 9cadf1b [project @ 2001-08-22 15:57:01 by simonmar] fptools-ish makefiles. 358bd3d [project @ 2001-08-22 16:04:59 by simonmar] fptools-ish makefile a002db5 [project @ 2001-08-22 16:25:33 by rrt] ENOWORD (gastly) 3c68c8d [project @ 2001-08-22 16:33:29 by rrt] Add ffi002, which consists of a c file and an hs file. Added some gunk to all.T to maybe make it work. 23aaae7 [project @ 2001-08-23 08:46:23 by simonpj] Add cg050 8460e94 [project @ 2001-08-24 09:48:20 by simonmar] Add a new flag, --output-summary, which dumps the human-readable form of the summary to a file. eb7bbde [project @ 2001-08-24 11:17:28 by simonmar] separate $platform into $arch and $os. d3278e6 [project @ 2001-08-24 13:39:40 by simonmar] update some expected output, and mark tcfail080 as an expected failure f16fdcd [project @ 2001-08-24 14:36:19 by simonpj] Add tcfail096 a1e8f05 [project @ 2001-08-24 14:36:44 by simonpj] Remove bogus test from tc126 293accb [project @ 2001-08-24 14:46:03 by simonpj] Simon fixup 5cf1a83 [project @ 2001-08-24 14:47:08 by simonmar] accept the new output eb718c9 [project @ 2001-08-24 14:48:49 by simonmar] accept the output 7590bd3 [project @ 2001-08-24 14:50:48 by simonmar] expect read002 to fail (illegal character in string literal, not implemented yet) a88abab [project @ 2001-08-24 14:52:15 by simonmar] accept output 0f2c524 [project @ 2001-08-24 15:17:29 by simonmar] These two tests collectively used to be rnfail014. tcfail097 works, tcfail098 currently fails. ae578d6 [project @ 2001-08-24 15:18:35 by simonmar] This test moved to typecheck/should_fail/tcfail0{97,98} 986ffd7 [project @ 2001-08-24 15:56:54 by simonmar] Add tests for the warning problems reported by Marcin earlier this week. 019fea4 [project @ 2001-08-27 10:32:46 by simonmar] update expected output e0c453f [project @ 2001-08-27 10:38:53 by simonmar] program runs in its own directory now, so doesn't need hackage to find its input file. 13083e7 [project @ 2001-08-27 10:40:17 by simonmar] add $TEST as a synonym for $TESTS, so you can say 'make TEST=foo' c25352e [project @ 2001-08-27 10:41:17 by simonmar] The program runs in its own directory now, so doesn't need hackage to find its input file. 38245db [project @ 2001-08-27 10:43:36 by simonmar] Remove debugging output from sample output f4f7d2c [project @ 2001-08-27 10:47:57 by simonmar] add expected output (warnings) 2a1f26b [project @ 2001-08-27 10:49:54 by simonmar] update expected output 9391707 [project @ 2001-08-27 10:55:24 by simonmar] Skip ffi002, we don't have the require machinery to perform this test (it has a separate .c file to compile). 8dbcb15 [project @ 2001-08-27 11:25:29 by simonmar] Add another missing warning test from Marcin fe4151b [project @ 2001-08-27 11:27:15 by simonmar] Update the known failure list. We currently have 9 known failures, of which one is actually a potential problem (okeefe_neural; the compiler runs out of heap in the simplifier while compiling it). b5855c3 [project @ 2001-08-27 11:34:10 by simonmar] Add test for recursive newtypes and foreign imports, from Manuel. 78664bb [project @ 2001-08-27 11:41:37 by simonmar] Add test for scoped type variables w/ existential constructors (failed in 5.00 but works in 5.02, reported by Peter Gammie ) 71988f3 [project @ 2001-08-28 10:01:14 by simonmar] Add two more tests: - arith014 tests fromIntegral behaviour on overflow - arith015 tests things like (read :: "Infinity" :: Double) c262f1c [project @ 2001-08-28 10:35:35 by simonmar] Allow multi-module compile-only tests. a2ae270 [project @ 2001-08-28 10:37:40 by simonmar] Add functional dependency/missing instance test. f81e778 [project @ 2001-08-28 10:49:50 by simonmar] Modify this test to do something reasonable: it now tests that hiding a constructor leaves the corresponding type constructor visible (this is a bug reported by George Russell a while back). Enable rn037 in all.T. edf3f79 [project @ 2001-08-28 11:12:09 by simonmar] Add some tests for hGetBuf & hPutBuf 3bf4c9f [project @ 2001-08-28 13:26:59 by simonmar] Test for exporting of an unimported module. 162ca7c [project @ 2001-08-28 13:27:36 by simonmar] comment this test 2c9e746 [project @ 2001-08-28 13:33:59 by simonmar] add test for conflicting exports 89f46f5 [project @ 2001-08-28 13:38:10 by simonmar] Add a test for unqualified imports bringing into scope qualified names. 918a03a [project @ 2001-08-28 13:42:33 by simonmar] Add a test to make sure that qualified imports can be restricted to the specified entities. a8f7f14 [project @ 2001-08-28 13:45:39 by simonmar] Test that hiding works on a qualified import 6d7f6f5 [project @ 2001-08-28 13:51:25 by simonmar] Test that using hiding on an unqualified import also hides the qualified name. 179da89 [project @ 2001-08-28 13:56:30 by simonmar] Test that hiding a non-exported identifier is legal. 6fc4f79 [project @ 2001-08-28 13:57:46 by simonmar] note that rn038 is a new expected failure. 1e558c8 [project @ 2001-08-28 14:03:55 by simonmar] Test that a qualified name can't be bound in a local binding group. c15cdf6 [project @ 2001-08-28 14:19:55 by simonmar] add '!!!' to the comment in here b082afe [project @ 2001-08-28 14:23:41 by simonmar] rn030 was a duplicate of rn026 7374d8b [project @ 2001-08-29 08:42:15 by simonmar] Add irrefutable pattern test from the Hugs bugs list. ac43c83 [project @ 2001-08-29 08:44:49 by simonmar] bugfix in check_stderr_ok() 36b6643 [project @ 2001-08-29 09:35:32 by simonmar] Update this test for the changes to the Ix class. In particular, we can no longer depend on Eq being a superclass of Ix, so when comparing indices we have to use Ix.index and comapre the Int results. 517e555 [project @ 2001-08-29 13:59:05 by rrt] Correct spurious instructions. a03c70b [project @ 2001-08-29 14:34:09 by simonmar] Expand this test to show a range of floats and doubles using showEFLoat, showFFloat and showGFloat with a range of precisions, and also attempt to "read" back the results. ba0277c [project @ 2001-08-29 14:38:59 by simonmar] Move Numeric tests into lib/Numeric 5b431cf [project @ 2001-08-30 09:37:45 by simonmar] note about expected failure rnfail034 (nothing major, just an error message wibble) fd14814 [project @ 2001-08-30 10:15:01 by rrt] Make it work on Windows a3140fb [project @ 2001-08-30 17:22:13 by rrt] Make it work better on windows MERGE TO STABLE BRANCH 6b3261b [project @ 2001-08-31 11:29:04 by simonmar] Update test after the behaviour of scan{r,l}1 changed c5d7e7e [project @ 2001-08-31 11:29:35 by simonmar] update expected output 212fa53 [project @ 2001-08-31 12:43:39 by rrt] Update expected output; MERGE TO STABLE BRANCH 4eb498d [project @ 2001-08-31 16:06:46 by rrt] Change this test to make it mathematically trivial, but keep the ccall intact. This has two salutary effects: c89ac42 [project @ 2001-08-31 16:15:52 by rrt] There is no file getPermissions001 on Windows, so comment out this test. There's no other obvious source of executable files which are named the same on Windows and Unix either. If you really want to, you could always set the permissions (if that's possible from Haskell) and then test them, but for now content ourselves with non-executable files and directories. 95e357e [project @ 2001-09-03 09:27:18 by rrt] Julian pointed out that as 0.0 is a bit string of 0s (at least for IEEE), it's an easy result to get bogusly. So use cos instead of sin, expecting 1.0 back. Has all the other nice properties, plus better error detection. 3588010 [project @ 2001-09-03 12:51:36 by sewardj] Changes to make it work with Solaris tools (/bin/sh, diff). e9f73bf [project @ 2001-09-03 15:53:55 by sewardj] Expunge more bash-isms. 3895411 [project @ 2001-09-04 18:29:22 by ken] THIS CHANGE AFFECTS ALL OBJECT FILES COMPILED FROM HASKELL. Please say "make -C ghc/lib/std clean; make -C hslibs clean". 9622eba [project @ 2001-09-05 04:06:41 by ken] Don't buffer stdout when running tests, to keep log files tidy when we redirect both stderr and stdout into the same log file from runtest. 83fe338 [project @ 2001-09-05 04:07:19 by ken] Fix expected output. 42b56be [project @ 2001-09-07 08:17:07 by simonmar] Fix some signatures after the change to the Ix class. ecf856a [project @ 2001-09-07 08:23:27 by simonmar] Fix some signatures after Ord was removed as a superclass of Ix. a9ad23a [project @ 2001-09-07 09:49:05 by sewardj] Update expected result. 0ecc9e3 [project @ 2001-09-07 12:52:23 by rrt] c9cb517 [project @ 2001-09-07 13:00:51 by rrt] Test-suite titivation --------------------- 246fa63 [project @ 2001-09-07 13:22:31 by rrt] Set some expected failures for Windows. ZBB time... a5c9e80 [project @ 2001-09-07 14:14:07 by sewardj] Mark tcfail098 as an expected failure, since that's what it is. 3435b25 [project @ 2001-09-07 14:30:52 by sewardj] Fix Unix expected output. 8f07e37 [project @ 2001-09-07 14:31:13 by rrt] Changed "expect fail" in all.T to "$expect = "fail"", which should work; the former shouldn't work, the latter does. f5af381 [project @ 2001-09-07 14:34:26 by sewardj] Update expected output. ba2b16f [project @ 2001-09-07 15:21:09 by sewardj] Really fix expected output. Duh. e2c894d [project @ 2001-09-07 16:00:17 by rrt] Check in Windows-specific results files; remove a spurious one, and fix that for hGetLine001 (a new Win-specific file). 1baf6bb [project @ 2001-09-13 14:41:30 by sewardj] update expected output. 3770767 [project @ 2001-09-13 14:44:57 by sewardj] Yet another change to the expected output. This test is really very stupid and should be re-done. 718d043 [project @ 2001-09-13 15:54:43 by simonmar] Back out the change to remove Ord as a superclass of Ix; the revised Haskell 98 report will no longer have this change. e66d94b [project @ 2001-09-14 13:58:07 by sewardj] solaris-specific results 0e2e78f [project @ 2001-09-14 14:03:59 by sewardj] solaris-specific results 721d408 [project @ 2001-09-14 14:08:54 by sewardj] solaris specific results a1eb965 [project @ 2001-09-14 14:12:00 by sewardj] yet solaris bogons bcac9f5 [project @ 2001-09-14 15:04:34 by sewardj] fix endian problems causing sparc failure for cg044 1a42e0f [project @ 2001-09-17 09:05:28 by sewardj] Pick up PATH rather than TERM, since the latter ain't always set. 506b6d1 [project @ 2001-09-17 09:09:11 by sewardj] Remove redundant printing in simple_build_Main_wrk. 0697cc8 [project @ 2001-09-17 17:40:55 by rrt] Make call of tool (i.e. the compiler) work when it has spaces in its paths. ac82fb0 [project @ 2001-09-18 11:53:37 by sewardj] remove spurious debug printing (again) 39b2e47 [project @ 2001-09-18 12:09:04 by sewardj] cg038 is no longer an expected failure on Windoze b83c4cd [project @ 2001-09-18 12:23:02 by sewardj] Make this less fragile. Was failing sometime on Windoze. 7432f58 [project @ 2001-09-20 08:21:06 by simonpj] Add tcrun017, enable tcrun015, 016 6b313cf [project @ 2001-09-20 08:42:55 by simonpj] Add tc136 d211188 [project @ 2001-09-20 10:19:07 by sewardj] Add test for cgIdInfo assert fail. 988c15e [project @ 2001-09-20 14:37:30 by simonmar] Test that you can't export a constructor on its own. fe07ba0 [project @ 2001-09-20 14:37:47 by simonmar] Add rnfail035 5bd6235 [project @ 2001-09-23 20:54:39 by ken] On alpha-dec-osf3, we need to compile galois_raytrace with -O to prevent the following fatality: 4133136 [project @ 2001-09-23 20:59:55 by ken] 64-bit expected result is, um, correct, unlike the overflowing 32-bit result MERGE TO STABLE 62ba649 [project @ 2001-09-23 21:01:23 by ken] Add 64-bit platform-specific expected stdout MERGE TO STABLE ac0b458 [project @ 2001-09-23 21:09:46 by ken] Added platform-specific result for alpha-dec-osf3. Apparently, running programs are prohibited from writing to their own binary images. 6467f76 [project @ 2001-09-23 21:43:25 by ken] Yes, Virginia, alpha-dec-osf3 is little-endian. MERGE TO STABLE ba02c38 [project @ 2001-09-23 21:46:03 by ken] conc030 requires 2 megs of stack space on the Alpha; let's just give it 2 megs of stack space on every platform. MERGE TO STABLE cccad52 [project @ 2001-09-23 21:50:17 by ken] Skip the test on alpha-dec-osf3, where we run into an infinite loop on some builds 8eb811e [project @ 2001-09-23 21:57:25 by ken] Add 64-bit platform-specific expected stdouts MERGE TO STABLE 33df184 [project @ 2001-09-23 22:25:57 by ken] Added 64-bit platform-specific output for enum01, enum02 and enum03, including a minor fix to enum03.hs and enum03.stdout. a2a118b [project @ 2001-09-24 00:39:26 by ken] Add 64-bit platform-specific expected stdouts; MERGE TO STABLE 6d6c6ab [project @ 2001-09-24 13:53:47 by ken] Fix 64-bit expected output. MERGE TO STABLE acd4954 [project @ 2001-09-24 15:49:24 by simonmar] We have to declare some extra precedences after the change in behaviour in Happy 1.11. 1f3cfb2 [project @ 2001-09-26 09:42:12 by simonmar] add test for unterminated nested comments f488c31 [project @ 2001-09-26 13:18:45 by simonmar] add CmdParser.hs to CLEAN_FILES 68d5c3f [project @ 2001-10-01 09:59:42 by simonmar] Add tests for mixing layout and explicit braces. d5e76b2 [project @ 2001-10-04 08:18:06 by simonpj] Add test that Hugs bizarrely fails 3dd2a62 [project @ 2001-10-11 14:41:31 by sewardj] Add test for converting DEFAULTs to unboxed tuples in case alts. 39ba82a [project @ 2001-10-16 15:07:21 by simonmar] test the Show instance for HandlePosn. 9a83618 [project @ 2001-10-16 15:32:57 by simonpj] Add a test I had hanging around; maybe merge to branch 6c91928 [project @ 2001-10-17 10:57:16 by simonpj] Add tests for unsaturated type synonyms 0ac8718 [project @ 2001-10-17 11:13:57 by simonpj] Add another functional dependency test [oArmin Groesslinger bug] 625334c [project @ 2001-10-19 14:03:28 by rrt] Add win32 hello world as a test. It tests linking stub files, among other things. a944b29 [project @ 2001-10-19 14:10:14 by rrt] Tweak to not run on non-Windows platforms. cf796b3 [project @ 2001-10-22 09:35:11 by simonpj] Add tc140 b87e982 [project @ 2001-10-22 11:32:27 by simonpj] Add tcfail099 96a8377 [project @ 2001-10-22 11:33:21 by simonpj] Add tcfail099.stderr 1a9a693 [project @ 2001-10-22 11:34:41 by simonpj] Correct error message 2fbca5b [project @ 2001-10-22 16:13:07 by simonmar] Add a name shadowing test. 51025d4 [project @ 2001-10-24 10:21:44 by sewardj] Deez dudes are malclassified. Rm dem. 8390afc [project @ 2001-10-24 10:27:55 by sewardj] Move malclassified tc138/tc139 to tcfail100/tcfail101 in this dir. b9645ab [project @ 2001-10-25 14:06:07 by simonpj] Add Mark Shields IP test 57fd559 [project @ 2001-10-26 11:30:54 by sewardj] merge from stable, rev 1.1.2.1: 0263bf1 [project @ 2001-10-29 09:38:39 by simonmar] Move the unused binding test from deSugar to rename, and add another case which currently fails to produce a warning (from Marcin). This test is a known failure at the moment. 4d23723 [project @ 2001-10-30 09:30:29 by simonmar] Update some sample output following rev. 1.41 of ghc/compiler/prelude/TysPrim.lhs. ea16ee8 [project @ 2001-10-30 09:33:02 by simonmar] update sample output 7a9cd69 [project @ 2001-10-31 12:25:31 by simonmar] Add empty file test. 16564aa [project @ 2001-11-01 10:30:13 by simonpj] Add test that killed 5.02 424cd45 [project @ 2001-11-02 09:54:42 by simonpj] Test for record update failure 42a7e04 [project @ 2001-11-02 10:20:51 by simonpj] Add another test b6e2d73 [project @ 2001-11-02 10:27:19 by simonpj] Hiding non-existent entity is now an error; move rn038 to should_fail c56f99b [project @ 2001-11-02 10:28:06 by simonpj] Hiding non-existent entity is now an error; add rnfail038 dc9bc50 [project @ 2001-11-02 10:30:26 by simonpj] Remove duplicate defn on Win32 9e2ad08 [project @ 2001-11-06 14:39:29 by simonpj] Add another demand test b2e2ef0 [project @ 2001-11-20 16:24:32 by simonpj] Avoid default-method warning 77198bc [project @ 2001-11-20 16:24:54 by simonpj] Avoid inlining to allow rule to fire 40c54e0 [project @ 2001-11-20 16:25:21 by simonpj] Update error messages 9220f41 [project @ 2001-11-20 16:27:19 by simonpj] Update expected output 1a3ba3e [project @ 2001-11-21 13:53:41 by simonpj] add tc141 232bf42 [project @ 2001-11-21 13:55:02 by simonpj] Add Makefile 09928e1 [project @ 2001-11-21 17:10:26 by simonpj] update expected output 8ba7f42 [project @ 2001-11-30 09:26:27 by simonpj] Update expected output 73edd06 [project @ 2001-12-03 11:53:10 by simonpj] Update expected output d61949b [project @ 2001-12-07 15:11:05 by sewardj] Change expected results for a couple of boundary cases for gcd to be more in line with how the Report indicates gcd should work. 681a88a [project @ 2001-12-10 09:51:36 by simonpj] Add a lexical comment test 2acb595 [project @ 2001-12-10 15:22:12 by simonmar] Test that the instances of enumFrom for the basic numeric types are strict (only Int is at the moment, so this is an expected failure). 9d5ace9 [project @ 2001-12-20 09:06:26 by simonpj] Remove tcfail039; now legal after a H98 change 444c71e [project @ 2001-12-20 09:07:05 by simonpj] Moved from tcfail039 83e9a3f [project @ 2001-12-20 09:07:39 by simonpj] add new tc142 d1e58b6 [project @ 2001-12-20 09:07:52 by simonpj] remove tcfail039 1f8d5b0 [project @ 2001-12-20 09:18:09 by simonpj] Update expected output b7d8b03 [project @ 2001-12-20 15:24:44 by sewardj] Add test of floating-point comparisons in the presence of NaNs. 5d680ce [project @ 2001-12-21 10:23:52 by simonmar] Add test for record declaration with zero fields. 19b9798 [project @ 2001-12-21 10:29:16 by simonpj] Add simple deriving test 0a0a2da [project @ 2001-12-28 10:25:02 by simonpj] Update output f32268f [project @ 2001-12-28 17:36:49 by simonpj] Update output e1d30e6 [project @ 2002-01-03 12:34:04 by simonpj] update output c695393 [project @ 2002-01-03 12:36:04 by simonpj] update output, add drvfail002 109771d [project @ 2002-01-03 12:42:21 by simonpj] update output 3dd01d6 [project @ 2002-01-07 22:43:07 by ken] Use HsInt rather than int MERGE TO STABLE 3658c02 [project @ 2002-01-22 13:54:23 by simonmar] Deadlock is now an exception instead of a return status from rts_evalIO(). 1c44d85 [project @ 2002-01-22 14:07:16 by simonmar] Add deadlock exception test. aee7f7b [project @ 2002-01-22 14:30:16 by simonmar] Add a multi-thread blackhole test (now gets a NonTermination exception instead of a fatal "no threads to run" error). b26cf9b [project @ 2002-01-25 12:28:03 by simonmar] Actually test tryTakeMVar on a full MVar, as well as an empty one. 4002760 [project @ 2002-01-25 13:40:39 by simonmar] - Miss out the gcd cases where either operand is minInt. These cases are undefined in GHC, because (abs minBound ::Int) is undefined. edfd3a9 [project @ 2002-01-29 17:17:29 by simonmar] Test that IOError has Eq defined. 471c416 [project @ 2002-01-31 10:07:59 by simonpj] Feuer bug c75776c [project @ 2002-02-04 09:49:00 by simonpj] Add implicit-param rank-2 test 8e5079b [project @ 2002-02-04 09:49:20 by simonpj] Add tc144 0da55ba [project @ 2002-02-04 11:50:49 by simonmar] Add test for parenthesised left-hand-sides 4e4ef30 [project @ 2002-02-05 09:42:58 by simonmar] Update these tests w.r.t. the new FFI syntax. 8de2c49 [project @ 2002-02-05 09:49:35 by simonmar] update to new FFI syntax and update sample output 6cc8a8e [project @ 2002-02-05 09:50:39 by simonmar] update sample output 7a5083f [project @ 2002-02-07 13:56:56 by simonpj] Add test for stangely-kinded tyvar default 898568a [project @ 2002-02-11 15:21:21 by simonmar] Add regression test for lexer bug when parsing "1.0e+x". 34f586a [project @ 2002-02-13 14:56:38 by simonmar] Fiddle with $(TOP) 02570cc [project @ 2002-02-13 15:00:22 by simonmar] Section precedence test 1d193b1 [project @ 2002-02-13 15:07:17 by simonmar] Check a difficult operator precedence case: (-3 **) where (**) is infixl 7 should be disallowed. edbab70 [project @ 2002-02-18 09:33:44 by simonmar] Add test for PAP_entry: CATCH_FRAME bug. 022ec94 [project @ 2002-02-18 12:10:41 by simonmar] Catch up with changes in other parts of the tree c18e9c2 [project @ 2002-02-21 14:08:57 by sewardj] new-library-ise 0cb5d9f [project @ 2002-02-21 15:13:07 by sewardj] Move towards new-library-compatibility 5b06422 [project @ 2002-02-21 16:57:38 by sewardj] new-library-ise some of these 9bec2a1 [project @ 2002-02-21 17:31:17 by sewardj] Fix those failures which are manifestly due to the new library. c8adbae [project @ 2002-02-22 12:36:01 by sewardj] new-library-ise 64ac7ed [project @ 2002-03-02 18:09:32 by sof] make them compile again 340cd1e [project @ 2002-03-02 18:10:57 by sof] more import wibble b6beb55 [project @ 2002-03-08 15:54:32 by simonpj] More tests 8093e05 [project @ 2002-03-08 16:01:53 by simonpj] A test for zero-constructor types 0f20c6b [project @ 2002-03-08 16:02:21 by simonpj] missed the stderr file ca62d8c [project @ 2002-03-12 10:39:02 by simonmar] The foreign import in here should be "safe" not "unsafe", because it calls directly back to a foreign export. ddb3ea2 [project @ 2002-03-12 15:55:03 by simonpj] Test inspired by Ralf Laemmel 9f86ec9 [project @ 2002-03-13 11:34:41 by simonmar] Add test for passing float args to a C function through the FFI. 0f3c05f [project @ 2002-03-18 13:50:13 by simonmar] update to use new libraries and non-deprecated features 8560d9c [project @ 2002-03-18 13:56:04 by simonmar] update tests 6fe7be9 [project @ 2002-03-18 13:58:30 by simonmar] Passing a Float to a varargs C function isn't possible, so pass a Double instead. 98b323e [project @ 2002-03-18 13:59:45 by simonmar] PrelGHC ==> GHC.Exts 28d1826 [project @ 2002-03-18 14:08:17 by simonmar] update tests 44aa346 [project @ 2002-03-18 14:37:58 by simonmar] This test was previously codeGen/should_run/cg029, now updated to use the FFI and moved to the right place. b9ed91f [project @ 2002-03-18 14:51:54 by simonmar] update tests; cg029 moved to ccall/should_run, and cg030 is removed (test case is already covered by other tests in ccall). 9a14bee [project @ 2002-03-18 14:53:36 by simonmar] Add a test description f71332e [project @ 2002-03-18 14:54:00 by simonmar] This test now aborts with a BlockedOnDeadMVar exception, not a deadlock. 8f7c6fc [project @ 2002-03-18 15:11:48 by simonmar] restore a couple of '-package lang's that seem to have gone missing 52a994c [project @ 2002-03-18 15:12:54 by simonmar] update expected output eb3e0fd [project @ 2002-03-18 15:14:36 by simonmar] PrelGHC ==> GHC.Prim d237c3e [project @ 2002-03-18 15:15:26 by simonmar] This test doesn't need to import PrelGHC at all 112870d [project @ 2002-03-18 15:16:41 by simonmar] new-library update 8d7534d [project @ 2002-03-18 15:18:15 by simonmar] update expected output 9e9d628 [project @ 2002-03-18 15:20:55 by simonmar] we don't support hand-written .hi files any more, so make this one an .hi-boot file. a705733 [project @ 2002-03-18 15:23:46 by simonmar] use {-# SOURCE #-} imports for the hand-written ifaces b2e9571 [project @ 2002-03-18 15:24:29 by simonmar] use {-# SOURCE #-} imports for the hand-written iface 746fe18 [project @ 2002-03-18 15:27:30 by simonmar] whoever wrote this test apparently got mixed up between '50' and '500', so add the missing imports and add {-# SOURCE #-} while I'm here. a0083bf [project @ 2002-03-18 15:30:06 by simonmar] Turn this .hi file into an .hi-boot file f814fff [project @ 2002-03-19 11:27:39 by simonmar] Add 64 to the list of arguments to the bit operations in this test. dd7655d [project @ 2002-03-25 15:12:45 by simonpj] rank-n tests fbd2a73 [project @ 2002-03-27 17:46:13 by simonmar] I dunno whether this is correct, but it seems now if you write "-0.0" in your source code as a Float and show it, you get "-0.0" back out again (the previous sample output just had "0.0"). Looks fairly harmless and/or more correct to me. 95e4e7a [project @ 2002-03-27 17:47:07 by simonmar] New library fixup 8be4002 [project @ 2002-03-27 17:50:18 by simonmar] net001 needs package concurrent. d87e8d8 [project @ 2002-03-27 17:51:14 by simonmar] Don't need NumExts any more, showHex & friends come from Numeric. f87106d [project @ 2002-03-27 17:52:51 by simonmar] hSetBinaryMode doesn't really have a proper home yet f4be02d [project @ 2002-03-28 09:39:28 by simonmar] accept new output e5313a5 [project @ 2002-03-28 09:42:49 by simonmar] New library update fe25fee [project @ 2002-03-28 09:45:55 by simonmar] Add test that exposed a bug in 5.02.2's networking library (accept wasn't setting the socket returned to non-blocking mode). 4eee77b [project @ 2002-03-28 09:51:32 by simonmar] New library update, remove deprecated stuff d768bd4 [project @ 2002-03-28 10:04:05 by simonmar] PrelBase ==> GHC.Exts f96a9a1 [project @ 2002-03-28 10:07:05 by simonmar] This module had what looked like a lot of unnecessary (and now deprecated) coercions from Word->Int and back, so I removed them. a93f881 [project @ 2002-03-28 10:28:07 by simonmar] Update 0c58616 [project @ 2002-03-28 10:32:24 by simonmar] Reverse the sense of the skip test and expand it to include cygwin32 (the test should be skipped when the platform is *not* mingw32 or cygwin32). 6a86648 [project @ 2002-04-01 14:28:14 by simonpj] Add test for existential that quantifies nothing d8d8a65 [project @ 2002-04-01 14:59:52 by simonpj] update expected output 1638122 [project @ 2002-04-02 13:48:41 by simonpj] Context-simplification loop tests a741545 [project @ 2002-04-10 11:00:29 by simonmar] update expected output 6e0b3d4 [project @ 2002-04-10 11:12:10 by simonmar] tcrun007 is now expected to pass 7967fce [project @ 2002-04-13 05:09:52 by sof] Test -Infinity also 3440ce3 [project @ 2002-04-13 05:11:29 by sof] testing MT extension 24b3eb6 [project @ 2002-04-13 05:12:02 by sof] hook up conc036 and conc037 729463b [project @ 2002-04-13 05:12:25 by sof] kill thread B too 13b37f4 [project @ 2002-04-15 17:57:23 by sof] call-in/call-back MT test d0de52b [project @ 2002-04-19 15:44:54 by sof] sync expected output c2470ad [project @ 2002-04-22 11:52:57 by simonpj] Add a rank-3 test 7df199d [project @ 2002-04-22 14:47:43 by simonpj] Another test of improvement; this one blew up Hugs 48f4422 [project @ 2002-04-23 09:35:17 by simonmar] update expected output 8cf9182 [project @ 2002-04-23 09:43:16 by simonmar] update expected output 3021cde [project @ 2002-04-23 09:47:24 by simonmar] update expected output 278fc96 [project @ 2002-04-23 11:23:29 by simonpj] More tests 7c9b9d5 [project @ 2002-04-23 11:36:52 by simonmar] tc138 has moved c750ca4 [project @ 2002-04-23 17:32:31 by ken] Bring alpha-dec-osf3 expected test results up to date. e47a130 [project @ 2002-04-24 08:48:59 by simonmar] ignore ffi003 on Alpha where we don't have an NCG 0a1ef8e [project @ 2002-04-25 09:05:07 by simonmar] Stable pointer test from Bernie Pope. 98bbe1c [project @ 2002-05-03 09:51:47 by simonmar] Add a layout test (expected failure). 6f13e68 [project @ 2002-05-10 13:31:09 by simonpj] Add a test for tyvars in a type-sig that arent free in the type b51edfa [project @ 2002-05-10 15:24:29 by simonpj] More tests for type validity 351f39d [project @ 2002-05-17 09:28:18 by simonmar] Add test for correct 'negate' handling (currently an expected failure). 904de13 [project @ 2002-05-19 11:55:31 by panne] conc005 is based on the old concurrent package, so imports and compiler flags had to be tweaked. Is this test still needed? d5ea999 [project @ 2002-05-27 15:23:28 by simonpj] Add infix tycon test 4a14e8e [project @ 2002-05-27 15:56:11 by simonpj] Add pattern-match negation test 0a09bd0 [project @ 2002-05-27 16:12:03 by simonpj] Wibbles fa6cd91 [project @ 2002-05-28 08:40:06 by simonpj] Remove tc022; already in dsrun009 863ad0b [project @ 2002-05-28 15:57:44 by simonpj] Switch to let syntax for implicit parameters b04bfa9 [project @ 2002-06-03 11:12:52 by simonmar] Add test for hGetLine on file without a final '\n'. 2ed6880 [project @ 2002-06-05 14:09:46 by simonpj] Update expected results b99f4d4 [project @ 2002-06-07 15:50:22 by simonpj] Add an array read and show test 248ef3d [project @ 2002-06-07 16:22:03 by simonpj] Replace bogus error with the real thing 2fb53d5 [project @ 2002-06-07 16:26:58 by simonpj] Use let syntax instead of with for implicit params c552915 [project @ 2002-06-07 16:30:10 by simonpj] Use let syntax for implicit params 5c59785 [project @ 2002-06-07 16:30:52 by simonpj] negated parameters fixed; should dsrun009 should pass now c664f9b [project @ 2002-06-08 14:25:23 by panne] Update expected output cc6f20f [project @ 2002-06-08 14:29:33 by panne] Update expected output 798cbf1 [project @ 2002-06-14 08:19:47 by simonpj] Tiny Makefile tidy-up 7e5c9fd [project @ 2002-06-17 11:17:10 by simonpj] Remove ./ from error messages a825d96 [project @ 2002-06-17 15:51:45 by simonpj] More accurate error message 2fb8fe4 [project @ 2002-06-18 07:59:57 by simonpj] Omit bogus ambiguity report after a no-instance error 1fe88d1 [project @ 2002-06-18 13:02:22 by simonmar] add another missing end-of-line test for hGetLine 29f0228 [project @ 2002-06-18 13:18:34 by simonmar] update to not use the lang package 2cf426f [project @ 2002-06-19 09:20:53 by simonpj] Sync with new seq story e2413f5 [project @ 2002-06-19 12:11:25 by simonmar] Turn off conc037 and conc038 for now: these depend on $(GhcThreadedRts). e5067aa [project @ 2002-06-19 12:47:07 by simonmar] e948277 [project @ 2002-06-19 12:47:46 by simonmar] Add one of Alastair Reid's FFI tests, with modifications to get it to run under GHC. 19e94e7 [project @ 2002-06-20 08:35:55 by simonpj] Add test for instance decl context validity 34c455d [project @ 2002-06-21 12:22:04 by simonmar] Update expected output 6d126a1 [project @ 2002-06-21 12:25:17 by simonmar] GlaExts ==> GHC.Exts 20c553c [project @ 2002-06-21 13:10:45 by simonpj] Add tc157 38cd36a [project @ 2002-06-21 13:13:47 by simonpj] Add tc158 5124d8c [project @ 2002-06-21 13:30:45 by simonpj] Test recursive newtype deriving d3a2dc1 [project @ 2002-06-27 15:38:58 by simonmar] Finally fix foreign export and foreign import "wrapper" so that exceptions raised during the call are handled properly rather than causing the RTS to bomb out. 2acd17c [project @ 2002-06-27 21:22:06 by ken] Fix 32-bit assumption: Int is not CInt b446b79 [project @ 2002-06-28 16:12:08 by sof] conc021: update expected output and exit code 1e70fd5 [project @ 2002-07-02 09:14:10 by simonmar] update expected output (which was wrong) e25f4bb [project @ 2002-07-08 12:51:11 by simonmar] Skip test ffi005 due to non-portability 65f84ef [project @ 2002-07-08 13:00:49 by simonmar] Solaris-specific versions of stdout for these tests (the default block size differs on Solaris, which means that Show-ing a Handle gives slightly different output). 2900332 [project @ 2002-07-08 20:31:16 by simonmar] FreeBSD-specific test output (mainly just different default buffer sizes). 4bd8b3f [project @ 2002-07-10 08:41:49 by simonmar] update expected output ec0e5a7 [project @ 2002-07-10 13:10:15 by simonpj] Add tcfail109 cfe2390 [project @ 2002-07-12 06:47:26 by ken] update expected output (which was wrong) d3c5f6e [project @ 2002-07-15 15:23:14 by simonmar] Put the source file *before* any extra options for this test on the command line. That way we can compile extra files that depend on things created by compiling the original source (eg. _stub files for multi-file FFI tests). ede1399 [project @ 2002-07-15 15:26:44 by simonmar] Turns out that we *did* have a test that would have shown up the DsForeign bug (rev. 1.70 of ghc/compiler/deSugar/DsForeign.lhs) but it was disabled because it didn't quite work with the current test framework. fedb1db [project @ 2002-07-16 10:54:02 by simonmar] #include "Rts.h" so that this compiles (it shouldn't be required though) 37aed70 [project @ 2002-07-19 11:56:08 by simonmar] Add a test for more-than-4-arguments-in-foreign-import-wrapper. From Sven Panne. 129e9fe [project @ 2002-07-19 15:32:39 by sof] recv now raises EOF; handle it dbb3760 [project @ 2002-07-22 13:31:50 by simonmar] Add test for List.sortBy being a stable sort. 14b9d3a [project @ 2002-07-23 14:51:01 by simonpj] Add deriving record show test 6aae197 [project @ 2002-07-23 15:26:25 by sof] unused 40ed1f2 [project @ 2002-07-23 15:27:27 by sof] mingw32/win32: tweak back to life 344969a [project @ 2002-07-23 17:11:52 by sof] Add comments explaining why we on purpose force net001 and net002 to fail under Win32, but don't cover up the failure in the testscript. 9522b9b [project @ 2002-07-23 19:07:54 by sof] make it compile f36fd58 [project @ 2002-07-23 19:10:05 by sof] skip win32001 under Win32 also ce8120f [project @ 2002-07-24 08:45:37 by simonmar] Update expected output after recent changes to Read: 5eb9508 [project @ 2002-07-29 13:14:39 by simonpj] Add a type-synonym test 04c8f5e [project @ 2002-07-29 13:18:11 by simonpj] wibble bea856b [project @ 2002-07-29 16:16:17 by simonpj] Comment only 0d4aee2 [project @ 2002-07-31 09:42:42 by simonpj] Update expected output e5063a0 [project @ 2002-07-31 14:24:18 by simonmar] Revamp the testsuite framework. The previous framework was an experiment that got a little out of control - a whole new language with an interpreter written in Haskell was rather heavyweight and left us with a maintenance problem. 3dca04e [project @ 2002-08-01 12:39:42 by simonmar] Rearrange the compiler command line slightly so that the various extra_hc_opts come after the source filename. (fixes ffi002) f92700a [project @ 2002-08-01 12:42:03 by simonmar] Remove -fasm option from this test: it now gets tested with both -fvia-C and -fasm by the test driver. db7ee09 [project @ 2002-08-01 12:43:11 by simonmar] hack this test to ignore any spurious .prof files in the directory listing a8ec1f4 [project @ 2002-08-01 12:45:13 by simonmar] syntax wibble 73b15d5 [project @ 2002-08-01 13:02:01 by simonmar] wibble 1f6da4c [project @ 2002-08-01 13:04:50 by simonmar] Fixes for framework errors (strange, I though I fixed these yesterday before committing...) e2a98a1 [project @ 2002-08-01 13:47:16 by simonmar] rnfail034 works, not sure why it was an expected failure bd3c09c [project @ 2002-08-01 13:51:23 by simonmar] Add canned only_ways() opt-fn. 186deab [project @ 2002-08-01 13:52:00 by simonmar] Convert this file to the new test framework (this dir wasn't checked out in my local tree it seems). 0a5dab7 [project @ 2002-08-01 13:52:26 by simonmar] Use canned only_ways() rather than rolling our own. 01e92e5 [project @ 2002-08-01 13:53:33 by simonmar] Add missing stderr file. 371b394 [project @ 2002-08-01 13:57:04 by simonmar] wibble f7388d9 [project @ 2002-08-01 13:57:24 by simonmar] Add missing test.T for this test. ba2e5ff [project @ 2002-08-14 17:09:52 by ken] Update expected output after recent changes to Read. (MERGE TO STABLE?) 032bb80 [project @ 2002-08-14 17:20:47 by ken] Update expected output after recent changes to Read (MERGE TO STABLE?) 071241d [project @ 2002-08-19 09:34:53 by simonmar] import System.Time to get the non-abstract version of ClockTime (the H98 Time library is now more strict in what it exports). 9ea82a9 [project @ 2002-08-19 09:36:02 by simonmar] Fix an error in the test spec file, and remove a duplicate test b5e9934 [project @ 2002-08-19 10:06:25 by simonmar] Move two multi-module tests into their own directories and make them proper multi-module tests rather than ordered single-module tests. The previous hack broke down when the profiling way was added. 4b94535 [project @ 2002-08-19 10:19:13 by simonmar] Fix framework errors in this test b3b307c [project @ 2002-08-19 10:22:21 by simonmar] add missing files 9e5b836 [project @ 2002-08-19 10:22:40 by simonmar] Fix test name 834c8aa [project @ 2002-08-19 10:25:00 by simonmar] Move a multi-module test into its own directory. d99e1cd [project @ 2002-08-19 10:30:26 by simonmar] Make simpl006 and simpl007 into proper multi-module tests da16b41 [project @ 2002-08-20 10:38:56 by simonmar] Add multimod_compile_fail() (which is to multimod_compile() as compile_fail() is to compile()). 3265000 [project @ 2002-08-20 10:40:00 by simonmar] Add multimod_compile_fail 22ee730 [project @ 2002-08-20 10:41:03 by simonmar] Make rnfail037 into a multi-module test. c5b901f [project @ 2002-08-21 10:48:02 by simonmar] Add test for large character values in literals, along with Char.ord. fda4bdf [project @ 2002-08-26 09:11:44 by simonmar] Don't enable the optasm way by default 291647c [project @ 2002-08-26 09:12:21 by simonmar] enable the 'optasm' way iff GhcWithNativeCodeGen=YES (should eliminate all the bogus test failures on Alpha). de42431 [project @ 2002-08-28 14:39:39 by simonpj] Add a SOH read test 9fd130f [project @ 2002-08-29 10:08:02 by simonmar] should have been removed before 0500df4 [project @ 2002-08-29 10:19:43 by simonmar] Not required any more ffc8c24 [project @ 2002-08-29 10:22:13 by simonmar] Don't do anything, just emit a helpful message. f81e536 [project @ 2002-08-29 10:23:06 by simonmar] Remove old droppings 5903c06 [project @ 2002-09-02 16:30:17 by simonpj] Add rank-N test 3004888 [project @ 2002-09-03 10:08:04 by simonmar] Add test for fixity of (%). 30b061a [project @ 2002-09-03 11:28:32 by simonpj] Dup constraints are no longer an error 9880704 [project @ 2002-09-05 10:29:20 by simonmar] regression test for SourceForge bug #604849 2ffd1f2 [project @ 2002-09-06 02:18:06 by ken] Update expected output after recent changes to Read: 8d68267 [project @ 2002-09-09 13:53:38 by simonpj] Add tc162 75218a4 [project @ 2002-09-09 13:56:14 by simonpj] Add tcfail110 918d239 [project @ 2002-09-09 14:04:58 by simonpj] improve test c3b8f63 [project @ 2002-09-09 14:55:19 by simonmar] correct comment 6d583c0 [project @ 2002-09-11 09:34:14 by simonpj] Update uninitialised stderr messages d88aa7c [project @ 2002-09-11 09:38:09 by simonpj] Add an OK warning in stderr 70a05f3 [project @ 2002-09-11 10:15:31 by simonmar] cc006 is obsolete f08d6b8 [project @ 2002-09-11 10:20:11 by simonmar] cc006 is obsolete 8cc8244 [project @ 2002-09-11 10:22:17 by simonmar] cc002 is obsolete df78c2e [project @ 2002-09-11 10:24:08 by simonmar] fromInt ==> fromIntegral 45c9dcc [project @ 2002-09-11 10:30:00 by simonmar] fromInt ==> fromIntegral toInt ==> fromIntegral f2600f8 [project @ 2002-09-11 10:47:57 by simonmar] - Move some of the way-selection logic into the configuration file; the build system now just passes in variables saying whether the compiler supports profiling and native code generation, and the configuration file adds the appropriate ways. 96eedd0 [project @ 2002-09-11 10:50:31 by simonmar] Add makefile machinery so you can say 5900480 [project @ 2002-09-11 11:08:11 by simonpj] Instance method defns can no longer use a qualified name bc495d3 [project @ 2002-09-11 11:08:50 by simonpj] Add test for qualified instance method 9c43de9 [project @ 2002-09-12 11:28:33 by simonpj] Add rnfail039 1d1d81f [project @ 2002-09-12 11:28:58 by simonpj] ...and the .hs file! f96f5c2 [project @ 2002-09-12 11:32:28 by simonmar] update expected output ec56bfb [project @ 2002-09-13 08:43:38 by simonmar] Add module system test from Ross Paterson 15dfc9b [project @ 2002-09-16 14:03:33 by simonmar] Add Hugs's module system tests. Many of them duplicate other tests in testsuite/ghc-regress, but it was easier to just import the whole lot rather than trying to figure out which ones are useful. They don't take long to run, anyhow. 1a5720c [project @ 2002-09-16 14:11:59 by simonmar] mod98 is expected to pass now 55c14d3 [project @ 2002-09-16 15:34:46 by simonmar] mod132 from hugs98/tests/static 97a966d [project @ 2002-09-18 12:49:13 by simonmar] Test divide by zero for each of the integral types in arith011. 733b316 [project @ 2002-09-19 11:30:42 by simonmar] read020 is wrong and obsolete 03e68f1 [project @ 2002-09-19 11:31:40 by simonmar] update expected output 6384a1a [project @ 2002-09-19 12:52:46 by simonmar] update expected output f6dc397 [project @ 2002-09-20 06:13:42 by chak] Adding a test that checks for SPJ's recent fix entitled "quantify over unbound type vars in RULE lhs's" b7a19bb [project @ 2002-09-20 12:44:40 by simonmar] update expected output 650ed19 [project @ 2002-09-20 12:53:46 by simonmar] update expected output 0933eb0 [project @ 2002-09-20 14:07:04 by simonmar] rn037 has moved into ../prog002 065aebc [project @ 2002-09-20 14:09:35 by simonmar] Add unused import warning test (currently fails) a8a3d42 [project @ 2002-09-24 12:48:26 by simonpj] Update expected output a9f96a6 [project @ 2002-09-25 11:55:13 by simonmar] Add test for scheduler/GC bug found by Wolfgang Thaller. Provoking it was a little tricky... 38e7369 [project @ 2002-09-25 12:02:10 by simonpj] Update expected output eed9bbc [project @ 2002-09-25 12:50:19 by simonmar] Add test for foreign export-ing infix operators, and foreign-exporting something which isn't defined in the current module. c9a8ae1 [project @ 2002-09-25 14:44:14 by simonpj] Move to typecheck/should_fail 73e5096 [project @ 2002-09-25 14:48:19 by simonpj] Moved test from rnfail a44d618 [project @ 2002-09-25 14:49:14 by simonpj] A read/show test involving Maybe e20883c [project @ 2002-09-25 15:31:47 by simonpj] Add exporting test (from Ross P) f52dfcc [project @ 2002-09-26 16:04:30 by simonpj] Add a missing-strict-field tests d1975de [project @ 2002-09-26 16:14:18 by simonpj] update expected output 90fd464 [project @ 2002-09-26 16:27:53 by simonpj] update expected output b74cc4d [project @ 2002-09-27 10:25:23 by simonpj] Add tests for rebindable syntax, courtesy of Ashley Yakeley 1459551 [project @ 2002-09-27 12:43:15 by simonpj] Update expected output with improved error messages 066ad05 [project @ 2002-09-27 14:40:47 by simonpj] Update expected output d84d703 [project @ 2002-09-30 14:49:19 by simonpj] Dont use undecidable instances in this test bd89e75 [project @ 2002-09-30 14:56:41 by simonpj] update expected output (which was never right0 f2c5a96 [project @ 2002-10-01 09:57:22 by simonpj] Update expected output 55367ee [project @ 2002-10-01 10:05:13 by simonpj] Update expected output db86a58 [project @ 2002-10-10 14:10:14 by simonpj] Add mdo test fcc6381 [project @ 2002-10-11 08:41:47 by simonpj] add expected output aa9aca4 [project @ 2002-10-11 15:42:32 by simonpj] Update expected output 6a5b551 [project @ 2002-10-12 00:01:04 by erkok] mdo testsuite dc78c85 [project @ 2002-10-23 09:52:55 by simonpj] Add another read/show test, on records 49c5005 [project @ 2002-10-24 13:06:17 by simonmar] update expected output 1855658 [project @ 2002-10-28 16:15:21 by simonpj] Update expected output, and fix the source for rn017 29a2ea1 [project @ 2002-10-28 16:16:22 by simonpj] Dont import a non-existent interface 36be1ab [project @ 2002-10-29 14:31:00 by simonpj] A new test from Ross 8513c0a [project @ 2002-10-30 09:32:55 by simonpj] Newtype record-selector test 197c892 [project @ 2002-11-05 09:50:24 by simonpj] Test for unused bindings in mutual rec groups 3be9233 [project @ 2002-11-05 11:31:56 by simonpj] Move mod133 to rename/should_fail to avoid conflict with Hugs tests dd94b62 [project @ 2002-11-05 11:34:22 by simonpj] Wibble fa0413f [project @ 2002-11-05 11:38:08 by simonpj] Add test moved from modules/ e35812b [project @ 2002-11-05 11:38:43 by simonpj] Add a modules test acc162e [project @ 2002-11-05 14:09:45 by simonpj] tcfail098 fails now 7d70cce [project @ 2002-11-06 12:50:53 by simonpj] Add two more module tests 4e1cf1a [project @ 2002-11-06 12:51:14 by simonpj] Update expected output 8382940 [project @ 2002-11-07 07:18:13 by chak] Started on regression tests for Template Haskell 6e0f9d6 [project @ 2002-11-07 10:07:24 by simonpj] Update expected output 5e0b456 [project @ 2002-11-07 11:45:05 by simonpj] Add an implicit-parameter test a78096d [project @ 2002-11-09 08:38:19 by chak] More tests for reifyDecl 8453eeb [project @ 2002-11-09 08:46:06 by chak] Seems (in DsMeta) as if reifyDecl should do class delcarations, too, but it currently dies when applied to a class name. 4c2e9dc [project @ 2002-11-11 10:46:31 by simonpj] Add a new deriving test 5cf7fa2 [project @ 2002-11-18 14:18:46 by simonpj] Add tests for classes operations with a context but no for-all 91ed2e5 [project @ 2002-11-19 17:00:02 by simonpj] Add Joaos circular program 632add5 [project @ 2002-11-19 17:47:10 by simonpj] Add output a714f23 [project @ 2002-11-20 07:19:13 by chak] TH: Revised type variable handling in toplevel decls (became necessary due to recent addition of foralls in type representations). 946d0b0 [project @ 2002-11-20 09:43:04 by simonpj] Update expected output 686d64b [project @ 2002-11-20 12:34:43 by chak] TH: - We are forcing importing THSyntax.Q at every top splice now; this suffices to get simple splices that do not involve reifyDecl or declaration quasi-quotes to work. NB: This worked already when the construction of the Dec term and the splice were in separated modules, but not when they are in the same (see the regression test "TH_spliceDecl1.hs"). - The tests "TH_spliceDecl2.hs" and "TH_spliceDecl3.hs" use toplevel splices together with quasi-quoted and reifyDecl. These currently still fail, as importing of some of the required type constructors from THSyntax isn't forced. bf17809 [project @ 2002-11-21 09:25:27 by simonpj] Add test for pattern-match failure in do-notation ad6c2e3 [project @ 2002-11-21 13:25:13 by chak] Renaming function for the reify/splice test needs to be in a separate module f764ffe [project @ 2002-11-22 02:57:32 by chak] wibble 85630e6 [project @ 2002-11-28 10:03:43 by simonpj] Suppress linking messages in TH_spliceDecl1 b504edb [project @ 2002-11-28 17:21:00 by simonpj] Update expected output for new type-error generation 5a94d52 [project @ 2002-11-28 17:21:52 by simonpj] Add new tests b6bb38e [project @ 2002-11-28 17:30:27 by simonpj] update expected output bad9f9a [project @ 2002-11-29 11:11:12 by simonpj] Update expected output 42c70ca [project @ 2002-12-02 09:06:43 by simonpj] This one paniced 5.04 024444a [project @ 2002-12-02 13:43:43 by simonmar] Add support for running tests with GHCi. This is an additional "way" in the test system, which is enabled automatically if $(GhcWithInterpreter) = YES, and only applies to tests that run (as opposed to tests that just compile). c9ac5c1 [project @ 2002-12-02 14:37:26 by simonmar] Don't run ffi00{1,2} with GHCi; they use foreign export cd73b72 [project @ 2002-12-02 14:40:38 by simonmar] GHCi way: set the buffering on stdout to LineBuffering to more correctly match the compiled environment. 7d5fee1 [project @ 2002-12-02 14:48:27 by simonmar] Add support for multi-module tests in GHCi b79c336 [project @ 2002-12-02 15:11:49 by simonmar] omit GHCi way 1dc7cb3 [project @ 2002-12-02 15:26:13 by simonmar] Add support for stdin files in the GHCi way. 0accf31 [project @ 2002-12-02 15:31:21 by simonmar] oops, remove ghci from compile_ways 3175965 [project @ 2002-12-02 15:37:27 by simonmar] Add some more notes, particularly on using ways, and mention the GHCi way. 40b71f8 [project @ 2002-12-03 12:42:44 by simonmar] omit conc021 for ghci b883765 [project @ 2002-12-03 13:00:32 by simonmar] Fix this test - it had a race condition c8bc11b [project @ 2002-12-03 15:43:55 by simonmar] omit some tests in GHCi mode 7914b32 [project @ 2002-12-04 16:53:12 by simonmar] Disable GHCi tests for now, one of them is causing GHCi to go into a loop b3f3d02 [project @ 2002-12-05 12:38:35 by simonmar] re-enable ghci tests 6b57902 [project @ 2002-12-10 02:34:22 by igloo] Correctly convert expressions from TH datastructures to the internel Hs* datastructures containing right infix operators left-parenthesised. 3009f5d [project @ 2002-12-10 10:58:17 by simonmar] Add -K16m to the compiler opts, to make ioref001 work with GHCi 00d0958 [project @ 2002-12-10 11:11:25 by simonmar] skip some of these tests for GHCi 1a1b896 [project @ 2002-12-10 11:11:58 by simonmar] Use the user-supplied stdin file for GHCi, if there is one. a966332 [project @ 2002-12-10 14:10:50 by igloo] Correct comment 64d815d [project @ 2002-12-12 14:45:56 by simonmar] Remove #include "Rts.h" -- not required 3efab16 [project @ 2002-12-13 14:26:01 by simonmar] Test for bug in integerTo{Int,Word}, bug #64652927 fd17f7a [project @ 2002-12-13 14:28:25 by simonmar] accept new output c150f76 [project @ 2002-12-13 15:18:55 by simonmar] use Data.IORef rather than IORef with -package lang 861620b [project @ 2002-12-18 11:18:59 by simonmar] accept new output b657b7d [project @ 2003-01-06 16:08:33 by simonmar] update expected output 8d8e9c4 [project @ 2003-01-09 15:45:23 by simonpj] Add bizarre export test (Ross P) b836733 [project @ 2003-01-09 16:13:48 by simonmar] use the hierarchical libraries 01d34d3 [project @ 2003-01-13 12:04:36 by simonpj] Fails with 5.02.3 eeca323 [project @ 2003-01-13 13:52:47 by simonmar] accept correct output 0d9c3a1 [project @ 2003-01-13 14:00:22 by simonpj] Accept new output (added info on error message) 25a1c66 [project @ 2003-01-13 14:14:31 by simonpj] Accept new output (added info on error message) 65f38b6 [project @ 2003-01-23 12:47:47 by simonmar] Add cg052.hs, which crashes GHC 5.04.2 9767f14 [project @ 2003-01-23 14:30:25 by simonpj] Add two new deriving tests ec90a44 [project @ 2003-01-23 15:05:17 by simonpj] Update output cec6222 [project @ 2003-01-24 10:19:11 by simonpj] Add output file 02b37d7 [project @ 2003-01-24 10:20:17 by simonpj] Update expected output bea137e [project @ 2003-01-24 13:25:46 by simonpj] Update expected output 10e3100 [project @ 2003-01-24 14:08:59 by simonmar] Start a new GHCi-only test category, and add our first test 7ac7aa1 [project @ 2003-01-24 14:11:49 by simonmar] Add comment pointing to the fix. 901ca7f [project @ 2003-02-04 13:45:29 by simonpj] Add tc165 ce35c343 [project @ 2003-02-04 13:45:45 by simonpj] Update expected output 7457641 [project @ 2003-02-06 09:30:14 by simonpj] Add error-message test 41df824 [project @ 2003-02-06 09:59:34 by simonmar] Add test for missing rts_mkFunPtr (fails on 5.04.2). ae3a3a9 [project @ 2003-02-14 10:54:42 by simonpj] Add another impicit-param test 875d580 [project @ 2003-02-14 13:00:38 by simonpj] Add deriving test for record fields with leading underscore 2cb08ad [project @ 2003-02-18 15:31:06 by simonpj] Record update test 8439bcd [project @ 2003-02-19 11:30:39 by simonpj] Update expected output e8c1915 [project @ 2003-02-19 11:35:28 by simonpj] Update expected output f579d5f [project @ 2003-02-19 14:42:23 by simonpj] Update expected output 2cec1ab [project @ 2003-02-24 09:36:38 by simonpj] Update expected output 6f5c8bf [project @ 2003-02-24 16:03:51 by simonpj] Update expected output 5136a8c [project @ 2003-03-11 09:16:44 by simonpj] A new parser test 365d3b8 [project @ 2003-03-17 14:48:18 by simonmar] Add test for 'main = return undefined' 62eb0be [project @ 2003-03-17 14:51:43 by simonmar] Add test for lexing '9e2'. 2d4e251 [project @ 2003-03-19 11:37:18 by simonmar] Add missing test 03643ba [project @ 2003-03-26 15:29:49 by simonmar] change this test to avoid closing stderr, which confuses GHCi 56cfb93 [project @ 2003-03-26 15:34:42 by simonmar] Fix bug in GHCi testing: should fix a few GHCi test failures 6fb6143 [project @ 2003-03-28 12:37:30 by simonmar] Disable getDirectoryContents001 for GHCi. d0d51ad [project @ 2003-04-01 16:39:56 by simonpj] Add readLitChar test c43c29e [project @ 2003-04-08 10:58:10 by simonpj] Add unbox-strict-fields test a404d9a [project @ 2003-04-08 11:48:15 by simonpj] Add newtype deriving error-msg tests 4856d39 [project @ 2003-04-08 13:10:47 by simonpj] Add a borderline test case 4b5190a [project @ 2003-04-09 08:06:59 by simonpj] Add tcrun028 b27e910 [project @ 2003-04-09 08:20:46 by simonpj] Add lex test 76a0a98 [project @ 2003-04-10 14:56:50 by simonpj] Update tests 791207a [project @ 2003-04-10 15:32:28 by simonpj] update expected output 0e2df53 [project @ 2003-04-10 15:33:31 by simonpj] Update expected output fdf7254 [project @ 2003-04-10 15:39:25 by simonpj] Error message wibble after changing the order in which the type checker looks at function calls. Now it does the result type before the argument type, so a handful of error messages change. 94a5678 [project @ 2003-05-01 16:27:58 by simonpj] Update expected output. The main change is slightly less duplication in typecheck error messages. I'm not quite sure when and why this got in, but it seems to be an improvement. 43a4dd0 [project @ 2003-05-03 22:11:52 by igloo] Update testsuite in line with recent TH changes. 3ea8f27 [project @ 2003-05-04 13:51:13 by igloo] Added tests for unboxed literals. e403f07 [project @ 2003-05-04 17:40:01 by panne] Keep all paths below 100 characters, making the poor Solaris tar happy again. Well, to be more exact, *almost* all paths: Some paths below fptools/{ghc,happy}/InstallShield/ are still too long, but they don't usually appear in our tar files. 0a7c450 [project @ 2003-05-07 08:26:17 by simonpj] Update expected output 0a4b449 [project @ 2003-05-07 09:22:15 by simonpj] Add a generics test 0849c91 [project @ 2003-05-07 09:26:14 by simonpj] Add test for Show on unboxed types a929bd2 [project @ 2003-05-12 11:50:10 by ralf] 3319c67 [project @ 2003-05-21 02:58:40 by igloo] Added support for newtypes to TH and altered a test for them. 3a28b48 [project @ 2003-05-21 18:07:30 by igloo] The Great Renaming. I hope I've kept everything in sync - and all the tests pass. Now datatypes follow the c6eaad0 [project @ 2003-05-23 13:43:47 by simonmar] Reclassify these test failures as "expected failures". We are now at ZBB (zero bug bounce). 5af150f [project @ 2003-05-23 13:51:51 by simonmar] ds053 is not an expected failure any more; accept the correct output. 709feb3 [project @ 2003-05-23 14:20:35 by simonmar] This test is an expected failure, but its original purpose seems to have been lost along the way somewhere. c038498 [project @ 2003-05-23 14:24:37 by simonmar] rn040 is no longer an expected failure; accept the correct output f90882e [project @ 2003-05-23 14:36:39 by simonmar] Update this file to reflect reality. 455c730 [project @ 2003-05-27 09:50:31 by ralf] Intermediate commit. Added 002 and 003 test case. Do only compile with local-build target. 3d2b2ef [project @ 2003-05-27 17:52:48 by ralf] This is the beginning of a useful test suite for the boilerplate Generics. Should all work fine with gmake (stage2) in ".". Nice! All subdirs are visited automatically. Much more smaller test cases are needed. To be worked on. b4421ab [project @ 2003-05-30 14:11:18 by simonpj] A test for stupid contexts in data types; killed 5.02.3 8b120e5 [project @ 2003-05-30 22:00:25 by ralf] Data.Generics received a meaninful testsuite; more work to be done. 8492cd2 [project @ 2003-06-01 17:20:59 by ralf] Added an example for traversal dimension; started a TODO list here e1ed24d [project @ 2003-06-03 06:30:09 by simonpj] Add big-tuple tests 1505be8 [project @ 2003-06-04 14:53:05 by ralf] Added a simple gread test sample; improved explanations of several samples 546054b [project @ 2003-06-05 13:36:30 by ralf] Added foldTree examples. c874a01 [project @ 2003-06-06 16:18:03 by igloo] Update tests for renamings. 68450d5 [project @ 2003-06-08 18:12:27 by igloo] Introduce a ListP for consistency with ListE. Splicing in something with a list pattern now works too. c5f03b4 [project @ 2003-06-09 15:38:32 by simonpj] Add a test for hasNoRedexes ac2cbe5 [project @ 2003-06-13 07:22:03 by simonpj] Add kind-checking test b444d3b [project @ 2003-06-13 07:23:02 by simonpj] Add kind test 4862338 [project @ 2003-06-16 15:17:28 by simonmar] Get up a bit earlier in the morning than the strictness analyser. 5e8293a [project @ 2003-06-18 10:45:03 by simonpj] Begin arrow test suite c9695de [project @ 2003-06-18 10:45:50 by simonpj] Add makefile 1a15503 [project @ 2003-06-18 10:55:24 by simonmar] Add test for SourceForge #756454 (method must mention class type variable), expected failure. 370509c [project @ 2003-06-18 18:20:40 by igloo] Ignore *.comp.stderr and *.run.stderr, not *.stderr. Add *.run.stdout to ignored files. b63c719 [project @ 2003-06-19 08:50:40 by ross] tests for arrow notation (needs arrows-branch) f2fcb61 [project @ 2003-06-19 09:13:43 by ross] more arrows tests f6f2c79 [project @ 2003-06-19 09:50:47 by simonmar] tc167 is an expected failure at the moment (there's a bug open on it). 155001a [project @ 2003-06-19 09:51:31 by simonmar] accept new output 1e23e7d [project @ 2003-06-19 09:52:39 by simonmar] tcfail115 is an expected failure (there's a bug open on it). 5951fed [project @ 2003-06-20 11:13:29 by simonpj] Add a quantification test e78e376 [project @ 2003-06-20 23:31:22 by ross] update arrow tests 1e67506 [project @ 2003-06-21 23:39:23 by ross] more arrow tests a53ccd6 [project @ 2003-06-23 00:08:42 by ross] another (successful) arrow test 49f05dc [project @ 2003-06-23 00:23:38 by ross] extend a test 7829aeb [project @ 2003-06-23 11:45:23 by simonpj] Add a test for IO strictness 09d7b73 [project @ 2003-06-23 16:41:26 by simonpj] -farrows instead of -fgla-exts 35e989f [project @ 2003-06-24 09:45:23 by ross] another arrows test 8f6ff0f [project @ 2003-06-24 11:31:42 by ross] update arrows test 3422c52 [project @ 2003-07-01 14:06:29 by simonpj] Update expected output fea726c [project @ 2003-07-01 14:12:17 by simonpj] Add strun003 88895ca [project @ 2003-07-01 14:12:52 by simonpj] Add cg004 d15e291 [project @ 2003-07-01 14:13:17 by simonpj] Comments only cd3eba2 [project @ 2003-07-01 14:13:45 by simonpj] update expected output 62e4d30 [project @ 2003-07-02 10:16:26 by simonpj] Add method defs to suppress gratuitous warnings 08fcb68 [project @ 2003-07-15 13:35:19 by ross] add a test for big tuples, but don't enable it because it takes a long time (thanks to the monster types, I suspect). 0b759f2 [project @ 2003-07-16 08:50:57 by ross] update tests to match revised syntax for forms (and test application too). a62020b [project @ 2003-07-17 12:21:03 by simonmar] Quick hack: add a generic_command class of tests, so that we can integrate arbitrary commands as tests in the test framework. 6909015 [project @ 2003-07-17 12:22:40 by simonmar] Add some driver tests. b1ed296 [project @ 2003-07-18 12:52:12 by simonmar] Add another driver test: compiling a hierarchical module in a subdirectory in one-shot mode. 8194ab8 [project @ 2003-07-21 16:58:14 by simonmar] update expected output after changes to Handle and IOError Show instances f8a508a [project @ 2003-07-22 10:24:00 by simonmar] generic_command: cd to testdir before running the command. 202ed05 [project @ 2003-07-22 10:37:29 by simonmar] rmdir the obj/B directory, so we can test that GHC creates intermediate directories correctly (it currently doesn't). ecb2ccc [project @ 2003-07-23 09:22:29 by simonmar] Extend the support for running arbitrary commands as tests. 8cb9843 [project @ 2003-07-23 09:54:09 by simonmar] Add ghci_script, a simple variation on run_command that runs GHCi with a specified script as input. 10830b3 [project @ 2003-07-23 10:55:28 by simonmar] Add some GHCi tests (found 2 bugs in the HEAD in the process!) 2ce712b [project @ 2003-07-23 10:59:29 by simonmar] Move this test into a subdirectory c853e11 [project @ 2003-07-23 11:36:46 by simonmar] add Makefile 6c2bb84 [project @ 2003-07-23 11:39:31 by simonmar] ghci_script: - filter out -no-recomp from the compiler flags (we want to test recompilation) - pass config.compiler and config.compiler_always_flags to the subprocess via the environment variables HC and HC_OPTS respectively, so that the GHCi script can invoke the compiler 5db5edb [project @ 2003-07-23 11:40:31 by simonmar] Copy some GHCi tests over from fptools/ghc/tests/ghci 8787fe5 [project @ 2003-07-23 14:07:31 by simonmar] update output da82119 [project @ 2003-07-23 14:11:56 by simonmar] update output a93cb57 [project @ 2003-07-23 14:42:39 by simonmar] Hack to get this test working. 16eadea [project @ 2003-07-24 07:47:32 by simonpj] Add a pretty-print test (makes GHC 6.0 loop) e98e1c0 [project @ 2003-07-25 10:17:39 by simonmar] Check exit codes from GHCi runs (we were ignoring them before). a4f992f [project @ 2003-07-25 10:18:40 by simonmar] Add text for Text.Regex.Posix bug. bc666d4 [project @ 2003-07-25 14:27:22 by ralf] 5a50de4 [project @ 2003-07-26 12:49:11 by ralf] Testsuite update which goes with this week's effort on Data.Generics. 76b1d32 [project @ 2003-07-26 12:51:45 by ralf] Testsuite cvs problem fixed. 5429707 [project @ 2003-07-28 11:59:15 by simonpj] Add a new test for higher-rank polymorphism (killed GHC 6.0 20cfa6f [project @ 2003-07-29 10:16:07 by simonpj] Avoid lang-pkg dependency; update expected output d405cc8 [project @ 2003-07-29 10:16:28 by simonpj] Avoid lang-pkg dependency 83f49b3 [project @ 2003-07-31 09:28:48 by ralf] Cosmetic changes. Documentation of Data.Generics at http://www.cs.vu.nl/boilerplate/ is now also again well in line with the major revision of Data.Generics from last week. 7fd2cd7 [project @ 2003-07-31 10:48:51 by panne] Merge Foreign.C.TypesISO into Foreign.C.Types 9637bbd [project @ 2003-08-04 14:53:20 by simonmar] Update following latest enhancements. 7a53dd1 [project @ 2003-08-04 14:54:00 by simonmar] These should all ignore their output 28eab00 [project @ 2003-08-14 10:17:26 by simonmar] pp1 is an expected failure, so tell the test driver. a27b1e5 [project @ 2003-08-19 21:51:53 by krc] Added support for testing generation and compilation of External Core code. There are two new ways, which are not automatically enabled but can be invoked from the command line: extcore and optextcore. Invoking either way will test that ghc is able to generate External Core code for a given test, read the code back in, and compile it to an executable that produces the expected output for the test. de169e7 [project @ 2003-08-20 10:07:30 by simonmar] Add unicode character classification test. 7fbacb8 [project @ 2003-08-20 10:21:07 by simonmar] Add Unicode character classification test. 6ba3faf [project @ 2003-08-27 11:04:05 by simonmar] update expected output 7067633 [project @ 2003-09-08 11:52:27 by simonmar] Replace the handwritten lexer with one generated by Alex. 3a558d2 [project @ 2003-09-08 12:53:47 by simonmar] Update expected output cf19aa1 [project @ 2003-09-08 12:59:05 by simonmar] Add a couple of signal-handling tests I had lying around. 656dff4 [project @ 2003-09-10 09:36:06 by simonmar] accept output 5ac88a9 [project @ 2003-09-10 09:37:10 by simonmar] add expected output 81b4892 [project @ 2003-09-10 16:48:12 by simonmar] These tests now only need -fth, apart from a couple which use unboxed literals. 56fad57 [project @ 2003-09-11 09:36:35 by simonmar] I assume that "ghc-6.1: unknown package name `lang'" is *not* the correct output for this test :-) 139365b [project @ 2003-09-11 09:43:57 by simonmar] Add an extra "sleep 1" to make this test work. 5b87aac [project @ 2003-09-11 09:46:17 by simonmar] accept output f770811 [project @ 2003-09-11 14:22:10 by simonpj] Add a recursive-dictionary test b038ffa [project @ 2003-09-20 17:23:15 by ross] expand test to include cases of lambdas 0bad63c [project @ 2003-09-23 14:40:16 by simonmar] add fileExist test 90a8bba [project @ 2003-09-23 14:44:31 by simonmar] add doesDirectoryExist test 89320bc [project @ 2003-09-24 11:25:58 by simonmar] Bring these tests into the 21st century. 6936e4e [project @ 2003-09-24 11:47:13 by simonmar] Remove some tests that don't apply any more, since we removed support for _ccall_. 55956fe [project @ 2003-09-24 11:50:08 by simonmar] these tests have gone dad6f91 [project @ 2003-09-24 11:52:45 by simonmar] remove obsolete test fd7c403 [project @ 2003-09-24 11:55:55 by simonmar] arrowcase1 is an expected failure on the branch 1b5fe37 [project @ 2003-09-24 11:56:37 by simonmar] oops, should be on the branch 3c37268 [project @ 2003-09-26 09:28:11 by simonmar] remove obsolete test (uses CCallable) b9e79f5 [project @ 2003-09-30 09:57:21 by simonmar] not required ca6b9b6 [project @ 2003-09-30 10:29:01 by simonmar] Add a -f to the rm command to avoid spurious failure f6282fe [project @ 2003-10-01 09:11:36 by simonmar] Add test for returning a Bool from a foreign export. 69d9f87 [project @ 2003-10-06 11:48:02 by simonpj] Add some leading-zero tests 8e44370 [project @ 2003-10-06 12:55:05 by simonpj] Add test for parallel list comprehension unused-var warnings 9c302a9 [project @ 2003-10-13 14:54:11 by simonpj] Update expected output c89e742 [project @ 2003-10-20 14:58:34 by simonmar] Add test that generates strange duplicate error messages with GHC 6.2. 43e4e3d [project @ 2003-10-23 10:24:19 by simonmar] accept new output 54e7038 [project @ 2003-10-24 01:43:27 by dons] Add addr001 case for 64 bit mips-sgi-irix 711bf81 [project @ 2003-10-24 02:10:24 by dons] add case for i386-unknown-openbsd 04bb847 [project @ 2003-10-24 14:33:54 by dons] Make sure uses of pollableEvent are wrapped in HAVE_SIGPOLL. While we're here, add output case for OpenBSD which is an instance of this. 8847cec [project @ 2003-10-27 06:43:29 by dons] 64 bit result for mips64 043b1d7 [project @ 2003-10-27 07:13:37 by dons] 64 bit expected output c662e94 [project @ 2003-10-27 07:34:04 by dons] Add 64 bit expected outptu for mips 04df870 [project @ 2003-10-27 07:38:01 by dons] Add 64 bit expected output for mips a99f13a [project @ 2003-10-27 07:41:04 by dons] Add 64 bit expected output for mips 0f5c617 [project @ 2003-10-27 07:50:31 by dons] Add 64 bit expected output for mips b5a1916 [project @ 2003-10-27 08:13:29 by dons] Add 64 bit expected output for mips c5cc68d [project @ 2003-10-27 08:22:59 by dons] Add 64 bit expected output for mips 5a93c94 [project @ 2003-10-27 11:01:01 by simonpj] Two more tests 68e3715 [project @ 2003-10-27 12:46:57 by simonpj] update expected output 7643cf5 [project @ 2003-10-27 13:50:10 by simonpj] Update expected output 36b3797 [project @ 2003-10-28 01:20:00 by dons] export the value of MAKE for invocation as $MAKE in ghc-regress/driver tests. 706603b [project @ 2003-10-28 01:20:45 by dons] make -> $MAKE so it these tests won't fail on gmake systems 12209f1 [project @ 2003-10-28 08:56:16 by simonpj] Add a no-constructor-type test b006d8d [project @ 2003-10-28 08:56:38 by simonpj] Add tc171 b350f24 [project @ 2003-10-29 12:09:06 by simonpj] update expected output 17f3242 [project @ 2003-10-29 17:20:29 by simonpj] Add a TH test b293c64 [project @ 2003-10-29 19:16:16 by simonpj] Add a strictness anal test I found lying in this directory 1de5f70 [project @ 2003-10-30 04:01:13 by dons] Expected output for opening a directory on Irix. 1812632 [project @ 2003-10-30 10:16:26 by simonpj] Two more TH tests, thanks to Sean 1f9e255 [project @ 2003-11-02 17:51:00 by ralf] Cosmetic changes. 9619300 [project @ 2003-11-03 15:28:53 by simonpj] Add another module test d5253f8 [project @ 2003-11-05 12:16:02 by simonpj] Avoid gratuitous warnings ad9c335 [project @ 2003-11-05 14:37:48 by simonmar] Hopefully make these tests produce deterministic output. 139a051 [project @ 2003-11-05 14:49:21 by simonpj] Fix tc170 efd7221 [project @ 2003-11-06 10:12:19 by simonmar] wibble 5ed4d1e [project @ 2003-11-06 17:09:59 by simonpj] ------------------------------------ Major increment for Template Haskell ------------------------------------ 36042a4 [project @ 2003-11-06 17:14:30 by simonpj] Add another TH test 205eef1 [project @ 2003-11-06 17:22:36 by simonpj] update output; add an (incomplete) error test 920c381 [project @ 2003-11-11 09:47:01 by simonmar] skip conc013 a01f9cf [project @ 2003-11-12 14:49:43 by simonmar] Add test for '\xa0', the ISO8859-1 non-breaking space character. 28d132c [project @ 2003-11-14 10:31:49 by simonmar] conc031 hangs for ever, skip it 8d914d8 [project @ 2003-11-17 14:17:41 by simonmar] skip conc033, hangs with threaded RTS 8a1fbe6 [project @ 2003-11-17 14:26:38 by simonmar] Turn off conc034 for now d5afc20 [project @ 2003-11-19 14:47:31 by ralf] Added functions and example to deal with encoding and decoding of bit streams. 1def135 [project @ 2003-11-19 23:46:59 by ralf] bits and strings are shown and read better than ever before. 6823361 [project @ 2003-11-23 12:29:30 by ralf] Added and revised test cases. 32ff5e2 [project @ 2003-11-25 09:57:41 by simonmar] Omit GHCi way for conc004. This test has been taking several hours, possibly something to do with the threaded RTS. fe07a01 [project @ 2003-11-26 10:07:46 by simonmar] test for extra comma in record construction 442364f [project @ 2003-11-28 17:11:04 by simonmar] Add a test which causes the HEAD to crash (SourceForge bug #847910). Fix to be incorporated shortly. 539260d [project @ 2003-12-06 17:15:00 by ralf] Added examples to demonstrate type case. 318e044 [project @ 2003-12-10 12:32:29 by simonmar] Add unused import warning tests. 86b3567 [project @ 2003-12-10 14:24:21 by simonmar] Update some of the test output following introduction of accurate source locations in error messages. More updates to follow. 92f85f8 [project @ 2003-12-10 14:33:08 by simonmar] wibble (I've no idea why this output got lost) 2294a75 [project @ 2003-12-10 17:20:49 by simonmar] update output 3fbdfd6 [project @ 2003-12-16 16:27:59 by simonpj] Add newtype deriving test 0f43525 [project @ 2003-12-17 15:28:23 by simonpj] Add an instance-getting test b01c530 [project @ 2003-12-17 15:28:58 by simonpj] comments 31fd6ad [project @ 2003-12-19 10:39:28 by simonpj] An umboxed-tuple test 15cea88 [project @ 2003-12-22 12:27:35 by simonmar] Add h{Get,Put}Buf(NonBlocking) tests. 24859d1 [project @ 2003-12-23 12:34:47 by simonmar] The test wasn't exercising enough of the hGetBuf implementation, so jiggle it a bit. f0143e8 [project @ 2003-12-30 16:36:49 by simonpj] Add tc175, modify tcfail115 7280484 [project @ 2004-01-05 14:40:10 by simonmar] Add a couple of -keep-hc-files tests. 2dcc6b4 [project @ 2004-01-06 11:07:53 by simonmar] accept output e418c72 [project @ 2004-01-08 10:37:53 by simonmar] Add a -main-is test a730d64 [project @ 2004-01-08 11:50:41 by simonpj] Add a CSE with unboxed tuples test 52751fe [project @ 2004-01-08 11:57:04 by simonpj] -O is enough to trigger the bug 97bc69e [project @ 2004-01-08 15:05:46 by simonpj] Forgot to commit all.T 8725a8f [project @ 2004-01-09 10:57:33 by simonmar] update output d04c89c [project @ 2004-01-09 11:02:36 by simonmar] add missing Makefiles e5459ed [project @ 2004-01-09 11:04:01 by simonmar] update output 28c7ab7 [project @ 2004-01-09 11:07:37 by simonmar] update output eeb5588 [project @ 2004-01-09 12:10:53 by simonmar] update output a0c3bd3 [project @ 2004-01-14 09:18:33 by simonmar] Fix up test 3051506 [project @ 2004-01-14 09:26:38 by simonmar] add mention of only_ways() 2514201 [project @ 2004-01-14 09:28:56 by simonmar] While I'm here, add docs for a couple of other pre-defined functions which were missing. 25e6c77 [project @ 2004-01-14 09:31:09 by simonmar] Run Tc170_Aux and tc170 in the 'opt' way only. If Tc170_Aux is allowed to run multiple ways, then we might get the wrong flavour of interface file. a58c9ff [project @ 2004-01-14 09:31:59 by simonmar] Use run_command_ignore_output instead of run_command for tc173. d6ac657 [project @ 2004-01-14 09:40:51 by simonmar] tcfail115 and tcfail116 are now expected to succeed 41f83ea [project @ 2004-01-14 09:42:33 by simonmar] Update expected output (mainly error message wibbles) 4ddda6e [project @ 2004-01-14 09:55:29 by simonmar] update output f2ab3a4 [project @ 2004-01-15 14:43:24 by igloo] Split Template Haskell out to its own package and update docs and tests. 284f4d6 [project @ 2004-01-20 10:09:12 by simonmar] update output ba028fb [project @ 2004-01-26 11:29:19 by simonmar] Add SampleVar tests. e6426d4 [project @ 2004-01-27 15:05:57 by simonmar] More tests from Jan Christiansen . The QSem ones are disabled for the time being. d70965b [project @ 2004-01-29 07:01:31 by dons] Add output for sparc/openbsd. This is the same as the i386 case; neither has HAVE_SIGPOLL. c726906 [project @ 2004-02-03 16:48:17 by simonpj] Make tc167 an expected pass 6d0a38e [project @ 2004-02-06 15:12:31 by simonpj] Add a codegen switch test 649cd31 [project @ 2004-02-10 08:46:53 by simonpj] Add a test from a Hugs bug report c1bd289 [project @ 2004-02-13 14:36:59 by ralf] Added another test-set generation example: really simple!!! c34221e [project @ 2004-02-14 18:13:33 by ralf] Refactored for new twin traversals; Added a new somewhat XMLish example; see subdir tree; Started on an even more XMLish example; see subdir xmlish. c7d1955 [project @ 2004-02-15 16:57:09 by ralf] A somewhat weird XMLish example is completed. Needs more discussion. 118596b [project @ 2004-02-15 17:53:52 by ralf] Finished refactoring twin traversal. Finished drafting XMLish examples. d26e2d6 [project @ 2004-02-16 12:02:36 by simonmar] update output f6275ac [project @ 2004-02-17 10:20:01 by simonmar] Skip the GHCi tests if ghci is not in run_ways. 158bcf0 [project @ 2004-02-24 10:34:48 by simonmar] line comment test. 988c74d [project @ 2004-02-24 17:15:14 by simonpj] Add test for overlapping instances in deriving clause 90e7172 [project @ 2004-02-24 19:51:46 by ralf] Revised example tree to make use of accumulating map. Revised xmlish example with regard to polymorphic lists. Added a weird example ext1 for illustrating polymorhic type case. 635b024 [project @ 2004-02-25 13:15:18 by simonmar] enable these tests now 208d773 [project @ 2004-02-25 21:19:39 by ralf] Follow-up fix triggered by yesterday's major scrap your boilerplate commit. 15d9215 [project @ 2004-02-26 13:17:47 by simonpj] Add a hiding test 3d7abbc [project @ 2004-02-26 14:48:29 by simonpj] Reverse sense of test 67dc41f [project @ 2004-02-28 15:31:44 by ralf] Part of this weekend's boilerplate wave. See other commits to library and compiler. The testsuite is passed by the new library and compiler. 5d5457f [project @ 2004-03-01 13:27:28 by simonmar] Add 'threaded' way to run tests with the threaded RTS. dd067b3 [project @ 2004-03-01 14:09:46 by simonmar] Fix up pass over the concurrent tests: f5984c6 [project @ 2004-03-01 16:33:57 by simonmar] update output 253bf57 [project @ 2004-03-02 22:25:13 by ralf] Testsuite updated to meet the new Data class. 3c8e13b [project @ 2004-03-08 20:20:36 by ralf] Added some new boilerplate examples. 8ec8a8c [project @ 2004-03-10 10:30:40 by simonmar] accept output 2ed6755 [project @ 2004-03-10 11:17:38 by simonmar] remove dependencies on hslibs packages 50a1794 [project @ 2004-03-10 11:22:37 by simonmar] Remove unnecessary -package lang be23fdc [project @ 2004-03-10 11:37:03 by simonmar] remove dependencies on hslibs packages b1ed767 [project @ 2004-03-10 11:43:10 by simonmar] remove dependencies on hslibs packages cbbefef [project @ 2004-03-10 11:46:12 by simonmar] remove dependencies on hslibs packages b171ecd [project @ 2004-03-10 11:46:49 by simonmar] remove hslibs dependencies 8d8d17f [project @ 2004-03-10 11:50:55 by simonmar] remove hslibs dependencies dc2dc85 [project @ 2004-03-11 10:00:32 by simonmar] accept output 231dc6b [project @ 2004-03-11 10:06:29 by simonmar] accept output 8c4a2f8 [project @ 2004-03-11 10:53:41 by simonpj] Add default method error test e987c70 [project @ 2004-03-11 11:11:54 by simonmar] add conc040 70d7472 [project @ 2004-03-11 14:28:47 by simonpj] Add a functional dependency test c2ce934 [project @ 2004-03-12 10:15:56 by simonmar] accept output 2c929e8 [project @ 2004-03-12 10:18:58 by simonmar] accept output 049afd8 [project @ 2004-03-12 11:12:40 by simonmar] merge rev. 1.5.2.1 (make this test more robust) 0da57d3 [project @ 2004-03-16 09:25:39 by simonmar] accept output 000d647 [project @ 2004-03-16 10:27:18 by simonmar] Hack around \r\n vs. \n differences in sample output on Windows. a57e2d3 [project @ 2004-03-16 13:40:37 by ralf] The reify test case delivers "impossible has happened" but otherwise all examples are up-to-date with regard to the Boilerplate II draft as of today. 74304f4 [project @ 2004-03-16 13:43:17 by ralf] more clean-up. 4539deb [project @ 2004-03-16 16:07:32 by ross] add test for arrow syntax outside proc (bug fixed last week) f602a46 [project @ 2004-03-16 18:32:29 by ralf] 6c4ea5c [project @ 2004-03-17 09:41:22 by ralf] Test suite refactoring for gmap2. d062623 [project @ 2004-03-17 10:05:03 by ross] test for newtype of recursive newtype bug 27b07a2 [project @ 2004-03-17 23:23:58 by ralf] Testsuite fully successful again. This should now really finish the boilerplate II effort. aca374a [project @ 2004-03-21 19:07:55 by ralf] Make proper use of Typeable1... classes. Adhere to new names in Data.Typeable. 70ebd2d [project @ 2004-03-24 11:00:48 by simonmar] Add empty -i flag test. 97d37ad [project @ 2004-03-30 15:35:27 by ralf] A wave of updates related to the "fromConstr -> gunfold" migration. Nothing serious. Works like a dream. 5475292 [project @ 2004-03-31 21:18:03 by ralf] Too silly encoding to leave it like this. 253a91c [project @ 2004-04-02 13:29:20 by simonpj] More tests 64c76cd [project @ 2004-04-02 16:50:29 by simonpj] Add a test for newtype deriving ee8aff4 [project @ 2004-04-06 08:41:36 by simonpj] Update output f03e3b7 [project @ 2004-04-06 08:49:32 by simonpj] Update output 970e388 [project @ 2004-04-06 09:28:32 by simonpj] Update expected output 7c561af [project @ 2004-04-06 09:35:36 by simonpj] Track update in Generic names f0fa5e1 [project @ 2004-04-24 02:05:55 by dons] Add some 64 bit expected results for the amd64 box d80e444 [project @ 2004-04-24 02:09:33 by dons] More 64 bit arithmetic results f130442 [project @ 2004-04-24 02:11:31 by dons] The result of this test depends on word size. Add 64 bit case. 910c1c1 [project @ 2004-04-24 02:13:32 by dons] More 64 bit cases c967ccb [project @ 2004-04-24 02:17:06 by dons] Add signals001 result, for another OpenBSD platform 01ba963 [project @ 2004-05-05 09:35:39 by simonpj] Typeable deriving test 6de9a6e [project @ 2004-05-12 09:07:57 by simonmar] accept output a4057e5 [project @ 2004-05-14 08:57:40 by simonmar] accept output 86dd540 [project @ 2004-05-24 09:14:14 by simonmar] Expect failure for tc175 (bug is in SourceForge; we're not going to fix any time soon). c6f3708 [project @ 2004-05-25 08:04:36 by simonpj] update output for typechecker error f93ea08 [project @ 2004-05-25 08:07:04 by simonpj] Improve location on unused import warning c4ffa65 [project @ 2004-05-25 09:04:56 by simonpj] Add test for decent failure on built-in syntax f07f819 [project @ 2004-06-01 23:22:33 by igloo] Add missing functions to TH export list (mostly spotted by Duncan Coutts). ac3ef43 [project @ 2004-06-21 16:10:45 by simonpj] Accept Show for rationals without space round % a0d0367 [project @ 2004-06-21 16:21:50 by simonpj] Debug messages moving around 24ae2e7 [project @ 2004-06-21 16:22:23 by simonpj] Infix constructors work now 69cd652 [project @ 2004-06-21 16:23:07 by simonpj] Accept Show for rationals without space round % 5702699 [project @ 2004-06-22 09:50:11 by simonpj] Add a where-clause test for TH f0090f2 [project @ 2004-06-24 10:09:27 by ralf] Ralf back online. 6aa59dd [project @ 2004-07-11 09:23:55 by panne] Updated expected output (whitespace change only) 805e704 [project @ 2004-07-19 22:11:45 by igloo] Allows a -ws-64 stdout variant rather than requiring each 64-bit platform to have a -platform one. (You now need to make boot in testsuite after configure but before running tests). 1b09a28 [project @ 2004-07-20 14:53:12 by igloo] amd64 needs a bigger stack. s/16/32/g bdad3af [project @ 2004-07-20 15:52:20 by igloo] Increase stack size from 4m to 8m for stableptr001 to allow it to pass on amd64. a3fb947 [project @ 2004-07-21 11:29:31 by simonpj] Add a typeable test for the Y type 917a86d [project @ 2004-07-22 09:14:15 by simonmar] Make this a bit more deterministic 32129f6 [project @ 2004-07-22 09:14:26 by simonmar] make this a bit more deterministic e4da356 [project @ 2004-07-23 14:41:07 by igloo] Expect fed001, ffi006 - ffi011 to fail if we are not on an arch that can do adjustor creation. 6181132 [project @ 2004-07-27 12:58:17 by igloo] Revert 1.20 4258eff [project @ 2004-08-12 11:18:26 by simonmar] ghci011 now works 451e80e [project @ 2004-08-12 13:07:48 by simonmar] accept output a812a21 [project @ 2004-08-18 09:28:26 by simonpj] Add a fundep test c0e3629 [project @ 2004-08-20 08:44:06 by simonpj] Make enum test more elaborate for Int b03655a [project @ 2004-08-20 13:12:55 by simonmar] Update Windows output. ee20a24 [project @ 2004-08-23 11:57:29 by simonmar] Add DiffArray deadlock test. b003cc7 [project @ 2004-08-26 12:46:50 by simonpj] New output for enum01 e336948 [project @ 2004-08-26 16:02:32 by simonpj] Add a functional dependency test 2a9fd84 [project @ 2004-09-01 08:58:23 by simonmar] Fix GHCi tests on Windows. 510d800 [project @ 2004-09-02 11:58:12 by simonpj] Add a kind-error test (whcih GHC currently fails) 1741ca3 [project @ 2004-09-03 09:30:18 by simonmar] Robustify conc018 and conc019 a bit 8491505 [project @ 2004-09-03 09:53:07 by simonmar] robustify driver063 4c683c1 [project @ 2004-09-03 09:54:05 by simonmar] accept output 51980a6 [project @ 2004-09-03 10:02:33 by simonmar] accept output de39845 [project @ 2004-09-06 09:51:04 by simonmar] Update output for Windows. dfd8db6 [project @ 2004-09-06 09:51:35 by simonmar] Test driver fixes for Windows. 2f3bc24 [project @ 2004-09-06 13:12:22 by simonmar] More Windows fixes 43198f9 [project @ 2004-09-07 07:51:47 by simonpj] Error message reordering b2db35b [project @ 2004-09-07 09:03:20 by simonmar] accept output fd39616 [project @ 2004-09-07 13:58:38 by simonpj] Add another kind check d268747 [project @ 2004-09-09 16:15:24 by igloo] Testsuite cleaning. bca1649 [project @ 2004-09-09 16:30:22 by simonpj] Add GADT tests; these will fail in the HEAD, but never mind 18809f3 [project @ 2004-09-10 09:25:42 by simonmar] accept output 661a9c4 [project @ 2004-09-14 02:53:14 by dons] Disable getPermissions001 for WAY=ghci. bfdde39 [project @ 2004-09-15 17:48:10 by ross] arrow notation: allow arrow applications (f -< a) to take a non-empty command stack, as suggested by Sebastian Boldt . 06af68a [project @ 2004-09-27 15:33:01 by simonpj] More GADT tests c12105c [project @ 2004-09-27 15:47:02 by simonpj] Another higher-rank pattern-match test; thank you Iavor c488d00 [project @ 2004-09-27 15:53:17 by simonpj] Accept output 9432c04 [project @ 2004-09-27 15:53:59 by simonpj] More gadt test fixup 21acbe0 [project @ 2004-09-28 13:03:33 by simonmar] accept output 42050eb [project @ 2004-10-01 13:29:20 by simonpj] Remove duplicate test 8b471a8 [project @ 2004-10-01 13:58:37 by simonpj] Update expected output for new GADT-enabled typechecker 40427ca [project @ 2004-10-03 05:02:58 by dons] Expect unicode001 to fail on wchar-less OpenBSD/x86 0222c7f [project @ 2004-10-04 09:10:37 by simonpj] Update expected output 3e77701 [project @ 2004-10-04 09:36:47 by simonpj] Update expected output ab63bd0 [project @ 2004-10-04 11:25:29 by simonpj] Update expected output 0cb72d0 [project @ 2004-10-04 15:44:08 by simonpj] Add a GADT test 0635b22 [project @ 2004-10-05 01:34:13 by dons] Expect pass for ffi009, on OpenBSD. Doesn't seem to have the optasm failure/float-store issues. 8634e15 [project @ 2004-10-05 01:59:20 by dons] make -> $MAKE. Always use $MAKE in all.T testsuite code e8b8cc7 [project @ 2004-10-05 07:25:12 by simonpj] Update output b51786a [project @ 2004-10-05 07:45:55 by simonpj] Update output 3aa8272 [project @ 2004-10-05 08:49:14 by simonmar] accept output e00a602 [project @ 2004-10-05 11:48:03 by simonmar] Add George Russell's hi-boot bug 80dfc39 [project @ 2004-10-06 06:03:09 by dons] Don't expect fail on OpenBSD. We don't produce the floating point errors. a13e533 [project @ 2004-10-08 14:00:58 by simonpj] Add a test 07b36cb [project @ 2004-10-11 10:14:09 by simonmar] FreeBSD-specific output no longer required 2763e71 [project @ 2004-10-11 10:40:09 by simonmar] include the right config.h 2f4f4c2 [project @ 2004-10-11 10:41:04 by simonmar] add FreeBSD-specific output fead666 [project @ 2004-10-11 12:25:19 by simonpj] accept output 25ce026b [project @ 2004-10-12 08:22:09 by simonmar] Don't use printf in this test, which is a variable-argument function and hence unsupported by the FFI. 4c46468 [project @ 2004-10-12 08:44:41 by simonmar] skip on Windows 03e7e59 [project @ 2004-10-12 08:49:00 by simonmar] mingw output 2e032ff [project @ 2004-10-12 08:57:58 by simonmar] small fix for GHCi tests on Windows cbd9f01 [project @ 2004-10-13 23:50:29 by dons] Remove duplicate, obsolete, entries for signals{001,002}. Looks like a merge-o. 4543b6c [project @ 2004-10-18 13:37:56 by simonmar] Add stdcall test 4c60e0d [project @ 2004-10-20 11:31:47 by simonpj] Add more pattern-match tests f5e87ff [project @ 2004-10-20 11:34:53 by simonmar] Update Network.URI test for new library. 3c13cf0 [project @ 2004-10-21 08:19:10 by simonpj] Update output 44b5fc4 [project @ 2004-10-27 10:49:58 by simonmar] System.Posix.forkProcess test a4b3ba3 [project @ 2004-11-04 20:25:09 by panne] Synched with latest Network.URI changes 852fe75 [project @ 2004-11-06 10:01:41 by panne] Updated expected output b6f4193 [project @ 2004-11-06 10:23:30 by panne] Expect no failures anymore dee603f [project @ 2004-11-07 14:42:39 by ralf] A long-pending commit. Another commit later today, (Once an up-to-date GHC is running.) a8f8110 [project @ 2004-11-08 12:17:27 by ralf] Testsuite works fine for today's HEAD. Added a nice reflective programming example. See getC.* 9f7e270 [project @ 2004-11-08 12:25:13 by ralf] Cleaning for upload. 06d6752 [project @ 2004-11-09 12:12:40 by simonpj] Add an implicit-paramter test 9106bfc [project @ 2004-11-09 12:41:49 by simonpj] Add a test for ill-formed type 2fe4a95 [project @ 2004-11-09 13:24:16 by simonpj] A multi-module tycon fixity test 7d1395d [project @ 2004-11-09 13:49:08 by ross] More compiler_type support: added the option functions 0d94c55 [project @ 2004-11-09 16:28:22 by ross] Rename several .stderr files to .stderr-ghc, because in each case the output consists of GHC-only warnings. 5c17ec7 [project @ 2004-11-09 16:31:13 by ross] mark groups of tests as GHC-only, as they test GHC-specific features. c26fbe1 [project @ 2004-11-09 16:44:55 by ross] mark the following failures as GHC-specific: ds052 hReady001 tc175 tcfail080 cc70479 [project @ 2004-11-09 17:57:33 by ross] mark GHC-specific tests 87dc431 [project @ 2004-11-10 12:20:00 by ross] Add a make variable COMPILER (default: ghc) to select a configuration file from the config directory without have=ing to give a full path. 893dc0e [project @ 2004-11-10 18:30:54 by ross] replace IOExts with hierarchical modules, and track changes in System.IO c7bd727 [project @ 2004-11-11 00:19:23 by ross] no longer needs -package lang 059028b [project @ 2004-11-11 02:34:18 by ross] get hSetBinaryMode from System.IO 1fc4f8e [project @ 2004-11-11 15:00:27 by ross] added more module tests from the Hugs testsuite, and merged mod200 into mod154, which tests the same thing. 9cb3bde [project @ 2004-11-11 15:14:53 by simonpj] Add comments ebb498c [project @ 2004-11-11 16:47:17 by simonpj] Accept output fe4831a [project @ 2004-11-11 23:53:51 by ross] GHC's Show instance for Ratio is slightly different from Haskell 98 ee2f0a4 [project @ 2004-11-12 11:45:07 by ross] conc013 is GHC-only (compares ThreadIds) fd47420 [project @ 2004-11-12 11:47:39 by ross] tc168 is GHC-only (tests -ddump-types output) 07da490 [project @ 2004-11-12 11:55:31 by ross] config file for Hugs e97e7df [project @ 2004-11-12 11:56:33 by ross] Hugs versions of various error messages 6af6cc9 [project @ 2004-11-12 11:59:28 by ross] Hugs produces slightly different output on these 129284d [project @ 2004-11-12 12:08:55 by ross] these take too long under Hugs 1ca89a2 [project @ 2004-11-12 12:17:23 by ross] Documented bugs in Hugs: 9a80fe3 [project @ 2004-11-12 12:19:49 by ross] another documented Hugs bug: tcfail030 (empty file) ccf56fe [project @ 2004-11-12 18:14:45 by ross] hGetBuf001 is GHC-only (uses throwTo for timeout) 15a4f02 [project @ 2004-11-12 18:15:57 by ross] update Hugs output cee9a0f [project @ 2004-11-13 00:28:49 by ross] update Hugs output 1cb68af [project @ 2004-11-14 13:00:52 by ross] Hugs doesn't implement multiple-reader single-writer locking on files. 7e520ad [project @ 2004-11-15 09:00:43 by simonpj] Update output 4176982 [project @ 2004-11-16 15:01:12 by ross] add Hugs output (Hugs doesn't treat non-Latin digits as letters) 5d9b30f [project @ 2004-11-16 18:02:48 by ross] update output 4d3dc73 [project @ 2004-11-16 23:38:28 by ross] update output to match H98 51ede92 [project @ 2004-11-17 09:34:31 by ross] update output: GHC loses some output before an exception due to its implementation of hPutStr. 3512395 [project @ 2004-11-17 10:51:56 by ross] catch other exceptions (e.g. overflow) db21460 [project @ 2004-11-17 10:55:45 by ross] catch other exceptions (e.g. overflow and pattern match failure), and add take's to the tests for () -- GHC produces the wrong results for enumFromThen () () and enumFromThenTo () () (). 86abe71 [project @ 2004-11-17 11:02:23 by ross] add Hugs output (different error messages, H98-style printing of Rationals) fa66141 [project @ 2004-11-17 11:03:06 by ross] update output (though the alpha one looks out-of-date) 32d6bd2 [project @ 2004-11-17 11:14:26 by ross] add explicit import of Control.Monad.Fix e11fed5 [project @ 2004-11-17 13:30:35 by ross] update Hugs output 40d3234 [project @ 2004-11-17 18:40:40 by ross] GHC-only tests: signals002 uses Handlers forkprocess01 forkProcess timeexts001 tests obsolete library net002 non-blocking I/O thurston-modular-arith GHC-only scoped type variables 6c7e70f [project @ 2004-11-18 00:42:34 by ross] conc040 is GHC-only (uses throwTo) 3f2fad1 [project @ 2004-11-18 00:43:16 by ross] portability 34b3dd1 [project @ 2004-11-18 00:43:49 by ross] warnings from Hugs 34bc68a [project @ 2004-11-18 00:56:24 by igloo] Implement FunDeps for TH. 32ac522 [project @ 2004-11-18 09:56:59 by tharris] Support for atomic memory transactions and associated regression tests conc041-048 c0de959 [project @ 2004-11-18 10:25:38 by ross] Hugs versions of error messages ac6c88a [project @ 2004-11-18 11:23:11 by ross] Hugs only: these all exhaust Hugs's heap, so make life_space_leak an expected failure (CAF leak), and skip andre_monad, barton-mangler-bug and jules_xref. e0d161f [project @ 2004-11-19 00:24:53 by ross] add a modernized version of fed001, which is a GHC-only test of obsolete syntax d4c076e [project @ 2004-11-19 12:54:12 by ross] make instance Enum () conform to the Report (though I doubt anyone will notice) 1fe358d [project @ 2004-11-23 14:22:52 by simonmar] omit ghci way for conc047 & conc048, they appear to deadlock 82825ea [project @ 2004-12-03 15:53:30 by simonmar] Add a test for basic ghc-pkg functionality bb3ea86 [project @ 2004-12-03 16:52:31 by simonmar] Add a Cabal test (modified version of the test from the Cabal distibution). 717d653 [project @ 2004-12-06 10:47:38 by simonmar] accept output af7fc16 [project @ 2004-12-06 11:08:02 by simonmar] accept output fa7ae43 [project @ 2004-12-06 11:20:11 by simonmar] Unregister the package afterward, it interferes with other tests. 6973be9 [project @ 2004-12-08 12:17:09 by simonmar] Add test for Sourceforge bug #1073501. d09693b [project @ 2004-12-09 09:26:51 by simonmar] install --install-prefix ==> copy --copy-prefix 8e4c2ae [project @ 2004-12-09 09:29:13 by simonmar] accept output 0f4648c [project @ 2004-12-09 11:31:53 by simonmar] add unreg & profasm ways c037f4e [project @ 2004-12-13 11:07:33 by simonmar] ffi009 fails for profasm too 2f80250 [project @ 2004-12-13 11:08:15 by simonmar] arith008 fails for profasm too 09b8064 [project @ 2004-12-13 11:11:23 by simonmar] expect fail for profasm too. 81ccf8a [project @ 2004-12-15 15:14:37 by simonpj] Add several more tests 57bb44d [project @ 2004-12-15 16:14:35 by simonmar] Add :info test cd3baa2 [project @ 2004-12-17 13:02:36 by simonmar] include expected output b139e55 [project @ 2004-12-20 09:28:15 by simonpj] Add missing flag c8e2bf8 [project @ 2004-12-21 10:49:56 by simonpj] Add more GADT tests d6fd417 [project @ 2004-12-22 12:16:49 by simonpj] Wibbles aaf9f20 [project @ 2004-12-23 09:07:39 by simonpj] --------------------------------- Template Haskell: names again --------------------------------- c4592b6 [project @ 2004-12-23 09:37:01 by simonpj] Add a test involving existentials 5535dca [project @ 2005-01-04 11:25:59 by simonpj] Update improved error message 7de3eff [project @ 2005-01-04 11:26:59 by simonpj] Add orphan-instance warning message 4f32033 [project @ 2005-01-04 11:30:21 by simonpj] Wibble following scoped type variable change b9c6ad0 [project @ 2005-01-04 16:27:37 by simonpj] Add mdo looping test 9aa9445 [project @ 2005-01-06 15:08:31 by simonpj] Update expected output, and add one more test 6b46436 [project @ 2005-01-07 08:57:48 by simonpj] Update no-instance error messages 8a966dd [project @ 2005-01-07 09:01:11 by simonpj] Add error message for gadt7 237083b [project @ 2005-01-07 09:01:51 by simonpj] Add Nilsson test 7a78a71 [project @ 2005-01-10 13:53:57 by simonmar] Test Double args too (this test fails with 6.2.2). f10ab6c [project @ 2005-01-11 14:34:07 by ross] tweak System.IO imports 4c23e80 [project @ 2005-01-12 12:57:24 by simonmar] Add an STM stress test 8b85507 [project @ 2005-01-13 13:56:53 by simonmar] track recent Cabal changes 52270c5 [project @ 2005-01-14 10:46:21 by simonmar] Use the new Data.Set library 93fd875 [project @ 2005-01-15 12:37:15 by ross] GHC-only warnings 1e21a59 [project @ 2005-01-15 12:38:52 by ross] update Hugs output fae55e4 [project @ 2005-01-15 12:39:41 by ross] tc185 is GHC-only (imports GHC.Base) 9966ef8 [project @ 2005-01-15 13:14:43 by ross] Hugs error message 079a6d4 [project @ 2005-01-17 09:57:24 by simonmar] import System.IO.Error to fix this test f0f1f8e [project @ 2005-01-20 12:39:23 by simonmar] Simon PJ found a bug in GHC's layout processing. Here it is. I can't see an easy fix right now, so I'll come back to it later. 91dd06d [project @ 2005-01-31 13:28:55 by simonpj] Accept output ec3a92d [project @ 2005-01-31 13:56:04 by simonpj] Accept output eb769e4 [project @ 2005-01-31 15:44:52 by simonpj] Add a TH test for tuple names 3f72c20 [project @ 2005-01-31 17:47:17 by simonpj] Add dataToTag test 4697b76 [project @ 2005-02-01 10:04:22 by simonmar] Executable-modules ==> Hidden-modules 828d0c7 [project @ 2005-02-01 10:05:36 by simonmar] Remove duplicate cg055 07b7a29 [project @ 2005-02-01 10:10:39 by simonmar] Update output (default message for calls to 'error' has changed) e413c7b [project @ 2005-02-01 10:12:50 by simonmar] accept output 616a652 [project @ 2005-02-01 10:16:38 by simonmar] hi-boot ==> hs-boot 9bed983 [project @ 2005-02-01 10:24:12 by simonmar] Fix up after hs-boot changes 5419c3a [project @ 2005-02-01 10:28:59 by simonmar] accept output 712434a [project @ 2005-02-01 13:20:54 by simonmar] Add some more driver tests 9f2a193 [project @ 2005-02-03 11:12:01 by simonmar] accept output 52848b6 [project @ 2005-02-04 10:59:55 by simonmar] Add a timeout to test runs, using a wrapper program (written in Haskell, using System.Process of course!). 9e774ca [project @ 2005-02-04 13:04:46 by simonmar] rn011 should be a multimod test too cdbaeff [project @ 2005-02-04 17:21:07 by simonpj] more tests 8aec127 [project @ 2005-02-07 09:58:14 by simonmar] slight correction to runCmd to fix exit code values. d87dd69 [project @ 2005-02-07 10:15:21 by simonpj] Accept output c0a1ba4 [project @ 2005-02-07 10:19:16 by simonpj] Flush output in runIO 478ff03 [project @ 2005-02-07 12:03:29 by simonpj] Add a module-import warning test de40f36 [project @ 2005-02-11 15:10:15 by simonmar] Disable the use of the timeout wrapper on Windows for now; it runs the command using the wrong shell. 396c2c7 [project @ 2005-02-14 11:47:47 by simonmar] Fix up for recent syntax changes, and add some dependencies for testing 5147019 [project @ 2005-02-14 14:36:31 by simonmar] add a test for recompilation bug in GHCi f27beac [project @ 2005-02-15 09:32:08 by simonmar] accept output d282dcb [project @ 2005-02-15 11:53:57 by simonmar] Add a basic ghc -M test 3e9db8e [project @ 2005-02-15 12:45:08 by simonmar] accept output d2d119d [project @ 2005-02-15 16:42:58 by simonmar] Add some tests for -* e668782 [project @ 2005-02-16 10:15:05 by simonmar] computers have got a little fast for this test 6a93ce5 [project @ 2005-02-16 10:16:57 by simonmar] read027 is an expected failure c3f3bb2 [project @ 2005-02-17 09:43:26 by simonmar] Bump the stack size for conc019 d8d637c [project @ 2005-02-17 10:00:45 by simonmar] Rename Rn017.hs to avoid clash on non-case-sensitive file systems 6f904a4 [project @ 2005-02-17 10:01:25 by simonmar] rename module name too 82d2b46 [project @ 2005-02-18 11:09:42 by simonmar] Add further commentary e7175f7 [project @ 2005-02-18 11:11:29 by simonmar] Update comment, this is nothing to do with requiring an expression as the last statement in a do. f47c2d8 [project @ 2005-02-18 11:14:20 by simonmar] add do parsing test cf12a11 [project @ 2005-02-18 16:30:58 by simonmar] - update for changes to InstalledPackageInfo syntax - new test: ghcpkg02: for every package we know about, pipes the output of ghc-pkg describe into ghc-pkg update, to test pretty printing/parsing of InstalledPackageInfo 2c26910 [project @ 2005-02-23 09:12:58 by simonpj] Add data2tag test 57a8676 [project @ 2005-02-23 09:21:08 by simonpj] Add a functional-dep test 43f5741 [project @ 2005-02-23 13:47:26 by simonpj] Add infix type contructor test 8e88515 [project @ 2005-02-25 13:19:26 by simonpj] More tests 8a00515 [project @ 2005-02-28 10:10:21 by simonmar] accept output ced5699 [project @ 2005-02-28 12:05:45 by simonmar] add type tidying test a766958 [project @ 2005-02-28 16:05:55 by simonpj] Add test for kind errors in record update; and synonyms in iface files a824500 [project @ 2005-03-01 05:48:11 by simonpj] Add a desugaring test involving existentials f32cbea [project @ 2005-03-01 09:30:04 by simonmar] accept output 2004bab [project @ 2005-03-01 21:44:21 by simonpj] bogon on test 9b9cfbb [project @ 2005-03-01 21:44:48 by simonpj] Accept output 1636e98 [project @ 2005-03-02 17:01:01 by simonpj] Add a functional-dependency test ee0c2e8 [project @ 2005-03-02 17:02:26 by simonpj] Add another fundep test 69f2153 [project @ 2005-03-04 09:25:14 by simonmar] accept output cd8d192 [project @ 2005-03-07 17:00:15 by simonpj] Add test for indirection-zapping 6077c7d [project @ 2005-03-07 17:12:05 by simonpj] Test recursive dictionaries d74d76f [project @ 2005-03-08 02:52:49 by wolfgang] Change expectations a bit for the non-i386-world. cc004 and ffi012 use stdcall and is therefore expected to fail on non-i386. ffi009, arith008 and arith012 expected to fail in optasm because of an i386-specific floating-point accuracy problem. It now only expects failure on i386. 9d01003 [project @ 2005-03-09 10:59:57 by simonpj] update expected output d2b8e77 [project @ 2005-03-09 16:57:09 by simonpj] add test for infix type-variable operator 4527000 [project @ 2005-03-10 09:00:04 by simonpj] Add another infix operator test 20ab9c3 [project @ 2005-03-10 09:06:06 by simonmar] accept output 073b36b [project @ 2005-03-10 12:03:41 by simonpj] Add test for tuple instances a0938ad [project @ 2005-03-10 16:43:08 by simonmar] expect failure for tcfail105 09d0f45 [project @ 2005-03-11 10:40:10 by simonpj] Add more tests 2bf5df6 [project @ 2005-03-14 09:36:07 by simonmar] profasm way only if ghc_with_native_codegen. a36ce2d [project @ 2005-03-14 10:50:32 by simonpj] Add missing stderr ef1da47 [project @ 2005-03-14 10:50:41 by simonpj] Accept output e63cfa0 [project @ 2005-03-14 10:55:17 by simonpj] Add a method decl to avoid gratuitous failure b1e7bfe [project @ 2005-03-14 12:20:59 by simonmar] update unicode tests 203c00b [project @ 2005-03-15 11:59:36 by ross] Fix (and test) for SourceForge bug 1161624: erroneous rejection of 98f34fe [project @ 2005-03-15 12:34:40 by simonmar] new unicode test, and accept output d0ad02c [project @ 2005-03-15 15:41:56 by simonpj] Add new GADT tests e2d7735 [project @ 2005-03-17 13:24:17 by simonmar] Add test for +RTS -xc 20fca23 [project @ 2005-03-18 08:53:59 by simonpj] Make the SOURCE-import programs work right 7106b44 [project @ 2005-03-21 10:07:44 by simonpj] Make hs-boot test work in new regime 88e665b [project @ 2005-03-21 13:59:36 by simonmar] add some STM example code 17e04c7 [project @ 2005-03-21 14:18:02 by simonmar] skip conc050 for now, for some reason it goes on for ever in the 'opt' ways 66fb864 [project @ 2005-04-04 12:04:18 by simonpj] Add a test for rebindable do-notation syntax d0e25c5 [project @ 2005-04-04 12:24:28 by simonpj] Add comment fe0531f [project @ 2005-04-04 12:34:39 by simonpj] Add another kind-checking test 8d98c20 [project @ 2005-04-05 15:18:51 by simonmar] Update the results for this test: the committed version contains some errors, apparently. 869ede1 [project @ 2005-04-05 15:22:00 by simonmar] oops, commit the right version 356a4c1 [project @ 2005-04-06 22:17:44 by simonmar] hDuplicateTo test 0bb25f0 [project @ 2005-04-13 14:59:45 by simonmar] accept output 496c4e3 [project @ 2005-04-14 15:08:15 by simonpj] (==) and (>=) must be in scope for pattern matching now f917805 [project @ 2005-04-15 16:01:51 by simonpj] two recent GHC 6.4 crashes (neither yet fixed) ae1878b [project @ 2005-04-15 16:55:41 by ross] change to ShouldFail, with a brief explanation. 273f77a [project @ 2005-04-16 17:44:00 by ross] add another ShouldFail test, and also hook in arrow1 (still a failure, because the error message is poor). 2511c65 [project @ 2005-04-19 14:40:23 by simonmar] FFI/threaded test 6c60c79 [project @ 2005-04-22 16:34:04 by ross] GHC-only tests: 00d8d5b [project @ 2005-04-22 16:35:36 by ross] add Hugs output db49a81 [project @ 2005-04-22 16:41:44 by ross] update output 3614bf7 [project @ 2005-04-25 11:57:30 by simonmar] add foreign import '&' test bcc0415 [project @ 2005-04-28 08:03:01 by simonmar] Add test for recent fix to overlapping module check 4fae445 [project @ 2005-04-29 23:50:52 by simonpj] Add kind-error test 65a102b [project @ 2005-05-02 12:00:34 by simonpj] Add newtype stupid-theta test 5d2b886 [project @ 2005-05-03 11:05:36 by simonpj] Add a test for multiple local bindings with TH b43376d [project @ 2005-05-04 10:06:12 by simonmar] accept output fd2675f [project @ 2005-05-04 10:30:13 by ross] update output ("GHC internal error" wasn't very auspicious) 2542ac7 [project @ 2005-05-04 10:31:12 by ross] add output -- not the best error message, but it's hard to see how we can do better. 7fcdd33 [project @ 2005-05-04 15:13:25 by simonmar] add test for array crash bc49efd [project @ 2005-05-05 07:27:21 by simonpj] Accept output 437216f [project @ 2005-05-05 07:44:39 by simonpj] Accept output 0087fd8 [project @ 2005-05-05 12:44:30 by simonpj] new output fb6b2cb [project @ 2005-05-06 08:55:14 by simonmar] accept output 0dd8b5d [project @ 2005-05-06 11:17:01 by simonmar] Omit the TH tests if the 'ghci' way does not exist. 33ade92 [project @ 2005-05-06 12:13:54 by ross] Rearrange arrows tests, and move tc120fail to arrowfail003. 8fe6295 [project @ 2005-05-09 09:12:02 by simonmar] make this test independent of the FD value (fix test with -prof) a3d80c2 [project @ 2005-05-09 09:15:00 by simonmar] update output 4920c0a [project @ 2005-05-09 09:20:03 by simonmar] ghci can\'t do ffi015 f5370e3 [project @ 2005-05-09 09:21:45 by simonmar] update output 9f76519 [project @ 2005-05-10 10:32:10 by simonpj] Accept output 9dea983 [project @ 2005-05-12 16:54:17 by simonpj] Add rank-2 test b48dc0f [project @ 2005-05-13 07:53:37 by simonmar] accept output 948e39c [project @ 2005-05-13 08:03:31 by simonmar] omit if GHCi not enabled dab0c2e [project @ 2005-05-13 08:15:50 by simonmar] make this test slightly more robust 30e1bbc [project @ 2005-05-16 12:53:22 by simonpj] Add newtype rep test bf325d2 [project @ 2005-05-18 12:57:07 by simonmar] accept output 2a3dbc8 [project @ 2005-05-19 07:48:09 by simonpj] Add test for splicing instance, and for pat-match failure in splice code 9fe9d46 [project @ 2005-05-19 09:55:33 by simonmar] Add skip_if_no_ghci fe8e681 [project @ 2005-05-19 09:55:55 by simonmar] rnfail043: skip_if_no_ghci 539e4e6 [project @ 2005-05-20 12:51:30 by simonmar] More ghc-pkg testing. e467354 [project @ 2005-05-23 09:10:59 by simonmar] interpter_run: add ">> return ()", to avoid GHCi trying to print out (and evaluate) the result of Main.main. fadfd2c [project @ 2005-05-23 10:19:40 by simonmar] Add a couple more -main-is tests 2eaf89d [project @ 2005-05-23 13:45:51 by simonmar] conc051 tests MVar throughput between the main thread and a child thread. In the threaded/SMP runtimes, this kind of communication has a high overhead because real OS threaded switches are required (the main thread is bound, the child thread is unbound). It's a good stress test, anyhow. 18b4b0d [project @ 2005-05-23 15:30:54 by simonmar] conc033 is fragile with the threaded RTS; disable it again 4eee3c9 [project @ 2005-05-23 15:57:54 by simonmar] Fix test062.3 12591c5 [project @ 2005-05-24 08:17:34 by simonmar] accept slightly bogus error message output 4ff86af [project @ 2005-05-24 10:44:50 by simonpj] Add a fundep test 15f347a [project @ 2005-05-24 11:16:47 by simonmar] undo accidental commit 78c253f [project @ 2005-05-24 11:30:35 by simonpj] Add simplifier loop test b2ffa31 [project @ 2005-05-24 11:33:11 by simonpj] Add NOINLINE pragma to happyFail ba9dee2 [project @ 2005-05-26 21:36:32 by simonpj] Add higher-rank test fccd604 [project @ 2005-05-27 14:55:32 by tharris] Add STM array-shuffle test 85527ac [project @ 2005-06-06 12:48:35 by nx] add testing examples for arity analysis b08c2d1 [project @ 2005-06-06 12:50:41 by nx] -farity -ddump-idinfo is added for the compilation and the dumpped output is supposed to match .stderr 97f9cff [project @ 2005-06-06 15:53:23 by nx] alex_scan_tkn example is in Main.hs 760529a [project @ 2005-06-07 08:34:10 by simonmar] accept output 4ec62d9 [project @ 2005-06-13 10:31:47 by simonmar] Add extra-lib-dirs 98b545b [project @ 2005-06-15 12:53:15 by nx] 24dd800 [project @ 2005-06-27 09:18:32 by simonmar] update output 8ca92e4 [project @ 2005-06-27 09:31:51 by simonmar] Omit conc036 for GHCi and threaded, deadlock detection doesn't work right in these cases. 3f7fb6a [project @ 2005-06-28 09:34:22 by simonpj] Add typechecker-loop test; could merge to stable b7c4627 [project @ 2005-06-28 23:39:51 by nx] check_rctx has arity 8 3d7163d [project @ 2005-06-29 15:42:35 by simonpj] Add renamer test (ambiguos occurrence) 2659d61 [project @ 2005-07-04 10:37:33 by simonmar] update output 3775349 [project @ 2005-07-04 10:41:19 by simonmar] omit conc039 for threaded way 4379c80 [project @ 2005-07-05 08:41:32 by simonmar] update output b7c9311 [project @ 2005-07-06 12:15:40 by simonmar] add System.Process test d57bb1a [project @ 2005-07-06 12:26:59 by simonmar] add test for passing duplicate Handles to runProcess 5c35fea [project @ 2005-07-08 08:21:37 by simonpj] Add a type-syn instance test f7e2c3e [project @ 2005-07-08 13:59:48 by simonmar] Add test for -odir with non-Haskell compilation c7bd389 [project @ 2005-07-08 16:30:58 by simonpj] Add a test for the specialiser 7a54480 [project @ 2005-07-11 09:55:18 by simonpj] Add test for unifyFunTys 2ca6ec7 [project @ 2005-07-11 10:24:11 by simonpj] Add test for unused variable in parallel list comp e6a693f [project @ 2005-07-11 10:45:34 by simonpj] update output 728751c [project @ 2005-07-12 13:36:07 by simonpj] Add unboxed-tuple binding test (was simpl008) ce6a008 [project @ 2005-07-12 16:34:26 by simonpj] Add test for duplicate spliced decls 271a002 [project @ 2005-07-13 09:22:01 by simonmar] - Add Sven's Sparc running-out-of-registers test (ffi001) - the tests in here were set up to just compile to HC, I've fixed that 5a8c707 [project @ 2005-07-13 10:17:45 by simonpj] Add test for fundep error message cfd5329 [project @ 2005-07-13 16:46:30 by simonpj] Comments only 8464553 [project @ 2005-07-13 16:49:01 by simonpj] Revert bogus commit 859532a [project @ 2005-07-14 08:01:33 by simonpj] Remove simpl008 (it has become tcfail141 ea747e4 [project @ 2005-07-14 10:00:28 by simonmar] accept output 5d5f7a5 [project @ 2005-07-14 12:06:05 by simonmar] add --enable-library-profiling 0c50c91 [project @ 2005-07-18 10:25:07 by simonpj] Accept output c5b2851 [project @ 2005-07-18 10:25:16 by simonpj] add missing tcfail142 899f7b0 [project @ 2005-07-18 10:27:25 by simonpj] Update output af3252e [project @ 2005-07-18 14:02:53 by simonmar] Add test case from 69f8515 [project @ 2005-07-19 09:37:44 by simonmar] fix various bogons in this test 5a86c6d [project @ 2005-07-21 10:02:26 by simonmar] Add ghcpkg04 (importing an ambiguous module) 5715368 [project @ 2005-07-21 10:04:54 by simonmar] Add ghcpkg04 tests, and pkg01 (test that compiling a module that is also a package module gives an error). ced1f48 [project @ 2005-07-21 10:06:16 by simonmar] pkg02: tests for the mechanism that allows local modules to override package modules. e5fede7 [project @ 2005-07-22 10:06:14 by simonpj] Add tests for mutual recursion and type sigs 6388bda [project @ 2005-07-22 10:13:16 by simonpj] Add Robert van Herks example dd90b5b [project @ 2005-07-25 10:17:58 by simonmar] add recompilation test d25d3e6 [project @ 2005-07-25 11:30:18 by simonpj] Update output 590ea21 [project @ 2005-07-25 15:06:36 by simonmar] update 35ad9b5 [project @ 2005-07-27 07:59:38 by simonpj] Add tests for pattern type signatures 27ed03e [project @ 2005-08-01 13:26:43 by simonmar] add System.Process test 9ab618b [project @ 2005-08-02 16:04:23 by simonmar] update test a4046f4 [project @ 2005-08-03 09:51:08 by simonmar] update tests for changes in tools a8931b2 [project @ 2005-08-04 11:34:53 by simonmar] re-enable conc013 with the threaded RTS 01a7c0f [project @ 2005-08-04 12:22:17 by simonmar] A better timeout. This one starts a new session for the child process, and attempts to kill the entire group when the time expires (previously we only killed the direct child, if the child itself had spawned more processes these would continue to run). 414eaa7 [project @ 2005-08-10 08:29:15 by simonmar] turn off orphan instance warnings a7f3164 [project @ 2005-08-10 10:07:39 by simonmar] test queryFdOption 841eea2 [project @ 2005-08-11 08:55:19 by simonpj] Update output; add a test ee2c13a [project @ 2005-08-11 08:55:58 by simonpj] Update output 6f60113 [project @ 2005-08-11 08:56:41 by simonpj] Add missing file afb8791 [project @ 2005-08-11 09:07:43 by simonmar] add stdout file 0481607 [project @ 2005-08-12 08:33:11 by simonpj] Accept output 692af8d [project @ 2005-08-12 08:34:33 by simonpj] Accept (better) output f947176 [project @ 2005-08-22 08:59:15 by simonpj] Slightly better overlap checking 19ee26f [project @ 2005-08-22 09:00:36 by simonpj] Slightly better overlap checking; missed one file e817d82 [project @ 2005-08-30 12:00:23 by simonpj] Two more type-formation tests b52f3a7 [project @ 2005-08-30 12:06:36 by simonpj] Another type-formation test (cf Sourceforge 1276115) 6a7e59e [project @ 2005-08-30 12:08:13 by simonpj] Two type-formation tests (cf Sourceforge 1276246) 83852ab [project @ 2005-09-05 15:20:05 by simonpj] Add a couple of tests 0a4224d [project @ 2005-09-05 15:28:45 by simonpj] Another test 9ae8431 [project @ 2005-09-13 10:06:59 by simonmar] add test for bug #1285326 e1ffbb2 [project @ 2005-09-19 09:34:47 by simonpj] Another kind-error test 4b9d103 [project @ 2005-09-19 15:10:17 by simonmar] add test for forkm crash a093407 [project @ 2005-10-12 13:34:59 by simonpj] Add a test for the unifyTyConApp bug 7083474 [project @ 2005-10-14 11:23:46 by simonpj] add some record-syntax stuff 283fb93 [project @ 2005-10-17 11:12:31 by simonpj] Add case-simplification test 4601e04 [project @ 2005-10-20 08:59:38 by simonmar] add expected output 973a7be [project @ 2005-10-20 09:03:31 by simonmar] add expected output c5ccfd5 [project @ 2005-10-20 09:08:13 by simonmar] add apparently missing file 78b25ae [project @ 2005-10-20 09:09:03 by simonpj] Update output 4442783 [project @ 2005-10-20 09:09:48 by simonmar] test requires -fglasgow-exts now a66e248 [project @ 2005-10-20 09:10:14 by simonmar] accept output d576944 [project @ 2005-10-20 09:16:33 by simonmar] Fix this test 1a1bbf2 [project @ 2005-10-21 11:24:02 by simonmar] tiny fix to simple_run(), adding a space between args and rts_flags. 1bd8480 [project @ 2005-10-21 12:47:58 by simonmar] small fix to this test 0c07817 [project @ 2005-10-24 10:41:01 by simonmar] - add SMP way for tests - add RTS way flags: -N2 for SMP (test multi-processor), and -p for profiling (actually test the profiler!) 41749c2 [project @ 2005-10-25 11:55:25 by simonmar] define ghc_with_smp d38ad94 [project @ 2005-10-25 12:53:59 by simonmar] add LANGUAGE pragma tests fce14fc [project @ 2005-10-26 12:05:44 by simonpj] Add new tests 94314ac [project @ 2005-10-31 10:15:09 by simonpj] Another existential escape test 0cc8f45 [project @ 2005-10-31 10:16:50 by simonpj] Accept output for new test b0a2780 [project @ 2005-10-31 10:25:45 by simonpj] Accept changes in columnn numbers, now that tabs count as 1, not 8. (There are some minor changes in where line breaks occur too, for reasons I don't understand.) 1123b9a [project @ 2005-10-31 10:54:46 by simonmar] revert rev. 1.2, looks like an accident f8533fa [project @ 2005-10-31 11:43:17 by simonpj] Add a perf test that shows up the 6.4.1 bug in preInlineUnconditionally f5426f5 [project @ 2005-10-31 11:55:53 by simonpj] Tab-related column number changes b67267e [project @ 2005-10-31 11:56:15 by simonpj] import M() suggestion added to warnings fe651de [project @ 2005-10-31 11:58:40 by simonpj] Accept shorter path name in error message e9b0182 [project @ 2005-11-02 09:59:22 by simonpj] Tab spacing change 6e57ae3 [project @ 2005-11-02 09:59:44 by simonpj] Put option flag into source code add8951 [project @ 2005-11-02 10:00:20 by simonpj] Fix error message 5027d94 [project @ 2005-11-02 12:54:00 by simonmar] fix test 1e33535 [project @ 2005-11-07 15:09:48 by simonmar] Add Jan-Willem Maessen's hash table test bc1734c [project @ 2005-11-08 09:51:50 by simonmar] accept output (column changes) 98a864b [project @ 2005-11-10 09:58:16 by simonmar] don't expect failure on x86_64-unknown-linux for optasm/profasm 9f9c8ce [project @ 2005-11-10 10:03:27 by simonmar] optasm succeeds on x86_64-unknown-linux deb5ab9 [project @ 2005-11-10 11:16:58 by simonmar] make this test take a lot longer if the bug occurs, so it'll hit the timeout and fail. 30dd655 [project @ 2005-11-10 11:17:36 by simonmar] accept output e763262 [project @ 2005-11-10 12:32:24 by simonmar] fix for this test: there was a missing hFlush d614f76 [project @ 2005-11-11 10:01:12 by simonmar] accept output d8dbb62 [project @ 2005-11-11 10:04:20 by simonmar] queryfdoption001: omit GHCi way 6bd85ed [project @ 2005-11-11 12:02:40 by simonmar] Make it work on Windows again. 982d866 [project @ 2005-11-11 15:40:26 by simonmar] add some stub generation tests db4868c [project @ 2005-11-11 18:01:50 by ross] add a setting for way_rts_flags 852ad49 [project @ 2005-11-12 21:38:34 by simonpj] Add exception test cf03788 [project @ 2005-11-16 12:54:40 by simonpj] Add Reymont synonym performance test 545656e [project @ 2005-11-23 11:47:16 by simonmar] Fix up to compile after recent changes to System.Process.Internals e5aaf71 [project @ 2005-11-24 09:45:31 by simonpj] Test desugaring for unboxed tuples 6a59aeb [project @ 2005-11-24 09:58:35 by simonpj] context stack is a static flag 53f3a4d [project @ 2005-11-28 10:32:33 by simonmar] memo001: remove -G1, it doesn't work with -smp ba968ba [project @ 2005-11-28 10:34:31 by simonmar] fix this test (UnsafeOverlappingInstances extension has disappeared) 87920fe [project @ 2005-11-30 12:25:20 by simonmar] Add test for Control.Concurrent.STM.registerDelay 6b0d58f [project @ 2005-11-30 14:17:35 by simonpj] Add mkName test 8e457e2 [project @ 2005-12-01 08:54:57 by simonpj] Another GADT test e75b72b [project @ 2005-12-02 10:51:15 by simonmar] accept output 38615de [project @ 2005-12-02 10:54:05 by simonmar] conc053 only works in threaded & smp ways at the moment. 17dad04 [project @ 2005-12-02 10:56:34 by simonmar] add this test that I had lying around 23a41b7 [project @ 2005-12-05 09:08:51 by simonpj] Fix test fd9fbf6 [project @ 2005-12-05 09:13:07 by simonpj] Update expected output 0971102 [project @ 2005-12-05 10:08:53 by simonpj] Add an expected-failure test 3c472c1 [project @ 2005-12-05 11:43:51 by simonmar] add newTVarIO test b218900 [project @ 2005-12-09 19:16:58 by simonpj] A minor, probably redundant, test 83623c6 [project @ 2005-12-09 19:17:57 by simonpj] add output file 885955b [project @ 2005-12-13 16:04:09 by simonmar] fix comments f387ab3 [project @ 2005-12-13 16:04:25 by simonmar] Add nested atomically test baacfa2 [project @ 2005-12-16 10:46:05 by simonmar] Now that we aren't building hslibs, keep the memo tests alive by bringing Memo.hs into the testsuite. These tests are a useful shakedown for StableNames. b87dad5 [project @ 2005-12-16 10:50:31 by simonmar] -package lang isn't required. 44bdbb1 [project @ 2005-12-16 10:53:24 by simonmar] update to not use hslibs ae0204b [project @ 2005-12-16 10:54:50 by simonmar] TimeExts has gone away 434514a [project @ 2005-12-16 14:56:50 by simonpj] Add repeated-type-variable tests for instance constexts 06a9dac [project @ 2005-12-16 16:03:02 by simonpj] Add deriving for infix constructors cb9fe76 [project @ 2005-12-19 09:47:49 by simonpj] Add test for trailing parens in GADT signatures bb1d70d [project @ 2005-12-26 19:54:32 by jpbernardy] Infrastructure for testing Data structures. + some tests 80e240f [project @ 2006-01-01 21:46:31 by jpbernardy] More tests for: * Sets * Non-structural equality * Left-Bias * Performance fa089da [project @ 2006-01-02 19:36:50 by jpbernardy] minor cleanups 533a379 [project @ 2006-01-04 11:50:44 by simonpj] Add test for data con returning wrong type 7111d55 [project @ 2006-01-05 09:16:28 by simonmar] Add test for "scavenge_stack" bug fixed in rev 1.16 of Exception.cmm 839f96c [project @ 2006-01-05 10:06:30 by simonpj] Add test for newtype existential 065d2c3 [project @ 2006-01-05 13:08:14 by simonpj] Add a nasty multiple-instantiation test 0b3c43c [project @ 2006-01-06 16:03:25 by simonpj] Cosmetic 7d53bf6 [project @ 2006-01-06 16:08:57 by simonpj] Add GADT tests 048c91d [project @ 2006-01-06 16:12:42 by simonpj] Add tests for boxy types 705fda4 [project @ 2006-01-06 16:14:45 by simonpj] Better type signature for higher-rank 9a5b6ef [project @ 2006-01-06 16:15:19 by simonpj] Add another synonym-performance test (but comment it out of the test file; too slow!) f67794c [project @ 2006-01-06 16:34:56 by simonmar] Unicode source tests fbdb45e [project @ 2006-01-09 10:27:33 by simonmar] Add -dcmm-lint when compiling 2cf530f [project @ 2006-01-09 10:29:44 by simonmar] add a cmm lint failure 0294a61 [project @ 2006-01-09 12:49:28 by simonmar] Add test case that causes a core-lint failure (cut down from Encoding.hs in HEAD). 5f7f7fa [project @ 2006-01-10 13:41:48 by simonmar] accept output (improved lexer error messages) 534a54f [project @ 2006-01-10 14:11:24 by simonmar] recode this file in UTF-8 from Latin-1 d3b6d6b [project @ 2006-01-10 14:11:53 by simonmar] comment update 1a6bcc1 [project @ 2006-01-10 14:39:50 by simonmar] accept output 2e8bfab [project @ 2006-01-12 16:03:21 by simonmar] add test from ticket #441 fa931a0 [project @ 2006-01-12 16:10:41 by simonmar] Add test from ticket #488 adf1df0 [project @ 2006-01-18 15:25:45 by simonpj] Add test for data con in class sig ff6b495 [project @ 2006-01-18 16:31:10 by simonmar] Add a fast version of the testsuite a8a953e [project @ 2006-01-19 09:47:11 by simonmar] Test tryPutMVar on empty MVars too acd95bc Add test for bogus unusued-import message 65d3fd5 Wibble b68d61f Module import test d529fb1 Add fundep test 6d106a4 Add a higher-kinded test a9e8bed fix recently-introduced breakage in 'make accept' 418362a add test for bug #661 075c92a remove old docs a05e2f7 Add CPR test b65564b Eta expansion and scoped type variables in generic code a4c271f Update to track new scoped-tyvar story d8532a2 Update to track improvements in typechecker 9104c51 Remove package lang reqt 6b6381f New GADT desugaring test 182805d Fix GADT tests 79aaf88 Eta expand gzip test to match new higher-rank-type story 3cd4a7b allow setting stage=N variable to select compiler in the testsuite eb44c0c "s" is in GhcRTSWays now 0bc7a5e Add test from Markus Lauer ba72db2 Add test for bug 685 1237b77 remove smp way, replace threaded with threaded1/threaded2 54ba798 accept output 6fa18af add expected output for x86_64 a384689 Add a fundep loop test bd389a1 Update output (TH no longer depends on haskell98 package) 0c14417 Update output b5c9f36 Accept (slightly mysterious) output formatting changes 7b889eb Add expected output for rn049 a4181b1 Accept output efd244e Remove dependence on haskell98 package in expected output 2063472 Add -fallow-undecidable-instances to reflect more accurate termination test in fundeps 2722f20 Update output and add -fallow-undecidable-instances where necesssary 2f75aca Update output e4992dc Test for deprecated constructors 1736647 Require -fallow-undecidable-instances 75eef48 add test for #713 477e0f9 fix clean target 5f2e48f process003 doesn't work with GHCi, omit it 6132869 patch up this test again 72eeae7 Tidy up the testsuite output by combinding failures for multiple ways 8a48ba0 remove some dead code 928183f fix for Win32 a3a4a3e ignore ".exe" in program output, for Windows 97fda33 fix a regex that was too slow 0998d4f sort the keys when outputting the summary 2dbdcc3 fix for GHCi tests that raise exceptions or exit We need to call GHC.TopHandler.runIOFastExit instead of GHC.TopHandler.runIO. Recent fixes to the shutdown code have meant that when a thread invokes shutdownHaskellAndExit(), other main threads get a chance to exit (as they should), but this means that we might have a race between the child thread trying to exit the program and the main thread doing the same. In the case of GHCi, if we're running an interpreted computation that needs to exit (as some tests do), then we really want this child thread to exit the program rather than the main thread. b0aee19 fcntl-FreeBSD Expect failure of queryfdoption01 on FreeBSD (6/7): /dev/null can't be switched to non-blocking i/o, so fcntl() will throw an error. Unfortunately this went to the old CVS first. 18009e6 fix to previous 4e705b5 accept output (better error locations) 4f4f12e attempt to work around restrictions with fork() & pthreads In the child process, call exec() directly instead of using System.Cmd.system, which involves another fork()/exec() and a non-blocking wait. The problem is that in a forked child of a threaded process, it isn't safe to do much except exec() according to POSIX. In fact calling pthread_create() in the child causes the pthread library to fail with an error on FreeBSD. 7650de5 Add scoped tyvar test 1a6fcb4 fix the expect_fail_if_windows macro 3a36e44 crummy fix for Windows d1e35bb windows output fa018dc unnecessary mingw-specific output d1c98e6 fix tests for Windows 821aa1f omit ffi007 and ffi008 for GHCi (see comment for details) 162d106 add test for ForeignPtrEnv a91d97b avoid running out of stack for non-optimised ways 051af0c omit asm ways for this test on x86 371a1bb Track the GHC source tree reorganisation 0cc16ab the "threaded" way was renamed to "threaded1"/"threaded2" d58cfad add a test for a blackhole GC bug 6c38e7b update for new source tree layout e2c24b6 Add test for newtype deriving (thanks to Ross) d8d238d add a test for a division bug in the NCG c732ea2 Memo-function test 7b73a75 Add a test for SpecConstr + GADTs e5c968a forgot to add this file 1966bbe Test for error recovery in TH 59dc0c9 Test for foralls to the right of => acc4ba4 test Bool arguments too c73d8f0 avoid running out of stack 7c2ceae Import Data.ByteString regression tests dc6d798 More QC properties, for fold{lr}1. Update expected output 2a41e3b And add QC test for group/groupBy 550a522 Add test for newtypes in FFI 78806c9 More QC properties. Update output 76b39f0 More QC tests. Update output 8622fdf accept output d0fbffa update expected output. tougher replicate test. dc91add Update expected output 486d104 first attempt at being boring ff1ba03 disable ffi016 for GHCi daaf35d accept output NOTE: I made a slight tweak to Alex to improve the lexical error messages, to get correct output for these tests you need an updated Alex from darcs. 296011e test for NCG bug 16aa8f7 Fix this test to work properly with -threaded 644c1ae fix this test to work propertly with -threaded 1694556 re-enable various tests with -threaded that now work 87e3228 accept output d5d62e5 add a prof/TH test fb609cf omit conc036 for GHCi 46b4e5c robustify the test a little 1ce6580 omit conc039 for threaded2 53565e8 add test from #799 f78c349 Test for pattern type sigs in do-notation 994a9db Add test for infix function definitions 69c82de Accept output change bb21473 Add model-based tests for ByteString.Lazy<=>ByteString<=>Data.list b6995a5 Add regress tests for fusion rules. Makes sure they fire, and rewrite to correct result 216da4d encorporate rest of property checks for Data.ByteString 0b9beed Test Trac bug #795 a4b3017 remove unused imports dec07f2 document stage=2, and clean up a little. 5f6a1e2 add test for Ix bug 692ece8 accept output 425c4fb accept output (improved error messages due to PrintUnqual changes) c0d4e93 test fixes and new tests for package support f9d1d67 add new cabal test 022a738 Add test for unboxed fields in GADT record selectors 73b32a6 Add a test for infix type constructors 146d22f Add test for overlapping pattern warnings for lazy patterns 9b44c3d Add tc206; edit a couple of others 0628d60 Test error message (Trac 844) b34a153 Lazy patterns can't be unboxed (Trac 845) 5663a7b Add tests for incomplete-pattern warnings 69ee45d Fix some Array.bounds calls to Array.getBounds 8ec5abd accept output 594a0ac fix FFI syntax 330f767 expect fail for threaded2 way, fork isn't supported in SMP mode (yet) c1e36d8 update FFI syntax 3b09480 accept output 42379ab base-1.0 ==> base-2.0 6c38c1a base-1.0 ==> base-2.0 9aa0432 accept output d22152d This test now compiles without errors 2836001 Comments in Makefile d72b2c6 Remove typecheck.testeq1.run.stdout 12054ae Update test outpuot 81f5128 More updated output 4213187 More upated output c0168a6 Add flag to test 7595ff9 Update expected output 35dc8da Two more tests 706c439 Add test for tagToEnum# 91d947c Update output d324749 Update output (remove "In the call...") 5174465 accept output (improvements) 1749086 accept output aee0117 add test for Data/Fixed module, in libraries folder 0715818 accept output 429f009 Fix driver not to normalise output when using platform specific output files ebb72a6 Fix some THREADED-caused fails 6fc8fc2 Driver: Add THREADS-support 6c8c7eb update tests ffd32da Fix typo ee4ba37 fix old regex test, add two new ones 7ea0d8c Don't use the threaded2 way when we don't support SMP 1b047b3 cg025 needs regex-compat 55b23d5 fix parse error 6d24f16 fix FFI syntax 39e6ddb update FFI syntax 8fe6d7f ds052 not an expected failure any more e52d8a5 omit conc023 the non-threaded ways on Windows (see comment) c83220a omit conc023 the non-threaded ways on Windows (see comment) 5bd76f8 Allow the timeout to be given as a Makefile argument a67606e Clean .hp files 33b3f65 Allow threading to be completely disabled with USETHREADS=0 I had to pull the global classes and instances out into their own module as there was a catch-22: testlib needed to know if threading was enabled, but we don't know that until we have gone through the argument, but going through the arguments required changing things like config in testlib. c0d7bea Add list002 to tests - seems to have got lost during the testsuite revamp fb9a220 Add a test for length not causing a stack overflow (from #876) 8876437 USETHREADS=0 by default unless you set THREADS explicitly This means the testsuite works by default even if you have Python 2.2, but will fail with Python 2.2 if you set THREADS. 56ec4f5 skip conc053 on Windows (registerDelay not supported) 09819a8 add skip_if_platform a4b7694 adapt these to work on Windows 1da60b5 fix up tests for Windows threadDelay is not interruptible on Windows with the threaded RTS. Work around it in conc014, conc015 and conc017, and add a new test for this specific failure, and mark it as an expected failure for the relevant cases. 77e4f3d accept 7e7b6ea add conc059 2f092d4 fix for Windows 650f574 leave EXTRA_HC_OPTS for use on the command line 3ee818a win-specific output not needed 5134619 omit conc036(threaded2) 72e3be2 improve conc039 a little bit, and omit it for threaded1 ae241b6 Add test for dependency analysis in type checking 60f1369 accept output 743e220 Add renamer test (qualified name in binding position) 2c1ce66 Accept output 9db0189 Update output 4ef6b43 Tickle a bug in impredicative polymorphism b0f8e82 Fix this test on a fast machine The artificial loop wasn't running for long enough for a context switch to happen, so the finalizer wasn't getting to run early enough. 6b2a0a0 Accept output for ! kind ac2d921 Revise tc103, in the light of the story for result type signatures 47d5bce More changes for scoped type variables 65b3c0b Use Data.Map instead of Data.FiniteMap 9d80a57 Use a python timeout for the testsuite when we don't have a threaded RTS c1935a4 Accept output cbd0b9c Add test for Trac 877 9b7a5c9 Improved error locations d039b7e Alter source code of test, now that result type signatures do not bind type variables 3430737 Fix another use of result type signatures (this one was easy) 93302f6 update bytestring tests 4859df6 Update the testsuite cleaning 719be39 More cleaning tidyups ff3a349 Test expFloat# linking 0dd5ce3 Add cleaning for .exe files 18b711e Catch exceptions while cleaning rather than checking for existence first As well as being generally a good idea, os.access('foo') seems to return true if foo.exe exists on Windows. 72fb6f5 Add stdout for expfloat test 580fa31 Accept output on sparc-sun-solaris2 fcb337f Fix up tests for unboxed tuples d378a01 Added test for ticket #902, deriving for GADTs which declare H98 types fails. 3ff7c8c Add GADT test from Doaitse 03b6b86 Add another type checker test 49d4d2d Tests for impredicative polymorphism b8e14b3 Add test for Trac #900 c097002 Add a test for impredicative polymorphism 11c96d0 add 'make boot' to the instructions 7928d01 add boot to the all target e00058d Make it so that 'make boot' is optional in the testsuite mk/wordsize.mk and timeout/timeout get built automatically if necessary. ec10210 Add test for Hugs #37 31ffbaf Add new sub-directory indexed-types to the GHC testsuite 52c3625 Accept typechecker output 10af7cf Add another GADT test d53022a Added drv020, a test for newtype deriving of multi-parameter type classes which currently makes HEAD panic. It is called drv020 in order not to clash with some yet to be pushed test cases for stand-alone deriving. f858980 Test for problem with compiling the base package with --make a7a6f78 A new GADT test, which killed FC temporarily 52eb09c Add a test for trac #867 c186ff3 add test for #830 c26f435 add test for #906 cfc15fc accept output e1bdf63 Allow testsuite to run under MSYS/MinGW using native Python (not Cygwin Python). This patch is based on a similar one "Enable timeout in Windows and don't require cygwin python" by Esa Ilari Vuokko. It seems like timeout is always built on Windows so I rearranged the logic there to make the code clearer, Esa's patch required the user to uncomment the MinGW-specific logic in order for it to work; this patch does not have the MinGW-specific logic commented out. af16751 Need -fglasgow-exts for gadt18 b2d6de1 Add test for Trac #919 b504085 Two new tricky deriving tests 266dc32 Test separate compilation with indexed types 52af092 Test for scoped type variables 47ca77e Add a test for 'module M' in export lists 160c64f STM invariants 723dad9 Fix test base01 86a543f Test for trac #921 ee40de9 Test for #149 (missed CSE opportunity) 38f6769 Update bug reference for test tc175 7f4069a Allow literate tests 04f38ae Add test for correct unlitting. Tests trac #210. 0b4b8c0 Add tests for trac#249 and #931 e80ab12 Test for Trac #940 88bb359 Update module tests slightly 1433233 Add a test for trac #314 (#line pragmas not respected inside nested comments) ab8eb1f Update comments in test tcfail132 50e4512 Add test ds060 for trac #322 (bogus overlapping patterns warnings) 81ea2c0 Tests for trac #366 (incomplete pattern warnings and GADTs) 5a54c38 Add test mod174 for trac #414 (GHC does not enforce that Main exports main) 543a9a2 Add test mod175 for trac 437 (Recompilation check should include flags) 27d0701 Add test TH_recompile for trac #481 (Recompilation check fails for TH) 62a700a Add test ghci016 for trac #552 (ghci doesn't handle defaults correctly). 10db114 Add test countReaders001 for trac #629 (file locking doesn't count readers) 20c2f57 Add test tcfail168 for trac #719 (error messages are too long sometimes) d64c1b9 Add test getEnvironment01 for trac #781 (check getEnvironment doesn't break) 5a6c7d6 Add test gadt20 for trac #810 (GHC fails to find GADT instances) 9218ce8 Add test tc216 for trac #816 (fundep undecidable-instances typechecking loop) 5835222 Add test ds061 for trac #851 (incomplete pattern warnings wrong with n+k pats) f15029e Partitioned indexed-types tests into fail/compile/run dirs f6d5304 indexed types: multi-module overlap check 6b96aec indexed types: import/export test 513a984 indexed types: GMap tests e5b2dc6 indexed types: small tests covering important cases 9f108a3 Adding a new way for hpc 52478ba removing .tix files before running tests 046e955 Added tests for Data.List.intercalate and split 4c73ba7 Add test for Trac 958 484d9ba Add a simple coverage-condition test acaaff0 Add test for Trac #963 4668e2e Add test for unused imports 8678ac5 Added tests for Data.List.intercalate and split 317a01e Add test for unused imports 2e72569 test rotates larger than the wordsize d40e957 Add tests for Data.List.intercalate (ticket #971) ddc35bc Remove "Arbitrary (Maybe a)" instances to track changes in QuickCheck 31836e4 Add test for trac #953: panic in ghci for lseek ffi import statement 3e9fa92 add tests for heap profiles and hp2ps 335e551 getDirContents001 hp2ps testing fix 0d5427f Add tests for bitshift PrelRules e7d276a Add 64-bit stdout for simplrun007 44266ca Two new typechecker tests that exploit implication constraints 30fc42e Add the Faxen test for completeness of type inference 5f39e7a Accept output 9939d54 New GADT tests, looking at interaction with type classes e9741fd Add two GADT tests for Trac #301, fixed by implication constraints 31fbae7 Tests for Trac #289 6bde396 Add tcfail171 bd72fec Test that deriving Data does not get confused with z-encoding 8083946 Skip out lots of the middle numbers in cg058 as the test was taking too long The test still shows up the problem in hugs. b0bed9f Remove control-Ms 6ab3b9c Tests for implicit parameters, and for a specialisation bug 07d48ce Add test ThreadDelay001: check threadDelay sleeps as long as it is asked to 0c61c45 Add test for typechecking lazy pattern matching 90cb964 Accept output for tc040 bf315aa indexed types: kind sigs can be omitted from ATs a06560a indexed types: adapted two tests to omitted sigs in ATs b838de5 add test for #1013 d998bdd indexed types: type instance indexes my all be type variables f70f942 Check running ghci with -hide-package haskell98 works. Tests trac #1001. 3a87e34 Add bang-pattern test fbdb152 Add test for Trac #1033 bc6baf6 Add kind-error test inspired by a message from David Roundy 5f49ebc Add tc222, tests for Trac 981 8992c43 You can now have an MVar with a polymorphic contents 34de065 Accept output 6cff7bc add support for tests consisting of a C source file 63deda1 add test for the block allocator d723479 testblockalloc: run the threaded way with -I0, so it doesn't try to GC 1bef423 Start ok 'broken' infrastructure 48847d4 Mark TH_recompile as broken c66663d Accept output bd7a025 add 'broken' variant of expect_broken_if_platform 11bc660 arith011 is broken on amd64 Linux; trac #1052 33a34e9 Accept output 3ae9c6b Set MAKEFLAGS= in recursive make call on make fast base0 was failing because of the extra noise make was generating. 35aa771 countReaders001 is broken - trac #629 1db36ed accept output fef7a82 ds060 and ds061 are broken: trac #322, #851 7287ee1 Accept output 8fcc6d6 Accept output; we now get info for both type and constructor 18ed82f ghci016 is broken: trac #552 837aafa tc175 / trac #179 fixed cafa080 Fix braino 49ca979 mod174/mod175 are broken: trac bugs #414 and #437 1a331fb Accept output eda8afd More infrastructure for 'broken' b656db3 prof001 and prof002 are broken (trac #249) 63ca28c read032 is broken: trac #314 c4068e4 simplrun006 is broken: trac #149 70c0f9e Accept output 912694f tc215 is broken: trac #366 d57061e Simple2 randomly passes or fails; mark broken so we know which bug it is 207d82b Mark tests in trac #1054 as broken 77e5883 Add a composes function to the driver 54d7da3 cg057 broken: trac #948. Also fix whitespace. 6480bfb indexed types: adding missing files ebd5a96 GHCi.debugger tests 1a91b0d Some more tests for the ghci.debugger 6d257bb Advances in the test suite 9fd67c2 accept output 4dee8ee Accepted output 00daf77 Test type reconstruction in presence of newtypes 143f7ee Accept output b358d0f More tests for the closure viewer e954c4d Added more tests with newtypes 2cb31a6 Improved a test 2e73efa Accept output f9e52b8 Fix mdo test c834fac Go back to using $(PYTHON) rather than hardcoding python2.5 498ef5f Fix a ghci.debugger test 9ff45cc Update a readme file dcdf594 indexed types: deriving test 74cb60c Remove skip of ffi003 on alpha-dec-osf3 (no reason given) f0a9701 Stop skipping tests that work 4a67f94 fail -> broken 4847d9f indexed type: deriving indexed newtypes b3e2173 fail -> broken cc1f933 fail -> broken 9c0374b whitespace change only 6e093a1 fail -> broken f82c9ea fail -> broken 3b2bb06 Add test for trac #455 0523c04 Fix conc063 0cc4003 Add a test for returning Int64s through the FFI a7d7846 Add test TH_dataD1 for trac #1065 0254359 Add test for trac #1051 92de8d0 Add test for deriving Typeable ab87e6a Add stand-alone deriving test 9774270 Update expected output 7dbce82 Fix sundry test failures (some of Trac #1054) 3ffe92d More test-suite updates dc689cd No pattern matching on GADTs except if type is rigid 1de8a03 Add more GADT tests, this time concerning contexts in data constructors 2861756 Fixed TH problem 08dc2bd Add test for floating strict bindings 90e3aa0 Add a fundep test, due to Yitzchak Gale a81e806 indexed types: extend Deriving to cover standalone derive 8d22bc7 indexed types: fixed expected fails for should_compile abeb3ff indexed types, should_fail: added missing .stderrs and adapted to new error messages 19a40cd add test for #1067 8a74109 ignore_output should be a test option d0d2945 tests for #1047 11b3d0b oops, fix bogosity in "ignore_output should be a test option" e74523b Add GADT terminating-lambda test (due to Jim Apple) 0c1f170 Add another GADT test d814e8f Add a test for associated types and interface files 1abfb88 Test for tabs warning dcdd1eb Add test for Trac #1092 90f39e8 Add a test for trac #1042 df0bd82 Remove unused import f81e055 fixes to the ignore-output patch 9e89402 Accept output a0ae7e2 Remove an obsolete test cae94f2 Add a test case for overloaded strings. 13fb853 Add the overloaded string test case to the list. d70bb6d now that -O implies -fasm, not -fvia-C, we must explicitly test -fvia-C acf62bd Check flags in OPTIONS_GHC pragma only apply to the module they're in dbf3b55 Add a test for trac #1012: Problems with TH and recursive module imports 8859bf9 Add a hugs import bug to the testsuite From http://www.haskell.org/pipermail/hugs-bugs/2007-January/001686.html 72aefc2 add a test for #896 22c7c5f accept output bb6e9cd add test for bug #036 f35369c Add test for infix type constructor bf516c4 Test for debugging code with unlifted values around 29406aa Ignore output when told to in the ghci way 48fc4de Add a test from #418 cd7d465 Accept output be50e83 Don't put double-quotes around the command when passing it to timeout Fixes the testsuite on Cygwin/MSYS using Cygwin Python. I hope it hasn't broken it using the native Python... if it has, we'll need to revisit. I can't see a good reason for the quotes, anyway. 568e6eb Add tests for the Haddock extension 4d12bf8 Option to skip ways when running the testsuite d5c903e Expect tests to fail if we don't have libraries that they use f0022b7 Add test for Trac #1128 42c6a53 Add tests for impredicativity 5611dc5 Accept output b99a822 update way names (fix breakage in previous patch to this file) 1044bd1 add test for bug #1010 8554432 only do win32002 on Windows ec890cb accept output d7515c6 Accept output 7109d1e Update test dynbk001 due to new functionality in :break add 5806d7e Add test for type refinement with :print in GHCi 6c3032f rename GHC_PKG -> LOCAL_GHC_PKG to avoid clash with mk/test.mk d9b9ede make this test slightly more robust (fix occasional failure with threaded2) f076ac8 we should really exit(0) at the end of main() 499f2f2 add Windows output 7f12c18 added new tests to esc 0e224c0 modified all.T dae3248 minor change 0e20989 Add test for Trac #1153 60ce42c Test for Trac #1128 06e782c use HsInt64 instead of int64_t, fixes this test on Windows (and is more correct) 05f4af5 conc058 is not an expected failure any more on Windows 4feb38f make this test deterministic on a multiprocessor 2cec548 temp: omit conc063 on Windows to avoid hanging the build 5552932 Look for .T files in packages too This means we can put package-specific tests in the repository for the package, rather than putting them in the testsuite. There should be a .T file to go with the tests, in the same way as for other tests in the testsuite (but this could be in addition to a standalone test driver that works with Cabal's 'setup test'). fd0f8f8 remove network tests, they're moving to the network package 9570d86 Add a test for :quit and breakpoints in code with exception handlers f06d270 Tests for Trac #1154 bbdacb8 Test for derivign 168c6b2 Add testcase from trac #1171 as cg059 24cb5d2 Windows: the .ps file is .exe.ps b814222 prof001 & prof002 are not broken now cdd2c62 Add tests for -keep-s-file with and without --make One of these fails with 6.6 cd565b2 Add pretty-print test bb14a4e TH_dataD1 is currently broken f0388fa Increase the stack size for conc030 as the profiling way was failing c067f00 drvfail006 and drvfail008 need mtl 44548c3 Make ghcpkg01 not depend on haskell-src 967c3aa Make ghcpkg03 not depend on haskell-src 4d19e3a mod133 needs mtl e5bb47a Make mod144/mod146 work in CLEANUP mode f872dca Decouple mod158 from mod157 so it works in CLEANUP mode 328004a Tweaks 3458292 More tweaks a7cb6a1 Decouple more tests from each other so CLEANUP mode works a7c308e pkg02_b requires network ac87735 reify requires mtl afb0034 Print something to stderr when a timeout happens Also fixes whitespace. 7ace755 tc183 depends on mtl fa9ee21 tcfail126 requires mtl 12c0d7b tree requires mtl 8f14bd6 Posix tests moved to the unix package 25bd5de MERGED: Add req_profiling to the driver 0f8fd3a TH_spliceE5_prof needs profiling bb318da cabal01 is broken on Windows; trac #1196 941da28 cabal02 is broken on Windows; trac #1196 c5d3105 ghci014 needs QuickCheck 75bfde1 newtype, prof001, prof002 require profiling 9e7c014 Don't hide what the Makefile is doing in prog006 f193f3a Test ghci018 for ghci running splices multiple times (trac #1201) d07dcb8 Add a test (TH_reifyDecl2) for trac #1199 889407d add test for #986 d3fb985 on Windows, use the .bat versions of the inplace scripts This will help the Cabal tests to work (although there are still more issues to fix). b28f70b added contract synonym test case 671cdba added contract synonym test case again 4b426f5 Don't hide the Makefile commands The testsuite uses -s to hide them, and this way we can see what's happening when running make by hand. fc19d4a Add a test gadt23 from Christophe Poucet f854a51 Fix gadt23 test f47c4b5 Add a renamer test (nhc98 used to fail it) 3c0fb23 Another renamer test that nhc98 used to fail on 8009462 Add another renamer test nhc98 used to fail eba954f Add test for Trac #1221 4c401cf Test for Trac #1031 9e12031 TH_dataD1/1193 is no longer broken, but is meant to fail d30f343 add test for #1219 afce490 added more examples 377c1bc Use unified, rather than context, diffs 4203535 Add rnfail047, test for trac #924 6d82c8e There is no opt way any more 02a381c Test for RULES type-matching 1b16440 Update test output 98d4156 Make our own pwd, so we don't get confused by paths on cygwin f80fdc5 Time how long is spent on each .T file 9951189 On failure, diff the normalised test outputs b98cbe7 Check stderr output before stdout output 7b5eb2c Accept output 6f76bf1 Add some -v0s to cabal01; cabal still isn't being quiet enough, though 6b25046 Consistent output for tests 1164ff2 Update output with new, friendlier error 8f73500 Update rnfail040 output b8d5496 Remove generated file ffa11a3 tc217/220/223 need mtl a28a4dd IsString and fromString are in Data.String now b689895 Accept test output 737968a ghci015 should ignore output (see comment) 0973c32 MERGE: Another attempt to make mod{144,146,158,160,165} generate consistent output On some platforms $MAKE == "gmake", so the error messages still didn't match. I made it so that these tests now don't fail in make, but the exit code from GHC is emitted to stderr so we can test it. 6ef11e5 Add a test that checks pretty-printed TH output looks right c45c86f Calibrate the testsuite timeout if a value of -1 is given e47895a Check float values are within a small tolerance inside barton-mangler Saves the test from failing due to small FP differences. 24347f3 barton-mangler-bug shouldn't have FP difference problems any more 6d5118e Remove redundant Main.hs (there's a Main.lhs too) 1d8fe7b Avoid FP differences with cholewo-eval c861ac0 Use $(PYTHON) to run calibrate, rather than relying on it finding python itself ca1ec90 Calibrate == calibrate on Windows... f8e0d7d Increase the FP fudge factor (0.000001 -> 0.00001) 6b7c794 More ppr tests The name +_0 is a bit dubious. 18713b3 added TestList TestImport f64ae3a Add tests for OPTIONS pragmas applying to the wrong files 01dc78d Print stdout/stderr when we get a bad result 5d0f864 Give more output while running conc068 9642062 Give an ASCII representation of the PPM output We will need to do some sort of similarity test to cope with FP differences, but this will at least let us see what differences we need to accommodate. 0a56183 Except some output changes ce1b1c0 added a few more examples 5f89711 add one more example 67a1528 break1 and break4 are broken due to trac #1275 a63312d Allow tests to be skipped based on whether or not the compiler has a tag When working on a new foo extension, you can now put your tests in the testsuite, set ProjectTags=-foo in mk/build.mk and skip_unless_tag('foo') in the tests. c597819 Set some esc tests to skip_unless_tag('esc') 7e90d81 conc063 should exit(0) now 0c80923 MERGE: Make conc056 independent of the network package Should make the test more robust, we were seeing failures in the nightly builds. c839fe8 cabal01 needs profiling 4dca714 Close 2 files that we open so we know that the writes have actually happened 3f97578 Generate conc068 input in a more portable manner The earlier method with 'yes .. | head ..' does not work on PPC Mac OS X. 8ec7b43 Use $(PYTHON) rather than assuming python will find it 6f14d73 Differentiate between use of fail and failure of code (i.e., an exception is thrown) 83804a0 Add a test for use of fail for trac #1265 2badfcf Update output 6810dd6 Add test suggested by Doaitse Swierestra acc7c04 Accept output f3ab9c6 Adapt commands to the new ghci debugger command-set 2e38ba0 add dynbrk tests, and a few more breakpoint tests ba424a2 move some dynbrk tests into the scripts/ directory 27abdf4 New test covering bug discovered by Nicolas Frisby in TcUnify.boxySplitTyConApp 60711be this test requires an extra :step now 1629422 add test for a new bug 8704571 add some :show bindings 12d4d65 Accept output 30b86ad Disable the monomorphism restriction warnings in all tests 6f51a11 Added a :break test bd170ed Fix the test I just added 4ab66c8 add another test, and accept some output cb0242d modify test to reproduce a new bug 8419653 add test for a new assertion failure 81fb385 Adapt some breakpoint tests to the new command syntax c24af719 Accept output db59dd6 Add test for records and type families 8b03d8f Add test for Trac #1255 f063311 add correct output now this test is fixed 4cbca0d accept output 84e1d6d add a test to demonstrate a new bug 483ff63 add a :list test 7a68d35 add a history test be97924 update: we give a diagnostic for an incorrect number in :delete now 021fd58 Accept output 2a01943 Remove redundant arch-specific test files 8967183 Use letters to allow output to be matched up with the code more easily e14e1d5 Revert mistaken change to all.T da51986 Add test for Trac #1323 970e190 Test for Trac #1251 16f1681 cg025 requires regex-compat, which is now an extralib 5527af9 Accept output for tcfail005 2edf6ac Don't hardcode the version of base in the tests d22d754 skip cabal02 (cabal-setup isn't in the GHC tree any more) 9aa717e Fix comment a74dff0 regex tests need regex-posix, which is no longer a corelib cd36760 maessen_hashtab needs QuickCheck c213a02 Accept output acd6afc Accept output d8127ca Fix spec001 test e2dd02c Don't dump stderr/stdout before we've split the ghci output Fixes some framework failures. 4772e3d stm is no longer a corelib, so needs to be reqlib'ed now 3f38fee Track ... pretty-printer changes 9b25236 Accept output for tcfail004 1395240 Accept output de73ac3 Partially accept output 168d668 Accept output 67fd784 Add output cdc54cd Accept output 7cb470d Accept output 11c46be Accept output 11ab159 Church2 is broken; trac #1330 49d9704 Accept output (mdofail004) ad63612 Various indexed types tests fail due to trac #1331 77e9b9e tc224 (overloaded strings) is broken; trac #1332 6fdf22c dsrun014 is broken (trac #1257, Bytecode generator can't handle unboxed tuples) fa27030 sed-o in the testsuite driver 7fbad1c Arrow tests are failing core lint; trac #1333 82a9442 Add a test that 'ghc -e "return ()"' returns successfully 30aa5b6 platform-specific output no longer required 52aa5af add basic concurrency/IO test: tests that stdin is non-blocking 3de2c0d add test for #1091 41c51af add test for #1253 d9edc9b add test for #1227 f4211a0 FIX #1159: This test needs to run in a subthread (see comments) 826d6c9 accept output 56eef3f Add test for full laziness f227b8e add test for unicode constructor names in :print cf265a3 add a couple more tests 83d5ba1 Add tests for -fwarn-implicit-prelude (and -fwarn-unused-imports along with it) (trac #1317) ac9c242 Various indexed types tests fail due to trac #1331 15a00f7 Adapt indexed type tests to removal of newtype families 046118a add test for #1277 ed94ae7 -findexed-types -> -ftype-families fd86b09 accept output and add a few more tests b83eab4 add missing source files for tests 83c62cb add missing source file 3e047a4 move break1 to scripts/break012 50efef9 move the break* tests into scripts/, and update as necessary 7206a1b add another exception test 7773a6b add missing files 4a58d1e make this test work a bit more reliably df91a0f move STM-specific tests to the stm package 5543d42 move dynbk tests into scripts/ and update them f77cad7 Accept output (source spans) c5cbc37 bio001 needs profiling fd5fb58 Accept output (src span) 75f99c4 arith011 is no longer broken on x86-64 Linux 0a66f56 add a test for printing unboxed fields 3e3e73c Accept output (... doesn't replace a constructor any more) 1c2bf47 Accept output (source spans) a4aa236 ignore the .ghci file if present in the ghci debugger tests 77641d8 Accept output 51bd410 remove unreg "way"; unreg is now all-or-nothing 9295387 Accept output (source spans) c61f1ba par001 requires the parallel library c67607f Accept output (missing-main error has changed) 36538da Accept output (missing-main error has changed) ed3903d Use -v0 when doing test rnfail043 This avoids version numbers of packages being in the output. 670b355 Use -v0 in TH tests to avoid package versions getting into stderr 1d996c7 1332 is now fixed, so tc224 is passing again 2d9f752 Accept output (missing-main error changed) c25034e Update (incorrect) test output with '....'s 6d428c5 Add parser/should_run f83f022 #1318: pre-emptively add test for Haskell98 treatment of operator "-" 295263e add negative-prim-literal tests the first for behavior common between their new and old parsings (passes both), the second to test the new behavior (fails before, passes after) 55052a8 Test for Trac #1382 da8079a Test for Trac #1396 315f76c Add comments about runCmd 12df776 Add test for #1385 564f22d arith008 fails for some more ways now that the NCG is used by default 1eae04d accept output e689740 more expected failures for arith012 7bd1230 fix this test 2a79846 Split newtype deriving test from other deriving tests de7503c expect more failures for ffi009 on x86 35e4e17 fix this test f9b1f95 add more profiling ways, to test different kinds of heap profile c08032e add extra_ways, for adding running a test in more ways d4afe40 test various kinds of heap profile 1756749 Test 11 double arguments instead of 6 (see #1424) 5923798 add 32-bit output for num012 1dc091e move par tests to the parallel package da4ed8a accept output 0ae8665 Accept output for TH_exn2 6fb64c1 Accept output reorderings in ghci debugger tests 0eae27e ghci debugger output reordering 72eeb32 Accept prog003 output Also added some extra prints to make it clearer what's happening c9e0e60 tcfail177 is expected to fail; trac #1176 5a6f839 We expect getC to be broken: trac #1430 179a39c rnfail028 is currently broken; trac #1384 46e4d8d tcfail046,tcfail169,tcfail118 are broken; trac #1432 fc03534 Update ghci debugger output order 4283c7d Two tests for newtypes & :print added 2adb5a0 Output reordering in debugger tests 65c6c99 Test for Trac #1430 9d67a2d no .bat scripts any more 0832eef Remove tcfail105.stderr; tcfail105 is now an expected pass! a2ec087 tcrun032 was using an un-documented (and now not implemented) feature of 'deriving' 88fa1f9 Update expected output (mostly concerning deriving) a49696a Test for Trac #1386 35e4e16 Fix flaggery ab009a9 Test for Trac #1402 8278008 Mark ghci debugger tests broken ea4e0bf getC now works (trac 1430 is fixed) 3c5d589 Accept output (read008) edf235a Accept output (tcfail145) fa52a8c Allow the "< /dev/null" when running tests to be disabled The user001 test in the unix package can fail when stdin comes from a file. ed0cfb8 Add a test for trac #1287: SPECIALIZE causes panic f625711 Add a test (tc229) for trac #1406 333f2a9 make this test a bit more robust (hopefully) aa0e74e Type families: add test case for deriving of assoc data families e0eaa7f Types families: test that the right coercion names go into ifaces 89f0cdd Add test for Trac #1445 7190004 Type families: tests for overlap check of type families 9ae96c0 Type families: test for tau typeness of rhs of type instances 0349d0b Type families: tests excluding type families in left hand sides 4afef64 Type families: test type family with higher kinded parameters 34366e9 Type families: more overlap checks c357d33 Add test for Trac #1465 a4c0b2d Update output 5f8147a accept output 3665022 accept output b1defde don't reset MAKEFLAGS in recursive make in 'make fast' It breaks some tests on Windows, because the stage=2 setting is lost in the recursive call. I don't understand why these variables are passed in MAKEFLAGS on Windows (cygwin) but not on Unix, something to do with environment variables presumably. cb8ee07 Test for Trac #1456 a22d846 add test for #1131 1706e77 gadt23: $MAKE needs --no-print-directory a1128bf accept output 0213c87 fix testblockalloc for THREADS=2 018d089 Add test for Trac #1494 e7aedd5 ffi-deriv1 is broken(736) 8aeb1c9 tcfail140 is expect_broken(451) 477fba6 Added tests for Cmm and CPS (they are currently skipped) Also the test driver doesn't understand 'cmm' files so something will have to be written before these tests can even run. ce9b634 tcfail093 should succeed 776e62b drv015 should fial e5b60c9 Use subprocess.call rather than os.spawnv in the testsuite driver os.spawnv is broken on non-cygwin Windows (looks like it goes via a shell). 287691a tc232 requires mtl 30376b8 tcfail093 now succeeds, so has no stderr 8adac5d Add a test for -fdisambiguate-record-fields (trac #1401) 1a1798c make prof001 and prof002 into compile_and_run tests, to test #1472 0dc8518 add the profiling ways to config.other_ways 4b87abf clean up the extra_ways machinery fda4526 add prof_hb way a3600a3 Fall back to os.spawnv is we don't have the subprocess module 254f218 Fix calibrate python script for non-UNIX machines 6242ced Add tests for magic hashes (trac #1297) a1f14d6 Tests for EmptyDataDecls extension 0686017 Tests for KindSignatures ff65996 Add tests for -XMultiParamTypeClasses 2cd7f40 Add tests for -XParallelListComp 9d8cfd8 Tests for -XGeneralizedNewtypeDeriving 87f765b Add tests for -XRecursiveDo 29ebce2 Tests for -XFunctionalDependencies 4d49c9f Accept output (following error message changes) 828901d reqlib now uses subprocess (when it's available) Fixes a problem where /dev/null doesn't exist on mingw. a4af485 readwrite002 is expect_broken_if_platform(1198,'i386-unknown-mingw32') 8b4da92 Add tests for -XPolymorphicComponents 7ce92ca Accept output (more flag name changes) 4e9a98b Fix this test to work with shells that don't have {..} globbing e.g. the /bin/sh on my Ubuntu 7.04 system 82331d6 add test for #1505 35c5ea6 Add a test for -XPartiallyAppliedClosedTypeSynonyms 024d7a3 Tweak tcfail098; we aren't interested in the undecidability error ef9332f Remove tcfail111; duplicate of tcfail098 5cfe193 Follow error message changes 32cd47e concio001: account for constant overhead of threadDelay on MacOS - See also #1523 d9f824e ffi012: stdcall doesn't work on MacOS #1524 e4da239 Unfail some :print tests 3215786 Accept output 3ca28ff concio001: give the process a tiny little bit more time in the Makefile - Although the test passed when run by itself, it did sometimes fail with validate as the timing just didn't work out on a loaded machine. 72b2e35 remove an obsolete test 412e49a break014: accept output and unfail 6c69c6b dynbrk005: update with expected output 902c6b3 Add a test for bug 1533 (currently broken) e0ef74c Accept output 2aa5a5b Skip break017 if fast (bit of a hack; just to make the validate script work) c914229 Bump the delay for concio from 0.45 to 1s It wasn't long enough on thorkil's Mac. Should really do something based on the calibration value or something, I guess. b8e449a Skip the concio tests when fast, as we don't really want to hang around for 2s ed0a84e Update drvfail008 output (flag name change) adcee39 Adding compile_and_run_with_prefix and multimod_compile_and_run_with_prefix as test-fns. 5ca9e65 Skip the GHCi debugger tests when unregisterised (trac #1545) 9c80aed maessen_hashtab is broken (trac #1546) ac121a7 Fix the haddock tests when going via C We need to have a header which claims the foreign imports we do are for entities that actually exist. Otherwise the C compiler complains. c631662 Add a test for trac #1322 (ghc --make recompiles hs-boot files unnecessarily) d1ffdb8 Really remove an obsolete test (print015) 5882c76 Make a non-profiling version of test cabal01 6a28cc1 Share the pwd program between tests 957f390 Fix cabal01 to work on Windows 32b0f9d Tell the testsuite what exeext is dfd54ce Add a test for copyFile 83d34b4 skip read023 (see #1215 and comment in all.T) c49f83a The galois_raytrace test requires the parsec package 8f2f4e8 Add test for Trac #1564 cf1ab09 Update expected output 404e5aa Update (previously buggy) output f0d1027 Add test for record wildcards b56798c Testsuite driver doc updates e448217 Add "composes" to the driver docs 62d7929 Define and use rawSystem in the testsuite driver and the driver tests spawnlp doesn't exist in Windows, so this avoids using it. 83616fb cabal01: we need --with-ld=$(LD) for Windows e3931f3 Docs have moved to the wiki 7f4585e Add exit_code_if_platform functions to the testlib 3bc60be Add tests for catching exceptions on Windows caff4e5 Follow flag changes 6562dc3 Use -XGADTs rather than -X=GADTs 08079dc Test for Trac #1581 127d06b Test for Trac #1037 f6daa8a Trac #736 is fixed 6420763 FIX ghci019 4e4d35b Tests for indexed type synonyms f656d8a Another indexed type families test 29c623e Test Trac #1606 f029d2d Accept changes (mostly paren removal) d0f9766 Update standalone deriving test, and add a failure test 20536c4 Update the bytestring tests for the bytestring package d00ef04 Follow the base split 0a19231 Document and fix expected failure code for derefnull and divbyzero 80a2586 Another indexed types testcase 9abbf47 Added a new :print test 660e7b0 Aad test break020 for :stepover 38d17ef Accept output due to changes in :history c8c702e Synonym family problem with higher-kinded families 8f242dd Types families: Refl suceeds without tyfam patch 5831465 Two more indexed types tests cac4ba7 Add a test ghci020 for trac #1587 4d00739 Add a test ghci021 for trac #1565 bdff7d3 Type families: "Kind" is now working c18d36f Another type families test d10e59b Type families: Infix works now f464a83 Type families: adapt to improved error messages 6f82033 Another type families/gadt test 92bc422 A couple more GADT/type families tests a65df58 Stop the timeout calibration ever returning 0 bfaba00 getDirContents001 needs -fno-gen-manifest dd22532 Windows-specific output no longer required a39ea8d count a syntax error in a .T file as a framework failure 57cbb7b fix syntax errors 7cd3811 add test for part of #1372 562d2bb Fix the expected output for derefnull and divbyzero on Windows e0f0e41 Update tests now that #1384 is fixed #1384 = Exporting a module that isn't imported doesn't fail cabc575 Update array test output Unfortunately safeIndex is too polymorphic to be able to show the index or the bounds when we have a bad index. 4195c04 conc057 needs the parallel library 078afe1 conc068 needs parallel 568a7a6 dynamic002 needs -package packedstring now aab48bd tcrun021 needs -package containers ac43e33 Revert a hack now that the buildds will make a gcc-lib directory on Windows 0462e1e Changes necessary for type family patch - Mostly changed error messages - 'while' needs another type annotation due to changed rules as to what annotations are required for GADTs. 55abde4 TypeFamilies: check arity of type instances d258ca3 cc013 works now 29beb7a add test for #1593 8b313b0 Aad test break020 for :stepover 2f25c64 Accept output 41ec0c1 Added tests for :steplocal and :stepmodule b2936b9 fix this test on Windows 6607849 Remove an old readme-like file 81a1590 adjust some tests 134d80e Accept slightly different output in some breakXYZ tests 0d3f02d Add a test for #1375 (ByteString?s ?lines? eats empty lines) 1e8d4f8 Adapting some breakXYZ tests to sorted output a050a0f Add two new tests for the debuggger involving .boot modules aaa3578 Marked as expected failures for now 4a5d485 Add a new RTTI test 9614fee TypeFamilies: test for decidable tyfam instances fd9e77c TypeFamilies: accept some slightly improved error messages d2ffc49 skip readwrite002 on Windows, it now hangs following fix to inputReady.c 8137819 add test for out-of-memory c84c795 Fix outofmem on MacOS 186a2ab TypeFamilies: Numerals test 1c2badd Tom Schrijvers' type family tests fdbf503 Add a failing type families test f89d2ba Failing type families/GADT test 0d16bd1 Test for type families related panic 4bd84f7 add 64-bit output 700a20d don't try to run hp2ps if the program failed with exit(>127) 40e5bab add test for #1648 a0ecdca arrowcase1 is now fixed By: Mon Sep 3 07:10:44 PDT 2007 Ross Paterson * FIX for #1080 4d6db40 equality constraint encoding of functional dependency where the FD's LHS is empty: 77310ab add missing file a65554d Add a test num014 for #1658: CSE [of Doubles] changes semantics cd63e58 equational class context expect_fail is now normal because of bug fix 509d49b recursive equational class context e0a2fc2 tests for type family completion algorithm and higher order types 4936baa Add dummy stderr file for panic test e09d888 Another failing type families test 04154b6 Yet another failing type families test 73678c7 And another failing type families test b0568a3 A further failing type families test 4335297 Track changes in deriving 7120aa2 Adapt test to new restrictions on type families f02843f make config.top an absolute path c6abb42 omit tcrun022(ghci), since it relies on optimisation 88d8f95 conc057 and conc068 have moved to the parallel package 696a7d2 Test now works cf9420c this test works now 2a010c6 add test for qualified name printing b707da5 test for bug #1465 (12 files, phew) 37c5525 accept output 079efcc TypeFamilies: GADT8 is fixed 2dddfbb Set os.environ['TERM'] = 'vt100' before running tests Readline sometimes spews out ANSI escapes for some values of TERM, which result in test failures. afbb581 Fixup bytestring tests to work with current QuickCheck and bytestring Sadly requires that the internal Fusion module be exported from the bytestring package which is bad because that's not supposed to be part of the public api as we're just about to replace all the fusion internals. f8faca5 Accept some output d188ac3 break020 and break021 underline things in the wrong place; trac #1669 19d86cb this test should unregister the test packages afterward (fixes driver063) df991a2 TypeFamilies: fixed Simple14 and added Simple15 f09a855 Simple9 is fixed 4a4fad3 Accept improved error messages for some tcfail tests eebaab5 Two more failing type families tests b39011e Yet another failing type families test 4f73eb8 And another failing tyfam test 4942391 accept output 2bf3853 Only run the tests from libraries that we have built Fixes failures when you have unbuilt libraries in your validate tree. 2419689 #1669, these tests work now 2c37458 TypeFamilies: change of error messages due to changed traversal order - Just the usual indeterminism in HM. The messages are neither better nor worse. d47e0ec add test for #1677 406f2f2 Added tests break024 and break025 for -fbreak-on-error and -fbreak-on-exception a4673c3 Simplified break025 to better illustrate the problem, and marked it as failing under ticket #1681 cbc623a Accept output 644bbab Accept output for break024 b525f51 TypeFamilies: added test exercising skolemOccurs 40abe56 Avoid Dyn exceptions in break024 c5da124 comments e598cb5 a test to show that multiple calls correctly share a return address to see the optimization at work, compile cps027.cmm with -fconvert-to-zipper-and-back -frun-cps 82edc42 Test case for #1689 (openTempFile naming) ceb239c in test case for #1689, close files, just in case 224fbf6 GHCi debugger: add a test exercising -fprint-evld-with-show b4ed822 Accept output due to :print not using Show instances anymore 04bf640 Add failing TypeFamilies test c368d68 i386/Linux output 02f657a remove ordering dependency for ffi018 a91c1b1 remove read001 -fglasgow-extss, it messed up THREADS=N and -fglasgow-exts is deprecated anyway 69d9ed0 remove ordering dependency f7434a7 Allow files-to-cleanup to be attached to a test using extra_clean(files) This is better than a top-level clean() when using threads a0f3347 remove ordering dependencies (see bug #158) be1c1d8 remove one more ordering dependency 08d7e92 eliminate ordering constraints 4b7981e Test display of types in GHCi 64b0862 Test nested forall types (thanks to Claus) 84faed9 InstEqContext2 fails now - This test fails with the overhauled rewrite rules. This is (judging from -ddump-tc-trace) not because the new rules implementation goes wrong, but because the old implementation left out some improvement and hence passed this test by accident. 7997293 Changed error message f6202dd TypeFamilies: fixed Simple12 deea7da Different output expected for this test on x86_64-unknown-openbsd 1803c98 some expected outputs on openbsd 5004052 Yet another failing TypeFamilies test 3dd6650 TyepFamilies: should_compile/Simple16 (#1713) a120c43 Typechecker: tc237 (#1688) 14ed376 Enhance tc236 slightly 4b9f108 Rename flag 15a1db3 Add test for exponential behaviour of type synonyms 4a20379 Add comment 4657d09 Tests for Trac #1627 and #1718 05a57ac Failing tyfam test 1cf5645 Various testsuite helper functions like expect_broken_if_compiler_ge 86ffb85 Fix ffi018(ghci) when running from a different directory to the test 91accb6 tc236 fails for 6.8 d09b9d3 Add a test for changes to C files causing relinking 5bbe00b expect success for arith008(profasm) on x86 605e6d0 FIX #1254: avoid calling truncate when the result does not fit in the target type c70161b GMapAssoc, GMapTop: expect failures on the 6.8 branch 79a391f GADT3: expect success for profc/profasm on the 6.8 branch 275efd6 Simple12: expect failure on the 6.8 branch 5be5ab9 ind2: expect fail for profc/profasm on the 6.8 branch 2e96684 Add a test (pragma001) for #1736 a4d9e1d expect failure when using the NCG on x86 due to floating point differences a353e48 add test for #1734 a7cc3da fix framework failures 65cc94c add expect_fail_ways_if_compiler_lt() somehow I forgot to add this yesterday, I'm mystified about where it went.. a6dd57f getTestDir() is slightly better than in_testdir('') 07c3828 GADT3: expect failure on the HEAD too (and add a ticket) 059b7e1 Pass -ignore-dot-ghci to GHCi fd00a21 driver027/driver028 need to use -fvia-C to expose a bug in -stubdir ef5fd52 updates to hReady001 (see comments in all.T) 16ef48a TypeFamilies: test boxy splitters d80e23f Test for Trac #1746 1b7f854 TypeFamilies: should_compile/Simple19 (from #1729) 569de64 TypeFamilies: should_compile/Simple20 2dc254e TypeFamilies: should_compile/GADT3 fixed 0860284 test case for #1743 201a4d1 I committed simpl019 too early; it's expected broken until I commit the patch 5d41441 add tests for #1748 ef9048d break026 now works (#1743) 5857808 break025 now works (also, the test itself was broken) 6129c42 Add test for Trac #1678, and update output for TH_exn2 7c94185 Test for Trac #1759 c629131 simpl019 now passes 280ed38 Update output a9f6957 Test for Trac #1680 3c2302a ccfail002: line number in error message changed bafd0e2 Test case for #1537 c3ec0a3 Clean bug 1465 better 5fb860d TypeFamilies: should_compile/Simple20 fixed ef3ccc5 Changes to the testsuite for the new renamer The rationale for these new behaviors is as follows: fd7d8cd Update output 54f5a94 Update output from constraint simplifier 1a411cb Add exotic functional-dependency test b93c120 TypeFamilies: should_compile/Simple22 * Demonstrates a bug in TcUnify.tcSubFun found by Andrew Appleyard c47aa37 TypeFamilies: exercise deferring on tyvars in TcUnify.subFunTys c8ddf27 tcfail175: error message changed * The error message has become less informative, but I don't see how to avoid this easily. * The error message is now also different to that of 6.8. I am not sure how to handle this case. Can we have different stderr files for different compiler versions? Or shall we simply merge the corresponding changes into 6.8? 6b83caf skip the non-threaded ways for conc023 on Windows, see #1197 53ebe72 the GHCi debugger now works with an unregisterised GHCi dd20805 these tests moved to the directory package 193348e Update output for TH_exn1 927fe3b add test for #1468 e1674ac TypeFamilies: should_compile/Simple21 * Code of #1776 from aslatter at gmail.com b1b9bce TypeFamilies: for additional tests fixed by properly zonking EqInsts aee6f58 tcfail174: minor improvement of error message de51abf tcfail175: improved error message slightly 39c6c73 Add namebase_if_compiler_lt to the testsuite driver Allows us to use a different name base for foo.stderr for old compilers, e.g. test('tc141', namebase_if_compiler_lt('ghc', '6.9', 'tc141-6.8'), compile_fail, ['']) 5951c53 Fix various tests for the 6.8 branch 5ba7aba Add space after -ignore-dot-ghci pointed out by Claus Reinke aaab2ac use -ignore-dot-ghci Suggested by Claus Reinke 5521d34 add test for #1791 f121012 this test works now, apparently a59f5db GMapAssoc, GMapTop now apparently work on the 6.8 branch 03f88cd ind2 apparently works on the 6.8 branch 813a2b9 arrowrun004 is now apparently passing on both 6.8 and 6.9 4cfe25d update expected failures for the 6.8 branch a0b41e7 add 6.8 output eee8899 Update test results in the 6.8 branch bf9817e outofmem2 doesn't pass in the 6.8 branch bdc2e98 Tests for functional dependencies and loops in TcSimplify fcdadfa Update tc141 expected output 1d2b2b8 correct code for typecheck/should_compile/tc192.hs c86f038 Update output (comments added to source file) 3424aa4 add output for the 6.8 branch 7d0200a fix this test on the 6.8 branch 8246d4a Add test for GADTs and scoped type variables 4d238db Update type checker errors b91c2ce Test for #1662 bd0625f Fix test outofmem for powerpc_apple_darwin 5acd938 Add test for Trac #1072 8f5834c adapt tests to new Category superclass of Arrow d809081 add extra_hc_opts for ghci_script 130883c Test for Trac #1814 6a34410 Test for Trac #1814 f983a21 Test for Trac #1608 efb6ce6 tests for :browse!, :{:}, :set, :show languages/packages 07f2742 update test for #1765, #1766 9c5c45d update test output c4113b3 accept output following #1561 b9252d4 add test for #1561 df1993d test for #1617 bc9c8b4 skip arrow for ghc < 6.9 (Control.Category doesn't exist) 185965f Skip arrowrun003 for ghc < 6.9 (Control.Category doesn't exist) d2c7633 Add a test for trac #1588: unrequested generalized newtype deriving? Test is drvfail013 36fbd8e Update output 15297b5 add test for #1852 7018f10 add test for #1603 cfedbe4 FIX ghci024 for unregisterised, powerpc_apple_darwin, and ghc-6.8 97cfaff Accept output d80afd9 Remove some tabs in break020.hs 4e568f8 Add a test for #1827 (:print panicswith overloaded values)) 70f39d1 Test for Trac #1888 1d01ed5 Test for Trac #1662 0432847 Add test for #782 69aad50 simplify ghci024.py, fix -fprint-bind-result, -fno-ignore-breakpoints, -fprint-bind-contents d09518c Adapt output to improvements in the TTerm pretty printer a1d4514 Add test for #1892 - :info of a bkpt binding panics 40ac852 Accept output a159d2d FIX #1840: outofmem and outofmem2 need ulimit settings to avoid filling up swap 6d6e848 add test for #1679 fb16aaf outofmem2 passes on the stable branch b996c45 1603 depends on the gcc version, which we can't easily account for, so skip 8750fd9 fix this test for case sensitive filenames 5a3ba0c small tidyups to thie Makefile b599808 Add -XExistentialQuantification flag (should have been there all along) 06d253c update to test #1873, #1360 2cb2c7b Test for Trac #1806 86e50eb Test for Trac #959 f9b1bfe augment ghci025 to cover #1847 827f8ce Tests for Trac #1825 61c1f54 test repeated open/close of 1000 files d6030d4 countReaders001 now passes a718f4a Test for Trac #1913 3658339 Update for rebindable changes (Trac #1537) 7aa2a86 Update test output d00b006 Update output 5a361f1 Update output (slight improvements on the whole) d1270a0 add test for #1753 d9c8221 remove the _with_prefix forms of compile_and_run, add cmd_prefix() config instead 26aae27 openFile008: do "ulimit -n 1024" first Hopefully fixes this on MacOS where the limit is 256 by default 58085a0 Simple{20,22,23} now pass in the 6.8 branch 4084c62 Make Church2 fail as it (currently) should 80c1930 Be more consistent in printing about framework failures 4679353 fix this test when CLEANUP is not done cab326a add test for #1916 b7d8057 Test for Trac #1935 f88463d Update output for change to deriving (Trac #1935) 742044e add test for #1744 db260a4 add test for #1914 6afeed0 Add expected output for 1744 de6e63d fromdos test FD1 073df30 FD1 now behaves the same in 6.8 and HEAD ec21a85 rebindable8 is still broken in GHC 6.8 f58ee9c Add 6.8-branch output for rw edd5267 Give GHC 6.8 output for tcfail168 217f695 tcfail175 output is now the same in 6.8 and HEAD 69d56c2 Add 6.8-branch output for tcfail178 788d940 Add tcfail187 output for the 6.8 branch a081045 Update ghci024 output for the 6.8 branch ecc7374 6.8 branch no longer needs special output for ghci026 e8bf33e Add 6.8 branch output for break003 f38572d Add 6.8 branch output for break021 85637e3 countReaders001 now passes in the 6.8 branch 4d18140 Skip arrowrun002 for the 6.8 branch 45d3e87 Skip arrowrun004 in the 6.8 branch 5280b38 GADT9 passes now that we have fixed #1919 20948b3 Added test for :print of a reference c5cbe3f add test for #1048 4d11ac3 add test for #1959 31a49e1 test now passes 113a88c Test for Trac #1370 4da65e7 Fixed by correcting normalisation of dicts 84c8d1d Fixed by removing GADT refinements in favour of equalities 6c94991 type families: Temporary fail - GADT3 fails with equalities instead of GADT refinement due to a known bug 5e5ed24 gadt: slighly changed error msg with equalities 8245208 Remaining regression of change from GADT refinement to equalities * gadt/lazypatok fails * tcfail167's error message gets worse; ie, no more "Inaccessible case alternative: Can't match types `Char' and `Float'" 6b373c5 Adapt to changes in :print (contents of references) 6a5f304 fix this test on windows (avoid non-portable use of :!) c1ccd0b countReaders001 doesn't work on Windows c0dc495 add 6.8 output 4e0d8dc accept output 3fb5d60 Test from #1815 4945a1a Test for #1722 fec5162 Test for #1723 a82c997 Make GADT tests work with 6.8 again 9254d56 More 6.8 fixes e0e5690 Update tests for Trac #1972 8eeb9b4 add 6.8 output 33d63cc Simplify the testsuite driver Now instead of saying, e.g. namebase_if_compiler_lt('ghc','6.9', 'foo-6.8') you say if_compiler_lt('ghc','6.9', namebase('foo-6.8')) 805d6a4 6.8 updates aa2c520 Fix outofmem for other 32-bit Linux platforms 9b4ee31 add test for #1980 4e21a08 Unsoundness in the RTTI scheme acd4730 Give a ticket # to expect_broken 33b21f5 Tests for generalised list comprehensions f0cd5ac Replace mentions of way 'opt' by the new 'optc' (often adding optasm too) 82711cb Add test for Trac 1981 2d27d0f Test for Trac 1495 adabec5 Test for Trac 1988 6fa9ed6 Enable an old test for Trac 323 2497337 Accept output for gadt13, gadt7 d35d2a4 Accept output for tcfail172, too 06ef755 add test for prefix unboxed tuples 4a9f71e add test for curried unboxed-tuple constructors 0ba992f ghci can't run unboxed tuples currently 052aa3d Skip TransformListComp tests for GHC < 6.9 f101413 Skip more tests if using GHC < 6.9 b3f489f Remove bogus constructor from test cf86eba Add tests for type signature validity (cf Trac 2019) 0fbdefa Test for Trac #2017 d499864 Update output for new -XImpredicativeTypes flag c82ee5a Tests for Trac 2030 ac6a6e7 Test for Trac 2018 7be427b Mark some bugs as broken in the HEAD due to FilePath bug #2034 9b76013 bug1677 is also broken by #2034 (FilePath bug) 9228ed4 Add a test for trac #2033: view pattern where expression expected 00ecd81 Testsuite fixes for GHC 6.8 cd3b57c Update output 3ef22a2 Test for duplicate decls 090fb7b Add test for Trac #2024 9764c72 Tests for quasi-quotation 1351580 Add a test for trac #1821 897c7a6 Add a test for :main and :run 2289264 Add a test that we get an error if conflicting mode flags are given e5c24de Test for ghc -e ":main" 4ae9de8 Add a test for multiple -e flags 51e76b4 Fix #1599: Improve timeout on Windows We now run programs in a Job, which means that we can kill a process and all of its children when a timeout happens. 932a608 Add WinCBindings.hsc, not WinCBindings.hs! a3440b7 Add a test for exitWith and ghc -e 9a332e3 Add another ghc -e / runghc test 79ae17f Mark some bugs as broken in the HEAD due to FilePath bug #2034 a21f10f bug1677 is also broken by #2034 (FilePath bug) 794320b Test for Trac 2055 630fabf fix intermittent failure with ghci025 0e746bc allow extra normalisation to be applied to the output on a per-test basis 758f77d normalise '\' to '/' in the output, to fix Windows failures 11cce0f remove now-unnecessary #1545 skips 7b38abe update to test for #2049 eafa561 Don't hide output 9a517c5 Avoid some escaping in a commandline 687a3f6 Normalise some slashes 94aed1f add test for #1750 89d1867 accept output (change to default exception handler in Control.Exeption) 1f5ad28 accept output. The column number is different, and still wrong. cc1a561 accept output. The order of compilation has changed, for some reason. 34b9c75 Add a new test for #1537 946ab64 accept output (no newline after uncaught exception) 3b7c09f accept output (no newline after uncaught exception) e812749 add test for #2047 4591261 If the "setup" argument to test is a list, treat it as a list of functions Avoids the need to write composes() 8b03f03 skip if GHC < 6.9 d4da119 6.8-specific output. The remaining validation test failures on the stable branch will be fixed by pending merged. 3bc99c3 Find compiler version-specific output files automatically Also, clean up the way we find the output file. From the comment: 5f13d9d Add tests for parameterised monads from Oleg 4851699 rebindable5,6 are expected failures (see Trac #1537) 9fc058b Add a new category of "eyeball" tests 075e90e Add another eyeball test a0c768b add test for #2080 6170ff6 DoParamM depends on mtl 4c09546 Follow change in error message wording 978e4ad Cache the results of looking to see if we have a library or not When handling a test says reqlib('mtl') we cache the result, so we only need to run ghc-pkg once no matter how many tests say it. This makes quite a difference, especially on Windows. dbbbd70 Apply cmd_prefix also to the ghci way 2f6dbb3 remove now-superfluous 6.8 output 65a0fb1 fix #1750 in the stable branch 7db13e4 Give 6.8-branch output for TH_fail 4c6c47d Add a slightly more robust concurrent I/O test also disable concio001, which is too unreliable 8b8a0d2 Add 'dyn' as WAY (different from 'normal' only by -dynamic) dc016c3 Add a test for #2082 02f9516 Actually run test ghci030 314838f ghci030 is currently broken: trac #2082 6b88596 Track error message changes eadd1be Add fundep to rebindable5, which makes it work again 5c006ef Tests for Trac #2114 18c8543 Test Trac 2126 b42446d Type families: tests for SkolemOccurs loop - Two tricky tests by Tom Schrijvers and Martin Sulzmann a8ccf50 Test for Trac #1899 7c837ea Test for Trac #2111 a024cd9 Track error message changes 03cb3d7 Track changes in error messages 561d44c add test for #2122 8a0a865 add "profthreaded" as a run way d844cf0 Update 6.8-specific output 42f8287 enable profthreaded only for GHC 6.9+ 90cfe11 expect failure for profthreaded (NCG floating pt differences) 30c8fb4 Add some tests ea100f5 Add a SpecConstr test 01bce2a Fix expected output d8ba966 rename ccall to ffi dfbba23 run ffi009(ghci) b446101 skip ffi012 unless running on Windows 9762129 add i386/Linux output This might as well be the default output, so we at least have a chance of this test working on other platforms. e8d8c2e Type families: Roman's test for normalisation of reduced dicts 1e4335a typecheck/FD3: revert to error msg of previous version ofthe compiler 1df9779 add test for unsafePerformIO/stack overflow 753c883 Add 6.8 output for FD3 a453821 Add a test rn065 for trac #1578 70ef4d8 Update output for bug1465 92bca1a Ooops, rn065 is for #1491, not #1578 1f9e374 Update output e3832db Add a new test for :list 9dac95e Update ghci025 output be5ac1e Update output for ghci024 231bd36 Update base01 172b7fe Update tc231 output b4e7f25 Update output for tc168 ef96789 Make stableptr003 give more useful output 1ea8c07 print002 is broken (trac #2174) aad83cd stableptr003 is broken; trac #2175 abb9e34 Tweak #2174, which we now expect to pass again 27e2c4b Add a test for trac #2158 33c70ee Add a test TH_scope for trac#2188 4cc9b39 Add a test simplrun010 for trac #1947 556eb0c Another eyeball test for the inliner f1fd6aa rn063 and rn064 are expected passes now, bugs fixed f7beb4f Test path virtualization in GHCi 9ed556b Test 'list002' should be passing now 99e0697 Re-jig test for Trac 2188 c257c08 Accept output for read029 4245e08 Accept output for bug1677, mod178 28fcbe4 update output 24c800c add -v0 to Over, we don't care in which order the modules are loaded 8aee8b4 Test for Trac 2205 f038d22 Follow minor spacing change in typechecker output a2ce260 Test for GADT escape (I forget which Trac bug this is for, if any) bbb8c9b Slightly less nice output, but the previous version was largely accidental e322b29 Track error message changes b4f2750 Add test for Note [transferPolyIdInfo] in Id.lhs 39076a2 Track the addition of the Static Arg Transformation ac0e764 Add a missing file for test print029 fce1e8c Add a test for #2044 (:printing impredicatively typed values) e5d157f Update output for arith011 on 32bit machines 8f4ee52 Add if_platform and remove *_if_platform This removes some duplication from the testsuite driver db49cc0 Add if_os, and change derefnull/divbyzero to use it I think different Linux setups generate different output for these tests, so we just ignore the output on Linux now. 1278374 Test print033 passes now dddac3e Skip test base01 if GHC < 6.9 as it now assumes the ghc-prim package exists cc1d61b Add GHC 6.8 output for print002 14c2d4c Add a test rnfail054 for trac #2141 0e1b201 Add a test tcfail199 for trac #2179 a0c0c8d Add Word# literals to some tests cd9221a Add a bits test for Integer c31ae89 Add a test for Integer conversions 1b651a8 Comment out some unused code in test 2122 This was causing the test to fail on Windows, as the unused code used System.Posix.IO. 88b5819 Remove derefnull.stderr We ignore it on Linux, and it's wrong for Windows (which caused the test to fail). a8eb6fa Remove divbyzero.stderr We ignore it on Linux, and it's wrong for Windows (which caused the test to fail). 8632e56 Add a test for showing Doubles In particular, show (Just (-0/1)) should put parens around the -0.0 in Just (-0.0); trac #2036. d2ece6b Add a test for spaces in SCCs (trac #2036) 5c485c5 Skip TH_repPrim and TH_repPrimOutput for GHC 6.8 They now use Word literals, which 6.8 doesn't support. 0d46e31 Add output for break019 and GHC 6.8 1d13114 Skip print022 with GHC 6.8 (it uses Word literals) 304b058 Test for Trac #2238 cf0e2b7 move these tests to the process package da3f49f We expect T2238 to fail with GHC 6.8 fab86ad accept output after changes to overloaded literal desugaring 94d386b skip ffi004, which calls a varargs function via the FFI db8863c add test for #1861 7b00496 added a test for eliminating dead assignment i++ in loop 09cff8f Don't bother testing ghostscript if we have no profiling libraries acdb4e6 make this .T file more multi-thread-friendly use extra_clean, and avoid top-level runCmd cd10aa4 add test for #1288 677872f add test for #2276 e82fcf29 Add a test for trac #2059 951770f Fix a framework error in ffi018 e651506 add test for #2014 0b391b8 Accept -fmethod-sharing f97bb92 fix ghci024 (for HEAD, at least) 46868ce following the fix for #1955, the .ps file is now in foo.ps, not foo.exe.ps on Windows 17506a0 Test for unboxed values in tuples 10d7b2e Update tests to improvements in renamer error reporting (duplicate decls and misplaced sigs) ef76ff8 tc199 is now expect-pass 583d44b Update output for GHC 6.8 57a85ee Omit the ghci way for TH_spliceE5_prof We don't support --interactive -prof 191bcb6 Add boilerplate to Makefile 31dcba3 add missing file 2d23089 tc199 is expected to fail on GHC 6.8 (#1061) 3d8eccb update expected output b6c8842 add test for hs-boot consistency checking 7f02e7f add test for a bug in 6.8.2's handling of orphan modules 367afdf skip rnfail055 for 6.8 55a206a add test for #1372 82b886b Wibble the num009 test ca1ce21 Omit cg060(profasm,profc) for the 6.8 branch 0c15419 Omit xmlish(profasm,profc) for the 6.8 branch cfa1651 Omit conc064(threaded2) on the 6.8 branch 353b33c Wibble the conc035 test Fixes its output when running the ghci way d4ab8c8 Skip ghcpkg01 in the 6.8 branch "ghc-pkg describe testpkg-*" wasn't matching anything; looks like it looks at the package name in isolation, rather than considering the package name and version together. 208586f Skip barton-mangler-bug(profc) in the 6.8 branch It was hitting the timeout limit 28f6a95 cg057 passes in the 6.8 branch 846a88c ffi018(ghci) is failing in an unregisterised 6.8 branch compiler, so skip it (in the 6.8 branch only) c39588a Skip 1372 in the 6.8 branch 38a39cb ghci030 is fixed now (bug #2082) 6f13e97 Skip the DoParamM test in the 6.8 branch 929ef03 Skip recomp005 in the 6.8 branch The output looks OK to me, although I'm not sure why it differs to the HEAD. 63c4d23 Skip maessen_hashtab in the 6.8 branch 6.8.2 and soon-to-be-6.8.3 fail it the normal,ghci,threaded1 ways. 59f9991 hs_add_root() is necessary before calling any Haskell code d8c144e Skip print026 in the 6.8 branch It fails for me, but not consistently - possibly only with a validate build. Seems plausible that the problem is something like library build flags. 2debd59 use stage2 by default f795cf4 Pass -dno-debug-output to GHC>=6.9 Allow the testsuite to be run with a DEBUG compiler b996a45 FIX #2175: evaluate the list first 1c8d7a2 fix up this test following the header-file changes in the C backend 649b68f add test for #2334 0b8b737 Test for T2339 6704972 rebindable9 works now that Trac #1537 is fixed 7d3ceb3 Test for Trac #2310 b5b9d5e Stop rebindable9 relying on Control.Monad.Identity 7d5f803 Test Trac #2045 e9cb5fe Test for Trac #2334 af3a8ab Update test output 2cc1011 Test Trac #1624 6a137ef Break expect_fail_if_compiler_type and expect_broken_if_compiler_type down into their component parts if_compiler_type expect_fail expect_broken e8d2050 Pass --threads rather than --thread f6227dd Refuse to use threads unless python version >= 2.5.2 According to trac #1558, 2.5.2 should work. It's possible a lower bound, e.g. 2.5, would suffice. b1ed042 Fix Cpr001 to work when we run with multiple threads 4a9e2b5 Remove a duplicate all.T entry for conc051 2e848a5 Simplify, and correct, the code for determining whether we should use threads e0248bf Update unicode002 output for unicode 5.1.0 7dc9732 Add a test for Integer-Float/Double conversions 73c168c Use -fforce-recomp instead of -no-recomp 7883b14 Use -fforce-recomp rather than -no-recomp 15b0f99 Use -fforce-recomp rather than -no-recomp ee414c0 Avoid using deprecated flags 46ec5a8 Avoid using deprecated flags in the testsuite tests 0ef5288 Make tcfail071 work when -fglasgow-exts is given 815f0cf Update output in tcfail071 bf082a0 2310 is not fixed on the 6.8 branch (yet) 93d08cd T2334 is an expected failure in 6.8 8b8ece1 TH_reifyMkName (#2339): fix wasn't merged 819fc1b add 6.8 output d68cde2 rebindable9 is expect_broken(1537) de4ebe4 add 6.8 output 165a98b update output 6756184 add test from #2185 29797e3 Update output 0ffea46 Update rn.prog006 following Cabal changes 98462c0 Fix ghci024's test stanza We need to talk about the powerpc-apple-darwin platform rather than the powerpc_apple_darwin platform. Spotted by Claus / Thorkil. 188e282 .darcs-boring updates 93b549f Testsuite cleaning fixes 7af0003 Update .darcs-boring 146d84b More testsuite cleaning edec627 Clean empty directories as well as files bf6eb67 Tweak some tests: tell make to be quiet rather than ignoring all output aaffd29 Use extra_clean rather than clean This makes things more robust when running with threads 2bef773 Clean .std{out,err}.normalised e4569be Tweak whitespace 3c755c7 Fix ghcpkg04 9d484f7 Remove uses of clean_o_hi This makes the testsuite more resilient when using threads cbce68b More cleanup fixes 1db5bb2 Add a test that apparently made the typechecker loop (around Feb 08) 95e199e Test for Trac #2358 d8baa23 Update output aad2d3c Test for Trac 2378 ab9d5ab Test for Trac #2409 e164c37 Test Trac #2307 6eb9db8 Add a test tcfail202 for trac #2307 74106f1 Update outputs 8346d8f add test from #2317 aa96c28 add -ignore-dot-ghci fdbc137 Test for Trac #2414 0d31281 Test for Trac #2386 b1877b6 add another test for #1736, and mark pragma001/pragma002 as fixed in 6.9 e182cdb FIX BUILD f2f9067 Type families: clean up - RankN1 was a bogus test. There error didn't have anything to do with rank-n types, but was just due to an ambiguous signature. 85fcdd8 Types families: clean up, part 2 e86a1a4 Test cases for #1900 & #1999 3d451f4 remove .o and .hi files beforehand c1d3ccd add test for #1357 596927d add test for #1103 4c96813 update; *sigh* this test is so fragile af45af6 add tests for #1048 fa25624 fixes to this test da6cae4 add test for threadStatus 6bc071e update output c63d2de FIX boottestsuite build failure cd93166 Update ghci024 for PostfixOperators 80dfbe8 update output (line-length changes in pretty printer) 0eaa66e add test for #2302 415fe63 Type families: T2157 d4b09ea Type families: test for 1st half of #2203 efe5934 Type families: GADT instances for data families (#1968) 905cc55 Follow changes in GHC's build system 497e9f5 The hs-boot output has improved (although I'm not actually sure why) 0e69b83 Use the right ghc-pkg program 9b09753 Update output 06f2a00 Add a test for the WARNING pragma 30d1066 Update the driver200 test to use the new -opt-dep flag replacements ed52e56 Update output 89792c2 Add a test for unrecognised pragmas aec015c Build the timeout program with Cabal 1174775 We need to tell Cabal that WinCBindings is a module of the timeout program 72f3913 add tests for #2248 4ced8c7 use absolute path to ghc-pkg 0d6b8de windows-specific output for this test d5dd387 fix some tests on Windows 16ece0c fixes required after changes in #1205 ":load M" now complains if M.hs doesn't contain module M, but ':load M.hs' does not. This seems reasonable to me, but there's potential for confusion. I'm not sure how to improve the situation though. 0615141 Don't fail when cleaning if cabal-bin doesn't exist 86666c3 add test for #2388 68f9d22 Follow extensible exception changes 0b5f231 Update TH_runIO output f590043 Update output for break025 7b967ed Update ghci007 output 6e1b38c Make the exception tests use OldException, as that's what they test b9c1ef5 Give a type signature in the break024 test Avoids an ambiguous type variable with extensible extensions c8ebd6c Expect break011 and break024 to fail due to trac #2475 'debugger gives "Can't unify" when stopped at an exception' 99b6d94 Update TH_runIO output a52dd8d Change the timeout program to use exceptions properly We now don't eat any type of exception, e.g. the user pressing ^C fff26d8 Fix the arith011 test now that catchAny is gone c86fbff Update TH_runIO output (again) c4ff41d Test for Trac #2478 a47b664 Test Trac 2433 b8c4494 Test for Trac #1930 e88d44b Update ghci011 output b985cce Update output following the move of the Char definition 5417ce7 add test for #2452 5aea157 update output (-fimplicit-import-qualified) 939f87c Update output d1721c8 Line number information change only 1199146 Make the gadt-records test work even during fast validate 03e8e23 Test Trac #2486 8530988 Test Trac #2506 c9e7866 Test Trac #2494 abc0aac Add test for empty cases; update output for braces in HsCase printing 5e191ae Update output 15f4d15 Update output 04edc17 Add test for Trac #2490, follow output changes 76ae89a fix this test on Windows 273873d update these tests 09a57ff add test for #2491 5c95f54 add test for #2441, and stacking of package.confs 52d34f1 update f2c9b65 Add an Exceptions test from trac #2508 38dee26 Add a test for trac #2412 d036e96 Add a test for trac #2449 5ba2000 Add ghcpkg05 output 6386240 Skip ghci024 when fast This test is very fragile, and updating it is fiddly due to the auto-generation, so skip it when fast (and thus when validating). 052d05a countReaders001 now works on Windows 363e34d openFile005, openFile007, readFile001 now pass on Windows be256d0 Update Windows output for cabal01 018066e Fix the hReady001 test now that GHC's hReady behaves correctly 4256148 Don't skip readwrite002 on Windows any more We used to skip it because of trac #1198, but that is now fixed ee93e6e Skip num009 if fast, as it gives the wrong answer on some platforms bf9f384 Fix 1288 and 2276 Windows-only tests ca8f0ea add test for leakage of Control.Monad.Instances into Haskell 98 modules 904cef7 add test for #2330 26d2330 add Makefile for haskell98 test 7277a81 follow exception library changes 977497f Update output of explicit-forall failure 163365f Follow error messages for explicit-forall syntax 6b918b1 Simplify the driver a bit: Break skip_{if,unless}_tag down into smaller parts b30149e Remove GHC 6.8-only stuff from the testsuite cb59c5b Fix typos in the testsuite 4bcd936 Ooops, T1972 should be normal, not expect_fail e7ce4ce Fix conc036 0e55ad0 Fix test 1980 bf0e801 Make conc015(ghci) a bit slower, so that it works in ghci b34e57c Fix conc034 d281e54 omit profthreaded for conc039 (for the same reason we already omit threaded1 and threaded2) 417ecb1 Fix dynamic002 f8d87f2 fix enum01 4ca708b fix enum02 1824cbf Fix enum03 f61ba70 Fix list001 bb555e8 Fix num013 56e0bd2 qq005 and qq006 require parsec aced5e0 Fix recomp005 b002990 Update output for typecheck.prog001 56fe332 break017 is broken (trac #2475) 312c034 Fix tests following the st split-off frmo base 57c674a We now depend on concurrent (split off from base) b0f8f4f Fix some parallel testsuite problems 9d1f045 Fix tc170 in the parallel testsuite 87061e9 Fix rn043/rn044 problem with parallel testsuite 18cb779 Remove no_clean from the driver We don't use it any more, and it shouldn't be used as it effectively means that the test won't work in the parallel testsuite. 2c5e456 Fix TH_spliceE5 in the parallel testsuite 7a00383 Fix some tests: T2310, T2486, FD2 c48cc5e Add a test for "bad flag" errors a247dd6 add test for #2542, #1205 3f58cbc update output 47f9fbb Add test for Trac #2497, #2213, #2494 cb3a1f9 Test for Trac #2520 f6ef929 Test Trac #2538 ec68002 Track error message changes 7ae96d5 Update output to follow comments 38b973c Test for Trac #2529 77330f2 Fix the records test when running the testsuite in parallel mode a21e58f Fix mod127 in the parallel testsuite 4341431 Fix mod125 for the parallel testsuite acc6801 Make mod127 clean the right files 7a116d7 Add Ganesh's test for T1999 a678631 Follow error message changes 0aa0811 T1999 passes now (acccidentally I think), but T1999a still fails 04e03f8 follow library changes 009e563 Comment only b4aaf57 Replace 'pure' by 'arr' b9449db Test for Trac #470 aca31a1 Follow error messsage changes fb88dc5 Add rn067 test f37188d Fix a syntax error in an all.T file dc511e1 Add tests for hugs trac #46 and #48 bugs 26a7b15 2185 is broken in 2 ways: #2185, #2570 d27a67c Add a boilerplate Makefile 69f1070 reify is broken (trac #2572) 1e8e197 tcrun007 is broken (trac #2573) 45f1822 2317(threaded2) is broken (trac #2574). 25a3905 fromdos ghci024.py 2fc9b50 Update ghci024 output a80b936 fromdos ghci024.script 28bbdbb Make ghci024 a lot less fragile Now we grep for representative output, rather than trying to match all of it. bd0c96b Update dynamic002 output e25b5ce heapprof001(prof_hc_hb,prof_hr) is broken (trac #2576) d3b862d import Control.Monad.Instances in bytestring00{1,4,5} They need the Functor ((->) r) instance ba419b3 Rename an hGetBuf001 to avoid a name clash fee2872 Test T1470 is still broken aa6f6cd tc176 works now 6588cdc Test Trac 2572 a8901d3 Follow error message wibbles 653a711 T2572 needs RankNTypes e8edad9 Test Trac #2573 986c5e5 Eyeball test for Trac #2581 7de94fe Fix typo in T2573 c4b8670 #2533: Generic functions that take integral arguments should work the same way as their prelude counterparts 5f6e0eb Add a test for trac #1709 5030ab0 not broken any more 226402d heapprof001(prof_hc_hb,prof_hr) are now fixed (#2576) dfe9733 ghci024: add -ignore-dot-ghci 6a83fcc reify and tcrun007 have been fixed 6fc5cb0 test for #2469 cfa8489 test for #1548 97c77e7 Type families: Simple20: warning about loopy equality 5b6f72c Type families: harmless changes of error messages by new algo 92193af Type families: output wibble 9b9cd59 Type families & GADTs: fixed tests 4b7102f Type families: don't bleat about regressions with new solver 7863f4e Type families: fixed 4 regressions 67d50a4 remove spurious -fasm (causing failure for the unreg build) 38cf442 fix TH_spliceE5_prof b73f920 Type families: fixed many regressions of new solver 8901f37 update output b0a50e9 Test Trac #2604 0f6b7d5 Follow error message changes (Trac #2604) 254e7f2 remove some calls to the old 'breakpoint' combinator ae24120 Add a new test e19919e Accept output 1201388 Tickets #1995, #2475 are now fixed 868f36d print022 is failing atm, I don't know exactly why 0bf6738 T1470 now passes 0f743ee Give a bug number for the print022 failure, fixing a testsuite failure 701ad5f tcfail138 now works 001fd55 Fix test regex001 Needed to restrict the type of 'try' now that we have extensible exceptions e148167 Test Trac #2587 5592baa Add tests for Trac #2597 4fa6a8c Minor change in error message a94d60a add test for #2228 12e7ab8 make this test THREADS friendly e4f3af1 add tests for -XNewQualifiedOperators fca2709 add test for #2566, also enable driver100 which wasn't being run f575e92 accept output (Show Ratio changes, #1920) 5435175 add test for #2499 (package flags in OPTIONS pragmas) f24ff99 Update the ws-64 output for the arith011 test e2444f6 Fix the driver100 test 79d4646 Skip the new qualified operator syntax tests in 6.10 571a5b2 Add a test for ":i thisIsNotDefined" It used to make ghci exit 514276b Type families: test for decomposition problem 63731b1 Update ghci025 output 0c2d897 Add a test that the --help and --version flags behave properly 3677fe4 Fix conflicting_flags output f59cbaf Test Trac #303 4adfec7 Type families: another small tricky example of SPJ c7092e3 Improve the mode001 test 242af23 oops, we haven't been running tests from packages for goodness knows how long 20ed32a add test for #2295 (-outputdir) d407bd6 Fix the mode001 test on OS X 7738a0a we can observe the exception again in break011 f18c711 GADTs: T2040 8b05448 Type families: T2219 a45b302 Type families: fixed GivenCheckDecomp 2f5cacd Type families: T2627 056dabe Type families: Tricky GADT/RankN/TF example e911453 Type families: T2627b 80349a8 add test for #2594 3101e9e GADTs/TFs: Added T2151 & TF's Simple14 passes 0d3f062 TFs: Fixed InstContextNorm faf8601 add test for #2410 b970a26 Print out exceptions when cleaning tests c24feb8 TFs: Proper error message for GADT12 6b3d367 TFs: T2448 4d014cd tcfail145 error message improved, too d7cfe1f accept break017 output (seems to be correct), and enable it in validate 373460d add an extra delay to make this test a bit more robust 29e224e accept output (Show Ratio changes) 741a8f4 add IOList optimisation example 591d2e3 accept output, and enable cg026 in validate 21607c1 omit ways that run out of time 5bbdbfa TFs: T2291 a589f82 TFs: Test for repeated tvs in left-hand sides of instances ab724ea Tweak break017 db8f08c Add test for Trac #2632 f8d0b06 Comments only 5e36a28 TFs: Examples for Relaxed Conditions 86f1557 TFs: T2639 f44573e update output (Show Ratio changes) 0233f2a make this test more reliable, and enable threaded2 527d61b add test for #2589 3ab6cf6 add test for #2636 1f170c8 add test for #2685 573b215 Update test output 94ddca4 Wibble to output 4bf46ec Skip 2228 on Windows f051b21 T2688 f4b72c6 T2693 c9ad5dd Add test for data instances that are GADTs 1b37d96 Track error message change in deriving cff7590 Improved error message on data constructor return types 756b618 TFs: 7 tests fail as they used unsupported superclass equalities 881b85f Test Trac #2714 ddb2a3d skip conc069/conc070(ghci) if we have no threaded RTS c3c42c3 Test Trac #2700 259533d Test Trac #2701 259e668 Update output to follow improved error messages for fixity decls 5e4fb4f Test Trac #2713 fe5776b Test Trac #2723 5512c72 Test for existential record update (cf Trac #2595) ee2071f Skip bytestring00{1,4,5} (designed for an earlier version of bytestring) c9e3be7 Omit the profiling ways when running qq005 We'd need to jump through some hoops to run this test the profiling ways, due to the TH use, so for now we just omit them 46791db Skip qq005(hpc) in the 6.10 branch; trac #1779 b5e2abc Add -fno-method-sharing to eyeball/inline1.hs eb1f5f5 Track changes in naming of class dictionaries, coercions etc f419ba5 Expect T2723 to fail in 6.10 3ba4e33 TF_GADT fails in 6.10 8021669 Add 6.10 output for tests gadt11, tcfail155, tcfail176 6012478 We expect tc244 to fail in the 6.10 branch 3166a38 Add GHC 6.10 output for some tests e6166f1 Tests for Trac #2674 7ae888d Test annotations 0197184 Make ann01 not depend on linking order 1de9bc2 Follow improvements in type signatures 011e93b Test Trac #2735 975cb8e extra_clean for T2685 54bee08 extra_clean for rename.prog005 644090f Increase the requirements for the annotations tests from 6.9 to 6.11 d25ec98 Add some 6.10-specific test outputs d33dc99 add a DLL building test (#2745) 1223c38 Add a test that $( (\b -> [| b |]) True ) works 8ec61cd make it so that WAY=profthreaded works 3fff1f0 -package syb is required when linking now that array doesn't depend on syb 0af014d make this test a bit more robust 4bcebea add test for #2783 114a4e1 Follow changes in pragma error reporting. 83eafc4 Add a space leak test, and some infrastructure for checking space usage 1c3974e Don't show whitespace differences when diffing test results d558fdb Add some 6.10-specific output 94bdcb8 small fix to the space-leak testing framework 28c0fcf Test Trac #2799 9eef6f3 add test for #2740 aa54a46 Test Trac #2766 ffe6ae0 Update output to follow :t output formatting change 404c727 Test Trac #2756 709f9d6 Test Trac #2817 c66f537 Simple17 passes 29b0f4e Follow improved error message a4585b2 Clean .exe.manifest files 9a4ffa1 Remove INLINE for recursive function cc1a719 Mark break018 broken (#2845) 83ffee0 Add a test for trac #2847: Parsing OPTIONS_NO_SUCH_PRAGMA pragma 6a3cb69 Add a test that we ignore OPTIONS_HUGS pragmas b3b52ea add test for #2838 9052b85 FIX #1364: added tests for C finalizers. bd40af6 check for valid .prof files when profiling dafa937 test for #2592 51f05d5 Fix this test: it was using a C finalizer that called back into Haskell Which isn't allowed using the ordinary newForeignPtr any more, it has to be done with Foreign.Concurrent.newForeignPtr. a0f8b23 Make the testsuite work with the new build system b9e5a99 break018 is expected to pass again after the INLINE patch rollback 29a8632 fix typo 8647288 Add first test for GHC API features. 3a262a7 Test Trac #2901 14b6090 Track new quotes in error message ebccce1 Test Trac #2851, and update error message for other tests 15bb779 Test for empty type indices (Trac #2888) 151d911 Test Trac #2856 f793789 Use -XImpredicativeTypes instead of -fglasgow-exts 01c01d6 Track error message changes 3de678a Test Trac #2721 897361e Change in error messages 5e7a73c Add comments to a very tricky test 4248971 Test Trac #2756 03440ae add test for #2910; move #1980 into validate 45d6c04 Test Trac #2914 15a27e5 Consistently use GHC_PKG instead of GHC_PKG_INPLACE a2ab554 Remove uses of pwd in favour of abspath e6fc6a9 Remove uses of MKDIRHIER in favour of mkdir 2117cc2 Disentangle the testsuite from the compiler's build system d53431b Better error messages ce40b0d Actually define TEST_HC for the new build system 8b9081b Put the endif's in the right places 5c7ae61 Don't insist on python being in /usr/bin 476e8ef Check that make supports eval 13fef46 When checking programs exists, check prog.exe too b964175 Wibble error message to not confused vim's syntax highlighting 59b5ac4 Add a "show" target f192a25 Look for .exe when looking for the compiler, too cf21985 Fix timeout's clean target b4b5a57 Remove otu-of-date comments 3dc46ba Add clean and distclean targets 07008f0 Remove redundant CLEAN_FILES be7075b Remove target.mk 1207215 Tidy up the Makefile a024c99 Fix hGetLine001 a3b41b7 Fix hGetPosn001 on Windows 8c9ede9 Fix hIsEOF002 on Windows b78e008 Fix hReady001 on Windows 259224e Fix hSeek002 on Windows eed47c2 Fix hSeek003 on Windows 1366b7e Fix ioeGetErrorString001 on Windows c577cdf Fix ioeGetFileName001 on Windows 1a11db6 Fix ioeGetHandle001 on Windows 1751d7b Fix readwrite00[12] on Windows 2ddc5df Make ghciprog004 not rely on $(CC) being correctly defined 34b9c1c Fix rn.prog006 on Windows 9260ce1 Update tests following change to pretty printing Haddock comments 366f6e5 Fix test 2566 in the new build system b0edf85 Add a boot target, and tidy up the Makefile a bit 40d7f27 add boot target to the top-level Makefile; fix boot target in test.mk 87ffd67 mk/test.mk wibble 3e63f64 Tweak top-level Makefile 7c79231 Test Trac #2931 ffdda43 Follow error message change cfaecbd Test Trac #2944 0bb2b53 Don't fail "make clean" becaues GHC etc can't be found 080376c Move the Makefile changes around so they don't cause test failures Our "make clean" detection was causing problems for tests which had their own local clean target. e87b83a update output after changes to ghc-pkg a56435d Canonicalise paths in the testsuite 82de8ca Also canonicalise the install prefix for the timeout program 835cd33 Hack to find gcc for an in-place ghc 0eb5757 Add a GCC hack for the new build system too 293f8b6 Canonicalise the prefix used by test cabal01 6b267cc Normalises slashes in the ghcpkg03 and ghcpkg05 tests be6233f Fix setting the value of config.top 9c9e249 In older compilers, only try to remove the profthreaded way if it exists Otherwise the testsuite driver fails. c6b18fe Add a test for trac #2968: C trigraphs a8152ea Add a test TH_sections for trac #2956 b660643 A better test for whether we have profiling Sigh, another shell command. 1090738 T2723 now passes in the 6.10 branch 23a9002 Test Trac #2985 d0754c9 Add a test for trac #2937 80de94c Add a test for trac #2913 OldException's catch etc should treat new Exception types as DynException's b6a5e94 Tests for DeriveFunctor b75cabf Added tests for Foldable and Traversable deriving 144406f Track precedence parsing error messages a20c22b Test Trac #2993 326e8dd Follow error message changes 15c103f try to make this test more robust 7562713 Do not use System.Process on Posix systems We were using System.Process.Internals, which isn't safe in general. Also, when the child process dies with a signal, we now raise the same signal ourselves. 0694fc7 Add test for Trac #2994 e0de482 Update test results for the 6.10 branch 3b987be update expect_brokens to point to the right tickets 41a173c further fixes to this test 3a9f519 add LANGUAGE c51d6b9 hack to make this test work more often 57eae27 remove -debug; we already have debug and non-debug ways a5c9709 test the work-stealing deque implementation (rts/parallel/WSDeque.c) adb314c Test Trac #3017 1249a89 fix conc018(ghci) 3a49158 Accept saturating Float to Int conversion On SPARC and PPC, double2Int (2^33) does a saturating conversion which results in 2147483647. On i386 it gives -2147483648, but I'm declaring that broken. 1d6db5b Add a test for #3001 4830921 Add another test for trac #3001 2274041 add test for pointer alignment f1dff85 Accept output for changes due to "Do not print anything to stdout when stopping at a breakpoint with custom code" 785c2ea skip testwsdeque if ghc < 6.11 7074a4b Adapt test to use CharRep instead of StringRep deb0083 update output 9e84eb5 Test Trac #3057 681c11d Test Trac #3066 d682411 Add test for #3067: GHCi panics with 'initTc:LIE' while :stepping on code with funny types 7f53870 Fix a framework failure 5d85998 Add a test for trac #2962 080aad2 Add a test for trac #3066 3ec26f9 test alignment guarantees of Foreign.alloca de94089 add test for #2976 c1576eb add test for #2816 48f5fb3 3017 and 3057 fail in the 6.10 branch 723de8b add 'set -e' to catch errors properly f37ce42 unbreak ghcpkg02 d28fa12 enable ghcpkg02 in validate f17d238 Test Trac #3087 c4e36ba Add a test read068 for trac #3079 98b5f02 3087 is expected to fail in the 6.10 branch 5524bc6 Add test for Trac #3092; and follow error message change 51504db Test #3101 and track error message changes 27fe87a Test Trac #3095 0cb80c8 add test018a, a test for #3093 03e02fb Update expected output 83d5669 Enable all these tests for validate 57fca84 Template Haskell: two tests for type families fa0e334 Fix this test (myghc ==> ./myghc) cc4f1a9 Template Haskell: test for equality constraints 4264234 Avoid error message from some shells when cygpath does not exist 15ac71a Don't hardcode sh as the shell, use $(SHELL) instead 487573b Fix trac #3091: the driver was choking on python versions containing letters 9f2a36c Fix a Makefile 92852c7 Output of bits is different in the 6.10 branch In the 6.10 branch, show (toConstr 'A') == "A" while in the HEAD it is "'A'". c5102ac Add a Makefile 10129fe Expect genUpTo to fail in the 6.10 branch 562f339 length001 fails in the 6.10 branch b6ad9d7 Recent TH tests fail in the 6.10 branch f5b87c5 Add 6.10 branch output for rnfail048 efdc6da Fix a framework failure 9d720fb Fix apirecomp001 to work outside a GHC tree b932863 TH: test for pragma support 5334fa6 Template Haskell: Using kinds 4e3058d fix openFile003 on i386/solaris2 by providing appropriate stdout file e94c75a Add tests for Trac #246 and #3126 ac5afe0 Fix num012 on 32-bit platforms round and truncate are undefined if the result would be outside the range of the target type (#1254). 61292cb clean .eventlog files 7973f49 Disable these tests when profilng they would need extra magic, like the TH tests bf81cb8 TH_pragma fails in 6.10 6a0aeca Test Trac #3118 3d7512e Eyeball test for Trac #3116 248918e Test Trac #3106 bbde26b Define and use opts in simple_run in the driver b703efc Re-indent simple_run in the driver abf5514 Rewrite the result testing logic in simple_run 6ed0203 Improve the testsuite driver support for -t stats, and enhance space_leak_001 f432685 Define if_wordsize in the driver 2961830 Define if_not_platform d5999e7 Expand the space_leak expected results to work on more platforms 3836739 Add support for compiler -t stats b3335eb Add a compiler space usage test for trac #1969 a5fa38b Relax the peak_megabytes_allocated requirements for T1969 bc64f55 Update error messages 3eb5711 Test Trac #3155 f673f9c Tell Cabal where hsc2hs; fixes trac #3147 Patch from gwright. b3c9796 print022 does not fail anymore 78d4de7 Make test print022 a bit stronger f2392c6 add test for #3153 a6f45c4 accept output a730391 accept output (#2500 is fixed) b31adce accept output (#2500 is fixed) adb67b4 accept output 7492512 add test for #3166 e9b2dc5 Test Trac #3176 d1bc75c Use a bang pattern when we where/let-bind values with unlifted types 27bf63e Add a test for the first part of #2806 5dc393d Also test the other part of #2806 in tcfail203 89dab97 Tweak the driver so that 2566 passes in teh new build system b03663b Update ghcpkg02 for the new build system 6b920fb add test for 3171 (a test for Ctrl-C!) b917662 add some testing code for HEAP_ALLOCED(), so I don't lose it 8e2b588 add sample output 5fd289c Add an HPC variable, for the location of hpc a690b73 Tell the testsuite driver where hpc is 305292e Update test output, add NoMatchErr 0f727b7 Test Trac #3219 b861c92 Test Trac #1633 f814b72 Follow improvements in kind error messages 72c6f3d make maintainer-clean work 75f721d Add stderr for T1633 877f9c7 add test for #3207 bb1ba4a add test for #3236 66025ff add reqlib('packedstring') 7506f0d bump max bound for 64-bit 462e70c fix skipping of 3171 6ecb912 Fix copy/paste-o 27f97f9 Test Trac #3163 9a7d730 Test Trac #3221 6fcd889 Test Trac #3177 779dda9 Update output 8c4a11c Add a test that -Werror and defaulting warnings work properly e069de6 Add eye-ball test for eta expansion and state hack 6acba8a Test Trac #3013 1c37f73 Add -XDeriveFoldable, -XDeriveTraversable where necessary 5f2dc6e tcfail204 fails (#3261) b789b44 Track error message changes c3b0415 Track improvements in -ddump-splices 9795b63 tcfail204 works now that T3261 is fixed 4aa7d87 Comment only 21bfb8d Track error message changes e2c0678 add test for #3156 943716e Test Trac #3265 ee7de20 bump the threshold for T1969 on x86_64 again 8c86617 Add a test for trac #2806 507517f Update cabal01 output 227075c Use +RTS -V0 when looking at timing information This should make things more deterministic 943cd5c Only run T1969 the 'normal' way 1562b00 Add a test for foreign importing 'gamma' 7e39a73 Remove a comment that GHC_OPTIONS doesn't work in the unicode/1103 test and use OPTIONS_GHC instead of OPTIONS. 05a6511 Try and find a utf8 locale to use In other locales we get some test failures for some ghci unicode tests d4809bd recomp005: update output Two of the modules now get compiled in the opposite order 92f9e98 Add TypeOperators pragma to recomp006 modules 1b856da Look at whether we already have a UTF8 locale, before trying to find one This works around a problem on (old?) Fedora systems, where "locale -a" lists every locale that /might/ exist, rather than only those that /do/ exist. aca63cc Switch from foreign import ccall threadsafe to just safe The 'threadsafe' one is now deprecated. d55028c add test for pretty-printing of [x..y] f19331f Update and add new tests for the Unicode IO library 4bea5bb Add test for #2678 it's a generic test, so I named it after the operation rather than the ticket e8db2e4 add test for #3128 d4528e7 Adjust tcfail141 so it does not import int2Integer# from GHC.Prim Since we're about to remove that primop. Define a version locally (using undefined). It does not have to work since we only need it for its type. 27dd2c4 add test for #3279 and #3288 5d160bb add test for #3132 2095aa1 Don't hide the recomp002 commands when running the test by hand b6711b4 Handle Windows line endings in mk/boilerplate.mk 75e52f5 Handle end-of-line in a way that is also OSX-friendly d6f8abc Adjust for the changed location of gcdInt 1581746 update Windows output 7e8980c hTell001 and hTell002 now pass on Windows 078d4f8 Follow Integer library changes db3dbef make this test less sensitive to file descriptor numbers 66660a5 Test Trac #3262 674f39d Test Trac #3323 3dd7d37 Update output 73fad54 Add test for the new magic treatment of 'seq' in RULES 78c9130 add test for #3319 9437ddf accept output after fixes to FFI declaration pretty-printing be63ee3 Remove hacky GCC setting It isn't necessary now that Cabal can find gcc in the new layout, and it was taking a long time (2.5s on Windows every time you start up make in the testsuite) ef90a1d add readwrite003 (from bug #679) 79b7a9c TFs: nullary families are ok 376902e Track change in record syntax for GADTs 1055776 NonLinearSigErr is actually OK 7bacfb3 Track error message change ebd1736 Test Trac #3342 d09b00a Support for -fwarn-unused-do-bind and -fwarn-wrong-do-bind, as per #3263 dea6db8 Make changes to -fwarn-unused-do-bind and -fwarn-wrong-do-bind suggested by SPJ e7d536d Update cabal01 test for Cabal change 33ea1e2 TFs: T2677 996b809 Tests for unused imports 7703adb disable T3016(profc), gcc takes ages 411ee0e T3016: skip_if_fast, and omit optc too. 39428d8 TFs: fixed should_compile/Simple8 & wibbles 4a2bedf TFs: Added T2203b b29901d Add a test for #1792 333d197 Add a test for #1074 df3adad Test derived Foldable instance f7ad439 add utf8_bom codec f915d8c Update mode001 The earlier of --help and --version now determines the behaviour 835e060 accept output after changes to dfun naming da98c42 Add test for Trac #3346 623f3b7 Add a test for #3055 2723f3c Add a test for #1647 55976aa Test for Trac #3382 9bb8581 Test pattern-match overlap checking for GADTs f1beb47 tc215 works now that Trac #366 is done 94b85f4 Give us some more breathing room in T1969. 7ec428b accept output 03bb465 Follow Integer changes 059783d Use /usr/bin/env to find Python 5e8ff84 Tests for basic TupleSections 1a19250 Tests for unboxed tuple sections f7765c4 Tweak tests for unboxed tuple sections d31d495 Test standalone deriving for GADTs a9c1f57 Follow output f86adf0 fix broken test on Windows 6b871ea Follow output changes (braces in do-notation) 17cba8f Test Trac #3391 8ba8aee add -no-user-package-conf to GHC command lines 261a315 add --no-user-package-conf for ghc-pkg tests 87968d9 Test for make supporting abspath, and fail if it doesn't This fixes problems using GNU make 3.80. 401236e bump limits for T1969 again (it was failing on Windows) fb0080e 2816 is if_platform('i386-unknown-mingw32',expect_broken(3398)) 429e8b9 add test for atomic_inc()/atomic_dec() 91ec889 Update array test outputs 2c38552 Add a test for trac #789 6f54cb9 Remove the DiffArray tests They're now in the diffarray package 1e26522 fix tests after RTS tidyup 9b69276 remove deprecated -#include flag 9964748 Regression test for Trac #2395 d080e4a Test for group being a special_id when TransformListComp is on e44d60e Test Trac #2395 20bcf3d Test Trac #3395 e102f3a Trac change in Template Haskell errors bf510aa Add a test for #3303: multiline deprecated warnings 6129e89 Test Trac #3409 cb36d7d Add a test for #3007 403c8c2 add test for #3429 200e576 Add a test for trac #3286 bd69019 the remaining part of #1548 is now fixed 2663204 add test for an illegal C finalizer callback cefcb84 TFs: test cases for #2767 & #3208 482b6a9 TFs: T3418 6fb20da add threaded2_qw way, which is threaded2 with +RTS -qw 771ae24 accept output dacefa0 Update output 824b080 accept output 1b74da3 follow changes in the base package 17567c3 add the test from #3424 35c85b3 Track wording changes in error messages 337ccb6 Test Trac #3437 75a981a Test Trac #3371 a35144b Add a dynamic hello world test, that gets run during validate 88e3668 Use the dynamic way if we have a dynamic RTS 3adf1c5 Test Trac #3423 19054d3 Test Trac #2850 40abae8 TFs: T3220 6b33ba4 TFs: T3423 was missing -XFlexibleInstances 82d6d5b add extra_clean for T3286 d043132 Test Trac #3406 aea3f4d follow change in Cabal: package -> sourcePackageId bcd2e98 update ghc-pkg tests following the addition of installedPackageId 4f88d70 fix a bug: the sequence was incorrect, rather than incomplete 7924cfb follow changes from #3310 e3aed8a T3391: omit profc, profasm 0c2b9c0 Use a stable ordering of the export list 84e2e87 omit prof ways for ffi020 df8254d accept output 5e55ba3 omit various non-optimised ways for space_leak_001 f023ba3 tweak the values on x86-64/Linux (max_bytes_used improved) 43e7238 Test Trac #3468 d93e635 Test Trac #3403 e9925be add a test for package shadowing c0b7835 accept output 7893fd9 expect_broken(3498): unicode output doesn't work on Windows (yet) 69e6b24 Make this test a little more stable 38cfe22 update tests following package-related changes in GHC/ghc-pkg 0072a61 Add output for T3403 6bd6c19 Test Trac #3467 47a09b8 Add test for empty data declarations 0734672 Update output ad4e1fd Track changes in error message format (TH related) 8d571cb Follow TH changes 86fbc4a Test nested splices: TH_NestedSplices 80422a3 accept output 74ee94e make this test more robust, don't depend on the format of package.conf 053ac30 Update tests to not rely on -fglasgow-exts c3fbb44 Use +RTS -I0.1 -RTS for ghci tests Now that GHCi has a longer default idle GC time 79c292c remove -fglasgow-exts 5268346 update to not require -fglasgow-exts 0ea8608 add a test for the NCG space leak I found while looking at #3294 9326712 use "ghc-pkg init" to create databases, and update test output da0dd2b accept output 341de4f Fix runtests.py for Python 2.6.1 - This is the version of Python that comes with Snow Leopard 9e75b25 expand the test for shadowing to include overriding with -package-id 18781c8 add test for #2881 7363d20 arith008(dyn) and arith012(dyn) are expected failures on x86 ecbfc39 Tweak T2378 to not need syb 7152f59 Tweak T2394 to not need syb 444e35d Tweak T2573 to not need syb 3a50f4a T3087 need syb 6c97609 Move syb tests from the testsuite repo to the syb repo 65acd64 Tweak deriving-1935 to not need syb 8348016 drvrun022 needs syb 4d842e7 Tweak ds055 to not need syb 357b534 tc191 and tc220 need syb 9a0de32 Tweak tcfail163 to not need syb f851958 tweak acceptable limits for T3294 5159d0e wibbles to setting LC_ALL, trying to fix buildbot test failures c2dccc2 tweak the boundaries for T1969 (we got better) 9f357f3 Test Trac #3540 5891a00 Track error message changes 2548040 Update tests; ghc is a bit more consistent about flags 68b297b Tweak tcrun007 to not depend on syb 1f18c17 Fix #3551: conc0{69,70} should be skipped when -threaded is not available 7ef873b the threaded2 way tests event logging too 04edf89 Add a test for shadowing/overlapping packages with Cabal 1a74182 tidy up aca9884 Test -XExplicitForALl 1e358e5 tweak T1969 values on x86-64 14a2201 Remove old build system support from the testsuite makefiles 05867fa Drop "NEW_BUILD_SYSTEM_" prefix on Makefile variable names a8c6f7a Tell the testsuite driver about the bindisttest GHC location e93c500 T1074 needs mtl 94b2161 Fix the Windows detection in the testsuite Makefiles We need to look at "ghc +RTS --info", not "ghc --info". 7b96dcf ghc is "ghc.exe", not "ghc", on Windows 4144207 Fixes for paths containing spaces 47f234c Fixes for spaces in paths 04a8806 Switch back to a BIN_ROOT definition that works on all platforms provided there are no spaces in the path 52f1b64 Add some diagnostics to timeout b3c27bc Fix the config.timeout setting 501d458 Define BIN_ROOT in a way that works if the path contains spaces dd5802c Fix quoting in the testsuite timeout program's Makefile ca5006e add test program from #3561 3276f6f add test for #3579 6491132 might as well make the finalizer do a callback to make the test more interesting 0e6382a add a test for foreign import '&foo' with GHCi 77bd4d3 re-enable ffi005 with the non-portable bits removed 20bc50b Test Trac #3572 9cd66e6 Test Trac #3263 66dfea9 tcfail188 compiles fine, now that Trac #959 is fixed 365105d add classes of ways: prof_ways and threaded_ways 9c1047a omit prof ways for ffi005 b088f0f Test Trac #3600 b1e291d Adapt test to avoid uniquies 1e29f07 renamed prof_ways -> extra_prof_ways to avoid clash 4fb93d6 Test Trac #3591 bf79026 Add more quoting for paths with spaces 3bdc27c Fix more path quoting bcdf3c5 Quoting fix 3d3a306 Always use / to join paths; stops "make -C .\ clean" being misparsed 34c8493 Quoting fixes fa94d46 Normalise slashes 910fa59 Quoting fixes f4cf5ca More quoting fixes a138c04 Complete timeout.py's unix support 9967407 Always use the python timeout program on non-Windows Use a python timeout program, so that we don't have to worry about whether or not the compiler we're testing has built the timeout program correctly c6528f5 Test Trac #3590 5fb7e9e Update test so it does not use Control.Monad.Reader 40c0db6 Add missing stdout file for T3591 e743ac3 Update tests following deprecating mdo 2ef7693 Add test for 'rec' in do blocks 5a7ebf2 Track changes arising from improved location info in list comprehensions 28c7e2c Test Trac #3613, and track error message change e9b3d6c Don't use threads on Windows It seems to cause some sort of deadlock 959c5d4 Add undecidable instance test 6b8a32d Add stderr files for depreceated-mdo warnings d6cd3f2 Update tests for INLINE patch d859bd8 Add test for Trac #3621 457a780 Add -fno-warn-deprecated-flags to tests involving -XImpredicativeTypes 4cfd5f2 Track change in how LANGUAGE-pragma errors are reported c7756ea Only run T3294 if we have an NCG (#3548) 6dde0b3 add a test for single-stepping over getArgs 34341b5 add config.have_shared_libs 51f8bbe add test for #3604 (template-haskell + -dynamic) 8ef5a4f Add test for Trac #1735 3e8a6a2 Test Trac #3234 (foldr/single rule) dad7ae6 Add source file for T3234 88c8801 The bindisttest GHC is now always in the same directory We therefore don't have to try to work out if we are on Windows or not in order to find it. 7e2609cf Fix the code to append .exe to program paths 1514856 Fix quoting in the 3171 test 3fdf676 Track changes in duplicate/shadowed errors 8ddad5b Add test for Trac #3640 ee6fc80 Fix finding GHC on cygwin f0926d7 Track trace output b90ca73 add test for #3624 36a7d3e Fix setting of utf8 locale on Mac OS X 9704ea8 Add coercion test for PushC rule d8dd521 Rearrange perf-related tests 9791a7e add test for #3586 (newArray performance) fb845aa fix framework failure be052a2 Test for higher rank rules b0271b1 Accept wobbles in error messages c5374d2 Bump the ulimits for outofmem/outofmem2 They just started failing on x86-64/Linux here, no idea why. 58443a8 add missing files bbdeaf3 accept output a359e3b make this test do what it was supposed to do 1d792d0 accept output (for the time being) the test output has changed due to differences in the compiled code for GHC.IO.Exception.ioError. 0c5ca7c add a test for #3633 ee961e5 Tweak testsuite results for 6.12 branch 94d8c6d Make test 1959 tell us what's going on 50914a3 Fix test 1959 e337ffd Make test 1959 even more informative when run by hand 98ec6b9 Follow changes in ghci011 0fb72c5 Follow changes in tcfail073 90e9934 grab the target architecture from GHC, and add an if_arch() test 05a2f49 ffi005: run only the via-C way on x86 platforms due to 80-bit vs. 64-bit precision leading to floating point differences when using the native code generator. -fvia-C uses the -ffloat-store gcc sledgehammer to avoid this. a619390 add 32-bit output 2a11cb6 rtsflags001: run only the normal way ee0ed3e Follow column number changes in tcfail 67b07e7 Follow column number changes in parser/should_fail 0ec5c97 Follow column number changes in rename/should_fail 559d51c Follow column number changes in module 1c91021 Follow column number changes in deriving/should_fail ed1eba1 Follow column number changes in indexed-types/should_fail ad0eb81 Follow column number changes 8788566 Accept changes in break016 and break020 5f72509 Follow column number changes in the break016 script 59d18c3 Quoting fixes be0b079 Remove some @s from a Makefile 270545d Follow column number changes e85a253 Add some tests for error positions ecea053 Follow column number changes now that SrcLoc knows how tabs work 4549b9c Gather all tests at once, rather than doing them directory by directory This increases the parallelism possible, and allows us to track what progress we are making. ca10316 Print out how many tests we have done and the total when we run a test This isn't perfect, as it doesn't account for tests that will be skipped in the total. But that's hard to work out, as we might skip a test in only some ways and we currently don't work out which ways to run it until later, so I think this is good enough for now. cfe12f5 Make the driver/ tests declare themselves 'alone' individually This way we can fix them one by one 9ded076 Make driver011 parallelisable c5b9f68 Make driver012 parallelisable 0872866 Make driver013 parallelisable 7a7891e Make driver014 and driver015 parallelisable d3569a4 Make driver016 parallelisable 8acba77 Make driver017 parallelisable 82a0f95 Make driver018* parallelisable 441fda2 Make driver019 parallelisable 747d3c3 Make driver024 parallelisable bffaef9 Make driver021 parallelisable 725b0d7 Make driver022 and driver023 parallelisable 53e9fa3 Make driver024a parallelisable e2d56f8 Make driver025 parallelisable c7ea836 Make driver026 parallelisable db1b570 Make driver027 parallelisable 15a12a3 Make driver028 parallelisable bbc3331 Make driver031 parallelisable 6c5887a Make driver032 and driver033 parallelisable 20b46ed Make driver034 parallelisable f7088fc Make driver035 parallelisable 09bf0dd Make driver041 parallelisable bd41e1a Add some extra cleaning for driver033 ccff779 Make driver042 parallelisable c4fcb8d Make driver043 parallelisable 914ab5c Make driver044 parallelisable fd737a7 Make driver045 parallelisable 19b034b Make driver051 parallelisable f61f7eb Make driver052 parallelisable 568195a Make driver053 parallelisable f04a8f6 Make driver060 parallelisable c504e84 Make driver061* parallelisable 96c2a6a Make driver062* parallelisable 5601d78 Remove some unnecessary 'alone' calls 8f7adf7 Make more driver tests parallelisable dbe214a Make driver063 parallelisable 2717e12 Make driver080 parallelisable e385513 driver100 doesn't need to be run alone af52dc7 Make driver081* parallelisable 9e4e1e2 Remove now-unused cleanall function 3e683be Make 2566 parallelisable da386d2 Make driver200 parallelisable 73557b0 Make bug1465 use a local package.conf Eliminates random failures when it runs in parallel with other tests 6ba2f7a Make 1372 use a local package database Eliminates random failures when it's run in parallel with other tests f355745 Make more cabal tests run 'alone' 5d77309 ghcpkg01: Follow Cabal changes e0a6b89 Refactor the cabal03 test 85f014b Add a missing package-db flag from cabal03 3cb583d Tweak cabal03 test 0d9fc0a In cabal03, don't register --inplace This means it ignores the package database we tell it to use. Instead, do a normal register, but pass --force so it doesn't fail due to missing files. 657d5b5 Fix cabal03 46d7964 add a test for #3677 8029440 add a test for #414 b7cbd55 fix driver033 0125c53 Test Trac #3100 5d1f042 Add test for a loop in the simplifier c4a8f62 Accept output for break020 It now gets the columns right for the highlighting 4b1b243 Accept column change output in break021 44147c7 Add a test for the difference between the H98 and the alternative layout rules d110b0e Add another layout test 9e12080 Add another layout rule test 9fcf729 Add another layout test d9544b6 Add another layout test 44e336d Add another layout test 8282528 Test Trac #3012 b40cb71 Track error message changes for deriving edaee9f Add output for T3102 bd7a1a1 accept output 3354a33 accept output (column numbers) 2a6e1e0 Fix typos 3241528 Fix quoting, and add some sanity checking 67885b3 update expected value comments 6b0b198 add test for #3741 2f0432d add test for #3742 67a9cc8 use a smaller stack limit for conc012(ghci) 8b733de Decouple ghcpkg02 from the GHC build tree 3cca461 Tweak rule2 test and accept output The test now suppresses uniques to avoid spurious changes in the output 1776ed4 Accept output for T2486 51a66fc Tweak T3234 test and accept output The test now suppresses uniques to avoid spurious changes in the output fb17b35 Add test for type families, discovered by Roman 20c9800 Test Trac #3717 91abb98 Add test for applying specialisations inside InlineRules 0219870 Update output 3688af8 Remove a test for GHC < 6.11 d5d04c8 Allow tests to behave differently depending on whether the compiler is in-tree And skip testwsdeque if it is not in-tree, as we rely on some headers from the build tree. 0902adc Fix driver016,driver019,driver028 5a03565 Remove no-longer-used files e7841b8 Add pre-command support to the testsuite, and fix annrun01 by using it cc4a5ce Fix cleaning annrun01 1da0248 Remove debugging print d48cf60 Add clean_cmd to the testsuite, and use it in bug1465 8a7aa2f Remove unused clean_o_hi function db3898d Refactor the cleaning code c7b4f36 Add some more clean_cmd's 6436bdd Add you more clean_cmd's 3bd037a Fix broken python syntax af30b58 add test for #3751 4a23292 accept output (better SrcLocs for lexer errors) f2e474e Add test for Trac #3245 60cdd53 Test Trac #3776 942b156 Check for duplicate test names, and report them as framework failures 8ab1e20 Give more info in the testsuite output 93f98d2 Fix some test name collisions 017d8c7 Fix some test name collisions e2c5f15 Fix some test name collisions 645992e Fix some test naem collisions 58e9801 Fix some test name collisions 74a9a39 Fix some test name collisions 7ce623c typo 22a250d Fix a test name collision 49b5792 Fix some test name collisions 4abd32a Fix some test name collisions d79cce0 Fix quoting for the apirecomp001 test 7f09f0f Add some hsc2hs tests 5ddb795 T1969: drop lower bound for max_bytes_used on x86/Linux 698110d Add test for Trac #3772 808495a Accept output 4ca70ce Add test Trac #3731 e494e87 Complete test Trac #3772 a43304f Accept specialised function argument order change 511dd7d Test Trac #3792 c3d8979 Use "test -x" rather than "test -e"; fixes trac #3778 Solaris doesn't support -e 059a8ce Follow more-accurate spans in error messages 99307f8 Improved "Invalid type signature" message 28c78c6 Change debug print format eb38dc6 Add missing T3772_A.hs 0928752 Always define IN_TREE_COMPILER in mk/boilerplate.mk There was one path in which it was not being set. 0a71f99 Improve the handling of TEST_HC We now accept TEST_HC=ghc as well as TEST_HC=/usr/bin/ghc The code is also a little more correct, as it will now actually canonicalise the value of TEST_HC if it is given on the commandline. 8f2e6d2 fix cleaning in cabal03/cabal04 cec3a49 Add a layout rule test aea6134 Add a layout test fbf9318 Track error message change 25414b7 FIX #2615 (linker scripts in .so files) This is the regression test for FIX #2615 (linker scripts in .so files). 94c4723 Tweak the T2615 test 3cdc7ab OS X doesn't seem to support linker scripts 6ed70ce add test for #3832 b80c6b7 Add a test for #3823 0ebe481 Expect T3823 to fail to compile f565ffd Update column numbers for the HEAD 5ac3989 add test for #2464 41f0120 add test for #3674 58d1d3a Add tests for trac #3833 and #3834 3b4037c Update column numbers for the HEAD 10323c4 Add a test for trac #3813 07a7606 Test Trac #3831: SpecConstr blowup 547bbb8 accept output (#3848) cbf875e Fix test T3831, and change to Unix coding 6043629 Add quasi-quote test for declaration and type quotes ec07e1f New syntax for quasi-quotes, and record field names for QuasiQuoter type 1df10fb Fewer parens when printing HsPat 4ca2102 Test Trac #3845 6af7396 add test for #3676 adcdda6 add a test for a bug in noDuplicate# 04c3e51 enable the asm ways for ffi009 on i386 if -msse2 is available 178fb5e Add a test for recompilation when a package version changes 8628318 omit profilng ways 8ccbf64 omit via-C ways for this test, gcc takes too long 05965f6 disable annrun01(dyn) (see comments) 54901b8 expect_broken(3676) 34822e0 Add DPH quickhull test d69fc62 Add quickhull test output ed89767 arith012, arith008: use -msse2 on i386 if available f44926c Add DPH dotp test be68165 Prefix dph tests with 'dph-' to avoid name conflicts 4aa4c53 In dph-dotp, compare with result computed via regular list fns. 40c8c75 Add DPH primes test b7dbdfa Add DPH smvm test 3ac88b9 Add missing Makefiles 2e5fb1a Add DPH solution for 1st Euler problem 6f29f2e add test for GHC.Exts.traceEvent (#3874) 409e4d9 Add a test for #2578 53c283e Add DPH solution for 108th Euler problem 6e261fc Add x86_64 specific version of smvm test data 2e9ec62 Add sparc specific version of smvm test data 5756824 Track changes in pretty-printing of IfacePrag 5c8d037 Track extra suggestion in newtype deriving (cf Trac #3888) 942f9df omit profiling ways for traceEvent 53bed04 A missing change from the InlinePrag pretty-print change 8f8065d Add a layout test 564bc41 Update layout tests b8cad05 Add test for Trac #3901 9c0646e Add test for Trac #3899 a9e79fe Track change in -dsuppress-unique printing for TH a7900cf Track improvements in pretty-printing for group-by, order-by 192b291 Fix detection of whether we have profiling libs It broke when the installation path contained a space 27c239a Fix running hp2ps in a directory containing spaces e52a76d Add test for Trac #1954 286dc0a Track change in printing of Activations 5010397 Add some tortuous throwTo tests 8778f53 do the throwto tests in a validate run b75b809 Add a test for en/disabling RTS options 1046b79 Add a test for -with-rtsopts d1b4607 Always use -rtsopts when compiling things with GHC dfd88b8 Update the rtsOpts test now that RTS options are off by default 51a49ae Use -rtsopts for the outofmem2 test 62d5a1f Update rtsOpts output b30df6e Add dph-words test I've only set this to run with the "normal" way atm because it takes about 1.5 min to compile on my machine. SpecConstr blows out the size of the core program to about 400k, which is probably a good enough reason to have it in the testsuite. 21271c6 Add test for Trac #3920 4994bdf Accept change in inline pragma format 3b1aa30 The T2267 test needs utf8-string 7222ae7 Mark hsc2hs001 and hsc2hs002 broken on Windows (#3929) 9bf0034 Use the UTF8 codepage when running on Windows Fixes openTempFile001 for some system codepages, most notably 437 (US). 37a4380 2302 now passes on Windows, presumably due to the codepage change a464591 2816 now passes on Windows, presumably due to the codepage change 60fe941 Fix the cabal04 test on Windows 4a243ef dynHelloWorld currently fails on Windows; trac #3861 a18dec3 print021 now passes on Windows, presumably due to the codepage change 227af63 we should be testing $(TEST_HC), not simply 'ghc' c28bd0f update to work with parallel-2 bc6f62f not broken any more: the new Strategies library fixed it e2c3c22 Run this test the threaded2 way only It seems to be scheduling sensitive, and sometimes diverges when given only one core. 729c996 Fix running the testsuite on msys I'm not entirely sure if the cygwin code is actually right (i.e. I'm not sure what calling convention it uses), but it seems to work. c3b2f66 Use ${PYTHON} instead of relying on #!/usr/bin/env python 6fc2d9d Fix quoting in Makefile 52615c0 Tests for spelling correction for LANGUAGE pragmas 129c4bd Add test for Trac #3950 e6fd476 Add test for Trac #3943 12ba411 avoid spurious extra output bb9eb7f Remove -fno-code in various places These tests were relying on the old behaviour of -fno-code, and work just fine without it. b19322b TH_pragma: remove superfluous -S, which now breaks the test e40bba0 ffi002: work around dependence on old cmd line semantics f1fb386 Fix the ffi002 test fa6d8ee Make the dynlib tests work on Windows 690dd9b Fix the shared001 test 2532b9e Fix running dyn tests on OS X 829aed1 Updating expected output of spec-inline test. 4a57a00 Fix creation of Config.hs in annrun01; fixes #4033 4cdd699 test hGetBufSome 7971933 add test for #4030 5b93bb2 fix conc059 7f256c4 add a test for #3890 877d882 Test Trac #3955 068529d Tidy up tcfail145 a little 007a284 Accept output e7e3026 Modify test slightly 9a39fb5 Test Trac #4042 4e4f631 Modify test slightly fefe9f9 Fix quoting in mod175 27d71dc Make tc212 actually need a specialize pragma 39a6be6 add sample output 19b95dd Remove invalid UNPACK pragma f24c4ba add test for #4051 be4e8de add test for #4066 7e774f0 Add a test for #4059 8642827 Add a test for #4003 38c12b7 Add stderr file for T3953 54e9d20 Test Trac #3955 37a94b7 Test Trac #3965 b9779d2 Test Trac #3964 76230cf Add test for trac '3953 c43d15c add test for #4078 586fd40 update expected values for x86/Windows 3671bf3 update expected values for x86_64/Linux e1820f3 Move the ctypes import in the driver The import is failing on sparky, and we only use it on Windows anyway, so move it inside an "if windows". 1898f71 Fix the pkg02 test to not depend on the network package 4d6aba8 expand the shadow test a bit to cover #4072 310e46e Test Trac #3966 a0dafb9 Test Trac #4087 ed0350e Test Trac #4056 b8d3178 Test Trac #4015 c9a3f1a Accept output 2fb8e8c Add an indexed types performance test 335bc71 Remove duplicate T3955 test 01ca9e2 hGetBufSome comes from System.IO now. bf8c6c7 ffi005 is broken on OSX (#4105) c34aea9 Add a test for #3911 312c6d5 Update error messages for printing singleton contexts 904a077 Follow change in random library 15c61e0 Follow changes in ghc-pkg output 81854cf Fix apirecomp001 on cygwin f3ad3d5 Fix recomp007 on Windows f3c2c54 Fix quoting in recomp007 39fa440 Add a test for #4113 4761aff Fix T4113 on Windows ec93a15 Track changes to type error messages 21e1202 Test Trac #4127 a459e66 Use -fno-warn-deprecated-flags in the optc and profc ways as they use the -fvia-C flag, which is deprecated 27818a9 Add -fno-warn-deprecated-flags to tests that use -fvia-C / -C 5105596 Update following fixes for #4104 and #4134 504e4c0 add test for #4038 6fd4c3b Add a test for #3822 583faf7 trac #1789 (tests for missing import lists) 1f65432 More #1789 tests 9cc4bee Add new llvm ways (llvm, optllvm) to testsuite 5d6014f Fix quoting in TH_recompile 934a3a2 Add Windows output for ghcpkg03 5104d7d Add Windows output for ghcpkg05 e5f10d9 Fix 4038 test on Windows; it needs a larger C stack b4e91eb Add a test for #3389 17298c1 T3389 is broken fad0ed0 Add a test for #3449 2874642 For #3389, use -optP -C manually c2541cd Add a test for #3364 085798c Expect length001 to fail for llvm way. e73604d Omit optllvm way for derefnull test d809e13 add a test for #4144 35d96ef Skip some tests the optc/profc ways Rather than tweaking the GHC flags to get the test to pass, just skip them for the deprecated ways. This'll also make it easier to discover the workarounds and remove them once the ways are removed. 5489321 hReady002: omit ghci way f5c10be ghci script for trac #2362 1cd0ad3 cg003: remove -fvia-C 4f6d4e7 T1969, T3294: widen the limits on Windows e488e6b add/modify tests for new async exceptions API f6dd83c Test the second bug reported in Trac #4127 f6b121a Add a RelaxedPolyRec test 4f105dc Improve test 18fc100 Add test for Trac #4136 685565b Retab the dph .T files 0f427aa Run the dph tests alone They use a lot of RAM 5fe92ca lower bound for T3294 on x86_64/Linux 51e63f5 move to parallel package c6d49db add test for numSparks 9b08e17 Update error output 00f202f Add test for Trac #4188 b889b51 Add read065 stderr now that NewQualifiedOperators is deprecated 94a4fd1 fromdos ghci023.script 0fe295d Skip the dph tests when running the fast testsuite These 7 tests were taking almost half the testsuite time f28d39e tcfail126: accept output a505ee5 tcfail144 only fails in H98 mode f2d5eae Add a test for #4150 9c3988a Fix some tests now H2010 is the default a1e0ee6 The rebindable tests use NPlusKPatterns fbfbb2b Remove n+k pattern from readFail001 24a54db readFail035 assumes Haskell98 7d16f27 Remove n+k pattern from cgrun058 d7f3d04 ds020 uses NPlusKPatterns ec5aec4 Fix ds tests that use NPlusKPatterns ca2a198 Fix a couple more tests now H2010 is the default d691ed5 Fix the apirecomp001 test; it needs to flatten the flags now 033a505 Skip the via-C ways for read065 We get spurious failures due to deprecation messages ac0c554 Fix more tests now H2010 is default d390003 Tests for trac#1344 1087a6b Add a test for trac #4233 51b7e92 Add a test for #4239 cbff4bc Add a test for #4240 ce62d56 Update rtsOpts test 76e8805 Update output now ghci module-loading output goes to stdout 27d3d60 Remove some errmsg normalisation (removing paths from filenames) This wasn't needed, but was breaking "data/newtype" in an error message 4db47d8 Add a couple of tests for #3811 629c7c9 Add DoAndIfThenElse tests 6c9d25b Update output for error message changes 891b5aa update test output (compilation messages now go to stdout) e165d82 add test for #4221 96a5e89 Update output following parser error improvements b8260af Add more parse error tests for #3811 d452fed remove a non-deterministic part of the output 38ad732 add missing output files 2b9b807 T3822(ghci) is broken due to #1333 58f915d update output (Windows) 3c5d78b fix expected values (Windows) c24ca8c expect conc016(threaded2) to fail e2ce037 missed part of the patch to add #4221 test a68150b Test Trac #4220 d6260b6 Test Trac #4203 cc6fc94 Modify Trac #4233 tests 5b2aab2 Test Trac #469 d1e0ccc Add test for Trac #4099 ce0d148 Fix cabal01 so that it works even if your local package database is faulty 2ad9cc9 Accept output 6f3fc74 Test Trac #4120 2baf8aa Test Trac #3983 ccf2650 Test Trac #3959 60e4554 update output 34eb1bf make this test a little more robust e3d2e73 Add a test for #3807: shared library generation 42c675f T3807 can't be run on Windows, and fails on OS X (#4264) f454070 another attempt to make the test more robust ca9b704 Enable the optllvm way if llvmc is found f237fe9 Fix "/bin/sh: llvmc: command not found" noise when running testsuite This also made the "run_command $MAKE" tests fail, as they were also sending this to stderr. a229e80 Make a "fast" way for the dph tests so we can still run them during validate Setting -fno-rewrite-rules means we still test out the vectoriser, but don't spend ages optimising the generated core code. 6c0be53 update test for containers-0.4 e6585ca fix enum04 - it is no longer an expected failure 02e5168 remove enum04 06d42f0 add a test to catch over-allocation in lazy bytestrings 4aad487 Update output c40809d Add test from ghc-users mailing list about GADTs 61fef43 Update error messages for new typechecker e60303b Make tc159 (generalised newtype deriving) into a runnable test 6ed8697 Add a type signature in the test 3888ddc Add type signature for top-level error c774968 Comments only e3dc5c6 test wibbles cc76525 Add test for Trac #4235 035d2a9 Accept output 316afaf Update deriving test for type families/gadts 6a4eb29 More update to deriving a897ab8 Accept output d88b0b6 Accept changes 2bc6455 Comments 7b207cb More wibbles 109c5c0 GADT12 passes now 1897f97 Impredicative breakage 81c20b8 Cant unify under an implication 705152f Two expected breakages edf395e Can't do type-function equalities under forall bdb48a6 Comments only 95a2753 Accept error message change a8ad539 Expected breakages 46394ae Impredicative breakage 8bae12e tc216 fails now (fundep divergence) 83c60bb Accept output 762c286 simpl017 should fail (impredicative) d07507d Accept output 40f9546 Monster patch of testsuite changes with the new typechecker 80685f8 Update output c50f456 Add missing simpl017.stderr 7b5674c Add test for Trac #4302 26159e9 Test Trac #4306 322885c Accept changes (some tests now work) 636c986 Error message wibbles 9868542 Add comment c8bbc83 Add a syb-like test ce40c02 Add test for Trac #4246 1e920ad speedup testsuite driver startup on Windows/OSX Instead of calling "ghc-pkg list" and "ghc-pkg field" for each package, call "ghc-pkg dump" and grep the output. Saves a few seconds on Windows for 'make TEST=foo'. 51da30f Accept error message changes 131987a Test instance reification (Trac #1835) 9ca9712 Update for TH instance reification 3372095 Test for Trac #4240 works now 0cb1b0e Test Trac #4201 (eta reduction) 40b606f Test Trac #4093 bf66c30 Test Trac #3787 b953920 Test Trac #2683 96833f5 T3787 should pass df8ed7e Add tests for T3330 48d5e11 Add test for Trac #4160 168b8f1 Make these typechecker tests run in the optimised way too 1363ab4 Accept error message changes 625cb2e Add two implicit-parameter tests f658f05 Remove spurious "rm -f"s 081d7ce Add a test for #3972 bfe332e Add a test for #4325 f51d12b Trac #4235 works now ea7c3e2 Test Trac #3826 cb76676 Accept improved error message 0cd2b1d Add tests for Trac 4179, 4254 6042fbb Change in error message wording ed7913d Changed error message wording db327f6 Add test for Trac #3696 489f296 Test Trac #1123 5e9a571 Add tests for Trac #3851, 4200, 3692, 3500 e507a75 Tests for Trac #700, 2239 5520f79 when calling ghc-pkg for reqlib(), add --no-user-package-conf 3870919 Test Trac #4178 454f6d4 Accept test output 9b83aec Add four tests aed96e5 fix hClose002 test output on i386-solaris2 platform 25d812a Remove some handling for GHC < 6.9 82aa866 Remove a GHC < 6.11 test 27df8a6 Add an if_compiler_profiled helper and use it to skip the th, ghci and debugger tests when GHC is profiled. a5adc77 Remove a GHC < 6.11 test 0ff83b1 Remove a GHC < 6.11 test 71c1833 Remove a GHC < 6.11 test 9fd203a Skip some more tests when the compiler is profiled d1a5be8 Add a test for #4255: can't use TH with a profiled compiler 070a7cd Fix a couple of framework errors 76976e3 Test Trac #2193 3281a6d Impredicative types no longer deprecated 3587fff Update output: OPTIONS -> OPTIONS_GHC 75f975b Accept (better) output e43f7ed simplrun006, which is a CSE test is broken again 33c1db1 Add a test for #4321 26584c3 Fix reading the --info outputs on Windows 0acf7d1 add test for #4274 8b4be55 comment including ticket no. for #4274 test 0eff684 Pass OUTPUT_SUMMARY on to the testsuite driver 03985b3 run stdcall tests on non-Windows platforms too (#3336) 950116d accept output (:show packages) f8935df T4321: use -msse2 to get reproducible floating-point results on x86 6234e1d update output (-fwarn-tabs) 9994dad Test Trac #4371 b45feda Accept changes 08e0fa5 Accept error message changes b8e1444 Accept output 4355297 Add tests for Trac #4345 and #4361 b6c2bfe Accept output b66f64f Test Trac #4355 c54b384 Add mtl dependency for T4355 811690f Test Trac #4358 22535fa Update tests now -fglasgow-exts is deprecated 1ecb52f Remove more -fglasgow-exts uses from tests 27dc436 Add a MAkefile 7e19c45 Remove more -fglasgow-exts uses from tests bd5fdf0 Tweak tests 877b420 Fix cc004 93c94f6 Add -ignore-dot-ghci to a ghci test 41b7552 Add tests for interruptible FFI annotation d58ee91 fix expected output 5a1f810 add test for #4381 eabdad3 omit conc068(threaded2), it is non-deterministic 9b9226d need MagicHash 0e04e0b gadt2 needs ExplicitForall 5f0fb8f Nilsson needs ScopedTypeVariables a7bd8df accept output (InlPrag no longer has sat-args for NOINLINE) 5fa0704 Test Trac #1634 4bfa371 Add a test for -fno-ghci-sandbox 9268e0b Add a test for #4401 12bf683 Add a test for #4404 458c134 Add a test for #3651 4bb4c08 Replace the test for #3731 The old test was broken. The new one is from teh ticket, merged into one file and cut down. 4214797 FIX #4409 Now needs the NPlusKPatterns extension. f4f61e4 Fix dph-smvm, follows move to Data.Vector c749fcc Add a test for SCCs being correctly generated eb751c0 scc001 is broken (#4414) 654bac4 Test Trac #3023 2661597 Roll back bogus changes to debugger output d1a9147 Trac 3651 works c1eb4b0 Debugger improvements 3be5704 Test Trac #3023 and 4358 ee9fe3d Accept changes dcbba88 add HasKey test eb07a21 Accept output c2b61cd Accept output 306dd0d GHC 7.0 now rejects superclass equalities (rather than behaving inconsistently) a41da5a T3651 isn't in this directory! It's in gadt/ 73f2464 Update output f1564fa Add test for Trac #4418 b275026 add test for #4334 (space leak in Data.List.lines) 01d525a Add tests for view patterns in template haskell (Trac #2399) 27ec50d Test Trac #4398 eb699fb Follow warning message change 644e5d9 Add test for Trac #4356 34d3bca trac #836 tests 0d8e310 Use the RebindableSyntax flag, not NoImplicitPrelude 94651af Follow test output changes ede3466 Add a performance test for #3736 ee75b9e Add a performance test for #3738 b8dc00a Follow GHC.Bool/GHC.Types merge e7eda10 Add a performance test for #3064 585643f T3064 allocates less in the stable branch 2859077 Give break007 its own copy of Test3.hs It compiles it, so it can cause problems with other tests if it shares the same source, as they get confused by object files appearing and disappearing. 2470c32 Test Trac #3638 ac3877c Add tests for Trac #4436, #4439 7fc1604 Add a test for #4437 (check all the GHC extensions are registered with Cabal) 22c2038 add test for #1666 b1f70eb accept output (more warnings) c833fdc accept output (some re-ordering in error messages) e53cf24 Add method-sharing test fc898b0 Add a test for trac #4444 323c292 Add a test for #2846 9351cdf Follow change in typechecker error messages d7304d8 Comments only 845aff2 Add test for Trac #3440 2b6b2a7 Add a test for returning memory to the OS 5695c1a Add 'unless_os' testlib helper 5bbc839 Add a test for #4464: -rtsopts and dynamic libraries 15353f8 Add test for Trac #4492 a4d9a40 Test Trac #4484 be72302 Test "frozen" type errors 42a4a85 Follow error message changes with new typechecker cd9e8ad More LANGUAGE BangPatterns db74f97 Lower the bounds for T3064 GHC is now more efficient; hurrah! 71de40c Update 32-bit memory usage for T3064, following GHC space improvement f911d4b Add 32-bit memory usage figures for MethSharing 02ed46a Add 32-bit memory usage numbers for T3738 7d9eae0 Add a framework test for the package cache file being modified Tests shouldn't touch the compiler's package database 582f85a Use a local database for cabal01 b8033cc Test Trac #4494 ce026bc Add test for Trac #4485 e1d9ee1 Test Snoyman's emailed data family deriving program d6bc56c Test Trac #4174 4cba029 Add tests for deriving Typable on data families 850e09e Test Trac #4489 f53b2d9 Test Trac #4488 9497869 -fwarn-identities doesn't test for fromInteger and fromRational 5a37330 Improved warning 55fe19b Reworded error message, and slightly fewer -fwarn-lazy-unlifted-bindings warnings 1a3364b Test Trac #4498 a9535df Test Trac #4497 285414f Follow error message change (Trac #4499) 9a1b350 Fix 7.0-branch testsuite behaviour f93b31d Remove special results for old GHC versions 0b0e489 Remove old stdout/stderr files for old GHCs fc8ecf8 de-tab readFail027, and remove trailing whitespace 2a748a0 Add RelaxedLayout to T4437 ea89b3c Accept output for hist001 (#3165) 0d3d7bd update expected values c13ab31 Accept output 33d795c Allow a lower peak_megabytes_allocated value 808d4a1 NondecreasingIndentation tests 263e0f5 And and update RelaxedLayout tests d26caff add some Unicdoe to the hSeek/hTell test acf9517 update expected values ae959ec Add a test for reliable encoding errors 10f7cee add test for #4262 2538823 skip #4262, it doesn't give reliable results 998831a add test for #4373 4181ff3 Test Trac #4524 1a8269a Remove NewQualifiedOperators tests (extension no longer supported) f920dbf -XPArr is now -XParallelArrays 6acbb8a Test Trac #4814 014c745 Add a smaller test for recursive superclasses (T3731 simplified) 2919d9a add test for #4808 4313fb5 add a test for #4469 f8b27ad add test for #4813 9d677ee cope if the compiler doesn't tell us the "Global Package DB" ed49bfd add test for #4811 3b35693 Add some more files to be cleaned 8756fa1 Add a test for deprecated [$foo| ... |] quaosquote syntax 5ad66cf Add a test for #4478 f0517ea Add a test for Read/Show of Data.Fixed 11faa45 Update hist001: The GHCi debugger gives us better locations again 4d86087 -XPArr is now -XParallelArrays 79618a6 Add a test for #4007 00f7285 add test for #4383 bfa3ddf update results following fix in #4383 e80d269 Accept core ppr wibble f592af1 add a 'threaded1_ls' way, like threaded1 but with +RTS -ls 2623cba Add Test for Trac #4830 d742618 Test Trac #4534 bea95e3 4262 fails in the 7.0 branch 4b8bfc5 T4478 fails in the 7.0 branch 4a41098 Another, simple, superclass loop test 4907d7d Test Trac 4809 bdb71d4 Error message wibbles 7a46b8b Comments only 7e208ce HsExpr must be an instance of Typeable1 475e4b9 Add FlexibleInstances to tests that need it e89c96b Test Trac #4528, twice 4bc936e Wibbles to error message wording d9cb7a3 Test Trac #4816 06a820f Simplify test case a bit, and add comments 99e6b7b Widen the boundaries for T3064 The limits were very tight; my validate build went just over the allocs limit, while the nightly builds were falling under the lower bounds for peak memory use and residency. 2f94623 Test Trac #3484 ea3df4d Test Trac #3460 ce286f4 T3208b rightly rejects the program 520746f Test Trac #2664 3e23348 4813: remove -debug, it might not be available with certain ways (e.g. prof) 2916e39 add a test for -rtsopts=some (#3910) b1e58e2 add test for stack overflow/underflow with unboxed tuples 492f6ea Remove some redundant CPP checks 645388b Add the stderr for T3208b 8af0c1d Add GADTSyntax tests c9f4191 Cabal tests no longer need to be run 'alone' d49925d Add test for #4850 I couldn't reproduce the bug reliably, but I made a test that demonstrated the problem by creating more OS threads than it should have. ddd5e11 Update bytes allocated for space_leak_001 RTS was changed to calculate allocations more accurately 0489725 Update bytes allocated for T3738 RTS was changed to calculate allocations more accurately b543948 add test for #3837 ad56777 add an old ForeignPtr stress test I found in my tree d28cea1 mdofail004 now compiles c6a15cf Track changes in fuzzy-matching in error messages a60b0f8 Add FlexibleInstances 112cafa Track error message changes 1f23f5d Comments only 7d1e7d2 update values for T3738 on 32-bit 896b448 T4321: on x86, optc and profc are giving slightly different results c506729 update results following fix in #4383 1036d45 fix apirecomp001 following GHC API changes adb2c74 bump stack size for ioref001 0b6b9fb add a test for multiline do, GHCi #4316 38643f3 multiline command tests #4316 5c1bad1 add test for #4876 0cfcb53 Update test mod90 with the new error message. 0b7702d Test Trac #4875 2961f32 Test Trac #4870 a740ece Follow change in out-of-scope variable suggestions b1a7054 Follow improvement in kind-error message 2274617 Follow wibbles in conflicting-instance error messages 3f01f3b Test Trac #4801 ca15920 Test Trac #2722 0b00c6a Massive bunch of changes to track my massive refactoring to the typechecker 4ea571a Add a missing change 2d96883 Test Trac #2544 b704f0a Track changes to the finder's error messages 3b5c38f Track recent changes in error messages 6ccd658 add test for #4895 b03d50d T4488 fails in the 7.0 branch 0346540 Accept GHC 7.0 break024 output b63366f Add some 7.0 stderr's 1ffd496 Add 7.0 output for mdofail00* tests 82c8c4d DPH: update command line options of DPH tests 3a33a98 Test Trac #4917 73df3b6 Redundant case is now eliminated 698f822 Test Trac #4912 b8688dc Test Trac #4903 eb4c7e4 Test Trac #4918 6b18393 adjust values for 32-bit 5871d81 Better simlifier output following SpecConstr fix ea6cd21 Follow changes to optimised code after fixing Trac #4908 cec6e4d Fix bogus error message 20363fe Test Trac #4908 0491ff9 Test Trac #4930 df5a486 Test Trac #3169 cd30705 Test for strictness loss in FloatOut 3df4b6f 7.0 branch updates 68c06eb expect pass for length001(ghci) aa184f0 Update some renamer tests to not use the haskell98 package 96b4ce9 Remove the haskell98 dependency from some ghci tests 32bdc52 Remove the haskell98 dependency from some renamer fail tests d421a68 Remove the haskell98 dependency from the lib/IO tests 9ef0f42 Remove the haskell98 dependency of the module tests 8357812 Remove the haskell98 dependency from the deSugar/should_run tests 1e77e5b Remove the haskell98 dependency from the codeGen/should_run tests 3d7189f Remove the haskell98 dependency from the typecheck/should_fail tests 1cfe243 Remove haskell98 dependency from parser tests e17c468 Remove the haskell98 dependency from typecheck/should_compile tests 57ad42e Remove the haskell98 dependency from some lib tests d470a4c Fix the haskell98 test a7461b4 Remove the haskell98 dep from more lib tests f4738c9 Remove the haskell98 dependency from various tests 965ad7d Remove the haskell98 dependency from more tests fc6f449 #1333 is fixed now 9afb4d7 Remove the haskell98 dependency from the array tests f334a97 Remove concprog003's haskell98 dependency, and remove some unused imports b5c2c31 Remove the haskell98 dependency from full-testsuite tests 5a3b96a Test Trac #4935 2f2ebd3 Test Trac #4949 486294b Add tests for quasi-quoting unboxed values 83b1dbc Add a test for TH and unboxed tuples f8cd1a4 Add test for sizeofArray# and sizeofMutableArray# 6335532 accept output (unicode tables updated) c233512 Test Trac #4935 af6ebe5 Test Trac #4957 c872772 Fix testsuite on 7.0 branch ddb23e1 Test Trac #4966 5ea6c19 Follow error message wibbles db79f82 Error msg wibbles due to VECTORISE patch fec5524 Test Trac #4952 74497b2 Test Trac #4969 f94f4d9 Remove heapprof001's dependency on haskell98 0a57d44 tests for :script #1363 9ab6e6b Add a Makefile to ghci/prog011 3ceae5a Update T1789 output c5d2cbf Fix #5003, test 4038 (ghci) fails on OS X 64 bit. db5d6c7 Correct expected exit code on OS X 64; fixes #5046 35cf5ab Test 4808: Follow change in GHC.IO.FD.openFile definition e59c82b Remove the optc and profc ways -fvia-c is now a no-op e2a0f2a add test for GHC.Conc.allowInterrupt e65cb19 add test for #4441 28ee57c add tests for forkOn and threadCapability 2440c2d 1288, 2276 and 2276_ghci are broken on i386-apple-darwin (#5052) 054f6ed Mark some dph tests as broken (#5065) 41473ca Remove spaces from wc output in test 4850 Fixes the test on OS X 6bf44c4 Fix driver024a in git d42e6cb Fix driver062d in git f7af4f5 Fix driver062e in git bedeada Fix recomp003 in git 096e192 Unmark 1288, 2276 and 2286_ghc as broken now that #5052 is closed 30e4529 Add .gitignore file for testsuite dc34ea9 Remove any mention of optc/profc from all.T files b0deb74 Follow Cabal changes in ghcpkg01 4926f93 Merge branch 'master' of http://darcs.haskell.org/testsuite 0309610 Ticket #4404 is now fixed: update test f3f033b Add a test for #4891 3326f68 Add test for #4832 30e6a44 Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 692bfea Tests for trac #5025. 1729728 cope with multi-digit file descriptors (#5066) Thanks to altaic for the patch. 455b59b avoid undefined behaviour in arith005 f0411b5 T3064: lower the minimum peak_megabytes_allocated to 8 for 32-bit (currently 9) b788acf Remove -fvia-c tests c3a53d1 fix tests following changes to stub-file generation 02bd5ea Test that hPutArray/hGetArray use count argument: #4827 d0b0116 Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 63c13a7 Add a "sleep 1" (should fix #5080) 7404081 add some debugging traces 3cf2abc Merge branch 'trac_5025' of https://github.com/thoughtpolice/testsuite d364200 2228 no longer fails on MinGW due to isatty patch. d7f3038 Test case for CmmOpt inliner on non-single assignment code from new codegen. badbad3 Test for getProgName. 353e4db Merge remote branch 'origin/patch-4404' 54b357c Merge branch 'master' of http://darcs.haskell.org/testsuite 85e796a fix stub tests be09626 Add cgrun067, which can tickle premature stack slot reloading bugs. 5dcfb59 Fix T4891: Don't hardcode the patch to GHC 2efd47b add a test for #706 163a7ee Fix cgrun067 c36ee3d Add a boilerplate Makefile f0ff84d objc-hi is broken on 32bit OSX (#5106) 947f028 T4801: reduce memory use thresholds 8e8c3d5 RtsFlags.h has gone away (it was deprecated) 2f55ea0 objc-hi now passes on i386 Darwin 00440b5 test for #5114 8d151e1 Fix ffi022 on Windows 32507af Fix readFile001 on Windows ca3b93b Fix T4809 (depends on mtl); fixes #5121 db673d4 Add JMP_TBL fixup test. 8792fd6 Add a performance test for #2762 67b2af0 Add a test for #2902 4c1bca1 Replace simplrun006 with a less fragile perf test T149 e66ff25 Fix recomp008 when $(TEST_HC) contains spaces 440dddf Fix imports in HappyTest.hs 9f096bd Make T706 use -ignore-dot-ghci. fd44046 Test Trac #5041 7a6a7a3 Run GADT tests in optimisation mode too b534b27 Test Trac #5045 9ce49f6 Test Trac #5038 c958de1 Test Trac #5130 16fb7ae Test Trac #5126 6c32ee8 Add TEST_HC_OPTS to every Makefile invocation of TEST_HC cdd6afc skip T2615 on Solaris which does not support GNUish linker scripts 81525f9 Merge branch 'master' of http://darcs.haskell.org/testsuite dad1bf2 Test Trac #5113 27e2c65 Test Trac #5084 e54809c Adding test for #5120 6784081 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics d6b517d Add some pre-test-cleaning to rn.prog006 a07c8a4 Adapting the testsuite for the new generic deriving mechanism. f0f582e monad comprehensions: test suite 9544858 Pass TEST_HC_OPTS to Cabal tests 49f1874 Add print007.stderr 2ec3ee9 Accept error message output changes 30724a0 Modify tests, mostly adding -XTranformListComp 69cc9a5 Add some tests for the new generic deriving mechanism. 156cd39 Merge branch 'master' of http://darcs.haskell.org/testsuite 857405e Revert commits 53b30fac9fc30d9d85cc... and c8244f5cd31774de2e39... as they were not intended for master. 4163d2c Revert "Revert commits 53b30fac9fc30d9d85cc... and c8244f5cd31774de2e39... as they were not intended for master." dc4b013 Add expected output for these tests. 2288d81 Adapt outputs for the fact that the hasGenerics field is gone. 92af817 More tests for the new generic deriving mechanism. 8e967dc Add test for too many/few args in higher order situation 26ea1e8 Adapt the testsuite to the recent ghc-generics changes. 41ab7dc More adaptation of the testsuite to the ghc-generics changes. 56db641 Test Trac #5117 fd25485 Ignore more things in the testsuite ca32a1e Merge into monad-comp branch 9107d82 Follow error message changes d02b4bf Skip jmp_tbl test for llvm when -fPIC is unsupported. 26af053 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 26c4300 Merge branch 'master' of http://darcs.haskell.org/testsuite 0ad3cf3 Test Trac #4851 dabffee Test Trac #5168 4dae41e Track error message changes 77a7a22 Merge remote branch 'origin/master' into ghc-new-co 30f7ddb One more error message 412c310 Move tests out of h98; directory now removed f2ff83c Moved tests out of tests/libraries 2f5b50e Adapt the testsuite to the renaming of `Representable0` to `Generic`. 2672cde Rename the generics tests. Add a test for the deprecation of -XGenerics. 177ba82 add a test for #5149 2bc8e1a handle spaces in $(TEST_HC) properly 4a48544 update some 32-bit results (we got better!) c5cf3b3 Adapt to the improved error output. d779ff3 Track monad-comp error message changes 098aa6c Merge branch 'master' of http://darcs.haskell.org/testsuite c61d9a1 New coercion rep breaks 'T1999a' and 'termination' 8c37bcb Compiler is faster on T3064 5c166dd Fix comments in test a785d57 Merge branch 'ghc-new-co' 10810a9 Adapt testsuite output to the new deriving error messages. f15db4b Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics a2380e7 Add StandaloneDeriving d5b7764 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 32a173d Add -XDeriveDataTypeable 698c122 test Float properties too (#5178) aa78954 accept output 0a2730e Accept output for dynamic001 10ccac8 Fix annrun01; follow changes in GHC API c52ac8e - remove threaded2_qw way, the -qw flag has been a no-op for a while - add the threaded2_hT way, for testing +RTS -N -hT (#5127) - enable threaded2_hT for concprog002, to test for #5127 56215d5 Update syntax for records in GADT syntax 90dad59 Remove control-M 67417c3 Merge branch 'master' of http://darcs.haskell.org/testsuite 854f437 Small diagnostic print changes 40ea804 Trac #4370 is fixed, so all these work now 96780d4 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics e123a07 dos2unix on these two files. 45021cd Another test case to tickle a new codegen bug. d248787 massive_array: -dynamic not necessary. 9b48454 Tests for the PEP383 functionality and bugs it fixes aa404a6 Test #2245 e668209 Expanded .gitignore 2ad0384 Accept improved error message for ds022, following FloatingLit change 0edad9b Ignore files generated while running tests 71688f1 Mark num009 as expect_broken on OS X eeb5304 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 632d0a5 Update encoding002 given that we use private-use characters and //ROUNDTRIP 2e0e320 Avoid roundtripping characters in encoding001 ee549c6 More tests and wibbles in existing tests. 34480fe Merge branch 'master' of http://darcs.haskell.org/testsuite 9045999 Change to the 0xEF80..0xEFFF private-use range for //ROUNDTRIP 225af9b Adding -fcontext-stack flag option to SlowComp. Compiles in under a second now (fixes #5030) but needs large context stack. 971a81e Merge branch 'master' of http://darcs.haskell.org/testsuite 7896bd5 Add test for array copy/clone primops ab00ea4 Add stress test for array copy/clone primops 9027efb SlowComp needs a reqlib('mtl') 031d583 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 4dac997 Add a new test to test for a strange error when missing FlexibleContexts. 54241a3 test +RTS -G1 for the codeGen/should_run tests 6fd09bc Add "LANGUAGE DatatypeContexts" pragmas to some tcfail tests ee66f7e Add "LANGUAGE DatatypeContexts" pragmas to some tests 53a780b Remove datatype contexts from readFail001 2f1a43b Add "LANGUAGE DatatypeContexts" pragmas to some tests f7b96c0 ghci008: accept output: types no longer have datatype contexts 17d4776 Accept changed output for a couple ghc-pkg tests 539ddc1 add tibbe's perf regression test for #4978 569830c fix test following changes to inlining heuristics 150277e accept output 6141d75 Add filtering and accept output for ghcpkg01 ca81f39 Don't hide test commands when running make by hand 44f1597 Fix 3307 for people who don't have the en_US.UTF-8 locale 68999f6 Fix 3307 and environment001 35baa54 Merge remote branch 'origin/master' into ghc-generics 19f1816 Update tests for generics e266b3b Mark T3064, IndTypesPerf, and T4801 as expected-broken pending attention to Trac #5224 807f9c8 GShow fails for now (#5227) 58160c6 Always run cgrun068 e1448b9 Add test for new ghc mem* prim ops ba16431 fix cleanup for T4903 de57e6f IndTypesPerf and T4801 are temporarily unbroken (#5227) b81541b Remove an out-of-date comment 24f117b adjust values for T4801 on 32-bit a094f78 T4978 seems to allocate about as much on 32-bit as on 64-bit, so update the values. I'm not sure why this is - perhaps all the allocation is ByteArray# or something? I checked the Core and it looks reasonable. ad78df6 Adding test T5236 from Trac 3740b0a Mark GShow1 as "normal", since #5227 has been fixed. dc03ce4 Merge branch 'master' of http://darcs.haskell.org/testsuite c5734be Test Trac #5246 39f4bc6 Tweak test 3307 93d4133 Add some ASCII output to 3307 f20a7a2 3307 is broken on Windows (#5253) 2c4821b Ignore .tix files f5412ce Test Trac #5252 a0e01c6 Test Trac #2436 1d030fb Less UNPACKing in GHCi (Trac #5252) e6a4fb5 Ignore .stackdump files ba50519 Part of test for Trac #5252 cce849c Tweak UNPACK pramgma test aeaf958 Merge branch 'master' of http://darcs.haskell.org/testsuite 1ea5228 Test Trac #5211 b47643f Test Trac #5217 d19d3d4 Test case for canonicalization bug. 48757c1 Merge branch 'master' of http://darcs.haskell.org/testsuite 03e402f Add test for unrolling memcpy/memset in the x86 backend b23ecc8 Fix bug in mutlisrc compile not picking up compilation errors. 8428e08 Merge branch 'master' of http://darcs.haskell.org/testsuite bc0ab18 Show directories in testsuite summary; partially fixes #5024 a0799f1 Follow DatatypeContexts deprecation 993cfba Remove the tcrun007 test c22dc03 Update output for recomp007 eb6f5d3 Test 'gadt/termination' passes# f9d25f5 Test Trac #5037 0f97bbe When tests return 'fail', return a 'reason' too 0cebaf8 Print the reason tests fail in the testsuite summary (#5024) fcb48a1 Add a simple test for ticket #1595. 67eb92f Merge branch 'master' of http://darcs.haskell.org/testsuite 612c3b7 Merge branch 'master' of http://darcs.haskell.org/testsuite 075655b Add test for byte array copy primops 7c4d3ad Adapt DPH tests to recent changes in the DPH libraries. 8fefa25 Accidentally tracked some binaries. Now added them to '.gitignore. 6826e08 Fix up testsuite for SafeHaskell 5b2940f Test Trac #5051 81b8459 Comments, plus Unix file conventions ffcaf21 Accept error message changes after removal of silent superclass parameters 1409f85 Add tests for superclass equalities 11c398d InstEqContext and InstEqContext3 both pass now (superclass equalities work) f50237c Test Trac #3018 0da9cdb Semi-fix 4006 on msys cbc8f10 Expect 4006 to fail on msys 136cbdd Improve a comment f2a3fac Update Windows output for ghcpkg0[35] 53f7e4a Merge branch 'master' of dippy:c:/msys/1.0/home/ian/ghc/testsuite 8a1d083 Tweak environment001 1891f1f Fix dph-words. sliceP no wants its second argument to be the slice length. 8e1bed9 Merge branch 'master' of http://darcs.haskell.org/testsuite 3167d74 Merge branch 'master' of http://darcs.haskell.org/testsuite 5505d87 Fix 3307 on Windows 93f0a15 Turn the #5030 test into a performance test db26a24 Add a perf test for #5205 7efb2f6 Remove a commented out import af8a5a6 Fix tcrun006 and tcrun029 (they need DatatypeContexts) 78dd7f5 slightly reduce the lower bound for peak_megabytes_allocated for T4801, I saw one failure here. 1053d72 omit conc016(threaded2), it gives nondeterministic results 06d0dda Fix spurious failure in ghcpkg05 in the nightly build 5e5fa7a remove datatype context 3d99ee1 T3064 is no longer expected_broken(5224), and adjust the ranges (downwards) ed6f0d6 Another variant of hashStr, this one caught a Hoopl bug. 7040713 T3064, T3294: update 32-bit values (downwards) 116672b add a test for stack pointer alignment (see #5250) 075af95 Add .gitignore ee47972 Plugin tests fd12968 Add another test of home-package plugins 08b9bcc Add another home-package-plugin test 7d67222 Add expected-fail test showing plugin linking is faulty 5aab5ca Test Trac #5283 aac4335 Trac change in ids assigned by specialiser 3780ba1 Test Trac #1595 aa22ff2 Fix validate failures with more quoting d01c1c8 plugins01 fixes b56af6e Remove GenDeprecated test 95a3a25 Skip optllvm 44fcc0a remove optllvm from other_ways (it is already automatically added to run_ways, having it in other_ways just causes strange effects) 3a17ede Add test for #5129 a63069e Improvements to testsuite to allow more complex tests 5faed3b Add tests for Safe Haskell 0fbb62e Pass defaultLogAction to defaultErrorHandler in annrun01 895dc2f Rename T1595 because there is T1595 in typecheck/should_fail already 3e9cc50 Fix some issues with safe haskell tests 6cd7909 Clean .comp.stats files 85001ae Mark tests which depend on random afe452c Accept output for a few dph tests 8564b05 Update tests for new InterruptibleFFI extension 0f15c50 Add some more safe haskell tests ee7949b fix up existing Dynamic/Typeable tests and add a few more 53a6cc8 update following changes to tyConString c7dd6db add test for #5243 1dbfdf4 Fixes to safe haskell tests when run with THREAD 32d9610 Update safe haskell tests after removal of SafeLanguage f4ce3b2 Formatting wibble 948c82d More THREAD fixes to safe haskell tests e182041 Handle missing stderr files 0480136 TH doesn't work in a stage 1 compiler af63209 Make and use a req_interp helper d7b647a Remove used of python 2.5 feature 7f6a5a6 test for #5313 db53da3 Fix some (significant!) white space 10d09ea T3064 sometimes uses a little less memory 6da0343 Test Trac #5315 2d0540a Stop CheckA and CheckB sharing a source file c9d1b37 Test Trac #5300 3101c49 Accept wibble in core-syntax printing baf3b51 Merge branch 'master' of http://darcs.haskell.org/testsuite cc08997 Test Trac #5329 487c80b Fix a driver problem with older versions of python d6b1a57 Add a test for #5332 (unboxed singleton tuples and TH) 3019b1e When the output files differ, present the diffs between the *actual* output, not the normalised output. The latter may have newlines removed, making the diff unreadable. I broke this recently, but it was only working by accident, now it is working by design (and is commented, to boot). 6594600 fix 5313(threaded2) d1ae79f Add a test for #481 cc4d1ff fix 5313 when BINDIST=YES (need some quoting) fda1f8a Test Trac #5334, #5331 ae6129e Merge branch 'master' of http://darcs.haskell.org/testsuite 5296caf add test for #5314 ebd422a fix a bug in displaying diffs when there is no expected output 16514f2 Move tests from tests/ghc-regress/* to just tests/* 1b292eb Update some more files for ghc-regress removal 96de88d Remove old darcs file fd4250b Add tests for Safe Haskell Typeable instances feature 7f69762 Use mutlimod not '--make' in all.T 742978f Follow output wibbles de0fbd1 Add InterruptibleFFI extension 19ecb95 accept output bf4b825 T3064: widen the expected results again. 3cd7b40 Test Trac #5290 e499561 Fix dph-diophantine (#5065) 1c40062 Test Trac #5303 b4c7862 Monir tweaks to annrun01 da1938c dph-diophantine-opt fails for the same reason as dph-diophantine-fast (#5065) 8b7e253 Accept plugins04 output 8b9fffb Test Trac #5287 e5cda42 Merge branch 'master' of http://darcs.haskell.org/testsuite 1bcd34c Improved error report 53bccbb Ooops, I messed up the stderr file for T5287; this fixes it 4f52ee4 Add a test for Integer constant folding d8b3d62 Accept EvalTest output (change of whitespace) f42770d Merge branch 'master' of http://darcs.haskell.org/testsuite fcaa1f5 Test unresolved infix expressions and patterns 006e534 Slightly reduced compiler allocation in T3294 c25980f Different order of -ddump-simpl definitions 9d79948 Simplify TH_unresolvedInfix2 cb692c5 Test Trac #5342 55271bc Track error changes resulting from fix to #5281 31675c9 Test Trac #5281 171846e Tiny increase in compiler allocation 04a19ff Error message wibbles b01ecfd Mark plugins06 as passing (using reinitiliazeGlobals) 2752726 Error message wibble (fixes #5351) f79861d Merge branch 'master' of http://darcs.haskell.org/testsuite b65f16d Fix integerConstantFolding on 32bit platforms 4e05b61 Whitespace only 87a5ef5 Error message changes due to pretty-printing of provenances 1aa636c Error message wibbles due to reordering constraints (the DPH problem) c99860f Simplified API for GHC.setContext 3c63183 Merge branch 'master' of http://darcs.haskell.org/testsuite c10e3ff Improved error message 41e5e78 Tiny increase in allocation for T3064 3eb85d3 Test Trac #5359 619d8d8 Test Trac #5358 8632b53 Test Trac #5306 6dee925 Test Trac #5362 132f398 Merge branch 'master' of http://darcs.haskell.org/testsuite 299e4d0 Spelling suggestion has changed cb37643 Unique-name wibbles in SpecConstr 085a89b Different order in generated export list 53e07d8 Test Trac #5147 2059d2d Add a test for #481 8b5a1b8 support globbing in extra_clean([...]) 24f1eaa add a test for #5289, and various other GHCi linking scenarios 81c3aea Fix a framework failure on Windows when accepting output, and allow accepting output when the output file does not exist (it is now created). 42b2df8 bump alloc limit for T3064 6e86ac1 Dot-ghci needs to be ignored. d7bc712 Remove recomp009 from tests/ghc-regress/driver, it's now in tests/driver d6a1379 We now need DebuggerUtils for dataConInfoPtrToName 9cdff2b Test Trac #5372 b6d68d1 Merge branch 'master' of http://darcs.haskell.org/testsuite 6339c4d Test Trac #5095 25d4863 fix an unexpected pass a55eca9 add some more reqlib('random')s 39828a2 Test 5250 is an expected failure for optllvm due to #4211 5042c0c Don't specify -fasm in massive_array.hs 7a2c3db Fix test 5149 on an unreg compiler a7ae775 Disable outofmem for OS X 995b512 Fix remaining test failures on OS X/x86_64 8e76f04 add a perf test for the parser/lexer 84a7666 Bump 32-bit allocation limit for T3064 b1b2433 Accept error message changes f53c388 Merge branch 'master' of http://darcs.haskell.org/testsuite fa3fb70 Test Trac #5379 e252030 Accept output (one more for #5379) 5b5294f Testcase for objective-c++ compilation (trac #5150) 6f663a6 Move objcpp-hi files out of ghc-regress/ 7b04db1 Add extra cleaning a57f8a3 Rename files and fix cleaning for GEq1 974c629 Add more cleaning 5f12b5e Add support for checking whether files are written by more than one test 5348e23 Test Trac #5385 1c4413d Merge branch 'master' of http://darcs.haskell.org/testsuite 424174d Accept error message wibble a012b78 remove duplicate test (driver/recomp009 is the same test, from #481) 9eac5df Fix race condition with SafeLang15 120d266 Fix silly mistake with SafeLang15 3d6dcea Use True/False rather than 1/0 for opts.alone 9d561c3 Fix up Safe Haskell tests for recent ghc changes. 3d6d967 Update ghcpkg01 for changes to safe haskell 2d7de12 Add test for #5402 8d0d8a2 adjust 32-bit stats for parsing001 b86d227 Tests for Trac #5404 and #5410 f8638de Partial fix to a test-framework crash affecting #5313 ea991e6 Merge branch 'master' of http://darcs.haskell.org/testsuite 7020145 Accept changed output (resulting from fix to #5410) 5bf960e Test Trac #1897 57e41d9 Test Trac #5032 ad68e98 tc168 is supposed to fail with an ambiguity check e5680cb Error message change 07f62bf Add some new code to T2693 abb92c1 Remove ambiguous defn (now rightly rejected) from T3346 94c2f39 Test Trac #2357 52cc4e1 Add missing stderr files 7389faf Add test for popCnt# primop 53ba351 dph/quickhull: Import vectorised Double d1dc7d4 .gitignore 3a9794b Fix Python crash caused by quoting problem in test for #5313 c6a646d Add debugllvm target d278292 Formatting fixes c667ee4 Accept output changes (related to patch for #5417) dd4e4a1 Merge branch 'master' of http://darcs.haskell.org/testsuite e8f0225 Test Trac #5417 c19deeb Wibbles to accommodate TH changes (Trac #4429, #5406) 0f02c58 Accept benign changes to stderr after removing a hack in the type checker that affects dictionary order 95de2a5 Merge /Users/benl/devel/testsuite/roldugin/testsuite f7c13b6 Merge branch 'master' of http://darcs.haskell.org/testsuite 8167ff3 Follow ghc-prim changes 1c1f2d1 accept output db73d0e Fix incorrect test 6d43f0f Accept error message wibbles b7aa8a8 Update error messages; and SimpleFail10 now passes dee226c Test #4429, #5406 b38eae1 Add a test for ":show imports" 1a7ee66 add a test for #4988 8be4a04 accept the correct output 9c1c2ef Merge branch 'master' of http://darcs.haskell.org/testsuite 8af2f36 Test Trac #5439 7ef9f22 Fix some more race issues with safe tests. 7814e7b Improve the check-files-written testsuite driver functionality d45fc36 Remove ^Ms from ghci025.script 8dd8177 Stop ghci025 sharing files with prog001 e8f1741 Tweak the outofmem and outofmem2 tests 19bb5ca Stop BadImport03 using BadImport02's sources c427e93 Check explicitly for writes to ghci_history e29b6d5 Use -fno-ghci-history when running tests d947d38 Test Trac #5434 and #5452 12c8daf Error message wibbles ef943d8 Don't use qualified names in in binding positions c5fd250 Merge branch 'master' of http://darcs.haskell.org/testsuite b4b59ca Error message wibbles 06127a2 Change test, now that imported data families don't get implicitly exported b336462 Test Trac #5424 deeceec Trailing Whitespace 2371c5b Fixed imports 32761ba Improve the check-files-written testsuite driver code 53be4ed Improve check-files-written mode 97d7cd9 Tweak the shadow test 20450f6 Fix some written-but-not-cleaned files 31afed7 Fix some more written-but-not-cleaned files 6d22763 Fix some more written-but-not-cleaned files ce76f53 Tweak openFile003 c76825a Use ReadMode in finalization001 a6bef02 Whitespace only in encoding001.hs 41adf38 Fix some more written-but-not-cleaned files cb41ea3 Test Trac #5453 9ca6350 Test Trac #5458 35d7722 Merge branch 'master' of http://darcs.haskell.org/testsuite c5aa25e Whitespace only 4346c12 Fix typo (TT5458 -> T5458) a305d0d Test Trac #5455 a6c3734 Reduce context stack max depth, to avoid validate running out of memory a6b7bb8 Wibbles for Trac #5455 test e9fab19 Fix some more written-but-not-cleaned files 04fd366 Fix some more written-but-not-cleaned files 3ff21bd Don't clean tests that we aren't running 1ba832e Fix some more written-but-not-cleaned files in driver/ 83db11b Fix some more written-but-not-cleaned files aa65815 Add a Makefile 89f34a4 Fix some more written-but-not-cleaned files 877dc99 Fix some more written-but-not-cleaned files 12850c1 Fix some more written-but-not-cleaned files 49eee08 Clean more in the plugin tests 84cf6cd Clean more stuff in the safeHaskell tests 8b5a2b4 Test the ConstraintKind extension and related changes 400842c Test abstracting over a type variable of kind Constraint f92f720 Make the test nicer, now that associated types can mention type variables not in the class faa2503 ConstraintKind -> ConstraintKinds 0074dc0 Test Trac #5441 eaf6a58 Test associated type defaults 3723ffd Merge branch 'master' of http://darcs.haskell.org/testsuite 0d963be Accept increase in T3294 allocation 9857fca Tweak tcrun043 to test constraint tuple codegen 09af1e9 Merge branch 'no-pred-ty' 02a0b7d Bump T3294 a bit higher again due to high variance 9a3d824 Test irreducible-evidence self-interactive d7114e7 Test #5481 c46faf3 Add a test for #3103 7a10aeb Add a test for #3743 0b378db Fix arith013 following integer-gmp changes 3c4cbdf Tweak EvalTest to be less sensitive to whitespace changes 40801ee Test Trac #3592 06d452d Test Trac #5478 54ced85 Accept error message change a3661c6 Improved debugger output bc0183f Test Trac #5490 1170912 Merge branch 'master' of http://darcs.haskell.org/testsuite 84f98e1 Add a test for Integer literals in interface files a6dc8a8 T4239 now passes 06d637b Update T4801 bounds eaae2a0 Add missing file cf37945 Rejig how performance test stats are stored 2a24c3c Add amd64/OS X specific stats to the T4801 test b4d3426 Merge branch 'master' of mac:ghc/git/val64/testsuite 0ce6b6c Test cases for GHCi data, class, etc. 30a698d add test for a bug with :force 52fd56a update error messages e3e2bab bump max_bytes_used for T3294 0224b80 Remove quotes from echo'd comments in GHCi script 0a9c183 Fix #5436 by using 'recover' on handle EOF 8c428d7 Revert "Remove quotes from echo'd comments in GHCi script" dddb294 Merge branch 'master' of http://darcs.haskell.org/testsuite 767c1b7 Attempt to fix decodingerror002 test for non-UTF8 locales 9f70e96 Don't use "with lock" syntax in the driver c9e94c5 Test some more Integer constant foldings 83e34c3 Fix ghci038 on Windows 8051c69 Tell python to let us use the "with X:" syntax cec1859 Update test output following change to associated type synonym default kind-checking time 7139942 Add test that caused <> before fix to associated type defaults 25d6a04 Fix decodingerror002 on Windows 11152ac Make T4437 more thorough, and update it f8e0e9e Add tests for NoTraditionalRecordSyntax 6421302 Wibbles to error messages following fix to Outputable.quotes 670796e Test Trac #5515 2f9ee36 T5481 should jolly well fail 4512ca1 Test Trac #5513 50029f6 Accept error message wibble b34aa2c Test Trac #5508 94e4202 Test Trac #5514 0cbfe0b Add test case for #5204. e54ec3b Add a test for #5430 9d11154 Add some tests for handling of FFI types 8a051fc Add a test for newtypes and the FFI 1e3708f Add another case to cc015 f1b395c Add a couple more cases to ccfail004 c9a0347 More cc015 cases 59694a7 Add a test for types of GHC FFI primitive imports a374bf9 Add a test highlighting a messy case for FFI type errors a40f26b Accept type error message changes b80cc02 Add a test for dynCompileExpr a434963 Tweak ghci032 1d39571 Driver: define config.libdir for tests to use 7f1d4e7 Run the dynCompileExpr test all ways eb9accf add a test for foreign imports in GHCi 81c3b71 Update perf bounds for OS X x86 8ae3201 Fix #4264 on OS X 809f807 Add a test for the output of -ddump-deriv. 41cfaef Add a test for #5373 (-rtsopts, dynamic libs and OSX / Windows) feacf3d add test for #5425 18a64d1 make the test fail if the sleep doesn't get interrupted (#5471) ae94844 Improve test T5373 610c0e6 Merge branch 'master' of mac:ghc/git/val32/testsuite 001455a Have multi[src,mod] test ways clean up after themselves. 57938f3 Merge branch 'master' of http://darcs.haskell.org/testsuite 6a58730 Whitespace only in cgrun044.hs 35d2c75 Fix some tests following the removal of Num's superclasses c5eed72 Reduce T4801 bounds on amd64/Linux b214e7a Fix more tests following the removal of Num's superclasses 219eee6 Merge branch 'master' of mac:ghc/git/val32/testsuite 2957cfc Follow removal of Eq and Show superclasses from Num 29caf2a update tests for safe haskell changes cca85ff Change Safe Haskell tests for new -fpackage-trust flag 67918f7 add test for #5545 d5520d6 use "-osuf p.o" instead of "-osuf p_o", to test #5554 f2f3b14 Catch any uncaught exceptions in test_common_work 2ce702e Get rid of the multisrc* test types 73ab436 generalise cmd_prefix to a general function to transform the command 9d9682f add a test for #5558 c0ac40a Merge branch 'master' of http://darcs.haskell.org/testsuite 766e211 Fix passing spaces to tests on Windows, and add a test for it c6b31a8 Simplify the 5313 test definition bf137ad add missing file 0d26f73 follow removal of RunFailed in the GHC API 4cee410 disable profilng ways (GHC cannot interpret code with profiling) e52d58c strip away quotes in the argument, hack to fix 5313(ghci) 33943b9 Merge branch 'master' of http://darcs.haskell.org/testsuite 43fe693 Revert "strip away quotes in the argument, hack to fix 5313(ghci)" 06d7440 Test for misplaced SPECIALISE instance signature e1bd906 Fix T5331; it had a misplaced signature dcd2f02 Test Trac #5533 13b8cc9 Test Trac #5557 bbb1ddc Wibble to error message 67572e2 Test Trac #5549 eb2b012 Test Trac #5570 1d81b32 Merge branch 'master' of http://darcs.haskell.org/testsuite 5830f5e Add new tests for relaxed superclass cycle check 1da8a36 Fix old tests for new superclass cycle error message 6f362e3 Test Trac #5573 ee02ab5 Test Trac #5566 0eab81b Fix spacesInArgs(ghci). trac #5575 0983386 Merge branch 'master' of http://darcs.haskell.org/testsuite 398ef53 Improved error meesage b85ba42 Accept better perf on Windows b31e49e Accept improved stats in T4801 5695b73 Add test for T5581 c38bbab test for #5564 93cd698 fix test wrapper for 5558 2eb3bf1 Add a couple of hsc2hs tests 29ac850 Test :kind and :kind! commands c7dd812 Merge branch 'master' of http://darcs.haskell.org/testsuite b3a3065 Merge branch 'master' of http://darcs.haskell.org/testsuite 4bc68c3 Merge branch 'master' of http://darcs.haskell.org/testsuite adde3f6 Update T4801 bounds for x86 (based on OS X values) f4226ea Merge branch 'master' of mac:ghc/git/val32/testsuite a4a8a28 The hsc2hs tests now pass on Windows, and 3929 is closed ed0bb9b Modify and add a bunch of new tests for Safe Haskell changes ac8c632 Add more Safe Haskell tests for new design 5c466ca More fixes to Safe Haskell test for design changes 2274cbd More updates to Safe Haskell tests 30c94d2 Remove cabal02 17956f1 Fix test T5373 for +RTS/rtsopts changes 8ece5ce Test for #5589. 41b7d05 Test Trac #5592 3cb0621 Test 5250 works on LLVM now. 8509603 Merge branch 'master' of http://darcs.haskell.org/testsuite 275a841 make cg057 compile 5a43b03 profasm does not require the NCG any more 4209133 add an unoptimised profiled way ('prof') d12a8bd code for comparing profile outputs 200325f some more profiling tests 12d9170 print032 is not broken any more 064fc4f accept (better) output fd896fd Add test for a bug in the byte code generator 9f99065 follow changes in Core: Note -> Tick ea7a161 Update GenDerivOutput output e8deec5 Add a test for #5603 07e311d Don't give normalised diff output 9caf805 Add a test for #5380 5c117b6 Add a test for #5267 00ca8c3 Add a test for TH's qAddDependentFile fd5a345 Add a test for trac #5423 5ae42c5 only add -fno-ghci-history if GHC >= 7.3 d6a5995 test for #5421 be88f02 Add missing file 5f48bc1 add test for #5594 73c8cec update to use HsFFI.h (was using the old Rts.h API) 126700c dph-diophantine-fast(normal) fails (#5613) 21bc0ef Update Mixed01 for new output cd98bd8 Follow API changes in DPH tests f09d5e2 ghci038 is expect_broken(5289) on Windows 1591f81 fix test on Windows def631c allow error message normalisation to be customised 0ac1ea3 normalise slashes in error messages 0aa7b0f mark 5250 as expect_fail on Windows fb086d3 add test for #5611 305f85c shouldn't fail the test if we are accepting output d704d6c add test for #5559 (unicode cost-centre names) 6d5e17f Add test case T4491 for #4491. 3eaeb7a Make cgrun059 code slightly clearer 798f3ec Update Safe Haskell test to include recomp checks 7472e33 Tabs -> Spaces 5d78f96 Fix dph-smvm 3029bc3 Merge ../../hack/testsuite 9c2f576 Add test for #437: recompilation bug with '-main-is' 3e0ed81 Add tests for #5054 3de85fd Be explicit about the package exposing D.A.P.Unlifted 8c9b783 For DPH tests, -fdph-* -> -package dph-* 9ab60b9 clean some extra files here c647dd8 add test for #5614 4c9b1ba Whitespace in dph/smvm/dph-smvm.T ccf8629 Add package dph-prim-par because dph-smvm needs D.A.P.Unlifted too 5e1333a New kind-polymorphic core 26c821a Expect T3330c to pass again e20ccfe Add expected failure output for tc167 b951f38 Increase allocation limit for T3064 a bit 49d2d90 Import Constraint to use it 7ec8fd6 Follow dph package name changes 3230598 push the (now correct) output 2d51594 expect failure for 'profasm' too b0e0d27 Reduce this test case further. There looks to be something suspicious going on, perhaps a general bug related to .hs-boot files, we should really look at this. d3b38da omit prof/dyn ways 536905c remove accidentally-left-in debugging output 61b56ba update results (and add an expected failure) for the ioprof test 8a931a6 cgrun057: accept output and mark as non-broken (#948) 4fe140c cleaning of testsuite a49e501 add test for #5626 5a3ddc1 Test Trac #5628 ae13660 fix up 5054 test efb1deb tweak readme 6419e5d Trac #5603 is fixed ef4b72a Merge branch 'master' of http://darcs.haskell.org/testsuite 27d4562 Accept error message wobbles ec709de Test Trac #5625 cc7041e Test Trac #5587 e6d2587 Wibble in T3234 output; this one is rather wobbly a97f82b Fix meaning of the only_ways field (fixed cgrun057(normal) in validate) bef9c72 Set -no-hs-main if the test is not Haskell code d5d71b2 enable RTS opts for GHC 7.3+ 2805bc1 add test for #5584 8affaea T5373 is now expected to pass on mingw32/darwin 5267879 add req_shared_libs and use it 0b266ac Fix T4464 for the new way of handling main() and -rtsopts 83e84e3 Error message modifications for the new constraint solver. 40d4f9f Merge branch 'master' of http://darcs.haskell.org/testsuite 797453a Add the right stderr file to T5625 6fe9d96 add test for #5238 e402b82 Merge branch 'master' of http://darcs.haskell.org/testsuite ae3b9f9 Reducing the context stack for this file, which was looping anyway, to make it fail sooner when we run the testsuite. Due to modifications in rewriting we run out or context stack more slowly than before. Perhaps something to come back to at some point. 8e0165c Merge branch 'master' of http://darcs.haskell.org/testsuite e38d7d2 Remove executable mode from some files 6c094de Add kind polymorphism tests 8c44438 Add kind annotations d874449 Update outputs f9073a7 Update outputs (error message locations) 0031457 Add Safe Haskell tests for new '-fwarn-safe', '-fwarn-unsafe' and '-fno-safe-infer' flags. ea9a94c Merge branch 'master' of http://darcs.haskell.org/testsuite b7c6166 Reduce allocation bound for T5030 6f665b9 Merge branch 'master' of http://darcs.haskell.org/testsuite 346205e New test 'dph-classes' b8aa49b Test Trac #5597 ad35781 Missed zero in tests for T5030 43e7140 Update test suite following the removal of the default grouping clause from the SQL-like comprehension notation 0cf2bde Make this test not require the stm package f519626 Add a test for #5327 89fbd3c Add missing $(TEST_HC_OPTS) in tests 3565a1b Define the GHC "compiler_always_flags" in make; fixes trac #5213 5262def test for #3589 413481c Add a test for T5198 0c8af70 Merge branch 'master' of http://darcs.haskell.org/testsuite b13a599 Filter -fforce-recomp out of TEST_HC_OPTS in the driver tests 9f9ed4d Remove duplicated options from a test f29fa0d Update encoding002 for lone-surrogates 134e325 Add tests for T4474 20d5052 Define 32bit expected values for T4474* 770b0da CPUTime001 has moved to base/tests 9dfd901 Move lib/Char tests to base/tests b9bbe38 Move testsuite/tests/lib/Data.Fixed test to base/tests 319b1cc Move testsuite/tests/lib/Show to base/tests 29fa609 Move testsuite/tests/lib/Numeric to base/tests 378c836 Fix typo 0b550dc Move hash001 to base/tests 96d6b06 Move lexNum to base/tests 9eec445 Move Data.List tests to base/tests 127b5f4 Move ix001 to base/tests 0c2c601 Move lib/System tests to base/tests e48b32f Move ioref001 to base/tests e004dbf Remove posix001 4c559a3 Enable and fix the posix* tests 9a53d8f Mostly fix posix005. Complete fix blocked on #5648. 7c1a774 Enable and fix posix006 fa902db Remove posix007 eba2c7c Remove posix008 ce1baf1 Remove old .stdout files b657214 Fix and reenalbe posix009 9a2af0b Fix and enable posix010 ec98be2 Remove posix011 28e2ccb Remove posix012 93b9ede Remove posix013 e72ea1f Fix and enable posix014 cae73c2 Remove sockets tests 09182c1 add test for #5644 6f94904 Simple test for PolyKinds inference 42967bc Update outputs after renaming the ? and ?? kinds 60d7866 accept output ("Linking" message moved from stderr to stdout) 1954033 accept output 2fb313c clean up test failures dd1a92d test SCC with omitted quotes d8e09ff add test scc004 which is expect_broken(#5654) cd90c22 Test Trac #5655 5e1de50 accept output 2f394b4 Test case for #5643 74961f7 Test for #5237 8a7e20d Test vectorisation of type classes some more e93087d fix this test (need to use reservedSignals) 8b9a506 Update output d4f962f Update outputs dbb2dde Remove GenBigTypes test 0310bd1 dph-classes wibble 9a1b288 Expect 3307 and environment001 to fail on msys; fixes trac #5599 75505d4 Error message shuffling. 4d71ddb Add CApiFFI to T4437 4e0e38e Error message shuffling. 20cc2b6 Add a test by Julien 8b6bdeb Another PolyKinds test b342348 Decrease max bytes allocated limit of T3064 e02ff2e defined prof_ways, threaded_ways and opt_ways automatically 1b29b68 simplify using prof_ways 75bdc3a T3103 is expect_broken for optllvm too 138d63f test for GHC.Exts.currentCallStack 19eaab1 callstack001 requires profiling 854abfe Follow error message changes c04b289 Merge branch 'master' of http://darcs.haskell.org/testsuite 5fa4cf3 Test Trac #5631 aab952d Test Trac #5001 4ad42be Test Trac #5625 299a992 Ignore IDLE in .prof.sample (fix spurious profthreaded failures) 9cb230c accept output e8f513d #5371 is now fixed, re-enable ghcilink{001,004} on mingw32 57412d0 Test for Debug.Trace.traceStack and GHC.Stack.whoCreated 4266f9d skip posix003 on Windows 9bd8efa posix009: omit threaded ways 458cd69 callstack001: add -fno-state-hack to get consistent output 7cf9c77 Update adding source locations to cost centres. 03365e9 Test Trac #5595 4176ca7 T4120 passes now! Hooray 0670411 Track error message changes b4d0a6f Merge branch 'master' of http://darcs.haskell.org/testsuite c743f1f Add note the T3016 also tests #5652 d77aede Merge branch 'master' of http://darcs.haskell.org/testsuite 747661f Add tests for trac #5486 and #5681. fc9a073 Fix debugllvm WAY a6ecfec Accept output for callstack002 a68d54b posix004(threaded2) and posix014(threaded2) pass now a3ed907 T5030 has improved; update boundaries 4aafa41 Tests for primtypes 'ArrayArray#' and 'MutableArrayArray#' d559300 plugins05, plugins06: expect fail for dyn and profiling ways 03ee7cd add test from #5363 35b4a34 add a perf regression test for #783 db2d096 dph: follow changes in unlifted API 5e3f60e dph: duplicate copy tests as vseg tests 87df7c6 dph: rename test file a72dd7b dph: add nbody test fe6e9e4 dph: drop optimisation level for some tests to speed up validate a113604 dph: multi-file tests must be set to alone to avoid build races 76f2fa9 Test Trac #5676, and wibble to error message on mod45 dc132ed Test Trac #5686 7083082 Test Trac #5689 3a105fd Mark dph-diophantine (#5613) as fixed 371bb05 Wibble to error message for deriving( Functor ) e93e53a Add InstanceSigs to GhcOnly flags c20f6ac accept ac499b7 add a test for #4018 ce7325c Move T4113 to libraries/directory/tests (#4480) 1f725a8 Get the value of $(AR) from ghc --info f4318b7 Merge branch 'master' of http://darcs.haskell.org/testsuite d594d84 .gitignore de8a1bf Add a test for a memory allocation bug in the RTS flag handling. abfcdc0 Tests for T5684. They won't fail necessarily in 7.2.1 because there was yet another bug (related to lazyness) but if the T5684 bug appears again in HEAD then it will be revealed by this test (because I also fixed the lazyness bug as well). 584f65a Test Trac #5691 01477fe dph: add alone flags to fix build race 0fc8eeb Testing vectorisation of superclasses 7d92019 add a test for setNumCapabilities c425b2f accept output 544a738 fix $(HAVE_PROFILING) on Windows 45a7084 add 32-bit output 0909d1b Test Trac #5657 6b90fe4 Update Safe Haskell tests e5ed689 Error change following up kind constraint solving modificatios. e08432d More Safe Haskell tests fd9bfbd Test Trac #5712 6a70b5a Test Trac #5719 7eb58c0 Minor wibbles to error messages, as a result of fiddling with the handling of default declarations 374e7b5 Adjust test to handling of unit unboxed tuple d3c9c1d Test Trac #5700 4976d0e Merge branch 'master' of http://darcs.haskell.org/testsuite 869df3c Performance test for Trac #5321 bae7a6b Test Trac #5721 9284030 Test Trac #4310 7348bb7 Error message wibbles for new CoAxiom story d72ca1b Adapt test output to reflect better -ddump-deriv output 747f2c4 add test for #5747 2ac8fe3 Count the number of tests that failed due to reqlib() e16808a setnumcapabilities001 requires the parallel package 13ce4f4 Don't add threaded2_hT unless we have threaded and SMP support d491031 Skip setnumcapabilities001 if we don't have SMP support 8111e64 widen the boundaries for space_leak_001 (fixes failure when unregisterised) 5e975ba Test Trac #5759 922bc6b Merge branch 'master' of http://darcs.haskell.org/testsuite ad0e1c9 Add quot and rem to the integerConstantFolding test 5ce0e4e add reqlib('random') 05306f4 widen max_bytes_used for T4801 2ed1fdf widen peak_megablocks_allocated for T4801 (64bit/Linux) 4c68c2f Lots of error message wibbling, following the major TcErrors refactoring d342f88 Merge branch 'master' of http://darcs.haskell.org/testsuite df587d5 Merge branch 'master' of http://darcs.haskell.org/testsuite e948d22 Test Trac #5658b ee599f6 Update .gitignore to include generated test files 3d52fa8 More .gitignore updates. f6cea70 Fix T5430, make output independent of user timezone cacd982 Update error message 63afeeb Add {double,float}FromInteger to the integerConstantFolding test 655e409 Add encodeInteger{Double,Float} to the integerConstantFolding test 0a797ea Update tests after instances are moved out of Control.Monad.Instances 5601845 Adapt 'dph-classes' to class support in dph-lifted-vseg db6d9cd Adapt DPH tests to classes in the DPH library eaae5f4 Add Defer02.stdout fcbfdfe Merge branch 'master' of http://darcs.haskell.org/testsuite 28f619e Wibble to recomp006 error 5ff65d7 Use the new flag -XDataKinds 199f388 Parse the ghc --info values using a Haskell program, and cache the results a8f94cc The LLVM backend now only works with 2.9+, don't try it if we have 2.7 cb0f98d Test Trac #5745 08413e4 Adapt test output fee30b7 Revert "The LLVM backend now only works with 2.9+, don't try it if we have 2.7" cffcc44 Test Trac #5776 d242001 Merge branch 'master' of http://darcs.haskell.org/testsuite 64b6389 Add normalise_exe for removing ".exe" extensions in output on Windows 95cb0a1 3429: We should be using +RTS -C0.001 not +RTS -i0.001 5262d70 Skip conc036 entirely (see comments) 58759ba foreignInterruptible: expect_fail on Windows 6e5aa9e Expect failure for numrun012(ghci) on Windows 90dc223 fix (non-fast) validate c752b33 Add stderr for warning (arising from Trac #5779) 209fc3e Merge branch 'master' of http://darcs.haskell.org/testsuite 0998987 Update .gitignore. ef9249e Add test for #5785. 96988cc Test Trac #5742 de90d88 Merge branch 'master' of http://darcs.haskell.org/testsuite d7bb891 Add missing stdout for T5742 def5baf accept output 898eca9 Don't read boilerplate.mk on 'make maintainer-clean' deeeacb Fix for Windows, and delete the .mk file if ghc-config fails 558fc1e Don't fail if "ar command" is not found 99a4418 Merge branch 'master' of http://darcs.haskell.org//testsuite 9e5aa33 Mark dph-diophantine-copy-opt as broken (#5817) 69017ca Add a test for the integerToInt/smallInteger rule 6453351 Generalise the integerToInt_smallInteger test (now fromToInteger) 71c3095 Add a perf test for #5536 616fbe9 Add a perf test for #5642 2555da0 mod175 now passes: #437 is fixed c90ed07 objc-hi and objcpp-hi fail the ghci way 874c337 Fix mod175: Tell make to be quiet b2e4c1e Make TH_Depends more portable 0b395e1 Tweak TH_Depends 777dff2 Make posix003 a little more portable 48ba35e Merge branch 'master' of http://darcs.haskell.org//testsuite afee003 Test Trac #5798 c397d7b dph-diophantine is fixed 087d60a Add dph-nbody test with the dph-lifted-copy library e2787de Test Trac #5792 3ff3050 Remove the Data.ByteString tests; part of #1161 ff4939e Remove the tests/lib/PrettyPrint tests; part of #1161 c8755c9 Text.Printf tests have moved to base; part of #1161 eb2261c Move lib/Time tests into the old-time package f3c7910 Remove Regex tests; part of #1161 5c18627 A couple of compiler performance tests have improved :-) 9e59ec2 Minor wibbles in error message ordering 9636898 Merge branch 'master' of http://darcs.haskell.org/testsuite c41b9a8 Add test for 'distrust-all-packages' flag 6e56fa9 Add some safe haskell test for '-trust' flag. ec735ca Don't use TOP_ABS in Makefile rules 7d556a4 Filter colons out of ghc-config-mk 152cd16 Remove some Makefile debugging code 35c3c30 Accept error message changes in response to Trac #5860 9e81663 Test Trac #5820 6b4e38a Merge branch 'master' of http://darcs.haskell.org/testsuite 8ebdadb Merge branch 'master' of http://darcs.haskell.org/testsuite 2a68da8 Add some tests for ghci under -XSafe ba88ec4 Update gitignore 23fb5aa Add stdout for T5820 8a808e4 test #5836 ab59200 Fix up safe haskell test outputs eb7aacb Make the compiler_always_flags modifiable on a per-test basis ef05085 Allow perf bounds to be specified as base + percentage deviation 71c20ca Disable -dcore-lint for compiler perf tests b32ad24 fix failure in apirecomp001 (IIModule type changed) 0290ab2 update max_bytes_used for T1969 c64c802 add req_smp 03906d4 update output cdbb35c Add a CAPI / CTYPE test (Capi_Ctype_001) 7cd5106 Add optllvm as allowed way in testsuite baf1881 Remove some out-of-date normalisation 3b4572b Add another test for CAPI / CTYPE 9919372 Update tests following OldException removal 5f3b4dd Fix Capi_Ctype_001 on case-sensitive filesystems ac780df Follow change in bindisttest install directory name f98922b Accept update 043a7c8 Accept output in ccfail004 4b78411 Follow more output changes de39a6f Remove type synonym part of Capi_Ctype_001 fdbe5f4 Update output for rnfail055 again 51fbbbb Update test outputs now the bytestring version number has changed 042461c Add a test for add-with-carry 1128d8a Add 32-bit output for add2 52037f7 Add a test for 2-word-multiply 54f69dc Add 32bit output for mul2 ab91cde Use 64bit args in mul2 9a3c874 Add a test for FFI decl parsing aedcb21 Add a test for CAPI value imports ead65bb Add a test that you can't import "value"s using ccall 70326cc Add a test for a "value" FFI import with a function type 913a3bd Move test array01 into the array package 2453e10 Test changing the -main-is function name, not just the module 36c9b79 add test for #5866 5b7328c Wibbles to error messages 05c51c0 update 32-bit results 8359158 add a test for :seti 2e02097 update ghci024 following changes to :set ac80ea2 accept output ff74e75 add missing file 7a29e7e fix test for the new TASKS stats output 64880bb Modified error output and new tests for PolyKinds commit a2cf0fd Remove unnecessary import 05b18ad Test Trac #5717 3b9c651 Merge branch 'master' of http://darcs.haskell.org//testsuite ffd72d2 Test Trac #5862 61de0db Test Trac #5912 85abd54 Test Trac #5892 98479d6 Test Trac #5881 0d049c0 Wibbles to testsuite/mk/boilerplate.mk a56ce4f Test Trac #5716 097dca2 Disable threads with python 2.7.2. 0d59d22 Fix llvm check 03a88aa Update .gitignore. 5ec8527 Accept changed debug output from Simon's changes to GHC 253d34d Update perf bounds for i386. 25017db Move base and unix tests to respective packages; part of #1161. b2fb5b9 Raft of wibbles after refactoring type-class constraint errors 9d9a897 Merge branch 'master' of http://darcs.haskell.org/testsuite 3c08377 Test Trac #5858 0534f09 Test Trac #5922 ea9ba3f Bumping allocation limit for parsing001 a little 470382e Test Trac #5915 ff0c535 Update .gitignore 08154fb Update gitignore 8fe929f Test Trac #5937 d773cf6 Merge branch 'master' of http://darcs.haskell.org//testsuite cc06a17 Test Trac #5915 3dea107 Test Trac #5937 55063d0 Add KindSignatures flag to test c4a89da Test Trac #1541 4feb0ea Test Trac #5833 a9c1ace Test Trac #5935 3582eea Test Trac #5882 9f598bb Test Trac #5886 197917e Merge branch 'master' of http://darcs.haskell.org//testsuite 9410a8d Fixes to reflect changes in behavior of -XTypeOperators. cf1ed00 Update error message: now 1 is a potentially valid type. 43034fc Update error message for malformed sub-ordinates. 210cd92 The example n this test is now valid, when TypeOperators are enabled. b473b25 Merge remote-tracking branch 'origin/master' into type-nats ea2f35b Test Trac #4135 f258092 Fix testcase for #4135. 5c31e42 Merge branch 'master' of http://darcs.haskell.org//testsuite a2487c3 5250 is expected to pass on Win64 17e45d2 Merge branch 'master' of win:c:/m64/reg4/testsuite 528aba0 Merge branch 'master' of http://darcs.haskell.org//testsuite f635846 Merge remote-tracking branch 'origin/type-nats' 4de8de2 Add new extension to the list pf GHC-only extensions. 9246be3 Update test to reflect the improved printing of data declarations. 429183f Update test to reflect printing of imported/exported type operators. 6eb9500 Merge branch 'master' of http://darcs.haskell.org//testsuite 6dc6775 Error message wibbles following TyClDecl/HsTyDefn refactoring 5f02fd0 Slashes and backslashes in filenames ada17f2 Bump limits for T1969 9734a93 Test Trac #5971 6137c0f Test Trac #5955 1a98639 TH_scopedTvs succeeds now we have scoped type variables in TH 0c8318e Test Trac #5968 6b4527a Test Trac #5951 02fb36f Add testcase for #5979 b9cc105 Add testcase for #5984 9615ede Add testcase for #5555. 47c2cb0 Add testcase for #5976. d6ff372 Add testcase for #5664. 0b3c3c8 Error message modifications following ghc-new-solver modifications 77af343 Merge branch 'master' of http://darcs.haskell.org/testsuite dde0085 Test Trac #5957 01fcb7a Add RankNTypes flag to tests that should really have it db71e3e Merge branch 'master' of http://darcs.haskell.org/testsuite d450ec4 Update safe haskell tests for change output formatting f90a4e1 Merge branch 'master' of http://darcs.haskell.org/testsuite ac8464b Test Trac #5022 17f3e90 Fix dynamic stub in tests after fix for #5664. 56de6d1 Expect failure on T3064 3a9ba4d Add (in comments) more variants to T3064 704c150 Actually test T5022! 597bbcf Accept improved error message 34138c1 Merge branch 'master' of http://darcs.haskell.org/testsuite c5e6c6d Add files for testing T5795 a312fd1 Following up from the last commit in the constraint solver. a647d30 Add testcase for #5948. 6e369fd Adding test case for polytype decomposition in the constraint solver. e8429ae Adding testcase for Trac 5934 d80aac9 Update Safe Haskell tests for changed format. 362ee5a Add test to make sure flag extensions are correctly display as a unsafe reason. 639f8a4 Fix Defer02 test for Windows. 8a1c584 Add testcases for #5975. 3ff6439 Add testcase for #6001 f9e8ebb enable the ghci way for various tests, now that GHCi detects deadlock properly 125a20f Test #5993 f98194b Merge branch 'master' of http://darcs.haskell.org/testsuite 65f10e4 Increase the size of T3064 and upgrade 64-bit numbers accordingly 6cc2d27 Test Trac #5938 7066577 Wibble to error message c1e5ca5 Merge branch 'master' of http://darcs.haskell.org//testsuite 8f2d111 Add testcase for #6011. d2e2e13 Merge branch 'master' of http://darcs.haskell.org//testsuite ae2c534 Merge branch 'master' of http://darcs.haskell.org/testsuite 1d9f491 Merge branch 'master' of http://darcs.haskell.org/testsuite 458673e Test Trac #5853 1be154d Unix line endings for T5938 1cd2e3e Test for second bug in Trac #5716 6ea9c2b Merge branch 'master' of http://darcs.haskell.org/testsuite b13a295 Add a quotRem2 test f8cc68f Test Trac #6031 48bafff Test Trac #6020 cead06e Test Trac #6022 a7bf4c0 Error message wibbles ef0d0b7 Add combined_output option. 9ff81c7 Merge nb:ghc/git/ghc/testsuite f082135 Merge branch 'master' of http://darcs.haskell.org//testsuite 1d59d3a Merge branch 'master' of http://darcs.haskell.org/testsuite 7f3a9de Test Trac #5920 3b84b0a Test Trac #6020 9ff3250 Test Trac #6025 f926399 Test Trac #6031 355b1b1 Test Trac #5997 b26282d Test Trac #6002 e4c802d Add comment to test 86403bf Test Trac #6039 f2d5b3e Merge branch 'master' of http://darcs.haskell.org//testsuite 4c0ec20 Test Trac #6035, #6036 0ad0d56 Test Trac #5867 a475fa4 Trac #6022 is broken at the moment c9bb4fa Wibble for changed pretty-printing of CoAxioms 279a594 Merge branch 'master' of http://darcs.haskell.org//testsuite 2ceaa81 Wibbles to deprecation errors 07b041b Merge branch 'master' of http://darcs.haskell.org/testsuite 579c91b Test Trac #6005 109f8bf Adjust seldom-run tests for flag changes fa48f52 Test Trac #6021 eb32f34 Test Trac #6020 again, and #6044 68c082b Follow changes in pretty printing 1565cf7 Test Trac #6005 (second bug) 66a44d6 Test Trac #5884 524043d fix bounds for T1969 on x86_64-linux 2a05a99 fix bug in stats checking 02dd86d Update some perf bounds that have improved 3ad4e94 Test Trac #5837 32b2573 Add tests for #6027. a6a3bf4 Wibbles to error messages arising from using coreBindsStats 73b97bd Add test for #6006 05f46d0 Add test for #6007 22028c1 Merge branch 'master' of http://darcs.haskell.org/testsuite d642f5c Testsuite driver tweak for Windows 79d1d3d Bump peak-megabytes-alllocated for T4801 0021043 Test Trac #6055 b71f703 Test Trac #6054 73f28aa Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 27c08af Simplify the stdout-* filename generation in the driver b4d34d4 Allow OS-specific test outputs in the driver 3e467a9 Add test for #6060 cf85b75 Don't try to run ghc-config when cleaning f205f21 remove accidentally added file 8e6b902 fix T4464 on Windows 782b5bf Fix capi_value on Windows deaa0ab add missing file 3a3d1c6 substitute for $topdir in $(AR) 4a5c6a0 Omit prof_ways for T6006 a8a0071 update 32-bit results beaf772 follow changes in the GHC API 753d59c Change how we detect whether the terminal is cygwin or msys e07d432 Merge branch 'master' of win:c:/m64/ghci2/testsuite cace35f Fix cabal tests on Win64 9d07791 Fix some more tests on Win64 b806bd2 Tweak 4038 for Win64 a511dcd Fix the way we find the path to 'ar' 0285e28 Fix ghcilink002 on Win64 a44d52b Fix other ghcilink tests on Win64 83dc4b7 Tweak plugins01 92fddec Accept output for T6006 on Windows 12dc1b6 5250(llvm) is expect_broken(4211) on i386-unknown-linux b67b943 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 95978ed Fix ghcilink00{1,4} when the path to AR contains spaces c8b715c Mark SEH tests as broken on Win64 (#6079) e9e791d dph-classes-vseg-fast is broken (#6080) a6ab229 Add Win64 output for outofmem b35ad0a Fixed #6080 07fadb7 Driver tweak 5f9c642 Some test fixes on Win64 79e56d3 3837 now passes on Windows: #3929 is fixed bb5447c More Win64 test fixes 93d853b Move win32 tests to win32 repository. 9dfd8cd Test Trac #6078 7d3a6ae Better performance for #3064, but #5030 is now expect-broken e4212c2 Wibble to simplified output 3528d0a Merge branch 'master' of http://darcs.haskell.org/testsuite af0bf03 Test Trac #6048 43e1ff2 Merge branch 'master' of http://darcs.haskell.org/testsuite 4faed34 Accept debug-print wibbles b2d98cc Test Trac #5623 3970d9a Add needed -XPolyKinds 50b41cf Test Trac #5737 6729fa6 Test Trac #6081 d93dc41 Test Trac #6015 37a2820 Add test for #6091. 24d70da Rename package-conf flags to package-db. 8b5836a Use -fobject-code for tests that use UnboxedTuples 577e98f Add -fobject-code to the numeric *2 tests 14f7be1 tc126(optasm) is broken (#6096) 3392311 tc078(hpc,optasm,profasm) are broken (#6097) 3a6f1aa 4321 is broken again 11e13be Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite ada75a8 Testsuite update for unboxed tuples in arguments accd944 Test Trac #6015 and #6068 5a502c7 Merge branch 'master' of http://darcs.haskell.org/testsuite 284a60f Add red-black tree test from github (with permission) 3539136 Applied lunaris's patch to allow promoted types and rich kinds in Template Haskell a5ce7e4 Accommodate INLINALBE pragmas in TH b70dd33 THis test does not actually use HsExplicitListTy 64f085a Fix tests to run without mtl 3e512f2 Follow the move of Word from base to ghc-prim 9a6b8e4 Accept output for mc22 1c2954c add test for #6106 ee2f63d dead code: guess_compiler_flags() 856e916 Go back to using -no-user-package-conf for a while 2118d80 Test Trac #6118 ffe4372 Fix a testsuite driver failure on cygwin 0a0087a add test for #6105 ac371fe accept output 677a3ab Merge branch 'master' of http://darcs.haskell.org/testsuite 2c363f4 Extend test for Trac #2713 (cf Trac #6120) b7892a1 Wibbles in debug output 77066ac Test Trac #6120 535ad9d Test Trac #6123, and improve an error message in T2627b 0d3c52d Merge branch 'master' of http://darcs.haskell.org//testsuite 75706a4 Go back to using 'const' in capi_value 64e32f5 Add a test for setByteArray 3d07201 Merge branch 'master' of http://darcs.haskell.org//testsuite 85c9dd9 fix 6048 (stat too good on 64-bit) ac2bc9c Update output 12e5c1e Add missing file 3ae7138 Merge branch 'master' of http://darcs.haskell.org/testsuite 08a4aa7 Test Trac #6114 808e1df Wibble in error message 64910ca Merge remote-tracking branch 'origin/unboxed-tuple-arguments2' ad4020d Fix testcase for #5971. 224b98d Merge branch 'master' of http://darcs.haskell.org//testsuite 9a767ff Add more tests to integerConstantFolding c60977e Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 208fa3a Merge branch 'master' of http://darcs.haskell.org/testsuite a001844 Merge branch 'master' of http://darcs.haskell.org//testsuite e8ec579 Error message wibbles 8491727 Test Trac #6049, #6093, #6129, #6137 9f3cf8c Test Trac #6148 91ea5b4 Test Trac #6145 1e169cf test for #6146 bb639e4 Wibble to error message 09d687b tcfail098 now passes because of UndecidableInstances (I've added comments in TcMType.checkValidInstance) 1600508 Test Trac #6134 c85a85f Test Trac #6088 29d83fe Merge branch 'master' of http://darcs.haskell.org/testsuite 751f030 Test Trac #6152 0d36d57 Testcases for floating equalities ouf of implications and for recording extra untouchable variables. 8a40940 Testing of generating Derived equalities from Given dictionaries with functional dependencies. 4f882db Testing new top-level defaulting plan. 2ed41c1 Forgotten entry. f3cb7ec Merge branch 'master' of http://darcs.haskell.org/testsuite 35073a0 Avoid using deprecated package-conf GHC flags. ba5c1e9 Add more cases to the integer constant folding test e598fd3 Update output (spelling of "inferred") c5c9026 Update test output for mdo changes (Trac #4148) eaef9e3 New tests for Trac #4148 15c2e4f Merge branch 'master' of http://darcs.haskell.org/testsuite 1716d85 tc078 and tc126 are no longer expect_broken (6096 is fixed) 6c52b64 update max_bytes_used for T4801 on 64-bit d200ba1 no need to force -O here any more (#3966) 8d41d9e Fix plugins01: Follow changes to GHC 26e1e7e Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 0c0b2bb Improved error message 2a99c19 add a test for INLINE and -fprof-auto (#6131) debfd1d Merge branch 'master' of http://darcs.haskell.org//testsuite 64cf942 Merge branch 'master' of http://darcs.haskell.org//testsuite de246aa Test Trac #7007 cd0a88a Update tests following changes in base 60ab8ea Fix the timeout program following the changes to base 6f9114e Test unencoded StringPrimL dd44a15 Add test for #5963 9d3bf7d Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 0898526 Wibbles to error messages fc68de5 Test #4361 would fail because of the removal of the UNSAVORY HACK but this change makes it work again by adding a type signature c02a823 Merge branch 'master' of http://darcs.haskell.org/testsuite 686628d Add tests for deriving Generic1 7d8b524 Add test for #5936 488f34c Add one of Reiner Pope's tests for #5936 45dc613 Merge branch 'master' of http://darcs.haskell.org/testsuite 8536690 Reduce the bounds for perf/compiler/T4801 4b21a22 Remove the deprecated concurrent modules from GoodImport03 1495dc1 Correct the inferred type (in comment) c79768d Merge branch 'master' of http://darcs.haskell.org/testsuite 09803f8 Add #6158 test case. 425434b Merge branch 'master' of http://darcs.haskell.org/testsuite 9758c36 Fix handling of optllvm way a6bacc3 Update .gitignore 87d3f54 Adapt to the re-introduction of silent superclass parameters 02a343c Add stderr for tests now (correctly) failing due to silent superclass args 1c595c0 Fix cleanup for some tests. e277797 Add test case for #5900 71bb780 Add IntegerConversionRules aa490c9 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 4ae3075 Update some limits for x86 perf tests. 478b36f Add a test for #4138 (currently failing) 8542e25 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 4c8f4f7 Adapt tests to change in a parser error message. 3195d47 Fix ds055 (redundant import of Data.HashTable removed) d0d96bc Remove Data.HashTable from GoodImport03 f0a23c0 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite c426022 add test for #7037 a5c9ed1 T5111 is an expected failure becuase of Trac #7046 9613d73 T3294 improved with the new codegen merge 8be2830 Fix test case for #4138. 10f46f4 fix syntax error 6bda872 Fix T5975a/b conflict when run in parallel 5372ff5 Adapt to removal of catch from Prelude 2d47ca4 Make numrun012 work with excess-precision.(#5856) c0b6669 Accept error wibbles 547ab6f Merge branch 'master' of http://darcs.haskell.org/testsuite 55b5468 Add tcfail209a 02af0c5 Accept error message changes 8df0337 Merge branch 'master' of http://darcs.haskell.org/testsuite 4968a28 Wibble 003fc45 Fix numrun012 on x86_64. ad859f5 Tests for Trac #7053 8197fe8 Test Trac #7019 aab80f8 Test Trac #7020 89261ca Test Trac #7022 1d51cc8 Add testcase for #7060 c64e7d5 Merge branch 'master' of http://darcs.haskell.org/testsuite 16e79b1 update T5267 for change to TypeOperators Now it breaks properly again. ce68b75 Add a couple of tests for gcdInteger d832d1f Test Trac #7023 c2cb067 test trac #7073 49703b9 Test Trac #5978 and #7010 4371e72 Follow changes in FastString b72aa2c Added LambdaCase tests. 5246de0 Added MultiWayIf tests. ffae5d4 update for MultiWayIf and LambdaCase 2c7d9ab increase range for T4801/max_bytes_used, it was failing validate sometimes 17087f4 Update bytes_allocated for T1969 51e5586 Merge with HEAD 982d970 Update the expected allocations for T1969 436630f Wibbles to error output 21e38cc Fix T4007 after changes for #7060. 410ad38 Make 5558 portable by replacing seq with python code (#5558) 3dda492 Test Trac #7082 964ea43 Add 32-bit output for gcdInteger a631a13 Improving error messages for synonyms. 577b9dc Merge branch 'master' of http://darcs.haskell.org/testsuite 0c42fb3 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 1f405ee Test Trac #2534 a55605f Merge branch 'master' of http://darcs.haskell.org/testsuite 2b5c6ba Test Trac #7085 b1ddfcf Adjust T1969's bounds again ed3c066 Fix arith013 6e199bd Remove T7041; it doesn't make sense now that we handle gcd differently 3c52a0f Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 7744195 Add error output 59a4b58 Accept error 94187d0 Merge ../../HEAD/testsuite a8072f3 Test Trac #7088 7cf9432 Test Trac #5821 afa3965 Add a type signature for a function with an ambiguous type 9cfb3c6 Add some NOINLINE pragmas to satisfy the (correct) "RULE may not fire" warning b79822c Merge branch 'master' of http://darcs.haskell.org/testsuite 8eba4f8 Test Trac #6082 rule matching warning d23aa19 Merge branch 'master' of http://darcs.haskell.org/testsuite 6f75505 Merge branch 'master' of http://darcs.haskell.org/testsuite ddbe790 Fix T6082-RULE test case 3afc015 Add test case for #7014. 822f996 Fix failures in the full testsuite 9e82dc1 add a test for #7087 3e2d0af accept output for now 4409a21 reduce max_bytes_used for T1969 d29defa bump sample for T783 cc7384d Add test case for #7126 23748ed Add test case for #7118. 2999eae don't force -O ef4140f don't include $(EXTRA_HC_OPTS) twice 31fb6f5 don't force -O0 af7c852 omit -dcmm-lint too be04536 Accept error change 42d70b5 Update T7022 to test more as per the ticket 2dba6fb Tweak some limits in performance tests. caf3f59 Add test for #7130 a706a60 Update error message in safeHaskell/ghci/p2 562b154 Fix test case 7087 for x86. f5144f5 Add test case for #7117 022dc1c Update old safehaskell test 9ffb400 Test Trac #7128 a26252c Add test for #7145 310d39d Add some haddock space usage tests 5a42050 Add 32bit expected values for the haddock perf tests 41b7f9d Adapt to extra \n in multi-line string printouts 53ffd2e Adapt to new TH pragma data types 12512e1 Merge branch 'master' of http://darcs.haskell.org/testsuite 33a75d9 Test Trac #7064 36f2ec6 Test Trac #7151 d8b5659 Add DataKinds flag to test 385058e Update stderr in p2 test case. 57a409c Test Trac #7095 1ce4253 Test Trac #7147 b17b14c Merge branch 'master' of http://darcs.haskell.org/testsuite bfbc4f8 Test Trac #6038 da71a95 Add comment 4b0b0f1 Change in line numbers 814707f Test Trac #7156 431577b Run testcase for #5205 without optimization 0e8d47c Fix T7151 test e537b4d Test Trac #7171 e6a9b96 Merge branch 'master' of http://darcs.haskell.org/testsuite 5af27e2 add the test from #7160 81712b6 drop lower bounds for haddock.base and haddock.compiler on amd64/Linux f345776 Make tc219 a bit more stringent -- require polymorphism 13dc09c Test Trac #7173 433f7a6 Accept improvement ac4bf2c lower max_bytes_used for T1969 5ea88b6 add tests for #7040 f00609d Add a test for #7163 3e88c1a add test for #7170 19b7140 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite adfedb0 Merge branch 'master' of http://darcs.haskell.org/testsuite 0faa602 Test Trac #7176 b72d673 Add more safe haskell test coverage. 2853d32 Update SafeHaskell outputs. ecababf Add test for #7172. 29070f8 fix this test not to use QSemN (which has gone) 6115c4f accept output ("RULE might not fire" warning) e8461e6 accept output ("package flags have changed" message is now suppressed) 2bc957b avoid the new -rtsopts/-shared warning d8ca9ab fix bounds for T1969 again c9e10d0 use $(MAKE) instead of make (#7180) 88c2a95 Merge ../../HEAD/testsuite d426f86 Trac #7176 is broken in HEAD at the moment 6520e57 Merge branch 'master' of http://darcs.haskell.org/testsuite 7b2b6d2 Test Trac #7101 930e93f Test Trac #7164 50d7c3b Test Trac #7090 3e7161b Test Trac #7165 a284cd9 Add regression test for dodgy import warning bug 7434b79 Add test for T7167. dcecf9d Remove rnfail038 test case a8869ba Fix 7170 for i386. cfdcf55 Test Trac #7092 dedb295 Merge ../../HEAD/testsuite 3a4d34a Merge branch 'master' of http://darcs.haskell.org/testsuite 90761a9 Test Trac #7194 1d95758 Fix all.T bug in test for #7171 3a8075f Merge ../../HEAD/testsuite 92b9bda Fewer "shadowed bindings" messages from TH (result from fix of #7092) 4976939 Test Trac #7196 c5b9219 Teat Trac #7175 7fa287a Accept error message changes 8f00033 Update performance figure 23f4463 Accept error message changes 490e006 Update 64-bit results for the new codegen a0fa6c3 Adapt tests to the removal of the MR in GHCi 6bceb07 massive_array is expect_broken(#7213) 018db07 add a test for #7215 d3c01e2 accept 547913e Add test for #7210. 575629f Fix tests after update to bytestring 0.10.1.0. 2a000a9 Fix warning in T4464. 3c4aac0 Add dynamic version of T4464 cca9cb1 Remove unnecessary hs_add_root call (#7031) 5a71292 Merge branch 'master' of https://github.com/ghc/testsuite 68fb999 Update perf test bounds 45cf6f8 Test Trac #7237 00922ef Test Trac #5252 (again) 1f49b82 Test Trac #7224 and #7230 261e91e Test Trac #7238 adf6cdf Add a test directory for ext-core, and test Trac #7239 9d780e2 Merge branch 'master' of http://darcs.haskell.org/testsuite 3648727 Raise T5837 bounds b81c3d4 Follow module removals in base 18766f7 Update perf bounds f3b2ed5 Update test output 7095121 Merge with master f1557f3 A ton of error message wibbles b37dc96 use /bin/sh, not /bin/bash (#7244) 8909f0c Print stdout diff even if stderr diff alrady fails (#7247) 1ebabeb test for #7227 7ba13fa Follow GHC change: No deprecated warnings for defining class methods faec924 Add a perf test for #7257 48b4b88 Failing (by timeout) tests for #367. a003897 Add support for per-test timeout adjustment (timeout_multiplier), and tighten up #367 test. 1175d35 Tweak #367 tests to use -fno-omit-yields and expect passes. ba20cc3 Add TypeHoles to the list of LANGUAGE extensions that GHC knows but Cabal doesn't 7719317 Make the test output a bit more self-explanatory c22af4a Tons of error message wibbles 6eed673 Wibbles e978cd6 Merge remote-tracking branch 'origin/master' into tc-untouchables cb467f0 Add bunch of llvm ways for testing purposes. 6b8d013 Merge remote-tracking branch 'origin/master' into tc-untouchables 5010cf3 Update max_bytes_used for haddock.Cabal on 64-bits 791f491 Two mor error message wibbles cbf3d4b Merge branch 'tc-untouchables' 05a8c3e We now have left/right coercions again, so T1999a passes 2bf8943 Better perf c99f305 Test Trac #7205 3189427 Test Trac #5591 cc9a8c7 Test Trac #7278 69e406a We weren't generating a stats file for tests that only had stats_range_fields perf tests 70c1aef Fix stdout for T7257 a3d981f Wibble to perf range e19b6fd T1969 was just failing the residency bound if its .hi file existed 79be61e Test Trac #7272 7d7c728 Test Trac #7287 37c33c5 Merge branch 'master' of http://darcs.haskell.org//testsuite 1f8c1c3 Test Trac #7276 7f91d0d Arrow wibbles 70e78a4 Add a -static way, enabled only if dynlibs are used by default 4675647 Fix the T5252 tests 516259e Fix ghcilink002 and others when dynamic-by-default 26ab06c Fix a couple of tests when dynlibs-by-default is on abefa53 Make some perf tests always use -static 29eed98 Test Trac #7050 3bb499d Error message wibbles now that we do less defaulting when there are insolubles 7cd3b39 I've changed the error reporting so that with -fdefer-type-errors you get *all* type errors as warnings, rather than some being suppressed e11f19c Merge branch 'master' of http://darcs.haskell.org/testsuite 319f9ba Don't use the dyn way if we're dynamic by default c0ca8ff Driver: Define have_shared_libs correctly 2432082 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 7fdd69f 2228 is broken on x86_64-unknown-linux e70e497 Test Trac #7293 6b7ca88 Test Trac #7294 b379f27 Test Trac #7280 33b5076 Commit missing stderr file 00a672e Update to new Cmm syntax 829b179 Update to new Cmm syntax 06e0c3a update 64-bit values 3fbc247 Update 32-bit compiler perf stats 07d4a4b update 32-bit stats for T7257 7c96e85 massive_array now passes on x86 (#7213) 5f48b24 Need to use high-level cmm here (fixes test on x86) 5ec6ea3 Make it possible to test the generated assembly cecf7b5 Use -shared for the prof ways b0d2529 Whitespace only in dph/diophantine 9246f17 Allow dph-classes-vseg-fast to run in parallel 2d6836c Add an outputdir test option 378363c Add 'high_memory_usage' as an alias for 'alone' 4fb3f11 Copy the flag lists before altering them 5f4d651 Let the dph tests run in parallel a2870ad Run all the 'alone' tests at the end of the testsuite run 3674eaf Add outputdir's for the dph-nbody tests 6226c19 Add expected output for T7194 22281f1 Add a test for T6161 671ec1c Add a test for #6117 251d843 GHC now treats ((->) t1 t2) just like (t1 -> t2), so we need to obfuscate this test a bit 75183ed Better output ab57afe Test Trac #5751 b4166fd Test Trac #5913 ab47200 Test Trac #7321 b7fba60 Test Trac #7312 1876048 Update ghcpkg01 output 8933b4e ghcilink001 is expected to fail when ghci is dynamic 91e7d5b ghcilink004 fails when ghci is dynamic (it tries to load a .a file) bdd4042 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 6afab22 Fix memcpy when -fPIC is on d4aca87 Add a test for reloading a module in GHCi eca96a2 print035(ghci) fails when ghci is dynamic ab466bb The asm tests pass on Linux, but not OS X b601aae Tweak the 2228 config c673422 Test Trac #7332 09cdd12 Replace Rank2Types and PolymorphicComponents by RankNTypes 8bc6c4a Improvements to kind error messages, mainly 5c1d923 Adapt to being a bit more picky about inference with GADTs 796322f Improved desugaring in TH for Rules 81bac4f Adapt to fix in exprIsWorkFree 9c782f2 Minor changes to tidying a8ed7cc Comments and consequential line number changes ea081c0 Check that existential data constructors can't be promoted 96f9aff Better duplicate signature warnings bd56e72 Kind error wibble f7ad2aa Test Trac #7338 63a3760 bump stats for T1969 and T4801 4c88078 Merge branch 'master' of http://darcs.haskell.org//testsuite f58d238 widen the range of max_bytes_used for T1969, to reduce spurious failures f2a0738 reduce stats for T1969/T4801 again; looks like the bump was due to -fPIC 83014ab add test for #7233 dd9dbdb Merge branch 'master' of http://darcs.haskell.org//testsuite b5897f9 Testsuite fixes for when we only have dynamic libraries 45475f0 Update T4437 following changes in Cabal's extensions list 2db1733 Error message change for duplicate type signatures 4f093d6 Wibbles to type error messages 126c798 Merge branch 'master' of http://darcs.haskell.org//testsuite 043fddf Test Trac #7328 and #7332 91790aa Another test for Trac #7338, duplicate type sigs cdb0361 Test Trac #7347 e65d702 Test Trac #7341 d32a0c8 Test Trac #7276 (part 2) ceb03c2 Test Trac #7368 d143e5f Test Trac #7354 8c3dc56 Another test for Trac #7354 2d44ece Test Trac #7336 7d7410f Fix the have-we-got-vanilla-libraries test baf9da6 make it optional to have DynamicByDefault, to support older GHCs 04219cf add test for #7319 abc6031 fix HAVE_VANILLA when we have both static profiling and vanilla libs a7e4046 accept fad3687 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 2f6b815 Use 'error "uk"' rather than 'undefined' f28972a Improved performance bounds on 32-bit win fcb4fe5 Wibbles to error messages 309c7e6 Extend tc194 slightly c682cab Add error output (accidently omitted before) 87de298 Merge branch 'master' of http://darcs.haskell.org//testsuite 2098689 Test Trac #7264 9de0eb9 Test Trac #6069 c085b2d Fix ghcpkg03, ghcpkg05 (we need to normalise the dynlib names) 8cddd70 Modify T5130 so that it passes 9d22874 Merge branch 'master' of http://darcs.haskell.org/testsuite cb9e449 Fix error output 3c48b06 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 19cb2c6 Teat Trac #7220 897415c Merge branch 'master' of http://darcs.haskell.org/testsuite eb1c829 Don't enable the "static" way if we don't have vanilla libraries aba7b11 Add a test for CAPI wrapper functions 34a23d3 Follow changes in dependency generation 696798a Test Trac #7386 81f2c86 Test Trac #7384 ceedeba Wibble to output c1b677f Merge branch 'master' of http://darcs.haskell.org/testsuite 258d554 Remove duplicate test 16f685e Fix ghci058 on Windows ec56be8 Add if_compiler_debugged to testsuite driver 26cb867 update bounds f9b7f14 update 64-bit bounds 3c65824 Test TypeHoles 14c4520 Fix some tests 5cabf9a Fix safeHaskell/check/pkg01 tests dbb8d75 Fix Check09 test; it depended on the exact version number of bytestring 393939e Make the plugin tests standalone e9043b0 Remove the 'alone' modifier 75eae9c Test Trac #7422 8c98b1e Merge branch 'master' of http://darcs.haskell.org/testsuite 286b88f Add regression test for #7433 956f574 Test Trac #7438 04829b5 Make T7438 insensitive to the directory from which it is run 939fc5c Test Trac #7410 4228699 Accept error message improvement 8a27909 Test Trac #7451 b289026 Merge branch 'master' of http://darcs.haskell.org/testsuite 97842af Test Trac #7404 93c49b4 Test Trac #7408 5689e2d test for #7231 31e246d Add a test for #7453 e94c634 Merge branch 'master' of https://github.com/ghc/testsuite c7a5730 Test for #7162: RULES that never fire automatically 97e1ee6 Use python2 if it exists. Based on a patch from michalt. Fixes #7333. 16c2961 Make some tests independent of the version number of the array package 0e78931 Fix safePkg01 f3938cb Now that existential data constructors can be promoted T7347 passes 6c1caeb Merge branch 'master' of http://darcs.haskell.org/testsuite 2ecdaed Add test for -funbox-strict-primitive-fields 34534c5 Test Trac #7445 93e82e2 Merge branch 'master' of http://darcs.haskell.org/testsuite 63e4bca add test for #7478 b444487 delete stray file 1d50de5 Move UnboxStrictPrimitiveFields.hs to the right directory 33ab3f5 Add a test for #7476 dbb5a87 Add a test for #7474 4162905 Add test for #7487 575573e T3294 now uses more space ad48224 Merge branch 'master' of https://github.com/ghc/testsuite cd01e48 Add test for word2Double# and word2Float# 9924685 plugins*: Follow changes in ghc 6f50601 Add a test for -dynamic-too cf240aa Only run dynamicToo001 if we have both vanilla and dynamic libraries 8cd4ced perf test for Word->Float/Double conversion 8daa246 Test Trac #7506 f65b347 Test Trac #7502 e8aa218 Wibbles for new UNPACK stuff 16760df Test Trac #7489 9719ad9 Test Trac #7368 (second example) e2ab88c Add test for Trac #7488 9a1b165 Merge branch 'master' of http://darcs.haskell.org/testsuite 7a42cf6 Implement overlapping type family instances. 29696e3 Merge branch 'master' of http://darcs.haskell.org/testsuite 62a3c50 Test Trac #7525 1f7d26b Merge branch 'master' of http://darcs.haskell.org/testsuite 49bfb63 Wibble to debug output 53a3f0d Bump the residency of T4801 3a2ce0b Merge branch 'master' of http://darcs.haskell.org/testsuite 77dc694 Test Trac #7507 2f784e3 Don't run T7507 in ghci fee81ff Fix T7160 segfault by importing debugBelch2 7041e9c Test Trac #7536 a974886 Test Trac #7532 4e6bbb7 Test Trac #7541 5e1d9d5 Merge branch 'master' of http://darcs.haskell.org/testsuite d056bb3 Test Trac #7545 7ee327b Merge branch 'master' of http://darcs.haskell.org/testsuite 8f01d1e Test Trac #7360 1d21158 EmptyCase is now an extension flag that GHC understands (but Cabal does not yet) d6a3cca Wibble to output, now that CaseElim is less aggressive. 2fb886e Test Trac #2431 92d9cb7 Updated stderr outputs to reflect changes in FamInst de40b04 Test Trac #7436 b942d04 Wibble to test output after fixing Trac #7436 97b75f7 Merge branch 'master' of http://darcs.haskell.org/testsuite 83bfdc2 Merge branch 'master' of https://github.com/ghc/testsuite 744035f Fix Word2Float# test on 32-bit 441a87a Wibbles to error messages and tests, following ambiguity-check changes 0488163 Merge branch 'master' of http://darcs.haskell.org/testsuite aace245 Ambiguous-type wibbles 6c0c723 Fix typo in extension flags 2267f41 Typo in comments cfcd6b8 Re-do commit 1b8b7f47018eb33bebb0d7f3ee451f7d858a0f8f, which got lost by mistake 5c899f9 Test Trac #7454 b048618 Test Trac #5366 b5cf497 Merge branch 'master' of http://darcs.haskell.org/testsuite 23b0bf0 Test Trac #7279 4aa886d Add new testcase for Trac #7560. 26e5aaf Add test for #7361 0ac8c37 Test Trac #7562 b479c35 Add a test for #7563 f5a5229 Add a missing FD on `Add`, otherwise the test is (correctly) rejected. b4ebf62 Merge branch 'master' of http://darcs.haskell.org/testsuite fa0397f Fix test by removing unnessary (and bogus) fundep 9c64c3f Fix test by adding a fundep on class A, which makes the B instance legal again 292f99c Fix Test by adding a fundep to make the (Concete a b) instance legal bb79e71 Fix test by adding an extra fundep to make the (HasSingleton (Maybe a) mp) instance legal 053b211 Make tc226 have -O, so that the unboxing stuff happens a2e27e1 Add new test case T7585. 08e69b5 Merge branch 'master' of http://darcs.haskell.org/testsuite 657e24b Add a test for #7299 df80694 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 037617a Merge branch 'master' of http://darcs.haskell.org/testsuite d236645 Add better support for .cmm test files. 18fd170 Test for #7600. 94a1cf1 update gitignore d3bfd67 Fix simplrun010 test e34b2bf Adjust debug output for different syntax of strictness annotations 6544692 Adjust performance bounds slightly cb22ebd arith005(ghci) is broken on OS X x86 (#7043) 611105b Output wibble 2120d4e Test Trac #7594 0edc78a Add missing paren 27b0f0b Add a test for #1133 e672241 Add another test for #1133 f999a39 Test for Trac #7571. d22658b Remove a stray colon from the framework fail messages 531a441 Add a (currently very permissive) test name check 9b2d9d8 Add test for T7575. 3b42c19 Only run T7575 on 32bit arch. 3cedede Test Trac #7587 7f823a0 Fix debugging glitch in test output 479a922 Test Trac #2247 fb20a08 Fix T1133, T1133A when BINDIST=YES 70dc712 Don't allow '/' characters in test names 33af647 Use .hpc. for the hpc directory 3e70ca7 Clean the .hpc directories 8e9572b fix runtests to set LD_LIBRARY_PATH environment variable. 4a33b6e Rename some tests to not start with a digit cffb976 Make do_test catch and re-raise KeyboardInterrupt 69317c7 Adjust test; Int is not promotable 8f157fb Error message wibbles 488bf73 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 45ba79b Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 2c74d11 Rename some numeric tests: nnnn -> Tnnnn 3bd690a Rename some numeric tests: nnnn -> Tnnnn 01c5ea9 Rename some numeric tests: nnnn -> Tnnnn 4a37808 Merge branch 'master' of http://darcs.haskell.org/testsuite 8f5b045 Rename some numeric tests: nnnn -> Tnnnn 3d0f4c7 Rename some numeric tests: nnnn -> Tnnnn ff813a6 Rename some numeric tests: nnnn -> Tnnnn fc4e194 Rename some numeric tests: nnnn -> Tnnnn cccb390 Rename some numeric tests: nnnn -> Tnnnn 56de263 Rename some numeric tests: nnnn -> Tnnnn 2959a30 Rename some numeric tests: nnnn -> Tnnnn 4d4c5d7 Rename some numeric tests: nnnn -> Tnnnn 55e3a48 Rename some numeric tests: nnnn -> Tnnnn ea2a7ae Rename some numeric tests: nnnn -> Tnnnn 08db66a Rename some numeric tests: nnnn -> Tnnnn b107603 Rename some numeric tests: nnnn -> Tnnnn 4b7060c Rename some numeric tests: nnnn -> Tnnnn 8d715e6 Make numeric-only test names a framework failure 40bf8b8 Rename a test that shared its name with another test e645a38 Revert "fix runtests to set LD_LIBRARY_PATH environment variable." a673689 numrun012(ghci) now passes on Windows e66a81c Handles TEST_HC=c:/... on Windows 35eb509 Fix T7037 on Windows c2326d4 Tweak a comment to help vim's syntax highlighting cbe9e14 dynCompileExpr(dyn) fails on Windows as ghc isn't built the dyn way 188b562 Make T7037 work on both Windows and other platforms 254c887 test for #2435 c70d6ad Debug output wibbles c594883 Test Trac #7524 ee76d84 SimpleFail9 now passes, which is actually fine 27a66f0 update haddock.base figures ad22567 T5113 is passing, remove expect_broken, see comment on #7046 df3027e Remove some redundant 'extra cleaning' in T4850 33b47c3 Test Trac #7609 c588568 Interface files now include promotion flags d7eccda Improve test ce2f9eb Test Trac #7282 bea606f Merge branch 'master' of http://darcs.haskell.org/testsuite 1c81f61 Test Trac #7601 ffcfd20 Error messsage wibbles 512af3b Merge branch 'master' of http://darcs.haskell.org/testsuite 7361acf Add a test for #984 79a6a7a Accept output for readFail007 518c56d Add a test for #2222 fd1cf5c T5113 is failing again 4ff945c spelling fdf6cc7 Add a test for #1849 0eed595 When the testsuite is ^Ced, print the summary anyway 91aa609 Handle ^C better when threads are being used too 6eb328b Fix shared001 8005af1 Use a proper executable (rather than a shell script) in T6106 4200e0a Tidy up some tests 7dc2f44 Skip ghci/linking tests if we don't have ghci. 73e251d Fix cabal01 on Windows 8a0eeb4 dynamicToo001 is broken on Windows (#7665) 5527c5b Use normalise_errmsg_fun rather than normalise_fun where appropriate 4bde383 Fix T7037 on Win64 9dba3a8 Fix safePkg01 on Windows a9387d9 dph/words: don't inline the vectorised exported functions a69204b dph: tests with dph-lifted-copy need to use '-fno-vectorisation-avoidance if scalar closures get too big f854c8b dph/classes: fails for the moment, but earlier success was spurious a4b5be7 Fix framework failure 772a804 Eliminate *_num_field 0bbefb1 Make failing perf test output easier to read 25af5c0 Fix perf bounds on amd64/Linux following the change to *_range_field 164f705 add test for #7636 79f3386 Add a TEST="..." line to testsuite output c4cd533 Simplify driver code slightly 86df0f3 Define 'when' and 'unless' helpers f66409d Rename some arguments de7e357 Change how the testsuite driver handles copying the test options effc8af Pass the test name to the test options 83a6ae9 Remove unused *_num_fields bindings fba6633 Add a different sort of stats_num_field helper function f3c0dae Allow a simpler form of stats_num_field where all platforms use the same value d34f3e8 Convert to stats_num_field in perf/should_run 7d73454 Replace 'if_platform' and 'unless_platform' with 'platform' 338f03d Switch some more tests to use the new helpers 65b9cf7 Merge branch 'master' of http://darcs.haskell.org/testsuite 6dc2bd0 Convert remaining *_range_field's to *_num_field e315f36 Remove unused helper functions 50cfc63 Merge branch 'master' of http://darcs.haskell.org/testsuite 9f293ae Merge branch 'master' of http://darcs.haskell.org/testsuite a950053 Wibbles to test 8e1e95e Update 32bit perf results for the haddock tests 5ec0ad3 Rearrange the summary output 61dfc6c More 32-bit perf updates 448d4e7 More 32bit perf test bound updates 3541207 More 32bit perf bound fixes 77cfc62 Tweak another 32bit perf bound 98e12ea Tweak another 32bit perf bound 6e20d5d Improve bound for T3064 152b72d T5113 is fixed c5b0908 Merge branch 'master' of http://darcs.haskell.org/testsuite 3d94d01 Add 'make list_brokens' 240da00 Replace 'if_os' and 'unless_os' with 'opsys' 4c879a4 expect_broken_for should also be added to the list of brokens 78ff69f Handle duplicates in the brokens list 40f960d Print a warning if we get framework failures when listing brokens 5382010 Change '{if,unless}_arch' to 'arch' 02bd959 Convert more helpers to the new scheme 7cc907d Convert more helper functions to the new scheme 8d34b5c Convert more helper functions d36dc34 Convert more helpers 30a52e4 More helper conversions f73bd00 More conversions 89899d7 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 39997e4 Ticket #1845 is closed, so ghci024 presumably works on PPC/OSX now ac5ac46 Tweak the brokens list to include the directory the test is in 3e68b98 Remove T5763 dc96f51 Add expected output for T6117, which is now working f07528b Remove ds061 e71492e Update the reason for T5267 being broken d6df5b4 Add expected warnings for print020 3cdee65 HappyTest needs MagicHash 6dd940a Update print020 expected output 0821cab print020 now passes 716d83b Fix result001 6750676 Added testcase for Trac #7681, a Template Haskell missing feature. dc30d98 Update test to match new I/O manager behavior 94d8b99 Implement poly-kinded Typeable c7a2d3d Merge branch 'master' of http://darcs.haskell.org/testsuite a78a229 Merge branch 'master' of http://darcs.haskell.org/testsuite 55f1558 Error message wibble fdc6e90 Bump bounds slightly cc5fba7 Proxy is now defined in Data.Typeable ec8d757 Proxy comes from Data.Typeable, Typeable1/2 no longer exist 03753b0 Test #7631 cdddc52 TH empty case expressions now ok (with -XEmptyCase) a848c40 Reorder some functions to group them 8b801de peak_megabytes_allocated bounces around a lot 9781d94 Significant (15%) bytes-allocated reduction in haddock.Cabal and haddock.base c30fba2 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 8f6af34 Test Trac #7649 c3e24e8 Test Trac #7669 44cd844 Merge branch 'master' of http://darcs.haskell.org/testsuite a347ce0 Test Trac #876 718ab58 Merge branch 'master' of http://darcs.haskell.org/testsuite 06bf9e9 Merge branch 'master' of http://darcs.haskell.org/testsuite 91dd774 Change T3064's peak-megabytes again. It just bounces around 9d5fbec Wibbles because of exprStats change 00a3d58 Wibbles because of length-is-good-consumer change c02f121 add a StableName test 046b6ff fix T3064 bounds b3bf41f Error message wibbles when adding overloaded lists da1c206 Add tests for OverloadedLists a5e761b Merge branch 'master' of http://darcs.haskell.org/testsuite be6d11c Improve a comment aea57e4 Remove uses of compose(s) in tests, and change how composition is handled fc58f9b Test Trac #7645 a6244c3 Merge branch 'master' of http://darcs.haskell.org/testsuite 0e95a50 DPH: test tidying when unvectorised version of an exported variable disappears ff6ee52 Test Trac #2354 764d4cc Merge branch 'master' of http://darcs.haskell.org/testsuite 5238415 Test Trac #7688 28c2b2a unixify line endings d447f1d Don't use deprecated System.Cmd cfa86db Fix T7688 721f9cc mask002: Follow changes in base 5acf074 T4978: Follow changes in base f2b383f BadImport04: Follow changes in base 3fbfc40 Remove BadImport04 and BadImport09 c109bed Remove Dep0{3,4} 9a76609 Update GoodImport03 028e7a7 Add extra cleaning for ccfail004 6819503 Add extra cleaning for print035 fd24920 Follow the unsafePerformIO change in base a9e0501 Fix prog003 after forkOnIO was removed 8adfaeb Fix T4891 following GHC API changes 43d4588 Fix T6145; MatchGroup was renamed to MG and altered a513cdf Remove compose 5a219fb Fixed dph-classes 5a2f0bc Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 7d7518f Revert "Significant (15%) bytes-allocated reduction in haddock.Cabal and haddock.base" 96cf2fd update T3064 max_bytes_used (up a little) 8d70a44 unsafePerformIO moved d6eba9a accept output 9cfc862 Test #7689 887b9f0 Update T3279 to use mask rather than block 06596cf Update a couple of tests to use mask rather than block/unblock 52ea416 Update a few more tests to use mask rather than block/unblock f65de9e Follow the removal of blocked in base 5e10b98 Revert "Update T3279 to use mask rather than block" dcbd5a5 use unsafeUnmask instead of an IORef containing restore f2a8479 small tidyup d1d45e8 The "unblock" was important here 566128c Test #7710 580fd74 Add a test for #7671 11237cf Add a test for #6037 d658827 Update outputs following the unicode quote change in GHC's output c5800c9 Fix line endings in Defer02.stderr 05cd20d Accept Defer02 output following unicode quotes change 0d7562d Accept T3208b output following unicode quotes change adcba27 Accept T3950 output following unicode quotes change c1881fa Update T3103.stderr following unicode quote change d911c3b Add a test for #2507; we should get `' quotes if unicode quotes don't work e43b7eb Fix T6037.stderr; it uses LC_ALL=C, so won't actually get unicode quotes e0413f0 Add a couple of tests for #7627 a3e9109 T7671 / #7671 is now fixed 69db014 Remove redundant SafeHaskell tests ccd4aa7 Test Trac #7729 7341c6b Merge branch 'master' of http://darcs.haskell.org/testsuite 3b88f75 Add a test for #7734 ef9f796 Update drvfail011.stderr following #7734 fix; patch from monoidal 455fbad Wibbles to error messages following fixing Trac #7696 and #7697 a0d9992 Test Trac #7641 58bac61 Test Trac #7696, #7697 35a209c Trac #7736: Parallel array enumeration causes compiler panic (enumFromToP), expected fail b400b60 Merge branch 'master' of http://darcs.haskell.org/testsuite 398c3d0 Wibbles from new arrow typechecking code Refactored to solve Trac #5609 44129f0 Merge branch 'master' of http://darcs.haskell.org/testsuite ade5319 update T5045 for new typing of arrow forms 3a4200f Accept unicode quotes in T2507 0aee231 Force recompilation to ensure plugin output, fixes #7597 eff6546 plugins01 should be using $(TEST_HC_OPTS), not $(HC_OPTS) 5c2f794 Update test output 51a1962 Add test for T7704 0edf9ca Add a test for AutoDeriveTypeable 7440ff2 Merge branch 'master' of http://darcs.haskell.org/testsuite 2ec07b3 Test Trac #7748 9142f09 Revert "Accept unicode quotes in T2507" 1bc7f3e Stop T2507 failing on Windows 6f6305e Add a simple test for compiling and running a program that uses the GHC API 5039959 Update haddock.Cabal bounds f3da8ce Tests for nullary type classes (#7642) 6215d4c Fix tests for dynamic ghc 543641a Fix ghci058 with dynamic GHC 61c83e9 Tweak test as a result of fixing #4175 c536db7 Initial test for Trac #4175 0ab15cf Fix T5555 with dynamic ghci bed5808 Fix plugins02 with dynamic GHC c9dbd10 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite e9fb977 T5313 is broken (#7774) 600d873 Add a test for #7776 302f20d Make T7319 run in all ways 6e09157 Merge branch 'master' of http://darcs.haskell.org/testsuite 2e55b16 Fix a framework error when using a non-dynamic GHC 3333a9c new test for #7796, also improves a haddock perf 9c0dbe3 SpecConstr infinite specialisation: test for #5550 86825d5 Test Trac #7805 25fb90d Test Trac #7804 717a1db Wibbles to error output 45e9b6a Bump peak-megabytes (always a wobbly number) 5363f26 Test Trac #7827 0e489e5 Wibbles to "main is not defined in Main" messagse 665bf58 Test Trac #7837 43bbd40 Test Trac #7586 15fe210 Test for #7815 3ad224c Whitespace only e47e664 Add a multi_cpu_race helper 0229378 Fix the testsuite config to allow running with GHC 7.6 539a9bf Add a test for #7848 b917510 Fix tests after #7848 c3d2436 Fix detection of library flavors on FreeBSD 8394c0e Fix library flavor detection for the validate script as well d61719f Actually test T4175 9bf2e77 Improve tests slightly 0edc55b Error message wibbles, following TcErrors refactoring 0bfd104 Test Trac #7786 f28c6b0 Peak-memory usage for T3064 varies depending on whether .hi file exists on not 0d07390 Error message wibbles af58cc6 Test Trac #7857 ce5d75b Add a test for "--make -dynamic-too" 30ae934 dynamic002 is broken (#7864) f4943f0 Fix the dynamicToo002 test 9183ff2 Update Cabal perf expected values following Cabal update e0a8eb6 More dynamic-too tests f5d3675 dynamicToo002 now passes d5bd2d3 Wibbles to error messages, following the fix for Trac #7851 1cbc06e Test Trac #7778 b505805 Test Trac #7851 f468754 Test Trac #7856 1129cf0 Test Trac #7869 70f883e Test Trac #7861 7a0919e Test Trac #7872 b663dd2 Test Trac #7873 8c561fc Test Trac #7875 69b9352 Wibble to error message 2718c2b Test Trac #7865 a9f00a6 Adjust tests to match -funbox-small-strict-fields change 8eef271 Add test for T7878 f010e1a Add a test for shutting down a process with in-calls in progress af43126 unbreak tests (removal of block/unblock) 8eb3cf9 Tidy up the driver slightly 985a221 Fix library way detection; fixes the ImpSafeOnly* tests when BINDIST=YES ebd5165 Add a test for #7373 962fd59 Change how we detect what library ways are available f9763a5 Test Trac #7910 464dc37 Update test now that undefined has an OpenKind forall 866b6e4 Wibbles to error messages 15013c0 Better error message 1fab45e Test Trac #7268 7a7ace7 Test Trac #7888 2ef4463 Test Trac #7892 600726c Update test for application of (->) to Int# cd5b6ba Improved compiler performance! Reason unknown, but hey, it's good news 60e39fa Test Trac #7891 and #7903 81058c9 Wibble to simplifier output 91132ac Test Trac #7906 cb5ed25 Make the test actually test the bug! 5888f61 Make test cleaning a little more consistent 8c6794a Merge branch 'master' of http://darcs.haskell.org/testsuite 26eee8d Add a test for 2 trailing commas in the module export list ea5bdfd Improved error message 61b57b2 We no longer quantify over an entirely-unused existential type variable 47aebf9 Add stderr output 9918965 Test deriving Typeable for promoted data constructors with AutoDeriveTypeable fca2491 Add test for T5863 c311c2a Update output for T2604 78618d4 Test Trac #7916 c1d4cd7 Test Trac #7924 dcafadf Improve test T7916 d90640e Test Trac #7939 302b38b Test Trac #7931 28207fb Explicit kinds in :info command ===> testsuite wibbles 02e0df0 Test Trac #7937 3a596be Test Trac #7943 4039397 Test Trac #7797 762b777 Re-increase the (erratic) max-bytes-used bound for T3294 0a5065a Wibble to error message 182e34b Test Trac #4185 4316bc3 Add test for polykinded Control.Category. 4112b1f Whoops. :( 2e7d1fd Test Trac #7809 967f685 Make test for T7903 a bit harder! 56f4215 Test Trac #7785 9051d7f Test DerivingNewType now passes 71178ab Remove CatPairs test. 5b08752 Fix test for Trac #7931 65b3531 Add a test for #7859 753ab0b Performance test for Trac #7702 557fa20 Remove some cruft 99da484 Test Trac #7959 e36f28b Add missing files from #7702's test 9e7d0dc Merge branch 'master' of http://darcs.haskell.org/testsuite 70ceb7b Simplifier trace wibbles for cardinality analysis 6599d46 Update gitignore. cc1b579 Allow fast from top level makefile. 09de957 Update readme to markdown and expand. b52a0a2 Test Trac #7894 98265b3 Update expected perf results c5d5e3a add test for the new bswap primops cb5a00c Fix cgrun072 436f896 Test Trac #7973 5bd297c Test Trac #7974 2333148 Wibbles to error message in recomp006 bab5720 Test Trac #7967 133b500 Mark cgrun072 as expect_broken( 7902 ) da80f8e Fix some testsuite cleaning; part of #7941 4895155 Update fptr01 a595130 Fix qq00{7,8} with dynamic ghc 9e5f86a Fix apirecomp001 with dynamic GHC 08da282 Fix annrun01 with dynamic GHC 82fc261 Test Trac #7963 5c0012b Test Trac #7969 03fe914 Remove .imports file which isn't part of the repo a67156e Test Trac #7954 5cc6773 Test Trac #7558 1008179 Add Windows expected output for T7859 7b78543 Improve the testsuite's LLVM detection a26bf92 Just moving some tests aroudn to make it easier to see what's going on c30744c Updates to support closed type families. a44e4a7 Add another -dynamic-too test 3df8953 Wibbles to perf tests 57bfe48 Test Trac #8002 b60461e Test Trac #7995 8b24aa7 Test Trac #8011 fe2397f Test Trac #7989 62e48fb Test kind inference for closed type families/T7939. 3ab4718 Add test case T8018 6297368 Add test from #7919 991a6fd Add test for #7574 40e10bd Add test for #7970 e010fa6 conc031 now deadlocks, due to fix for #7970 0e3e681 T149 is passing b098a7a Revert "Add test for #7574" a99cd86 Add test T8028 3248b3a Fix testsuite failure caused by fix to #8041 5d621d5 Add a test for #8035; patch from errge 504c0af Add expected output for T8035 5bd8743 Add test to check stack is not executable, to prevent #703 regressions. d8b1626 Tests for atomicReadMVar. ca3a648 Add simple test for tryAtomicReadMVar. 48ac948 Add a test for #7850 2c35ccb Rename atomicReadMVar and friends to readMVar. 4a2ade4 cgrun072 now passes. 657da7a Add note about how to cleanup test files. aab4cda Only run T7995 with optimizations (it tests rule firing). 9c3bfb1 Add a test for #8083 aae6751 T8083(ghci) fails 5aaca55 Add output for T7970, make it run when 'fast', and remove bogus file f32f5f9 Wibble to output from new instances in Data.Data 229c664 Add some missing cleaning 1facc19 Rename a mis-named test 5970baf Add a test for #8101 c93e866 Add a test for #7835 9437811 Test for #7116 (strength reduction) e63fd2a Add a test for T7895 (literal overflow) f70e79a Add NegativeLiterals to T4437 5207c0f Add a test for #7881 65a5305 Add new test for #8020. 929155f Add tests for roles. 40cd71a Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 733b6ee Wibbles to output from refactoring datacon code a3a99eb Add test case for #7938. fd20b87 Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 902cf01 Added test cases for closed type families in .hs-boot files. b02aa92 Fix #7116 failing due to uniques f0beac1 Add LICENSE file, along with a copy of the GPLv3. 9b5f1c1 Fix duplicate test names 0a5e964 Fix naming of ClosedFam1/ClosedFam2 tests. 015da28 print035 now passes (see #7382) 0ced36c Add failing test, see issue #8131. 5f18e9e Add a failing test, see #7574. 0c03fae Comparison primops return Int# (Fixes #6135) bbb9cbe Add regression test for #8103 6d4bf54 Add a regression test (see #8116) b082afa Add a regression test (see #7953) d764c0c Add testcase for #8138 9aaaf62 Fix test for #8116. 8a1456a Test case for #7901. 5eae0ad Improved performanace 0bc0e7d Add test cases for T457 d157f5f Add regression test for #8142 5314acb Rellocate test for T7689 to different directory 6fcb7c6 minor: update test case to go along with atomic_inc change a29b67b Add a basic test for casArray#. 24aaa0f Omit hpc for CAS test. HPC breaks CAS currently. b92d14d Update casArray# test and add simple casMutVar# test. d4a2cce Add a test for unloading object files in the linker (#8039) afac9ac linker_unload fails when using dynamic GHCi. f3f9077 remove debugging cruft 7b03dbf Fix atomicinc 77210ad The linker can still be used when DYNAMIC_GHC_PROGRAMS=YES 65b737f Add regression test for #8113 5b606aa Update `perf/haddock` expected values 2416079 Fix typo in expected-perf update commit c6361f6cb4 6cb3e0b Add test-case for #8172 f9d1f65 Add test for #8186 e06abac Wibble to output from change in roles error messages a7bc138 Wibble to tests from improving comments about apartness. 567f2fc Add test for -XNumDecimals f1cd6b1 Add NumDecimals to GHC ext list in T4437. ce82e57 Use msse2 in Conversions test (See #8195) c1bb147 Test Trac #8155 9166f69 Increase peak-megabytes for T4801 059acec Follow TH pretty-printing change e44d8cd Follow error-message changes for type holes e35f5c8 Updated tests for the change in wrapper IdInfo syntax in c080f727ba5f83921b842fcff71e9066adbdc250 cf2fe3e Test cases for new IncoherentInstances behaviour 2fcaed3 Adapt for `containers-0.5.2.1` update 25df0af Merge branch 'master' into atomics 77fb33c Wibble for removing InlineWrapper 644d917 Test Trac #8196 23fb31b Test Trac #8215 2065c01 Test for T7918 6f0cf01 add a test for #8209 cab84ec Tests for Trac #8221 8c16eb5 Magic incantation to make T7918 work on Linux 391e99d Adapt test to avoid Typeable instance error 16f468f Add test for #8132 32a0d95 Test for -staticlib flag 92bd658 Adapt for `containers-0.5.3.1` update fb5156d Remove extensions from T4437 known to Cabal 1.18.0 4c959e2 Update T4437, per JavaScriptFFI changes. 8859e1e Test for Trac #8242 0b1bea4 Fix most AMP warnings. ad8fb8f Test Trac #8227 9ca4a73 Error message wibbles f355937 Test Trac #8262 394ab58 Fix output for T8262 13f1caa Leftover change to relevant-binding warnings (one I missed) 47a0c36 Fix remaining AMP fallout. 2801397 Test for #8205 04a2428 Add some tests for evaluating type-level naturals. 7e76e92 Follow change in [e17549c80425f3/base] 5dd3e99 Tests for the Coercible class 226a18b Tests for #5435 (init/init_array/constr handling by linker) 02d4958 Properly provide leading underscore when necessary. 35db0b3 Fix egregious pathchar business in linker_unload. cef90d5 Suppress some known errors from Mac OS X. bd598da Suppress some known broken Windows tests. baaf4e8 Adjust test suite to new Language Pragma warnigns 05d2fae Make these two tests thread safe. 5f7733d Add tests for the new ByteArray# <-> Addr# copy primops 321647d Fix up cgrun072 a bit (#8250) 4d2cd51 Delete trailing whitespace in cgrun070 0138d19 Fix usage of 'expect_fail' in T2507 4141f8b Add test case for #8184 c65a3cd T5435 test improvements, see #5435 for details. 9b0f0cb Test for #8306 d53be3b New and improved tests for #5435. Linux only at the moment. 853f92c Implement assembly test for #5435 in Windows. 7b12be7 Finish up asm test #5435 for Mac OS X 0eb7546 In the test that tests -optP -C, also pass -optP -ffreestanding 3505891 Adjust testsuite to new printf implementation 9a4c4e2 Recompilation test case for #8247 b4ab30d Add missing Windows stdout/stderr output for #5435. 1e3ca73 Update to tests due to change in syntax for role annotations. b6d90d1 Update to new missing-method-decl warning style f900796 Tests for MINIMAL pragma (#7633) 1c5fee1 Follow changes in [12a8244/ghc-prim] (#7633) 690b7e4 Follow changes in [7ab62490/base] (re #7633) eca3044 Trailing whitespaces 4a9f216 Follow changes in comparison primops (see #6135) e9fa009 Fix T4007 71f0918 Fix performance failures on x86_64 33dfd92 Test driver: Print total time spent at the end 1e24696 Test driver: Implement different verbosities 9d0ae76 Test Trac #8280 fd4e4ab Test Trac #8129 b139102 test Trac #7800 023eff7 Test Trac #8333 b7e27b6 Typos c0d6441 T7574 is now passing (#7574) 10a4450 linker_unload is now passing (#8192) 72fa9fc Wibble after #8218 325587c Driver: Fix % operator typo 3eb5cfd Add some tests for type-level subtraction. 9a7626c Fix T8132 030e3f7 Fix T8333 (#8333) 883fd49 Test Trac #8377 6a8e733 Fix fallout from making lazy unlifted bindings an error 18f2895 Deal with failures for T367, T367_letnoescape under ghci 5fa0c79 Update compareAndSwap for new comparison primops 5d12054 Mark T7881 as expected failure for WAY=hpc (#8384) 7ff4696 Update spec001 for new Typeable, and disable AMP warning ab86ebd Update prog001 output (see #7633) a86935b Update role annotation syntax in TcCoercible ba3ae9c Fix T8129 (#8129) 82cd258 Add tests for new internal GMP primitives b9ce2d5 new test cases for MultiWayIf w/ layout f9bcb83 add a sleep for systems with low-resolution file timestamps b275be6 Test Trac #8329 0ad7cdb Error message wibbles, bd0c900 Test Trac #8359 4bdbdd1 Better fundep error message 1e41257 Mark those tests which depend on libraries not built when cross-compiling 61e0979 Skip integerGmpInternals in ghci (no unboxed tuples) 40177b2 Add 32-bit output for T7919 e663290 Add tests for prefetch primops (#8256) 6b56962 Further testsuite wibbles following changes to kind suppression 067f78b Error message wibbles following ambiguity check changes 65128ed Test Trac #8392 be98618 Test Trac #8391 d371092 Trac #T7881 now works for hpc way again 80d2a08 Test Trac #8357 f76d68d New tests for #8368. cd504d8 Fixup basic type-lits test. 4462992 Fix a failing test. 5863ce4 Test Trac #8383 c5806bf Error messsage wibblification 4ccdc32 Adjust tests for new Template Haskell. 1d43475 Fix test wibbles for new Template Haskell. c2dc336 Update tests now that declaration splices are legal everywhere. 6a82b92 Update test to reflect fix for #1201. f8dd650 Fix test wibble. 27c2fd7 Peculiarly, we now pass this test on ghci. 3db7650 Merge New Template Haskell branch. 718e86b Flag to test suite: SKIP_PERF_TESTS aa8559d Add tests for new TH #4124, #4128, #4170, #4364, #6062 9cd6e6e Change deprecated _scc_ to {-# SCC #-} (#8170) 15b4f83 More error-message wibbles 7912f8b Error wibbles now that we print roles in :info 26cc444 concurrent/conc012: Pass RTS options to executable, not ghc a936391 Wibble to annfail10 due to Edward's changes. e8efda2 Wibble after typofix 519c0d7 Test #8428 aa7cbbc don't need ghci_way_flags, the ghc package works all ways a9fb5a7 accept cgrun057(prof) 20b962b Update test-suite for new `array-0.5.0.0` 7cfe392 Test #8430 dcdc172 Test #8431 6584d73 Add a timeout for #8431 3b6d57f Test #8412 081dd69 Test #8412 (again) 7245b3e Added test for #7667. 62d0116 Test Trac #8449 9ed37ee T5313 now succeeds (Fixes: #7774) 77250f2 Update performance test due to fix for #8456 eb49cba Update performance tests 169a188 Flush stdout after printing in runIO c650ed4 Test #8119 a6d5d9c Test #8119 89b4686 Dial back -O level on DPH tests to speed them up 5c4c46d Don't run opt versions of DPH tests at all 59d86a3 Test Trac #8448 8ce3516 Error message wibbles f9f69e8 Test Trac #8470 4d75984 Add test for #8455. c43dd97 Add new test for the second round of #7667 99cd277 Update tests to reflect new check for GeneralizedNewtypeDeriving 324f995 Wibbles to output regarding role annotations. 2041b94 Test Trac #8469 bbda6d5 Test Trac #8467 7b93a3d Test Trac #8425 4253456 Adjust performance of T783 to #8456 fix 8a4c406 Test Trac #8474 2a8bfc3 T8242 now passes on Windows f294ef1 Fix dangling pointer reference in T8242 104773d Test Trac #3333 e5b0a50 Follow version bump of `pretty` ed807b7 Add tests for new internal GMP primitives 80c8b2a Don't include malloc.h in linker_unload test. 2fc162e Add test for #8485. c9fabf5 Test #8492 72102f1 Update tcfail082 output (#8322 fallout) ac4a5e2 Test Trac #8500 a7d9aa1 Test Trac #8499 a2ff078 Error messsage wibbles bc61455 Peak megabytes for T1969 varies from run to run 136dc98 Test Trac #8450 959eef6 Test Trac #7477 a69fea8 Test Trac #8506 f6f9eb3 Test for Trac #4135, comment 2 bc5f6f5 Error message wibbles 22bcd5e Wibbles following fix to Trac #8278 3fe4b67 Error message wibbles 4962f40 Add tests for new import/export GMP primitives bd61277 Test Trac #8037 486d396 Run T7478, plugins06, T7918 only when dynamic libraries are available 0b46843 Typo in test definition fd252df Test Trac #8507 c6ccdbb Test Trac #8518 6be78e2 Much better perf on 5030, higher peak on 3064 552f1bf Test Trac #8514 50c4f33 Wibbles 1e603f5 Actually increase the perf number! ee65883 Detect msys2 via uname (different to msys) faa6842 Test Trac #5996 29b6882 Increase coverage of #4175 a0d5566 Wibble cb9a3b3 Test Trac #8535 8d2617a Wibble after typofix 3b55ede Update output for generics ac73a9a Test Trac #8534 4642f87 Add DeriveDataTypeable (omitted wrongly before) e43a412 Wibbles to deriving error messages 7903476 Include pairs in this test 483ff50 Add examples from #8541 to testsuite a37c6ad Test case for undersaturated newtype in Coercions ea3c659 Test coercing under under-saturated newtypes a1ca534 Test cases for context stack overflow 13fd6e2 Update linker_unload to cope with CAFs 9f71101 Mark tests as expect_broken when borken with -DDEBUG 0d10c87 Test Trac #8526 e38b994 Test #8542 b99d8aa Test Trac #8537 67661b6 Improved error messages ea73ef7 gadt6 is fine now, even with DEBUG e4e7aff Error message improvements d3ea4ce Error message wibbles 15bfc03 Higher residency in Haddock 7055a16 Test Trac #8540 a4c79e3 Type function application has its own depth counter now 6f49522 Add test cases for Coercing recursive newtypes (#8503) d544260 Testcase for Coercible and newtype families (#8548) 4a2e4a7 Coercible-base GND: update error messages d6b0c79 Update test output of print018 42370b5 Updates perf numbers after #8503 implementation 3b45ada T5246 and T7474 back working with -DDEBUG a56dadc Mark break006 break003 print019 as broken by #8540 58e1993 Error message wibbles 586a251 Add testcase for #8563 7dcce31 Mark #8562 as fixed 56b9f2a Add testcase for #8565 ce5b7e7 Bump haddock.compiler perf data d2bcc79 Testcase #8565 no longer broken b5b6613 Ensure nested CPR does not break havoc with repeat d3b14cd #3103 no longer broken, it seems e28006c Output of T7861 has changed 25be487 Update some perf results for master 52b96a7 add Note about residency tests eebf8d8 Add test for T6084 6da3797 Undo my wrong bumps to T6048 3ec7f39 Summarily skip compiler_perf tests when DEBUG is on d79ecb4 Explain skipping compiler-perf tests when debugging is on cefe67b Error message wibbles 88d06d9 Fixed Trac #8540 a95a20b Test Trac #8557 76f8a4b Wibbles when fixing Trac #8570 c5fa5d5 Test Trac #8570 3526198 Test the strictness analyzer using annotations a96f715 Add test case for #8569 eb98c81 Update testsuite for nicer Coercible message 49cbda5 Bump T3064 perf values c4296b9 Update apirecomp001 output e1fffa6 Mark type-rep as broken until #5869 is fixed c838eb1 Try to set flags for some tests involving TH right acdb3a4 TH_import_loops fails for GHCi again ca80875 Looks like plugin06 really only works with dynamic libraries enabled 102fe6a Test case about HyperStr and UseDemand aba39d0 Wibbles to output caused by change in checking role annotations f6f82a9 Update output: New error messages as per #8576 381724b Update output: More elaborate GND error messages f783a6f Add new ghc-e/should_fail test suite 75dbe87 Different quotes in error messages following lexer clean-up 6b52a20 Test Trac #8577 373e340 More different quotes in error messages following lexer clean-up 773003a Add testcase for #8598 fb906bf Use -ddump-strsigs in tests/stranal/sigs 5a0eaba Mark testcase for #8598 as not broken 9e84e13 Add nested CPR testcase 08d21c4 Demand Analyser testcase: Unsaturated functions bef57f0 Sort the output of -dump-strsigs 0da1a84 Test Trac #8566 d39bb03 Adjust output to new oneshotness fedd570 lazy-bs-alloc improved from oneshotness stuff f116efa Update compiler performance values 7eabd56 Update comments: Void# instead of State# RealWorld# 39c55a3 Copy-pasto. ddd1c82 Mention '-fno-ignore-asserts' in documentation. 82dfe08 Remove unused eqExprX 724690f Revert "Simplify the plumbing for checkValidTyCl" 00cd65f Error wibbles while fixing #8607. e4afeed Fix #8607. df2dd64 Add hook for splicing in renamer 03d7cc6 Update perf numbers for 32-bit This has not been done for ages a5cb317 Test Trac #8633 33b931c Test Trac #8603 d53a095 Error message wibbles a6f6169 Define mkTcNomReflCo = TcRefl Nominal, and use it all over 8721743 Re-factor TcCanonical (again), fixes Trac #8603 d58a8df Comments only 00a9110 Comments only 4393b4b Fix number literal syntax mistake 38d17a0 Clean up block allocator, fixes #8609 4eeaf55 Update Note [Coercible instances] 053a9d1 Handle parens in predicates when converting to TH 22770b4 Test Trac #8625 c93d664 In ':show imports' take account of -XNoImplicitPrelude f54fc09 Test Trac #8639 (just the GHCi version) 40db99a Test Trac #8639 fb121d3 Improved out-of-scope error for qualified names in GHCi 4853be2 Use the GlobalRdrEnv when renaming the axuiliary bindings in 'deriving' 5c4265f Add alterOccEnv e60a841 Improve error message when using qualified names in GHCi 5dffb4a Refactor the way shadowing in handled in GHCi 9e10d18 Improve the equality-floating story (again), to fix Trac #8644 e54ce01 Test Trac #8644 c06528c White space only b0cdb9b Update T7594 as a result of fixing #8644 bcd92b0 Do hFlush in the T8639_api test 7f2bf06 Test Trac #8640 de705b8 Test Trac #8628 a9eed48 Test Trac #8579 4d70840 Fix #5209: Reset GHCi prompt in multiline mode 1675423 Update T7594 properly c3a08c0 Add output for T8639 fc19426 Update perf values for T5237 e25af05 Fix -dynamic-too clashing with -o (#8180) 949be3f Fix __GLASGOW_HASKELL_LLVM__ #define bb63e83 LLVM mangler: fix AVX instruction rewriter. 26fcbd0 Fix specification of -z origin for gold. 1310d75 nativeGen: Fix spelling in comment d783f12 Lower unfolding threshold for windows (again.) 032969f Re-order preprocessor args to agree with User Guide (fixes #8602) 036916b Add test suite for #8602 ed67d29 LlvmMangler: Rewrite @function symbols to @object 32002b3 LlvmMangler: Make sure no symbols slip through re-.typing d24aa8f Remove trailing whitespace. ca77f5c Fix validate failure. ec4af3f runghc: Fix interaction of stdin and --ghc-args c53b339 Tests for #8601 a93f857 Extend runRnSpliceHook to decls and patterns b014797 Test that runST is not inlined prematurely d4f0fcf Document Proxy# (#8658) 5d2fb2e Further refine the test for 'given' equalities 0f737ce Comment typo 0ec5302 Improve documentation of :module etc (Trac #8622) 19e23dc A little refactoring so that we print package-qualified modules names if necessary 322b48b Further improve the "same-occurrence" error messages (Trac #8278) 73c08ab Re-work the naming story for the GHCi prompt (Trac #8649) 15a3de1 Comments only 91252ef Test Trac #5498 eeb6963 Changes in error messages when fixing Trac #8649 e8529d3 Adjust "max_bytes_used" upward for T4801 21b3245 Test Trac #8649 d154b7b Test Trac #8651 95f938d Fix a typo in comment ad233cf Add forgotten stderr output for T5498 063a1b2 Notes and code cosmetics 17a3dac Bring kind variables into the type-checker's scope as well as type variables 08a3536 Make showSDoc and friends respect -dppr-cols b7ddf63 Make initGhcMonad call setUnsafeGlobalDynFlags ea5da60 Comment typos only 3c2ae51 Document the fact that Areas overlap, and why. 0369c97 Clarify issue in #8630 in users' guide. 566ba6f Fix #8599. a32d478 Update mailmap cc29b46 Fix typo in error message a924deb fix a mistyped label that caused a stray reference 6669340 Fold testsuite.git into ghc.git (re #8545) 5f54d67 Update `sync-all` and others files w.r.t. merged testsuite (re #8545) 5f2cdca Fix new Haddock doc parse failures. 5356fb3 Bump Haddock perf numbers for new parser f806598 Update new testsuite .gitignore ae87e12 Fix #8180 6494de1 More testsuite .gitignore updates 4af1e76 Add Windows to NoSharedLibsPlatformList 9c91a24 More .gitignore updates 2d9be8c Test Trac #8616 a3616cd Lower T4830/allocated_bytes due to [7bdcadda7/integer-gmp] (#8647) 8a0f1d2 Adapt perf values due to [cbde8627/integer-gmp] ed86b1a Remove obsolete declarations from `MiscClosures.h` f9892b2 Regenerate core-spec.pdf. 4d5d68a Disable -dynamic-too on Windows 7df27d5 Fix the behavior of ae87e122 (#8180) 5949489 Tweak OS X/amd64 perf numbers. 91fd784 Update .gitignore again 01b85a8 Update .gitignore abea97b Fix T3333 cd3e345 Mark static001 as failing d4c2397 Add T8172 output for Win32 1c43b74 Fix T8172 for Win32 (again) 8eae725 Fix T7859 mingw32 output 0da3ef2 Fix T8526 on Windows 769c75a Mark T8602 as expect_fail on Windows 59182e4 Add Solaris linker support to SysTools b9b94ec Fix binary linking errors on Solaris dfc32cd5 genprimopcode: Applicative instance for ParserM 10d36f3 Fix AMP warnings for MaybeT/MaybeErr 0537cb7 Another AMP fix for Stream 4571b40 Fix ./validate failure due to -Werror f73fc7d Fix TyCon import aae5931 Fix Windows binary-dist target 3e633d9 Typo in comment ea313b8 Strictify the demand on unlifted arguments 112584f Add Converges to DmdResult e4e5230 In deferType, return convRes = Converges NoCPR fa49a3b Mark the scrunitee of a multi-way-case as converging 1f7b570 Literals are Converging 7be1249 Some primitive operations are converging 1018aeb Note [Termination information and arguments] e876100 Variables of unlifted types are always converging 50d7bc5 Initial work on Nested CPR 239303c Limit the depth of the CPR information 34df8d4 Use isTypeArg instead of isTyCoArg (forgot why) 1e68e8f Check mAX_CPR_SIZE in dmdAnalVarApp 46ede93 Add a flag -fnested-cpr-off to conveniently test the effect of nested CPR 70b5115 Actually create a nested CPR worker-wrapper 26978dc Refactor trimCPRInfo away e928039 Allow the CPR w/w to take unboxed tuples apart 60d9a40 Pass nested CPR information from scrunitee to body 71046ae In CPR, remember what is an unboxed tuple c66641d CPR test case: Case binder CPR 0fadbc1 Inline the datacon wrapper more aggressively From git at git.haskell.org Wed Jan 15 20:28:31 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 20:28:31 +0000 (UTC) Subject: [commit: ghc] master: In rts/Printer.c, print exact UPDATE_FRAME type (d1712db) Message-ID: <20140115202831.40AB32406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d1712dbd2b4c5d23a60d8a369e17045a397bf4f5/ghc >--------------------------------------------------------------- commit d1712dbd2b4c5d23a60d8a369e17045a397bf4f5 Author: Arash Rouhani Date: Thu Dec 26 14:57:35 2013 +0100 In rts/Printer.c, print exact UPDATE_FRAME type When printing an update frame in printClosure(), it will not print the unspecific UPDATE_FRAME, instead it prints BH_UPDATE_FRAME, NORMAL_UPDATE_FRAME or MARKED_UPDATE_FRAME. Signed-off-by: Austin Seipp >--------------------------------------------------------------- d1712dbd2b4c5d23a60d8a369e17045a397bf4f5 rts/Printer.c | 20 +++++++++++++++++++- rts/Printer.h | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/rts/Printer.c b/rts/Printer.c index db2e7be..ca9ca49 100644 --- a/rts/Printer.c +++ b/rts/Printer.c @@ -263,7 +263,7 @@ printClosure( StgClosure *obj ) case UPDATE_FRAME: { StgUpdateFrame* u = (StgUpdateFrame*)obj; - debugBelch("UPDATE_FRAME("); + debugBelch("%s(", info_update_frame(obj)); printPtr((StgPtr)GET_INFO((StgClosure *)u)); debugBelch(","); printPtr((StgPtr)u->updatee); @@ -389,6 +389,24 @@ printClosure( StgClosure *obj ) } } +// If you know you have an UPDATE_FRAME, but want to know exactly which. +char *info_update_frame(StgClosure *closure) { + // Note: We intentionally don't take the info table pointer as + // an argument. As it will be confusing whether one should pass + // it pointing to the code or struct members when compiling with + // TABLES_NEXT_TO_CODE. + const StgInfoTable *info = closure->header.info; + if (info == &stg_upd_frame_info) { + return "NORMAL_UPDATE_FRAME"; + } else if (info == &stg_bh_upd_frame_info) { + return "BH_UPDATE_FRAME"; + } else if (info == &stg_marked_upd_frame_info) { + return "MARKED_UPDATE_FRAME"; + } else { + return "ERROR: Not an update frame!!!"; + } +} + /* void printGraph( StgClosure *obj ) { diff --git a/rts/Printer.h b/rts/Printer.h index 7b51ce5..0dae896 100644 --- a/rts/Printer.h +++ b/rts/Printer.h @@ -19,6 +19,7 @@ extern char * closure_type_names[]; void info_hdr_type ( StgClosure *closure, char *res ); char * info_type ( StgClosure *closure ); char * info_type_by_ip ( StgInfoTable *ip ); +char * info_update_frame ( StgClosure *closure ); #ifdef DEBUG extern void prettyPrintClosure (StgClosure *obj); From git at git.haskell.org Wed Jan 15 21:30:19 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 15 Jan 2014 21:30:19 +0000 (UTC) Subject: [commit: ghc] master: PLT Redex definition of an STG-like language, as-per the fast curry paper. (20a25b5) Message-ID: <20140115213019.1F6E22406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/20a25b56c5cbc83add6b9611706363109edbfbc2/ghc >--------------------------------------------------------------- commit 20a25b56c5cbc83add6b9611706363109edbfbc2 Author: Edward Z. Yang Date: Wed Jan 15 13:29:53 2014 -0800 PLT Redex definition of an STG-like language, as-per the fast curry paper. Signed-off-by: Edward Z. Yang >--------------------------------------------------------------- 20a25b56c5cbc83add6b9611706363109edbfbc2 docs/stg-spec/fast-curry.rkt | 247 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 247 insertions(+) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 20a25b56c5cbc83add6b9611706363109edbfbc2 From git at git.haskell.org Thu Jan 16 01:16:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 01:16:46 +0000 (UTC) Subject: [commit: ghc] master: Cache compiler info in DynFlags (3428f76) Message-ID: <20140116011646.D53042406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/3428f76e50508be4cbc85c8f72b0ad1dc784b0d4/ghc >--------------------------------------------------------------- commit 3428f76e50508be4cbc85c8f72b0ad1dc784b0d4 Author: Austin Seipp Date: Wed Jan 15 18:56:44 2014 -0600 Cache compiler info in DynFlags Signed-off-by: Austin Seipp >--------------------------------------------------------------- 3428f76e50508be4cbc85c8f72b0ad1dc784b0d4 compiler/main/DynFlags.hs | 26 ++++++++++++++++----- compiler/main/SysTools.lhs | 54 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 72 insertions(+), 8 deletions(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index f720db0..35e9c7e 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -138,8 +138,9 @@ module DynFlags ( isAvx512fEnabled, isAvx512pfEnabled, - -- * Linker information + -- * Linker/compiler information LinkerInfo(..), + CompilerInfo(..), ) where #include "HsVersions.h" @@ -792,7 +793,10 @@ data DynFlags = DynFlags { avx512pf :: Bool, -- Enable AVX-512 PreFetch Instructions. -- | Run-time linker information (what options we need, etc.) - rtldFlags :: IORef (Maybe LinkerInfo) + rtldInfo :: IORef (Maybe LinkerInfo), + + -- | Run-time compiler information + rtccInfo :: IORef (Maybe CompilerInfo) } class HasDynFlags m where @@ -1270,7 +1274,8 @@ initDynFlags dflags = do refFilesToNotIntermediateClean <- newIORef [] refGeneratedDumps <- newIORef Set.empty refLlvmVersion <- newIORef 28 - refRtldFlags <- newIORef Nothing + refRtldInfo <- newIORef Nothing + refRtccInfo <- newIORef Nothing wrapperNum <- newIORef emptyModuleEnv canUseUnicodeQuotes <- do let enc = localeEncoding str = "??" @@ -1288,7 +1293,8 @@ initDynFlags dflags = do llvmVersion = refLlvmVersion, nextWrapperNum = wrapperNum, useUnicodeQuotes = canUseUnicodeQuotes, - rtldFlags = refRtldFlags + rtldInfo = refRtldInfo, + rtccInfo = refRtccInfo } -- | The normal 'DynFlags'. Note that they is not suitable for use in this form @@ -1438,7 +1444,8 @@ defaultDynFlags mySettings = avx512er = False, avx512f = False, avx512pf = False, - rtldFlags = panic "defaultDynFlags: no rtldFlags" + rtldInfo = panic "defaultDynFlags: no rtldInfo", + rtccInfo = panic "defaultDynFlags: no rtccInfo" } defaultWays :: Settings -> [Way] @@ -3722,7 +3729,7 @@ isAvx512pfEnabled :: DynFlags -> Bool isAvx512pfEnabled dflags = avx512pf dflags -- ----------------------------------------------------------------------------- --- Linker information +-- Linker/compiler information -- LinkerInfo contains any extra options needed by the system linker. data LinkerInfo @@ -3733,6 +3740,13 @@ data LinkerInfo | UnknownLD deriving Eq +-- CompilerInfo tells us which C compiler we're using +data CompilerInfo + = GCC + | Clang + | UnknownCC + deriving Eq + -- ----------------------------------------------------------------------------- -- RTS hooks diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs index c179356..2150c6d 100644 --- a/compiler/main/SysTools.lhs +++ b/compiler/main/SysTools.lhs @@ -25,6 +25,7 @@ module SysTools ( readElfSection, getLinkerInfo, + getCompilerInfo, linkDynLib, @@ -644,12 +645,12 @@ neededLinkArgs UnknownLD = [] -- Grab linker info and cache it in DynFlags. getLinkerInfo :: DynFlags -> IO LinkerInfo getLinkerInfo dflags = do - info <- readIORef (rtldFlags dflags) + info <- readIORef (rtldInfo dflags) case info of Just v -> return v Nothing -> do v <- getLinkerInfo' dflags - writeIORef (rtldFlags dflags) (Just v) + writeIORef (rtldInfo dflags) (Just v) return v -- See Note [Run-time linker info]. @@ -721,6 +722,55 @@ getLinkerInfo' dflags = do return UnknownLD) return info +-- Grab compiler info and cache it in DynFlags. +getCompilerInfo :: DynFlags -> IO CompilerInfo +getCompilerInfo dflags = do + info <- readIORef (rtccInfo dflags) + case info of + Just v -> return v + Nothing -> do + v <- getCompilerInfo' dflags + writeIORef (rtccInfo dflags) (Just v) + return v + +-- See Note [Run-time linker info]. +getCompilerInfo' :: DynFlags -> IO CompilerInfo +getCompilerInfo' dflags = do + let (pgm,_) = pgm_c dflags + -- Try to grab the info from the process output. + parseCompilerInfo _stdo stde _exitc + -- Regular GCC + | any ("gcc version" `isPrefixOf`) stde = + return GCC + -- Regular clang + | any ("clang version" `isPrefixOf`) stde = + return Clang + -- XCode 5 clang + | any ("Apple LLVM version" `isPrefixOf`) stde = + return Clang + -- XCode 4.1 clang + | any ("Apple clang version" `isPrefixOf`) stde = + return Clang + -- Unknown linker. + | otherwise = fail "invalid -v output, or compiler is unsupported" + + -- Process the executable call + info <- catchIO (do + (exitc, stdo, stde) <- readProcessWithExitCode pgm ["-v"] "" + -- Split the output by lines to make certain kinds + -- of processing easier. + parseCompilerInfo (lines stdo) (lines stde) exitc + ) + (\err -> do + debugTraceMsg dflags 2 + (text "Error (figuring out compiler information):" <+> + text (show err)) + errorMsg dflags $ hang (text "Warning:") 9 $ + text "Couldn't figure out linker information!" $$ + text "Make sure you're using GNU gcc, or clang" + return UnknownCC) + return info + runLink :: DynFlags -> [Option] -> IO () runLink dflags args = do -- See Note [Run-time linker info] From git at git.haskell.org Thu Jan 16 01:16:49 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 01:16:49 +0000 (UTC) Subject: [commit: ghc] master: Don't pass -nodefaultlibs to Clang (d0ed1ff) Message-ID: <20140116011649.63F1F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d0ed1ff1185981d2e827a18696f7caa53eef4af3/ghc >--------------------------------------------------------------- commit d0ed1ff1185981d2e827a18696f7caa53eef4af3 Author: Austin Seipp Date: Wed Jan 15 18:56:55 2014 -0600 Don't pass -nodefaultlibs to Clang This fixes a large majority of the testsuite failures on Mavericks with Clang. Signed-off-by: Austin Seipp >--------------------------------------------------------------- d0ed1ff1185981d2e827a18696f7caa53eef4af3 compiler/main/DriverPipeline.hs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index a95c179..19fb717 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -2124,11 +2124,12 @@ joinObjectFiles :: DynFlags -> [FilePath] -> FilePath -> IO () joinObjectFiles dflags o_files output_fn = do let mySettings = settings dflags ldIsGnuLd = sLdIsGnuLd mySettings - ld_r args = SysTools.runLink dflags ([ + ld_r args ccInfo = SysTools.runLink dflags ([ SysTools.Option "-nostdlib", - SysTools.Option "-nodefaultlibs", SysTools.Option "-Wl,-r" ] + ++ (if ccInfo == Clang then [] + else [SysTools.Option "-nodefaultlibs"]) -- gcc on sparc sets -Wl,--relax implicitly, but -- -r and --relax are incompatible for ld, so -- disable --relax explicitly. @@ -2147,19 +2148,20 @@ joinObjectFiles dflags o_files output_fn = do ld_build_id | sLdSupportsBuildId mySettings = ["-Wl,--build-id=none"] | otherwise = [] + ccInfo <- getCompilerInfo dflags if ldIsGnuLd then do script <- newTempName dflags "ldscript" writeFile script $ "INPUT(" ++ unwords o_files ++ ")" - ld_r [SysTools.FileOption "" script] + ld_r [SysTools.FileOption "" script] ccInfo else if sLdSupportsFilelist mySettings then do filelist <- newTempName dflags "filelist" writeFile filelist $ unlines o_files ld_r [SysTools.Option "-Wl,-filelist", - SysTools.FileOption "-Wl," filelist] + SysTools.FileOption "-Wl," filelist] ccInfo else do - ld_r (map (SysTools.FileOption "") o_files) + ld_r (map (SysTools.FileOption "") o_files) ccInfo -- ----------------------------------------------------------------------------- -- Misc. From git at git.haskell.org Thu Jan 16 01:16:52 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 01:16:52 +0000 (UTC) Subject: [commit: ghc] master: Fix ghciprog004 when built with Clang (dbc4605) Message-ID: <20140116011652.90BDB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/dbc4605d203f7a5fa7a7f7783039b2ddc61ba116/ghc >--------------------------------------------------------------- commit dbc4605d203f7a5fa7a7f7783039b2ddc61ba116 Author: Austin Seipp Date: Wed Jan 15 19:11:42 2014 -0600 Fix ghciprog004 when built with Clang Clang warns about implicit return values by default. Signed-off-by: Austin Seipp >--------------------------------------------------------------- dbc4605d203f7a5fa7a7f7783039b2ddc61ba116 testsuite/tests/ghci/prog004/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/tests/ghci/prog004/Makefile b/testsuite/tests/ghci/prog004/Makefile index 61631fc..49e1f5d 100644 --- a/testsuite/tests/ghci/prog004/Makefile +++ b/testsuite/tests/ghci/prog004/Makefile @@ -6,6 +6,6 @@ include $(TOP)/mk/test.mk # (sourceforge bug #1073501). ghciprog004: rm -f ctest.o - echo "int foo(){}" >ctest.c + echo "int foo(){return 0;}" >ctest.c '$(TEST_HC)' $(TEST_HC_OPTS) -optc-g -c ctest.c echo ":q" | '$(TEST_HC)' $(TEST_HC_OPTS) -v0 --interactive -ignore-dot-ghci ctest.o From git at git.haskell.org Thu Jan 16 02:27:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 02:27:37 +0000 (UTC) Subject: [commit: packages/process] master: Fix process010 mingw32 stdout (353a0ed) Message-ID: <20140116022737.57AF42406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/process On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/353a0edaef658d4566caaa46f70bed814a2c5afe/process >--------------------------------------------------------------- commit 353a0edaef658d4566caaa46f70bed814a2c5afe Author: Austin Seipp Date: Mon Jan 13 09:18:36 2014 -0600 Fix process010 mingw32 stdout Signed-off-by: Austin Seipp >--------------------------------------------------------------- 353a0edaef658d4566caaa46f70bed814a2c5afe tests/process010.stdout-mingw32 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/process010.stdout-mingw32 b/tests/process010.stdout-mingw32 index 569649b..17d996a 100644 --- a/tests/process010.stdout-mingw32 +++ b/tests/process010.stdout-mingw32 @@ -1,4 +1,4 @@ ExitSuccess ExitFailure 1 -Exc: /non/existent: createProcess: does not exist (No such file or directory) +Exc: /non/existent: rawSystem: does not exist (No such file or directory) Done From git at git.haskell.org Thu Jan 16 07:50:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:50:46 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Add Functor instance to Data.Graph.SCC (25a1398) Message-ID: <20140116075046.5ADAE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/25a1398c26384519951214a4434126ef3e0223d5 >--------------------------------------------------------------- commit 25a1398c26384519951214a4434126ef3e0223d5 Author: Nathan Howell Date: Tue Sep 10 15:46:51 2013 -0700 Add Functor instance to Data.Graph.SCC >--------------------------------------------------------------- 25a1398c26384519951214a4434126ef3e0223d5 Data/Graph.hs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Data/Graph.hs b/Data/Graph.hs index 389dea7..d7a4b92 100644 --- a/Data/Graph.hs +++ b/Data/Graph.hs @@ -93,6 +93,10 @@ instance NFData a => NFData (SCC a) where rnf (AcyclicSCC v) = rnf v rnf (CyclicSCC vs) = rnf vs +instance Functor SCC where + fmap f (AcyclicSCC v) = AcyclicSCC (f v) + fmap f (CyclicSCC vs) = CyclicSCC (fmap f vs) + -- | The vertices of a list of strongly connected components. flattenSCCs :: [SCC a] -> [a] flattenSCCs = concatMap flattenSCC From git at git.haskell.org Thu Jan 16 07:50:48 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:50:48 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Merge pull request #32 from alphaHeavy/scc-functor (1182cce) Message-ID: <20140116075048.734A12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/1182cce4d9de6f144e6638c1ef303f782d3e86a2 >--------------------------------------------------------------- commit 1182cce4d9de6f144e6638c1ef303f782d3e86a2 Merge: c4f44a3 25a1398 Author: Milan Straka Date: Thu Sep 12 14:16:43 2013 -0700 Merge pull request #32 from alphaHeavy/scc-functor Add Functor instance to Data.Graph.SCC >--------------------------------------------------------------- 1182cce4d9de6f144e6638c1ef303f782d3e86a2 Data/Graph.hs | 4 ++++ 1 file changed, 4 insertions(+) From git at git.haskell.org Thu Jan 16 07:50:50 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:50:50 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Use finiteBitSize with base >= 4.7... (501fa5b) Message-ID: <20140116075050.733A02406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/501fa5b32c0e654e42a7107c87ebcab67292970e >--------------------------------------------------------------- commit 501fa5b32c0e654e42a7107c87ebcab67292970e Author: Milan Straka Date: Mon Oct 7 15:14:44 2013 +0200 Use finiteBitSize with base >= 4.7... ... and silence warning in GHC 7.8. >--------------------------------------------------------------- 501fa5b32c0e654e42a7107c87ebcab67292970e Data/IntSet/Base.hs | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/Data/IntSet/Base.hs b/Data/IntSet/Base.hs index 5b726fe..9315b08 100644 --- a/Data/IntSet/Base.hs +++ b/Data/IntSet/Base.hs @@ -158,6 +158,26 @@ module Data.IntSet.Base ( , bitmapOf ) where +-- We want to be able to compile without cabal. Nevertheless +-- #if defined(MIN_VERSION_base) && MIN_VERSION_base(4,5,0) +-- does not work, because if MIN_VERSION_base is undefined, +-- the last condition is syntactically wrong. +#define MIN_VERSION_base_4_5_0 0 +#ifdef MIN_VERSION_base +#if MIN_VERSION_base(4,5,0) +#undef MIN_VERSION_base_4_5_0 +#define MIN_VERSION_base_4_5_0 1 +#endif +#endif + +#define MIN_VERSION_base_4_7_0 0 +#ifdef MIN_VERSION_base +#if MIN_VERSION_base(4,7,0) +#undef MIN_VERSION_base_4_7_0 +#define MIN_VERSION_base_4_7_0 1 +#endif +#endif + import Control.DeepSeq (NFData) import Data.Bits import qualified Data.List as List @@ -1193,7 +1213,11 @@ tip kx bm = Tip kx bm ----------------------------------------------------------------------} suffixBitMask :: Int +#if MIN_VERSION_base_4_7_0 +suffixBitMask = finiteBitSize (undefined::Word) - 1 +#else suffixBitMask = bitSize (undefined::Word) - 1 +#endif {-# INLINE suffixBitMask #-} prefixBitMask :: Int @@ -1439,18 +1463,6 @@ foldr'Bits prefix f z bm = let lb = lowestBitSet bm Derrick Lehmer and published in 1964 in a book edited by Beckenbach.)" ----------------------------------------------------------------------} --- We want to be able to compile without cabal. Nevertheless --- #if defined(MIN_VERSION_base) && MIN_VERSION_base(4,5,0) --- does not work, because if MIN_VERSION_base is undefined, --- the last condition is syntactically wrong. -#define MIN_VERSION_base_4_5_0 0 -#ifdef MIN_VERSION_base -#if MIN_VERSION_base(4,5,0) -#undef MIN_VERSION_base_4_5_0 -#define MIN_VERSION_base_4_5_0 1 -#endif -#endif - bitcount :: Int -> Word -> Int #if MIN_VERSION_base_4_5_0 bitcount a x = a + popCount x From git at git.haskell.org Thu Jan 16 07:50:52 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:50:52 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Add Functor and Applicative instances for SetM... (c58285c) Message-ID: <20140116075052.6907B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/c58285c8faa72a4e787751fd8f6d46dd3fa43359 >--------------------------------------------------------------- commit c58285c8faa72a4e787751fd8f6d46dd3fa43359 Author: Milan Straka Date: Mon Oct 7 15:13:00 2013 +0200 Add Functor and Applicative instances for SetM... ... to get ready for AMP proposal in GHC 7.10 and silence warning in GHC 7.8. >--------------------------------------------------------------- c58285c8faa72a4e787751fd8f6d46dd3fa43359 Data/Graph.hs | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/Data/Graph.hs b/Data/Graph.hs index d7a4b92..3ddc4be 100644 --- a/Data/Graph.hs +++ b/Data/Graph.hs @@ -72,6 +72,7 @@ import qualified Data.IntSet as Set import Data.Tree (Tree(Node), Forest) -- std interfaces +import Control.Applicative import Control.DeepSeq (NFData(rnf)) import Data.Maybe import Data.Array @@ -290,7 +291,19 @@ newtype SetM s a = SetM { runSetM :: STArray s Vertex Bool -> ST s a } instance Monad (SetM s) where return x = SetM $ const (return x) - SetM v >>= f = SetM $ \ s -> do { x <- v s; runSetM (f x) s } + {-# INLINE return #-} + SetM v >>= f = SetM $ \s -> do { x <- v s; runSetM (f x) s } + {-# INLINE (>>=) #-} + +instance Functor (SetM s) where + f `fmap` SetM v = SetM $ \s -> f `fmap` v s + {-# INLINE fmap #-} + +instance Applicative (SetM s) where + pure x = SetM $ const (return x) + {-# INLINE pure #-} + SetM f <*> SetM v = SetM $ \s -> f s <*> v s + {-# INLINE (<*>) #-} run :: Bounds -> (forall s. SetM s a) -> a run bnds act = runST (newArray bnds False >>= runSetM act) @@ -308,8 +321,18 @@ include v = SetM $ \ m -> writeArray m v True newtype SetM s a = SetM { runSetM :: IntSet -> (a, IntSet) } instance Monad (SetM s) where - return x = SetM $ \ s -> (x, s) - SetM v >>= f = SetM $ \ s -> case v s of (x, s') -> runSetM (f x) s' + return x = SetM $ \s -> (x, s) + SetM v >>= f = SetM $ \s -> case v s of (x, s') -> runSetM (f x) s' + +instance Functor (SetM s) where + f `fmap` SetM v = SetM $ \s -> case v s of (x, s') -> (f x, s') + {-# INLINE fmap #-} + +instance Applicative (SetM s) where + pure x = SetM $ \s -> (x, s) + {-# INLINE pure #-} + SetM f <*> SetM v = SetM $ \s -> case f s of (k, s') -> case v s' of (x, s'') -> (k x, s'') + {-# INLINE (<*>) #-} run :: Bounds -> SetM s a -> a run _ act = fst (runSetM act Set.empty) From git at git.haskell.org Thu Jan 16 07:50:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:50:54 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Rename join to link ... (5b7e912) Message-ID: <20140116075054.7F5E82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/5b7e912f281bcafd080f4095c94d9a7ca1d59c29 >--------------------------------------------------------------- commit 5b7e912f281bcafd080f4095c94d9a7ca1d59c29 Author: Milan Straka Date: Mon Oct 7 15:15:59 2013 +0200 Rename join to link ... ... to get ready for AMP in GHC 7.10 and silence warning in GHC 7.8. Keeping join would be quite a hassle. We need to silence warning in GHC 7.8, but we cannot say import Prelude hiding (....., join) because join is not exported untiil 7.10. We also do not want to explicitly list imported names from Prelude, because there are many (I tried and stopped after a dozen). We could silence the amp warning in GHC 7.7 - GHC 7.9 and have conditional Prelude import for base >= 4.8, hiding join in one of them. Nevertheless, this is too many problems compared to renaming an internal join function to link. >--------------------------------------------------------------- 5b7e912f281bcafd080f4095c94d9a7ca1d59c29 Data/IntMap/Base.hs | 50 ++++++++++++++++++------------------ Data/IntMap/Strict.hs | 18 ++++++------- Data/IntSet/Base.hs | 20 +++++++-------- Data/Map/Base.hs | 68 ++++++++++++++++++++++++------------------------- Data/Map/Lazy.hs | 2 +- Data/Map/Strict.hs | 24 ++++++++--------- Data/Set.hs | 2 +- Data/Set/Base.hs | 56 ++++++++++++++++++++-------------------- 8 files changed, 120 insertions(+), 120 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 5b7e912f281bcafd080f4095c94d9a7ca1d59c29 From git at git.haskell.org Thu Jan 16 07:50:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:50:56 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Avoid dependency on Applicative (ST s) instance ... (4f7bc51) Message-ID: <20140116075056.785BC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/4f7bc51fe6eb40f6b17bb2ee2906e0b03fdbab0d >--------------------------------------------------------------- commit 4f7bc51fe6eb40f6b17bb2ee2906e0b03fdbab0d Author: Milan Straka Date: Mon Oct 7 18:39:45 2013 +0200 Avoid dependency on Applicative (ST s) instance ... ... present only in GHC 7.2+. >--------------------------------------------------------------- 4f7bc51fe6eb40f6b17bb2ee2906e0b03fdbab0d Data/Graph.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Data/Graph.hs b/Data/Graph.hs index 3ddc4be..c5cdf4b 100644 --- a/Data/Graph.hs +++ b/Data/Graph.hs @@ -302,7 +302,10 @@ instance Functor (SetM s) where instance Applicative (SetM s) where pure x = SetM $ const (return x) {-# INLINE pure #-} - SetM f <*> SetM v = SetM $ \s -> f s <*> v s + SetM f <*> SetM v = SetM $ \s -> f s >>= (`fmap` v s) + -- We could also use the following definition + -- SetM f <*> SetM v = SetM $ \s -> f s <*> v s + -- but Applicative (ST s) instance is present only in GHC 7.2+ {-# INLINE (<*>) #-} run :: Bounds -> (forall s. SetM s a) -> a From git at git.haskell.org Thu Jan 16 07:50:58 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:50:58 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Add splitTree to Map.Base. Not exposed publically yet. (db1b1b8) Message-ID: <20140116075058.836322406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/db1b1b8e670f7f17cd625d4677cd1676fd45d9f3 >--------------------------------------------------------------- commit db1b1b8e670f7f17cd625d4677cd1676fd45d9f3 Author: Ryan Newton Date: Mon Oct 7 00:13:59 2013 -0400 Add splitTree to Map.Base. Not exposed publically yet. >--------------------------------------------------------------- db1b1b8e670f7f17cd625d4677cd1676fd45d9f3 Data/Map/Base.hs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Data/Map/Base.hs b/Data/Map/Base.hs index 36da982..083b803 100644 --- a/Data/Map/Base.hs +++ b/Data/Map/Base.hs @@ -258,6 +258,7 @@ module Data.Map.Base ( , trim , trimLookupLo , foldlStrict + , splitTree , MaybeS(..) , filterGt , filterLt @@ -2813,3 +2814,15 @@ foldlStrict f = go go z [] = z go z (x:xs) = let z' = f z x in z' `seq` go z' xs {-# INLINE foldlStrict #-} + + +-- | /O(1)/. Decompose a Map into pieces. No guarantee is made as to the sizes of +-- the pieces, but some of them will be balanced, and some may be empty. +splitTree :: Map k b -> Maybe (Map k b, Map k b, Map k b) +splitTree orig = + case orig of + Tip -> Nothing + Bin 1 k v l r -> Just (singleton k v, l, r) +{-# INLINE splitTree #-} + + From git at git.haskell.org Thu Jan 16 07:51:00 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:00 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Change the split method to return a list, as per the discussion on the list. Bump version number to 0.5.3.2 to reflect change. (a7e1145) Message-ID: <20140116075100.8273F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/a7e114548d21ed08434c871f6ec5e5fabc68eb79 >--------------------------------------------------------------- commit a7e114548d21ed08434c871f6ec5e5fabc68eb79 Author: Ryan Newton Date: Mon Dec 2 23:15:05 2013 -0500 Change the split method to return a list, as per the discussion on the list. Bump version number to 0.5.3.2 to reflect change. >--------------------------------------------------------------- a7e114548d21ed08434c871f6ec5e5fabc68eb79 Data/Map/Base.hs | 12 +++++++----- containers.cabal | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Data/Map/Base.hs b/Data/Map/Base.hs index 083b803..4767a1d 100644 --- a/Data/Map/Base.hs +++ b/Data/Map/Base.hs @@ -2816,13 +2816,15 @@ foldlStrict f = go {-# INLINE foldlStrict #-} --- | /O(1)/. Decompose a Map into pieces. No guarantee is made as to the sizes of --- the pieces, but some of them will be balanced, and some may be empty. -splitTree :: Map k b -> Maybe (Map k b, Map k b, Map k b) +-- | /O(1)/. Decompose a Map into pieces, based on the structure of the underlying +-- tree. No guarantee is made as to the sizes of the pieces: an internal, but +-- deterministic process determines this. This is most useful for consuming a Map in +-- parallel. +splitTree :: Map k b -> [Map k b] splitTree orig = case orig of - Tip -> Nothing - Bin 1 k v l r -> Just (singleton k v, l, r) + Tip -> [] + Bin 1 k v l r -> [singleton k v, l, r] {-# INLINE splitTree #-} diff --git a/containers.cabal b/containers.cabal index 4a54c4a..845cb2d 100644 --- a/containers.cabal +++ b/containers.cabal @@ -1,5 +1,5 @@ name: containers -version: 0.5.3.1 +version: 0.5.3.2 license: BSD3 license-file: LICENSE maintainer: fox at ucw.cz From git at git.haskell.org Thu Jan 16 07:51:02 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:02 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Rename to splitRoot. Add the same for Sets and expose it. (90c2dfb) Message-ID: <20140116075102.DE1DC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/90c2dfbc6fbd6c7e2886862d476853e63ca4b16e >--------------------------------------------------------------- commit 90c2dfbc6fbd6c7e2886862d476853e63ca4b16e Author: Ryan Newton Date: Mon Dec 2 23:27:44 2013 -0500 Rename to splitRoot. Add the same for Sets and expose it. >--------------------------------------------------------------- 90c2dfbc6fbd6c7e2886862d476853e63ca4b16e Data/Map/Base.hs | 18 ++++++++---------- Data/Map/Lazy.hs | 1 + Data/Map/Strict.hs | 1 + Data/Set.hs | 1 + Data/Set/Base.hs | 13 +++++++++++++ 5 files changed, 24 insertions(+), 10 deletions(-) diff --git a/Data/Map/Base.hs b/Data/Map/Base.hs index 4767a1d..cafd7d5 100644 --- a/Data/Map/Base.hs +++ b/Data/Map/Base.hs @@ -211,6 +211,7 @@ module Data.Map.Base ( , split , splitLookup + , splitRoot -- * Submap , isSubmapOf, isSubmapOfBy @@ -258,7 +259,6 @@ module Data.Map.Base ( , trim , trimLookupLo , foldlStrict - , splitTree , MaybeS(..) , filterGt , filterLt @@ -2816,15 +2816,13 @@ foldlStrict f = go {-# INLINE foldlStrict #-} --- | /O(1)/. Decompose a Map into pieces, based on the structure of the underlying --- tree. No guarantee is made as to the sizes of the pieces: an internal, but --- deterministic process determines this. This is most useful for consuming a Map in +-- | /O(1)/. Decompose a map into pieces, based on the structure of the underlying +-- tree. No guarantee is made as to the sizes of the pieces; an internal, but +-- deterministic process determines this. This is most useful for consuming a map in -- parallel. -splitTree :: Map k b -> [Map k b] -splitTree orig = +splitRoot :: Map k b -> [Map k b] +splitRoot orig = case orig of Tip -> [] - Bin 1 k v l r -> [singleton k v, l, r] -{-# INLINE splitTree #-} - - + Bin _ k v l r -> [singleton k v, l, r] +{-# INLINE splitRoot #-} diff --git a/Data/Map/Lazy.hs b/Data/Map/Lazy.hs index 98d9232..119b6a0 100644 --- a/Data/Map/Lazy.hs +++ b/Data/Map/Lazy.hs @@ -171,6 +171,7 @@ module Data.Map.Lazy ( , split , splitLookup + , splitRoot -- * Submap , isSubmapOf, isSubmapOfBy diff --git a/Data/Map/Strict.hs b/Data/Map/Strict.hs index 64b47fc..75a29c8 100644 --- a/Data/Map/Strict.hs +++ b/Data/Map/Strict.hs @@ -178,6 +178,7 @@ module Data.Map.Strict , split , splitLookup + , splitRoot -- * Submap , isSubmapOf, isSubmapOfBy diff --git a/Data/Set.hs b/Data/Set.hs index f9397ce..5f1d918 100644 --- a/Data/Set.hs +++ b/Data/Set.hs @@ -80,6 +80,7 @@ module Data.Set ( , partition , split , splitMember + , splitRoot -- * Indexed , lookupIndex diff --git a/Data/Set/Base.hs b/Data/Set/Base.hs index d902310..37c0ffa 100644 --- a/Data/Set/Base.hs +++ b/Data/Set/Base.hs @@ -126,6 +126,7 @@ module Data.Set.Base ( , partition , split , splitMember + , splitRoot -- * Indexed , lookupIndex @@ -1404,6 +1405,18 @@ foldlStrict f = go go z (x:xs) = let z' = f z x in z' `seq` go z' xs {-# INLINE foldlStrict #-} +-- | /O(1)/. Decompose a set into pieces, based on the structure of the underlying +-- tree. No guarantee is made as to the sizes of the pieces; an internal, but +-- deterministic process determines this. This is most useful for consuming a set in +-- parallel. +splitRoot :: Set a -> [Set a] +splitRoot orig = + case orig of + Tip -> [] + Bin _ v l r -> [singleton v, l, r] +{-# INLINE splitRoot #-} + + {-------------------------------------------------------------------- Debugging --------------------------------------------------------------------} From git at git.haskell.org Thu Jan 16 07:51:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:04 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Add splitRoot examples to comments. (05e31de) Message-ID: <20140116075104.8E9082406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/05e31de394e91193d3e477f2226119c8f7ed0f64 >--------------------------------------------------------------- commit 05e31de394e91193d3e477f2226119c8f7ed0f64 Author: Ryan Newton Date: Mon Dec 2 23:47:26 2013 -0500 Add splitRoot examples to comments. >--------------------------------------------------------------- 05e31de394e91193d3e477f2226119c8f7ed0f64 Data/Map/Base.hs | 14 +++++++++++--- Data/Set/Base.hs | 14 +++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Data/Map/Base.hs b/Data/Map/Base.hs index cafd7d5..5c1c076 100644 --- a/Data/Map/Base.hs +++ b/Data/Map/Base.hs @@ -2816,10 +2816,18 @@ foldlStrict f = go {-# INLINE foldlStrict #-} --- | /O(1)/. Decompose a map into pieces, based on the structure of the underlying +-- | /O(1)/. Decompose a map into pieces based on the structure of the underlying -- tree. No guarantee is made as to the sizes of the pieces; an internal, but --- deterministic process determines this. This is most useful for consuming a map in --- parallel. +-- deterministic process determines this. +-- +-- Examples: +-- +-- > splitRoot (fromList (zip [1..6] ['a'..])) == +-- > [fromList [(4,'d')],fromList [(1,'a'),(2,'b'),(3,'c')],fromList [(5,'e'),(6,'f')]] +-- +-- > splitRoot M.empty == [] +-- +-- This function is useful for consuming a map in parallel. splitRoot :: Map k b -> [Map k b] splitRoot orig = case orig of diff --git a/Data/Set/Base.hs b/Data/Set/Base.hs index 37c0ffa..e3758eb 100644 --- a/Data/Set/Base.hs +++ b/Data/Set/Base.hs @@ -1405,10 +1405,18 @@ foldlStrict f = go go z (x:xs) = let z' = f z x in z' `seq` go z' xs {-# INLINE foldlStrict #-} --- | /O(1)/. Decompose a set into pieces, based on the structure of the underlying +-- | /O(1)/. Decompose a set into pieces based on the structure of the underlying -- tree. No guarantee is made as to the sizes of the pieces; an internal, but --- deterministic process determines this. This is most useful for consuming a set in --- parallel. +-- deterministic process determines this. +-- +-- Examples: +-- +-- > splitRoot (fromList [1..6]) == +-- > [fromList [4],fromList [1,2,3],fromList [5,6]] +-- +-- > splitRoot M.empty == [] +-- +-- This function is useful for consuming a set in parallel. splitRoot :: Set a -> [Set a] splitRoot orig = case orig of From git at git.haskell.org Thu Jan 16 07:51:06 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:06 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Switch to in-order splitRoot. Provide the same for IntSet/IntMap. (7320588) Message-ID: <20140116075106.AC0462406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/73205883bf238eef4363783255bd5cd5bed3db08 >--------------------------------------------------------------- commit 73205883bf238eef4363783255bd5cd5bed3db08 Author: Ryan Newton Date: Tue Dec 3 17:10:26 2013 -0500 Switch to in-order splitRoot. Provide the same for IntSet/IntMap. >--------------------------------------------------------------- 73205883bf238eef4363783255bd5cd5bed3db08 Data/IntMap/Base.hs | 27 +++++++++++++++++++++++++++ Data/IntMap/Lazy.hs | 1 + Data/IntMap/Strict.hs | 1 + Data/IntSet.hs | 1 + Data/IntSet/Base.hs | 27 +++++++++++++++++++++++++++ Data/Map/Base.hs | 17 +++++++++++------ Data/Set/Base.hs | 17 +++++++++++------ 7 files changed, 79 insertions(+), 12 deletions(-) diff --git a/Data/IntMap/Base.hs b/Data/IntMap/Base.hs index 1c6448b..5f238ac 100644 --- a/Data/IntMap/Base.hs +++ b/Data/IntMap/Base.hs @@ -165,6 +165,7 @@ module Data.IntMap.Base ( , split , splitLookup + , splitRoot -- * Submap , isSubmapOf, isSubmapOfBy @@ -2077,6 +2078,32 @@ foldlStrict f = go go z (x:xs) = let z' = f z x in z' `seq` go z' xs {-# INLINE foldlStrict #-} +-- | /O(1)/. Decompose a map into pieces based on the structure of the underlying +-- tree. This function is useful for consuming a map in parallel. +-- +-- No guarantee is made as to the sizes of the pieces; an internal, but +-- deterministic process determines this. However, it is guaranteed that the pieces +-- returned will be in ascending order (all elements in the first submap less than all +-- elements in the second, and so on). +-- +-- Examples: +-- +-- > splitRoot (fromList (zip [1..6::Int] ['a'..])) == +-- > [fromList [(1,'a'),(2,'b'),(3,'c')],fromList [(4,'d'),(5,'e'),(6,'f')]] +-- +-- > splitRoot empty == [] +-- +-- Note that the current implementation will not return more than two submaps, +-- but you should not depend on this remaining the case in future versions. +splitRoot :: IntMap a -> [IntMap a] +splitRoot orig = + case orig of + Nil -> [] + x@(Tip _ _) -> [x] + Bin _ _ l r -> [l, r] +{-# INLINE splitRoot #-} + + {-------------------------------------------------------------------- Debugging --------------------------------------------------------------------} diff --git a/Data/IntMap/Lazy.hs b/Data/IntMap/Lazy.hs index 6de26f8..ab89e1a 100644 --- a/Data/IntMap/Lazy.hs +++ b/Data/IntMap/Lazy.hs @@ -175,6 +175,7 @@ module Data.IntMap.Lazy ( , split , splitLookup + , splitRoot -- * Submap , isSubmapOf, isSubmapOfBy diff --git a/Data/IntMap/Strict.hs b/Data/IntMap/Strict.hs index 9b42c4f..2ca3707 100644 --- a/Data/IntMap/Strict.hs +++ b/Data/IntMap/Strict.hs @@ -181,6 +181,7 @@ module Data.IntMap.Strict ( , split , splitLookup + , splitRoot -- * Submap , isSubmapOf, isSubmapOfBy diff --git a/Data/IntSet.hs b/Data/IntSet.hs index 0f2221c..49dd10c 100644 --- a/Data/IntSet.hs +++ b/Data/IntSet.hs @@ -90,6 +90,7 @@ module Data.IntSet ( , partition , split , splitMember + , splitRoot -- * Map , IS.map diff --git a/Data/IntSet/Base.hs b/Data/IntSet/Base.hs index 9e0320b..0d88363 100644 --- a/Data/IntSet/Base.hs +++ b/Data/IntSet/Base.hs @@ -111,6 +111,7 @@ module Data.IntSet.Base ( , partition , split , splitMember + , splitRoot -- * Map , map @@ -1483,3 +1484,29 @@ foldlStrict f = go go z [] = z go z (x:xs) = let z' = f z x in z' `seq` go z' xs {-# INLINE foldlStrict #-} + +-- | /O(1)/. Decompose a set into pieces based on the structure of the underlying +-- tree. This function is useful for consuming a set in parallel. +-- +-- No guarantee is made as to the sizes of the pieces; an internal, but +-- deterministic process determines this. However, it is guaranteed that the pieces +-- returned will be in ascending order (all elements in the first subset less than all +-- elements in the second, and so on). +-- +-- Examples: +-- +-- > splitRoot (fromList [1..120]) == [fromList [1..63],fromList [64..120]] +-- > splitRoot empty == [] +-- +-- Note that the current implementation will not return more than two subsets, but +-- you should not depend on this remaining the case in future versions. Also, the +-- current version will not continue splitting all the way to individual singleton +-- sets -- it will stop before that. +splitRoot :: IntSet -> [IntSet] +splitRoot orig = + case orig of + Nil -> [] + -- NOTE: we don't currently split below Tip, but we could. + x@(Tip _ _) -> [x] + Bin _ _ l r -> [l, r] +{-# INLINE splitRoot #-} diff --git a/Data/Map/Base.hs b/Data/Map/Base.hs index 5c1c076..8753afa 100644 --- a/Data/Map/Base.hs +++ b/Data/Map/Base.hs @@ -2817,20 +2817,25 @@ foldlStrict f = go -- | /O(1)/. Decompose a map into pieces based on the structure of the underlying --- tree. No guarantee is made as to the sizes of the pieces; an internal, but --- deterministic process determines this. +-- tree. This function is useful for consuming a map in parallel. +-- +-- No guarantee is made as to the sizes of the pieces; an internal, but +-- deterministic process determines this. However, it is guaranteed that the pieces +-- returned will be in ascending order (all elements in the first submap less than all +-- elements in the second, and so on). -- -- Examples: -- -- > splitRoot (fromList (zip [1..6] ['a'..])) == --- > [fromList [(4,'d')],fromList [(1,'a'),(2,'b'),(3,'c')],fromList [(5,'e'),(6,'f')]] +-- > [fromList [(1,'a'),(2,'b'),(3,'c')],fromList [(4,'d')],fromList [(5,'e'),(6,'f')]] -- --- > splitRoot M.empty == [] +-- > splitRoot empty == [] -- --- This function is useful for consuming a map in parallel. +-- Note that the current implementation will not return more than three subsets, +-- but you should not depend on this remaining the case in future versions. splitRoot :: Map k b -> [Map k b] splitRoot orig = case orig of Tip -> [] - Bin _ k v l r -> [singleton k v, l, r] + Bin _ k v l r -> [l, singleton k v, r] {-# INLINE splitRoot #-} diff --git a/Data/Set/Base.hs b/Data/Set/Base.hs index e3758eb..63c5340 100644 --- a/Data/Set/Base.hs +++ b/Data/Set/Base.hs @@ -1406,22 +1406,27 @@ foldlStrict f = go {-# INLINE foldlStrict #-} -- | /O(1)/. Decompose a set into pieces based on the structure of the underlying --- tree. No guarantee is made as to the sizes of the pieces; an internal, but --- deterministic process determines this. +-- tree. This function is useful for consuming a set in parallel. +-- +-- No guarantee is made as to the sizes of the pieces; an internal, but +-- deterministic process determines this. However, it is guaranteed that the pieces +-- returned will be in ascending order (all elements in the first subset less than all +-- elements in the second, and so on). -- -- Examples: -- -- > splitRoot (fromList [1..6]) == --- > [fromList [4],fromList [1,2,3],fromList [5,6]] +-- > [fromList [1,2,3],fromList [4],fromList [5,6]] -- --- > splitRoot M.empty == [] +-- > splitRoot empty == [] -- --- This function is useful for consuming a set in parallel. +-- Note that the current implementation will not return more than three subsets, +-- but you should not depend on this remaining the case in future versions. splitRoot :: Set a -> [Set a] splitRoot orig = case orig of Tip -> [] - Bin _ v l r -> [singleton v, l, r] + Bin _ v l r -> [l, singleton v, r] {-# INLINE splitRoot #-} From git at git.haskell.org Thu Jan 16 07:51:08 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:08 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Disable apparently rotted test cases. 10/10 test suites pass. (791b3fd) Message-ID: <20140116075108.B95112406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/791b3fd997ff9f9d9856058da6bd2acfaf975791 >--------------------------------------------------------------- commit 791b3fd997ff9f9d9856058da6bd2acfaf975791 Author: Ryan Newton Date: Tue Dec 3 19:49:12 2013 -0500 Disable apparently rotted test cases. 10/10 test suites pass. >--------------------------------------------------------------- 791b3fd997ff9f9d9856058da6bd2acfaf975791 tests/map-properties.hs | 8 ++++---- tests/set-properties.hs | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/map-properties.hs b/tests/map-properties.hs index 8b9f14b..151bcf2 100644 --- a/tests/map-properties.hs +++ b/tests/map-properties.hs @@ -136,7 +136,7 @@ main = defaultMain , testProperty "deleteMin" prop_deleteMin , testProperty "deleteMax" prop_deleteMax , testProperty "split" prop_split - , testProperty "split then join" prop_join +-- , testProperty "split then join" prop_join , testProperty "split then merge" prop_merge , testProperty "union" prop_union , testProperty "union model" prop_unionModel @@ -859,9 +859,9 @@ prop_split :: Int -> UMap -> Bool prop_split k t = let (r,l) = split k t in (valid r, valid l) == (True, True) -prop_join :: Int -> UMap -> Bool -prop_join k t = let (l,r) = split k t - in valid (join k () l r) +-- prop_join :: Int -> UMap -> Bool +-- prop_join k t = let (l,r) = split k t +-- in valid (join k () l r) prop_merge :: Int -> UMap -> Bool prop_merge k t = let (l,r) = split k t diff --git a/tests/set-properties.hs b/tests/set-properties.hs index f1ce4f5..e32a141 100644 --- a/tests/set-properties.hs +++ b/tests/set-properties.hs @@ -31,7 +31,7 @@ main = defaultMain [ testCase "lookupLT" test_lookupLT , testProperty "prop_InsertValid" prop_InsertValid , testProperty "prop_InsertDelete" prop_InsertDelete , testProperty "prop_DeleteValid" prop_DeleteValid - , testProperty "prop_Join" prop_Join +-- , testProperty "prop_Join" prop_Join , testProperty "prop_Merge" prop_Merge , testProperty "prop_UnionValid" prop_UnionValid , testProperty "prop_UnionInsert" prop_UnionInsert @@ -215,10 +215,10 @@ prop_DeleteValid k = forValidUnitTree $ \t -> valid (delete k (insert k t)) {-------------------------------------------------------------------- Balance --------------------------------------------------------------------} -prop_Join :: Int -> Property -prop_Join x = forValidUnitTree $ \t -> - let (l,r) = split x t - in valid (join x l r) +-- prop_Join :: Int -> Property +-- prop_Join x = forValidUnitTree $ \t -> +-- let (l,r) = split x t +-- in valid (join x l r) prop_Merge :: Int -> Property prop_Merge x = forValidUnitTree $ \t -> From git at git.haskell.org Thu Jan 16 07:51:10 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:10 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Add test properties for splitRoot. Remove the ordering guarantee for IntSet and IntMap. (Negative numbers screw it up.) (17c5640) Message-ID: <20140116075110.F027A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/17c5640a948a2bad01aad5cf329b2c5f71c7b8e2 >--------------------------------------------------------------- commit 17c5640a948a2bad01aad5cf329b2c5f71c7b8e2 Author: Ryan Newton Date: Tue Dec 3 19:57:16 2013 -0500 Add test properties for splitRoot. Remove the ordering guarantee for IntSet and IntMap. (Negative numbers screw it up.) >--------------------------------------------------------------- 17c5640a948a2bad01aad5cf329b2c5f71c7b8e2 Data/IntMap/Base.hs | 7 +++---- Data/IntSet/Base.hs | 7 +++---- tests/intmap-properties.hs | 4 ++++ tests/intset-properties.hs | 4 ++++ tests/map-properties.hs | 11 +++++++++++ tests/set-properties.hs | 11 +++++++++++ 6 files changed, 36 insertions(+), 8 deletions(-) diff --git a/Data/IntMap/Base.hs b/Data/IntMap/Base.hs index 5f238ac..08448dd 100644 --- a/Data/IntMap/Base.hs +++ b/Data/IntMap/Base.hs @@ -2081,10 +2081,9 @@ foldlStrict f = go -- | /O(1)/. Decompose a map into pieces based on the structure of the underlying -- tree. This function is useful for consuming a map in parallel. -- --- No guarantee is made as to the sizes of the pieces; an internal, but --- deterministic process determines this. However, it is guaranteed that the pieces --- returned will be in ascending order (all elements in the first submap less than all --- elements in the second, and so on). +-- No guarantee is made as to the sizes of the pieces; an internal, but deterministic +-- process determines this. Further, there are no guarantees about the ordering +-- relationships of the output subsets. -- -- Examples: -- diff --git a/Data/IntSet/Base.hs b/Data/IntSet/Base.hs index 0d88363..d58583a 100644 --- a/Data/IntSet/Base.hs +++ b/Data/IntSet/Base.hs @@ -1488,10 +1488,9 @@ foldlStrict f = go -- | /O(1)/. Decompose a set into pieces based on the structure of the underlying -- tree. This function is useful for consuming a set in parallel. -- --- No guarantee is made as to the sizes of the pieces; an internal, but --- deterministic process determines this. However, it is guaranteed that the pieces --- returned will be in ascending order (all elements in the first subset less than all --- elements in the second, and so on). +-- No guarantee is made as to the sizes of the pieces; an internal, but deterministic +-- process determines this. Further, there are no guarantees about the ordering +-- relationships of the output subsets. -- -- Examples: -- diff --git a/tests/intmap-properties.hs b/tests/intmap-properties.hs index 6bf7ac5..f598021 100644 --- a/tests/intmap-properties.hs +++ b/tests/intmap-properties.hs @@ -160,6 +160,7 @@ main = defaultMain , testProperty "fmap" prop_fmap , testProperty "mapkeys" prop_mapkeys , testProperty "split" prop_splitModel + , testProperty "prop_splitRoot" prop_splitRoot , testProperty "foldr" prop_foldr , testProperty "foldr'" prop_foldr' , testProperty "foldl" prop_foldl @@ -994,6 +995,9 @@ prop_splitModel n ys = length ys > 0 ==> in toAscList l == sort [(k, v) | (k,v) <- xs, k < n] && toAscList r == sort [(k, v) | (k,v) <- xs, k > n] +prop_splitRoot :: IMap -> Bool +prop_splitRoot s = (s == unions (splitRoot s)) + prop_foldr :: Int -> [(Int, Int)] -> Property prop_foldr n ys = length ys > 0 ==> let xs = List.nubBy ((==) `on` fst) ys diff --git a/tests/intset-properties.hs b/tests/intset-properties.hs index e424ee9..abfb96d 100644 --- a/tests/intset-properties.hs +++ b/tests/intset-properties.hs @@ -63,6 +63,7 @@ main = defaultMain [ testCase "lookupLT" test_lookupLT , testProperty "prop_minView" prop_minView , testProperty "prop_split" prop_split , testProperty "prop_splitMember" prop_splitMember + , testProperty "prop_splitRoot" prop_splitRoot , testProperty "prop_partition" prop_partition , testProperty "prop_filter" prop_filter #if MIN_VERSION_base(4,5,0) @@ -308,6 +309,9 @@ prop_splitMember :: IntSet -> Int -> Bool prop_splitMember s i = case splitMember i s of (s1,t,s2) -> all (i) (toList s2) && t == i `member` s && i `delete` s == union s1 s2 +prop_splitRoot :: IntSet -> Bool +prop_splitRoot s = (s == unions (splitRoot s)) + prop_partition :: IntSet -> Int -> Bool prop_partition s i = case partition odd s of (s1,s2) -> all odd (toList s1) && all even (toList s2) && s == s1 `union` s2 diff --git a/tests/map-properties.hs b/tests/map-properties.hs index 151bcf2..3361e9f 100644 --- a/tests/map-properties.hs +++ b/tests/map-properties.hs @@ -136,6 +136,7 @@ main = defaultMain , testProperty "deleteMin" prop_deleteMin , testProperty "deleteMax" prop_deleteMax , testProperty "split" prop_split + , testProperty "splitRoot" prop_splitRoot -- , testProperty "split then join" prop_join , testProperty "split then merge" prop_merge , testProperty "union" prop_union @@ -859,6 +860,16 @@ prop_split :: Int -> UMap -> Bool prop_split k t = let (r,l) = split k t in (valid r, valid l) == (True, True) +prop_splitRoot :: UMap -> Bool +prop_splitRoot s = loop ls && (s == unions ls) + where + ls = splitRoot s + loop [] = True + loop (s1:rst) = List.null + [ (x,y) | x <- toList s1 + , y <- toList (unions rst) + , x > y ] + -- prop_join :: Int -> UMap -> Bool -- prop_join k t = let (l,r) = split k t -- in valid (join k () l r) diff --git a/tests/set-properties.hs b/tests/set-properties.hs index e32a141..880f9c0 100644 --- a/tests/set-properties.hs +++ b/tests/set-properties.hs @@ -64,6 +64,7 @@ main = defaultMain [ testCase "lookupLT" test_lookupLT , testProperty "prop_minView" prop_minView , testProperty "prop_split" prop_split , testProperty "prop_splitMember" prop_splitMember + , testProperty "prop_splitRoot" prop_splitRoot , testProperty "prop_partition" prop_partition , testProperty "prop_filter" prop_filter ] @@ -359,6 +360,16 @@ prop_splitMember :: Set Int -> Int -> Bool prop_splitMember s i = case splitMember i s of (s1,t,s2) -> all (i) (toList s2) && t == i `member` s && i `delete` s == union s1 s2 +prop_splitRoot :: Set Int -> Bool +prop_splitRoot s = loop ls && (s == unions ls) + where + ls = splitRoot s + loop [] = True + loop (s1:rst) = List.null + [ (x,y) | x <- toList s1 + , y <- toList (unions rst) + , x > y ] + prop_partition :: Set Int -> Int -> Bool prop_partition s i = case partition odd s of (s1,s2) -> all odd (toList s1) && all even (toList s2) && s == s1 `union` s2 From git at git.haskell.org Thu Jan 16 07:51:12 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:12 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Merge pull request #35 from rrnewton/splittable (4027319) Message-ID: <20140116075113.9583C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/4027319ba3fb920ef2f790cc11e23457e680e5d3 >--------------------------------------------------------------- commit 4027319ba3fb920ef2f790cc11e23457e680e5d3 Merge: 4f7bc51 17c5640 Author: Milan Straka Date: Wed Dec 4 10:07:00 2013 -0800 Merge pull request #35 from rrnewton/splittable Add splitRoot function for Map, Set, IntMap, IntSet. >--------------------------------------------------------------- 4027319ba3fb920ef2f790cc11e23457e680e5d3 Data/IntMap/Base.hs | 26 ++++++++++++++++++++++++++ Data/IntMap/Lazy.hs | 1 + Data/IntMap/Strict.hs | 1 + Data/IntSet.hs | 1 + Data/IntSet/Base.hs | 26 ++++++++++++++++++++++++++ Data/Map/Base.hs | 26 ++++++++++++++++++++++++++ Data/Map/Lazy.hs | 1 + Data/Map/Strict.hs | 1 + Data/Set.hs | 1 + Data/Set/Base.hs | 26 ++++++++++++++++++++++++++ containers.cabal | 2 +- tests/intmap-properties.hs | 4 ++++ tests/intset-properties.hs | 4 ++++ tests/map-properties.hs | 19 +++++++++++++++---- tests/set-properties.hs | 21 ++++++++++++++++----- 15 files changed, 150 insertions(+), 10 deletions(-) From git at git.haskell.org Thu Jan 16 07:51:14 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:14 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Fix and reinstate the recently commented tests. (ad7ed3b) Message-ID: <20140116075114.CE72C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/ad7ed3bb56e8d1dc8b54a09a7efa8c19fd5be5ba >--------------------------------------------------------------- commit ad7ed3bb56e8d1dc8b54a09a7efa8c19fd5be5ba Author: Milan Straka Date: Wed Dec 4 19:09:08 2013 +0100 Fix and reinstate the recently commented tests. The not working tests were using the join function which we renamed to link because of Applicative being introduced to Prelude. Nevertheless, I forgot to update the tests. Fixing now. >--------------------------------------------------------------- ad7ed3bb56e8d1dc8b54a09a7efa8c19fd5be5ba tests/map-properties.hs | 8 ++++---- tests/set-properties.hs | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/map-properties.hs b/tests/map-properties.hs index 3361e9f..27f08dc 100644 --- a/tests/map-properties.hs +++ b/tests/map-properties.hs @@ -137,7 +137,7 @@ main = defaultMain , testProperty "deleteMax" prop_deleteMax , testProperty "split" prop_split , testProperty "splitRoot" prop_splitRoot --- , testProperty "split then join" prop_join + , testProperty "split then link" prop_link , testProperty "split then merge" prop_merge , testProperty "union" prop_union , testProperty "union model" prop_unionModel @@ -870,9 +870,9 @@ prop_splitRoot s = loop ls && (s == unions ls) , y <- toList (unions rst) , x > y ] --- prop_join :: Int -> UMap -> Bool --- prop_join k t = let (l,r) = split k t --- in valid (join k () l r) +prop_link :: Int -> UMap -> Bool +prop_link k t = let (l,r) = split k t + in valid (link k () l r) prop_merge :: Int -> UMap -> Bool prop_merge k t = let (l,r) = split k t diff --git a/tests/set-properties.hs b/tests/set-properties.hs index 880f9c0..3ff6f73 100644 --- a/tests/set-properties.hs +++ b/tests/set-properties.hs @@ -31,7 +31,7 @@ main = defaultMain [ testCase "lookupLT" test_lookupLT , testProperty "prop_InsertValid" prop_InsertValid , testProperty "prop_InsertDelete" prop_InsertDelete , testProperty "prop_DeleteValid" prop_DeleteValid --- , testProperty "prop_Join" prop_Join + , testProperty "prop_Link" prop_Link , testProperty "prop_Merge" prop_Merge , testProperty "prop_UnionValid" prop_UnionValid , testProperty "prop_UnionInsert" prop_UnionInsert @@ -216,10 +216,10 @@ prop_DeleteValid k = forValidUnitTree $ \t -> valid (delete k (insert k t)) {-------------------------------------------------------------------- Balance --------------------------------------------------------------------} --- prop_Join :: Int -> Property --- prop_Join x = forValidUnitTree $ \t -> --- let (l,r) = split x t --- in valid (join x l r) +prop_Link :: Int -> Property +prop_Link x = forValidUnitTree $ \t -> + let (l,r) = split x t + in valid (link x l r) prop_Merge :: Int -> Property prop_Merge x = forValidUnitTree $ \t -> From git at git.haskell.org Thu Jan 16 07:51:16 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:16 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Documentation improvements, whitespace cleaning. (9f98bbf) Message-ID: <20140116075117.112B82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/9f98bbf5575103d6046d7f40cff7864a51b0834c >--------------------------------------------------------------- commit 9f98bbf5575103d6046d7f40cff7864a51b0834c Author: Milan Straka Date: Wed Dec 4 19:30:45 2013 +0100 Documentation improvements, whitespace cleaning. >--------------------------------------------------------------- 9f98bbf5575103d6046d7f40cff7864a51b0834c Data/IntMap/Base.hs | 5 +++-- Data/IntSet/Base.hs | 9 +++++---- Data/Map/Base.hs | 5 +++-- Data/Set/Base.hs | 5 +++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Data/IntMap/Base.hs b/Data/IntMap/Base.hs index 08448dd..ebdbc12 100644 --- a/Data/IntMap/Base.hs +++ b/Data/IntMap/Base.hs @@ -2092,8 +2092,9 @@ foldlStrict f = go -- -- > splitRoot empty == [] -- --- Note that the current implementation will not return more than two submaps, --- but you should not depend on this remaining the case in future versions. +-- Note that the current implementation does not return more than two submaps, +-- but you should not depend on this behaviour because it can change in the +-- future without notice. splitRoot :: IntMap a -> [IntMap a] splitRoot orig = case orig of diff --git a/Data/IntSet/Base.hs b/Data/IntSet/Base.hs index d58583a..dcff687 100644 --- a/Data/IntSet/Base.hs +++ b/Data/IntSet/Base.hs @@ -1497,10 +1497,11 @@ foldlStrict f = go -- > splitRoot (fromList [1..120]) == [fromList [1..63],fromList [64..120]] -- > splitRoot empty == [] -- --- Note that the current implementation will not return more than two subsets, but --- you should not depend on this remaining the case in future versions. Also, the --- current version will not continue splitting all the way to individual singleton --- sets -- it will stop before that. +-- Note that the current implementation does not return more than two subsets, +-- but you should not depend on this behaviour because it can change in the +-- future without notice. Also, the current version does not continue +-- splitting all the way to individual singleton sets -- it stops at some +-- point. splitRoot :: IntSet -> [IntSet] splitRoot orig = case orig of diff --git a/Data/Map/Base.hs b/Data/Map/Base.hs index 8753afa..1f6512f 100644 --- a/Data/Map/Base.hs +++ b/Data/Map/Base.hs @@ -2831,8 +2831,9 @@ foldlStrict f = go -- -- > splitRoot empty == [] -- --- Note that the current implementation will not return more than three subsets, --- but you should not depend on this remaining the case in future versions. +-- Note that the current implementation does not return more than three submaps, +-- but you should not depend on this behaviour because it can change in the +-- future without notice. splitRoot :: Map k b -> [Map k b] splitRoot orig = case orig of diff --git a/Data/Set/Base.hs b/Data/Set/Base.hs index 63c5340..675c966 100644 --- a/Data/Set/Base.hs +++ b/Data/Set/Base.hs @@ -1420,8 +1420,9 @@ foldlStrict f = go -- -- > splitRoot empty == [] -- --- Note that the current implementation will not return more than three subsets, --- but you should not depend on this remaining the case in future versions. +-- Note that the current implementation does not return more than three subsets, +-- but you should not depend on this behaviour because it can change in the +-- future without notice. splitRoot :: Set a -> [Set a] splitRoot orig = case orig of From git at git.haskell.org Thu Jan 16 07:51:18 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:18 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Reinstate the ordering guarantees for Int{Set.Map}.splitRoot. (fac4e64) Message-ID: <20140116075118.D36E72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/fac4e64ea13053f34d0fb370950d00646e3835f7 >--------------------------------------------------------------- commit fac4e64ea13053f34d0fb370950d00646e3835f7 Author: Milan Straka Date: Wed Dec 4 19:31:23 2013 +0100 Reinstate the ordering guarantees for Int{Set.Map}.splitRoot. >--------------------------------------------------------------- fac4e64ea13053f34d0fb370950d00646e3835f7 Data/IntMap/Base.hs | 14 ++++++++------ Data/IntSet/Base.hs | 14 ++++++++------ tests/intmap-properties.hs | 11 +++++++++-- tests/intset-properties.hs | 9 ++++++++- 4 files changed, 33 insertions(+), 15 deletions(-) diff --git a/Data/IntMap/Base.hs b/Data/IntMap/Base.hs index ebdbc12..34a263a 100644 --- a/Data/IntMap/Base.hs +++ b/Data/IntMap/Base.hs @@ -2081,9 +2081,10 @@ foldlStrict f = go -- | /O(1)/. Decompose a map into pieces based on the structure of the underlying -- tree. This function is useful for consuming a map in parallel. -- --- No guarantee is made as to the sizes of the pieces; an internal, but deterministic --- process determines this. Further, there are no guarantees about the ordering --- relationships of the output subsets. +-- No guarantee is made as to the sizes of the pieces; an internal, but +-- deterministic process determines this. However, it is guaranteed that the +-- pieces returned will be in ascending order (all elements in the first submap +-- less than all elements in the second, and so on). -- -- Examples: -- @@ -2098,9 +2099,10 @@ foldlStrict f = go splitRoot :: IntMap a -> [IntMap a] splitRoot orig = case orig of - Nil -> [] - x@(Tip _ _) -> [x] - Bin _ _ l r -> [l, r] + Nil -> [] + x@(Tip _ _) -> [x] + Bin _ m l r | m < 0 -> [r, l] + | otherwise -> [l, r] {-# INLINE splitRoot #-} diff --git a/Data/IntSet/Base.hs b/Data/IntSet/Base.hs index dcff687..be41db5 100644 --- a/Data/IntSet/Base.hs +++ b/Data/IntSet/Base.hs @@ -1488,9 +1488,10 @@ foldlStrict f = go -- | /O(1)/. Decompose a set into pieces based on the structure of the underlying -- tree. This function is useful for consuming a set in parallel. -- --- No guarantee is made as to the sizes of the pieces; an internal, but deterministic --- process determines this. Further, there are no guarantees about the ordering --- relationships of the output subsets. +-- No guarantee is made as to the sizes of the pieces; an internal, but +-- deterministic process determines this. However, it is guaranteed that the +-- pieces returned will be in ascending order (all elements in the first submap +-- less than all elements in the second, and so on). -- -- Examples: -- @@ -1505,8 +1506,9 @@ foldlStrict f = go splitRoot :: IntSet -> [IntSet] splitRoot orig = case orig of - Nil -> [] + Nil -> [] -- NOTE: we don't currently split below Tip, but we could. - x@(Tip _ _) -> [x] - Bin _ _ l r -> [l, r] + x@(Tip _ _) -> [x] + Bin _ m l r | m < 0 -> [r, l] + | otherwise -> [l, r] {-# INLINE splitRoot #-} diff --git a/tests/intmap-properties.hs b/tests/intmap-properties.hs index f598021..b37f5bc 100644 --- a/tests/intmap-properties.hs +++ b/tests/intmap-properties.hs @@ -160,7 +160,7 @@ main = defaultMain , testProperty "fmap" prop_fmap , testProperty "mapkeys" prop_mapkeys , testProperty "split" prop_splitModel - , testProperty "prop_splitRoot" prop_splitRoot + , testProperty "splitRoot" prop_splitRoot , testProperty "foldr" prop_foldr , testProperty "foldr'" prop_foldr' , testProperty "foldl" prop_foldl @@ -996,7 +996,14 @@ prop_splitModel n ys = length ys > 0 ==> toAscList r == sort [(k, v) | (k,v) <- xs, k > n] prop_splitRoot :: IMap -> Bool -prop_splitRoot s = (s == unions (splitRoot s)) +prop_splitRoot s = loop ls && (s == unions ls) + where + ls = splitRoot s + loop [] = True + loop (s1:rst) = List.null + [ (x,y) | x <- toList s1 + , y <- toList (unions rst) + , x > y ] prop_foldr :: Int -> [(Int, Int)] -> Property prop_foldr n ys = length ys > 0 ==> diff --git a/tests/intset-properties.hs b/tests/intset-properties.hs index abfb96d..1671967 100644 --- a/tests/intset-properties.hs +++ b/tests/intset-properties.hs @@ -310,7 +310,14 @@ prop_splitMember s i = case splitMember i s of (s1,t,s2) -> all (i) (toList s2) && t == i `member` s && i `delete` s == union s1 s2 prop_splitRoot :: IntSet -> Bool -prop_splitRoot s = (s == unions (splitRoot s)) +prop_splitRoot s = loop ls && (s == unions ls) + where + ls = splitRoot s + loop [] = True + loop (s1:rst) = List.null + [ (x,y) | x <- toList s1 + , y <- toList (unions rst) + , x > y ] prop_partition :: IntSet -> Int -> Bool prop_partition s i = case partition odd s of From git at git.haskell.org Thu Jan 16 07:51:20 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:20 +0000 (UTC) Subject: [commit: packages/containers] ghc-head: Bump version number to 0.5.4.0 (13902bd) Message-ID: <20140116075121.124C42406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/containers On branch : ghc-head Link : http://git.haskell.org/packages/containers.git/commitdiff/13902bd436b54f400a1ddddba6f4ee4e9e517a26 >--------------------------------------------------------------- commit 13902bd436b54f400a1ddddba6f4ee4e9e517a26 Author: Johan Tibell Date: Wed Jan 15 18:25:53 2014 -0800 Bump version number to 0.5.4.0 splitRoot and several instances were added. >--------------------------------------------------------------- 13902bd436b54f400a1ddddba6f4ee4e9e517a26 containers.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/containers.cabal b/containers.cabal index 845cb2d..b67548c 100644 --- a/containers.cabal +++ b/containers.cabal @@ -1,5 +1,5 @@ name: containers -version: 0.5.3.2 +version: 0.5.4.0 license: BSD3 license-file: LICENSE maintainer: fox at ucw.cz From git at git.haskell.org Thu Jan 16 07:51:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 07:51:56 +0000 (UTC) Subject: [commit: ghc] master: Update to `containers-0.5.4.0` (69cf5c4) Message-ID: <20140116075156.4B9612406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/69cf5c4cb8aba309e5c495008b69089e5431a095/ghc >--------------------------------------------------------------- commit 69cf5c4cb8aba309e5c495008b69089e5431a095 Author: Herbert Valerio Riedel Date: Thu Jan 16 08:16:52 2014 +0100 Update to `containers-0.5.4.0` Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 69cf5c4cb8aba309e5c495008b69089e5431a095 libraries/containers | 2 +- testsuite/tests/th/TH_Roles2.stderr | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/containers b/libraries/containers index c4f44a3..13902bd 160000 --- a/libraries/containers +++ b/libraries/containers @@ -1 +1 @@ -Subproject commit c4f44a33136df0c6239eb5219b72a487b90b6ad1 +Subproject commit 13902bd436b54f400a1ddddba6f4ee4e9e517a26 diff --git a/testsuite/tests/th/TH_Roles2.stderr b/testsuite/tests/th/TH_Roles2.stderr index 5d8536d..8d71257 100644 --- a/testsuite/tests/th/TH_Roles2.stderr +++ b/testsuite/tests/th/TH_Roles2.stderr @@ -9,7 +9,7 @@ TYPE CONSTRUCTORS FamilyInstance: none COERCION AXIOMS Dependent modules: [] -Dependent packages: [array-0.5.0.0, base, containers-0.5.3.1, +Dependent packages: [array-0.5.0.0, base, containers-0.5.4.0, deepseq-1.3.0.2, ghc-prim, integer-gmp, pretty-1.1.1.1, template-haskell] From git at git.haskell.org Thu Jan 16 09:24:15 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 09:24:15 +0000 (UTC) Subject: [commit: ghc] master: type-rep is only broken when debugging is on (61395b5) Message-ID: <20140116092415.191402406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/61395b59191284a2cc249e614bbba993c16ef8c5/ghc >--------------------------------------------------------------- commit 61395b59191284a2cc249e614bbba993c16ef8c5 Author: Joachim Breitner Date: Thu Jan 16 10:22:04 2014 +0100 type-rep is only broken when debugging is on in which case it is a wontfix (see #8569) >--------------------------------------------------------------- 61395b59191284a2cc249e614bbba993c16ef8c5 testsuite/tests/gadt/all.T | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/tests/gadt/all.T b/testsuite/tests/gadt/all.T index 814b3e2..9192891 100644 --- a/testsuite/tests/gadt/all.T +++ b/testsuite/tests/gadt/all.T @@ -40,7 +40,7 @@ test('gadt23', test('gadt24', normal, compile, ['']) test('red-black', normal, compile, ['']) -test('type-rep', [ when(fast(), skip), expect_broken_for(8569, ['hpc','optasm','threaded2','dyn','optllvm']) ] , compile_and_run, ['']) +test('type-rep', [ when(fast(), skip), when(compiler_debugged(),expect_broken_for(8569, ['hpc','optasm','threaded2','dyn','optllvm'])) ] , compile_and_run, ['']) test('equal', normal, compile, ['']) test('nbe', normal, compile, ['']) test('while', normal, compile_and_run, ['']) From git at git.haskell.org Thu Jan 16 11:11:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 11:11:46 +0000 (UTC) Subject: [commit: ghc] master: Documentation on the stack layout algorithm (78a506a) Message-ID: <20140116111146.777A52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/78a506a914f18399c8d5032fe72547b6c2abfc7a/ghc >--------------------------------------------------------------- commit 78a506a914f18399c8d5032fe72547b6c2abfc7a Author: Simon Marlow Date: Mon Jan 13 20:36:48 2014 +0000 Documentation on the stack layout algorithm >--------------------------------------------------------------- 78a506a914f18399c8d5032fe72547b6c2abfc7a compiler/cmm/CmmLayoutStack.hs | 99 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 94 insertions(+), 5 deletions(-) diff --git a/compiler/cmm/CmmLayoutStack.hs b/compiler/cmm/CmmLayoutStack.hs index 5b881d8..0c49033 100644 --- a/compiler/cmm/CmmLayoutStack.hs +++ b/compiler/cmm/CmmLayoutStack.hs @@ -35,13 +35,95 @@ import Control.Monad (liftM) #include "HsVersions.h" +{- Note [Stack Layout] -data StackSlot = Occupied | Empty - -- Occupied: a return address or part of an update frame +The job of this pass is to + + - replace references to abstract stack Areas with fixed offsets from Sp. + + - replace the CmmHighStackMark constant used in the stack check with + the maximum stack usage of the proc. + + - save any variables that are live across a calll, and reload them as + necessary. + +Before stack allocation, local variables remain live across native +calls (CmmCall{ cmm_cont = Just _ }), and after stack allocation local +variables are clobbered by native calls. + +We want to do stack allocation so that as far as possible + - stack use is minimized, and + - unnecessary stack saves and loads are avoided. + +The algorithm we use is a variant of linear-scan register allocation, +where the stack is our register file. + + - First, we do a liveness analysis, which annotates every block with + the variables live on entry to the block. + + - We traverse blocks in reverse postorder DFS; that is, we visit at + least one predecessor of a block before the block itself. The + stack layout flowing from the predecessor of the block will + determine the stack layout on entry to the block. + + - We maintain a data structure + + Map Label StackMap + + which describes the contents of the stack and the stack pointer on + entry to each block that is a successor of a block that we have + visited. + + - For each block we visit: + + - Look up the StackMap for this block. + + - If this block is a proc point (or a call continuation, if we + aren't splitting proc points), emit instructions to reload all + the live variables from the stack, according to the StackMap. + + - Walk forwards through the instructions: + - At an assignment x = Sp[loc] + - Record the fact that Sp[loc] contains x, so that we won't + need to save x if it ever needs to be spilled. + - At an assignment x = E + - If x was previously on the stack, it isn't any more + - At the last node, if it is a call or a jump to a proc point + - Lay out the stack frame for the call (see setupStackFrame) + - emit instructions to save all the live variables + - Remember the StackMaps for all the successors + - emit an instruction to adjust Sp + - If the last node is a branch, then the current StackMap is the + StackMap for the successors. + + - Manifest Sp: replace references to stack areas in this block + with real Sp offsets. We cannot do this until we have laid out + the stack area for the successors above. + + In this phase we also eliminate redundant stores to the stack; + see elimStackStores. + + - There is one important gotcha: sometimes we'll encounter a control + transfer to a block that we've already processed (a join point), + and in that case we might need to rearrange the stack to match + what the block is expecting. (exactly the same as in linear-scan + register allocation, except here we have the luxury of an infinite + supply of temporary variables). + + - Finally, we update the magic CmmHighStackMark constant with the + stack usage of the function, and eliminate the whole stack check + if there was no stack use. (in fact this is done as part of the + main traversal, by feeding the high-water-mark output back in as + an input. I hate cyclic programming, but it's just too convenient + sometimes.) + +There are plenty of tricky details: update frames, proc points, return +addresses, foreign calls, and some ad-hoc optimisations that are +convenient to do here and effective in common cases. Comments in the +code below explain these. + +-} -instance Outputable StackSlot where - ppr Occupied = ptext (sLit "XXX") - ppr Empty = ptext (sLit "---") -- All stack locations are expressed as positive byte offsets from the -- "base", which is defined to be the address above the return address @@ -996,6 +1078,13 @@ callResumeThread new_base id = plusW :: DynFlags -> ByteOff -> WordOff -> ByteOff plusW dflags b w = b + w * wORD_SIZE dflags +data StackSlot = Occupied | Empty + -- Occupied: a return address or part of an update frame + +instance Outputable StackSlot where + ppr Occupied = ptext (sLit "XXX") + ppr Empty = ptext (sLit "---") + dropEmpty :: WordOff -> [StackSlot] -> Maybe [StackSlot] dropEmpty 0 ss = Just ss dropEmpty n (Empty : ss) = dropEmpty (n-1) ss From git at git.haskell.org Thu Jan 16 11:11:48 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 11:11:48 +0000 (UTC) Subject: [commit: ghc] master: Disable -fregs-graph (#7679, #8657) (f0a7261) Message-ID: <20140116111148.F12712406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/f0a7261a39bd1a8c5217fecba56c593c353f198c/ghc >--------------------------------------------------------------- commit f0a7261a39bd1a8c5217fecba56c593c353f198c Author: Simon Marlow Date: Mon Jan 13 20:07:19 2014 +0000 Disable -fregs-graph (#7679, #8657) >--------------------------------------------------------------- f0a7261a39bd1a8c5217fecba56c593c353f198c compiler/nativeGen/AsmCodeGen.lhs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/nativeGen/AsmCodeGen.lhs b/compiler/nativeGen/AsmCodeGen.lhs index cd00a82..caae4b1 100644 --- a/compiler/nativeGen/AsmCodeGen.lhs +++ b/compiler/nativeGen/AsmCodeGen.lhs @@ -457,8 +457,10 @@ cmmNativeGen dflags this_mod ncgImpl us cmm count -- allocate registers (alloced, usAlloc, ppr_raStatsColor, ppr_raStatsLinear) <- - if ( gopt Opt_RegsGraph dflags - || gopt Opt_RegsIterative dflags) + if False + -- Disabled, see #7679, #8657 + -- ( gopt Opt_RegsGraph dflags + -- || gopt Opt_RegsIterative dflags) then do -- the regs usable for allocation let (alloc_regs :: UniqFM (UniqSet RealReg)) From git at git.haskell.org Thu Jan 16 11:11:51 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 11:11:51 +0000 (UTC) Subject: [commit: ghc] master: bump bounds for T6048 (eec0b58) Message-ID: <20140116111151.4AA542406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/eec0b58f6cd9638406d9209aed48486ede4965f5/ghc >--------------------------------------------------------------- commit eec0b58f6cd9638406d9209aed48486ede4965f5 Author: Simon Marlow Date: Thu Jan 16 11:10:01 2014 +0000 bump bounds for T6048 Presumably broken by an earlier change, anyone know which one? >--------------------------------------------------------------- eec0b58f6cd9638406d9209aed48486ede4965f5 testsuite/tests/perf/compiler/all.T | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index 19d2b00..3b4b62b 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -392,7 +392,8 @@ test('T6048', [(wordsize(32), 48887164, 10), # prev: 38000000 (x86/Linux) # 2012-10-08: 48887164 (x86/Linux) - (wordsize(64), 97247032, 10)]) + (wordsize(64), 108578664, 10)]) # 18/09/2012 97247032 amd64/Linux + # 16/01/2014 108578664 amd64/Linux (unknown) ], compile,['']) From git at git.haskell.org Thu Jan 16 12:10:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 12:10:09 +0000 (UTC) Subject: [commit: ghc] master: Typo in comment (11f5cd9) Message-ID: <20140116121009.206522406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/11f5cd942e79afa7e6b21a4c084b19215ec72750/ghc >--------------------------------------------------------------- commit 11f5cd942e79afa7e6b21a4c084b19215ec72750 Author: Gabor Greif Date: Thu Jan 16 13:06:29 2014 +0100 Typo in comment >--------------------------------------------------------------- 11f5cd942e79afa7e6b21a4c084b19215ec72750 compiler/cmm/CmmLayoutStack.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/cmm/CmmLayoutStack.hs b/compiler/cmm/CmmLayoutStack.hs index 0c49033..95483a2 100644 --- a/compiler/cmm/CmmLayoutStack.hs +++ b/compiler/cmm/CmmLayoutStack.hs @@ -44,7 +44,7 @@ The job of this pass is to - replace the CmmHighStackMark constant used in the stack check with the maximum stack usage of the proc. - - save any variables that are live across a calll, and reload them as + - save any variables that are live across a call, and reload them as necessary. Before stack allocation, local variables remain live across native From git at git.haskell.org Thu Jan 16 13:19:13 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 13:19:13 +0000 (UTC) Subject: [commit: ghc] master: Add a way to reserve temporary stack space in high-level Cmm (eaa37a0) Message-ID: <20140116131913.324EC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/eaa37a0f69df28f051e7511d62dc104eb50a2a6b/ghc >--------------------------------------------------------------- commit eaa37a0f69df28f051e7511d62dc104eb50a2a6b Author: Simon Marlow Date: Thu Jan 16 11:55:25 2014 +0000 Add a way to reserve temporary stack space in high-level Cmm We occasionally need to reserve some temporary memory in a primop for passing to a foreign function. We've been using the stack for this, but when we moved to high-level Cmm it became quite fragile because primops are in high-level Cmm and the stack is supposed to be under the control of the Cmm pipeline. So this change puts things on a firmer footing by adding a new Cmm construct 'reserve'. e.g. in decodeFloat_Int#: reserve 2 = tmp { mp_tmp1 = tmp + WDS(1); mp_tmp_w = tmp; /* Perform the operation */ ccall __decodeFloat_Int(mp_tmp1 "ptr", mp_tmp_w "ptr", arg); r1 = W_[mp_tmp1]; r2 = W_[mp_tmp_w]; } reserve is described in CmmParse.y. Unfortunately the argument to reserve must be a compile-time constant. We might have to extend the parser to allow expressions with arithmetic operators if this is too restrictive. Note also that the return instruction for the procedure must be outside the scope of the reserved stack area, so we have to extract the values from the reserved area before we close the scope. This means some more local variables (r1, r2 in the example above). The generated code is more or less identical to what we had before though. >--------------------------------------------------------------- eaa37a0f69df28f051e7511d62dc104eb50a2a6b compiler/cmm/CmmLex.x | 4 +++- compiler/cmm/CmmParse.y | 25 ++++++++++++++++++++++ rts/PrimOps.cmm | 53 ++++++++++++++++++++++++++++------------------- 3 files changed, 60 insertions(+), 22 deletions(-) diff --git a/compiler/cmm/CmmLex.x b/compiler/cmm/CmmLex.x index 1b823cc..bb5b4e3 100644 --- a/compiler/cmm/CmmLex.x +++ b/compiler/cmm/CmmLex.x @@ -152,6 +152,7 @@ data CmmToken | CmmT_foreign | CmmT_never | CmmT_prim + | CmmT_reserve | CmmT_return | CmmT_returns | CmmT_import @@ -234,7 +235,8 @@ reservedWordsFM = listToUFM $ ( "foreign", CmmT_foreign ), ( "never", CmmT_never ), ( "prim", CmmT_prim ), - ( "return", CmmT_return ), + ( "reserve", CmmT_reserve ), + ( "return", CmmT_return ), ( "returns", CmmT_returns ), ( "import", CmmT_import ), ( "switch", CmmT_switch ), diff --git a/compiler/cmm/CmmParse.y b/compiler/cmm/CmmParse.y index a0c9bc4..8438198 100644 --- a/compiler/cmm/CmmParse.y +++ b/compiler/cmm/CmmParse.y @@ -89,6 +89,19 @@ High-level only: - pushing stack frames: push (info_ptr, field1, ..., fieldN) { ... statements ... } + - reserving temporary stack space: + + reserve N = x { ... } + + this reserves an area of size N (words) on the top of the stack, + and binds its address to x (a local register). Typically this is + used for allocating temporary storage for passing to foreign + functions. + + Note that if you make any native calls or invoke the GC in the + scope of the reserve block, you are responsible for ensuring that + the stack you reserved is laid out correctly with an info table. + Low-level only: - References to Sp, R1-R8, F1-F4 etc. @@ -302,6 +315,7 @@ import Data.Maybe 'foreign' { L _ (CmmT_foreign) } 'never' { L _ (CmmT_never) } 'prim' { L _ (CmmT_prim) } + 'reserve' { L _ (CmmT_reserve) } 'return' { L _ (CmmT_return) } 'returns' { L _ (CmmT_returns) } 'import' { L _ (CmmT_import) } @@ -614,6 +628,8 @@ stmt :: { CmmParse () } { cmmIfThenElse $2 $4 $6 } | 'push' '(' exprs0 ')' maybe_body { pushStackFrame $3 $5 } + | 'reserve' INT '=' lreg maybe_body + { reserveStackFrame (fromIntegral $2) $4 $5 } foreignLabel :: { CmmParse CmmExpr } : NAME { return (CmmLit (CmmLabel (mkForeignLabel $1 Nothing ForeignLabelInThisPackage IsFunction))) } @@ -1060,6 +1076,15 @@ pushStackFrame fields body = do emit g withUpdFrameOff new_updfr_off body +reserveStackFrame :: Int -> CmmParse CmmReg -> CmmParse () -> CmmParse () +reserveStackFrame size preg body = do + dflags <- getDynFlags + old_updfr_off <- getUpdFrameOff + reg <- preg + let frame = old_updfr_off + wORD_SIZE dflags * size + emitAssign reg (CmmStackSlot Old frame) + withUpdFrameOff frame body + profilingInfo dflags desc_str ty_str = if not (gopt Opt_SccProfilingOn dflags) then NoProfilingInfo diff --git a/rts/PrimOps.cmm b/rts/PrimOps.cmm index e539c7c..db65a4a 100644 --- a/rts/PrimOps.cmm +++ b/rts/PrimOps.cmm @@ -571,44 +571,55 @@ stg_deRefWeakzh ( gcptr w ) stg_decodeFloatzuIntzh ( F_ arg ) { W_ p; - W_ mp_tmp1; - W_ mp_tmp_w; + W_ tmp, mp_tmp1, mp_tmp_w, r1, r2; STK_CHK_GEN_N (WDS(2)); - mp_tmp1 = Sp - WDS(1); - mp_tmp_w = Sp - WDS(2); + reserve 2 = tmp { - /* Perform the operation */ - ccall __decodeFloat_Int(mp_tmp1 "ptr", mp_tmp_w "ptr", arg); + mp_tmp1 = tmp + WDS(1); + mp_tmp_w = tmp; + + /* Perform the operation */ + ccall __decodeFloat_Int(mp_tmp1 "ptr", mp_tmp_w "ptr", arg); + + r1 = W_[mp_tmp1]; + r2 = W_[mp_tmp_w]; + } /* returns: (Int# (mantissa), Int# (exponent)) */ - return (W_[mp_tmp1], W_[mp_tmp_w]); + return (r1, r2); } stg_decodeDoublezu2Intzh ( D_ arg ) { - W_ p; - W_ mp_tmp1; - W_ mp_tmp2; - W_ mp_result1; - W_ mp_result2; + W_ p, tmp; + W_ mp_tmp1, mp_tmp2, mp_result1, mp_result2; + W_ r1, r2, r3, r4; STK_CHK_GEN_N (WDS(4)); - mp_tmp1 = Sp - WDS(1); - mp_tmp2 = Sp - WDS(2); - mp_result1 = Sp - WDS(3); - mp_result2 = Sp - WDS(4); + reserve 4 = tmp { - /* Perform the operation */ - ccall __decodeDouble_2Int(mp_tmp1 "ptr", mp_tmp2 "ptr", - mp_result1 "ptr", mp_result2 "ptr", - arg); + mp_tmp1 = tmp + WDS(3); + mp_tmp2 = tmp + WDS(2); + mp_result1 = tmp + WDS(1); + mp_result2 = tmp; + + /* Perform the operation */ + ccall __decodeDouble_2Int(mp_tmp1 "ptr", mp_tmp2 "ptr", + mp_result1 "ptr", mp_result2 "ptr", + arg); + + r1 = W_[mp_tmp1]; + r2 = W_[mp_tmp2]; + r3 = W_[mp_result1]; + r4 = W_[mp_result2]; + } /* returns: (Int# (mant sign), Word# (mant high), Word# (mant low), Int# (expn)) */ - return (W_[mp_tmp1], W_[mp_tmp2], W_[mp_result1], W_[mp_result2]); + return (r1, r2, r3, r4); } /* ----------------------------------------------------------------------------- From git at git.haskell.org Thu Jan 16 15:52:39 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 15:52:39 +0000 (UTC) Subject: [commit: ghc] master: Allow the argument to 'reserve' to be a compile-time expression (58e5843) Message-ID: <20140116155240.047832406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/58e5843a4118ca19fd1c93f52f2365d90bb1b9b6/ghc >--------------------------------------------------------------- commit 58e5843a4118ca19fd1c93f52f2365d90bb1b9b6 Author: Simon Marlow Date: Thu Jan 16 15:14:49 2014 +0000 Allow the argument to 'reserve' to be a compile-time expression By using the constant-folder to reduce it to an integer. >--------------------------------------------------------------- 58e5843a4118ca19fd1c93f52f2365d90bb1b9b6 compiler/cmm/CmmOpt.hs | 12 ++++++++++++ compiler/cmm/CmmParse.y | 20 +++++++++++++++----- compiler/cmm/CmmSink.hs | 10 ++-------- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/compiler/cmm/CmmOpt.hs b/compiler/cmm/CmmOpt.hs index acaed28..54dbbeb 100644 --- a/compiler/cmm/CmmOpt.hs +++ b/compiler/cmm/CmmOpt.hs @@ -7,6 +7,8 @@ ----------------------------------------------------------------------------- module CmmOpt ( + constantFoldNode, + constantFoldExpr, cmmMachOpFold, cmmMachOpFoldM ) where @@ -24,6 +26,16 @@ import Platform import Data.Bits import Data.Maybe + +constantFoldNode :: DynFlags -> CmmNode e x -> CmmNode e x +constantFoldNode dflags = mapExp (constantFoldExpr dflags) + +constantFoldExpr :: DynFlags -> CmmExpr -> CmmExpr +constantFoldExpr dflags = wrapRecExp f + where f (CmmMachOp op args) = cmmMachOpFold dflags op args + f (CmmRegOff r 0) = CmmReg r + f e = e + -- ----------------------------------------------------------------------------- -- MachOp constant folder diff --git a/compiler/cmm/CmmParse.y b/compiler/cmm/CmmParse.y index 8438198..5f2c4d8 100644 --- a/compiler/cmm/CmmParse.y +++ b/compiler/cmm/CmmParse.y @@ -221,6 +221,7 @@ import StgCmmLayout hiding (ArgRep(..)) import StgCmmTicky import StgCmmBind ( emitBlackHoleCode, emitUpdateFrame ) +import CmmOpt import MkGraph import Cmm import CmmUtils @@ -628,8 +629,8 @@ stmt :: { CmmParse () } { cmmIfThenElse $2 $4 $6 } | 'push' '(' exprs0 ')' maybe_body { pushStackFrame $3 $5 } - | 'reserve' INT '=' lreg maybe_body - { reserveStackFrame (fromIntegral $2) $4 $5 } + | 'reserve' expr '=' lreg maybe_body + { reserveStackFrame $2 $4 $5 } foreignLabel :: { CmmParse CmmExpr } : NAME { return (CmmLit (CmmLabel (mkForeignLabel $1 Nothing ForeignLabelInThisPackage IsFunction))) } @@ -1076,12 +1077,21 @@ pushStackFrame fields body = do emit g withUpdFrameOff new_updfr_off body -reserveStackFrame :: Int -> CmmParse CmmReg -> CmmParse () -> CmmParse () -reserveStackFrame size preg body = do +reserveStackFrame + :: CmmParse CmmExpr + -> CmmParse CmmReg + -> CmmParse () + -> CmmParse () +reserveStackFrame psize preg body = do dflags <- getDynFlags old_updfr_off <- getUpdFrameOff reg <- preg - let frame = old_updfr_off + wORD_SIZE dflags * size + esize <- psize + let size = case constantFoldExpr dflags esize of + CmmLit (CmmInt n _) -> n + _other -> pprPanic "CmmParse: not a compile-time integer: " + (ppr esize) + let frame = old_updfr_off + wORD_SIZE dflags * fromIntegral size emitAssign reg (CmmStackSlot Old frame) withUpdFrameOff frame body diff --git a/compiler/cmm/CmmSink.hs b/compiler/cmm/CmmSink.hs index 6a3bcb7..c404a2e 100644 --- a/compiler/cmm/CmmSink.hs +++ b/compiler/cmm/CmmSink.hs @@ -171,7 +171,7 @@ cmmSink dflags graph = ofBlockList (g_entry graph) $ sink mapEmpty $ blocks -- Now sink and inline in this block (middle', assigs) = walk dflags ann_middles (mapFindWithDefault [] lbl sunk) - fold_last = constantFold dflags last + fold_last = constantFoldNode dflags last (final_last, assigs') = tryToInline dflags live fold_last assigs -- We cannot sink into join points (successors with more than @@ -311,7 +311,7 @@ walk dflags nodes assigs = go nodes emptyBlock assigs | Just a <- shouldSink dflags node2 = go ns block (a : as1) | otherwise = go ns block' as' where - node1 = constantFold dflags node + node1 = constantFoldNode dflags node (node2, as1) = tryToInline dflags live node1 as @@ -321,12 +321,6 @@ walk dflags nodes assigs = go nodes emptyBlock assigs block' = foldl blockSnoc block dropped `blockSnoc` node2 -constantFold :: DynFlags -> CmmNode e x -> CmmNode e x -constantFold dflags node = mapExpDeep f node - where f (CmmMachOp op args) = cmmMachOpFold dflags op args - f (CmmRegOff r 0) = CmmReg r - f e = e - -- -- Heuristic to decide whether to pick up and sink an assignment -- Currently we pick up all assignments to local registers. It might From git at git.haskell.org Thu Jan 16 16:03:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:03:46 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: s/extra-html-files/extra-doc-files/. (e93b01d) Message-ID: <20140116160346.7CB3C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/e93b01dfb34ab1de6fbfaec1b5805eddbb8a46f5 >--------------------------------------------------------------- commit e93b01dfb34ab1de6fbfaec1b5805eddbb8a46f5 Author: Mikhail Glushenkov Date: Fri Oct 25 23:02:45 2013 +0200 s/extra-html-files/extra-doc-files/. >--------------------------------------------------------------- e93b01dfb34ab1de6fbfaec1b5805eddbb8a46f5 Cabal/doc/developing-packages.markdown | 2 +- Cabal/doc/installing-packages.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cabal/doc/developing-packages.markdown b/Cabal/doc/developing-packages.markdown index cb7d9cd..2f8cd4b 100644 --- a/Cabal/doc/developing-packages.markdown +++ b/Cabal/doc/developing-packages.markdown @@ -874,7 +874,7 @@ describe the package as a whole: built with [`setup sdist`](#setup-sdist). As with `data-files` it can use a limited form of `*` wildcards in file names. -`extra-html-files:` _filename list_ +`extra-doc-files:` _filename list_ : A list of additional files to be included in source distributions, and also copied to the html directory when Haddock documentation is generated. As with `data-files` it can use a limited form of `*` diff --git a/Cabal/doc/installing-packages.markdown b/Cabal/doc/installing-packages.markdown index 2eef980..a554982 100644 --- a/Cabal/doc/installing-packages.markdown +++ b/Cabal/doc/installing-packages.markdown @@ -921,7 +921,7 @@ this section will be available. The files placed in this distribution are the package description file, the setup script, the sources of the modules named in the package description file, and files named in the `license-file`, `main-is`, -`c-sources`, `data-files`, `extra-source-files` and `extra-html-files` +`c-sources`, `data-files`, `extra-source-files` and `extra-doc-files` fields. This command takes the following option: From git at git.haskell.org Thu Jan 16 16:03:48 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:03:48 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: bootstrap.sh: Install 'time' and 'deepseq' *before* 'Cabal'. (2aea821) Message-ID: <20140116160348.BB1BE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/2aea8214aaff4c7d18311fd1ca074f814d141b22 >--------------------------------------------------------------- commit 2aea8214aaff4c7d18311fd1ca074f814d141b22 Author: Mikhail Glushenkov Date: Tue Nov 5 21:07:56 2013 +0100 bootstrap.sh: Install 'time' and 'deepseq' *before* 'Cabal'. Cabal (the library) itself depends on these packages, so they should be installed first. See #1486. >--------------------------------------------------------------- 2aea8214aaff4c7d18311fd1ca074f814d141b22 cabal-install/bootstrap.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cabal-install/bootstrap.sh b/cabal-install/bootstrap.sh index 2b74f93..f7a9394 100755 --- a/cabal-install/bootstrap.sh +++ b/cabal-install/bootstrap.sh @@ -190,27 +190,27 @@ do_pkg () { # Actually do something! +info_pkg "deepseq" ${DEEPSEQ_VER} ${DEEPSEQ_VER_REGEXP} +info_pkg "time" ${TIME_VER} ${TIME_VER_REGEXP} info_pkg "Cabal" ${CABAL_VER} ${CABAL_VER_REGEXP} info_pkg "transformers" ${TRANS_VER} ${TRANS_VER_REGEXP} info_pkg "mtl" ${MTL_VER} ${MTL_VER_REGEXP} -info_pkg "deepseq" ${DEEPSEQ_VER} ${DEEPSEQ_VER_REGEXP} info_pkg "text" ${TEXT_VER} ${TEXT_VER_REGEXP} info_pkg "parsec" ${PARSEC_VER} ${PARSEC_VER_REGEXP} info_pkg "network" ${NETWORK_VER} ${NETWORK_VER_REGEXP} -info_pkg "time" ${TIME_VER} ${TIME_VER_REGEXP} info_pkg "HTTP" ${HTTP_VER} ${HTTP_VER_REGEXP} info_pkg "zlib" ${ZLIB_VER} ${ZLIB_VER_REGEXP} info_pkg "random" ${RANDOM_VER} ${RANDOM_VER_REGEXP} info_pkg "stm" ${STM_VER} ${STM_VER_REGEXP} +do_pkg "deepseq" ${DEEPSEQ_VER} ${DEEPSEQ_VER_REGEXP} +do_pkg "time" ${TIME_VER} ${TIME_VER_REGEXP} do_pkg "Cabal" ${CABAL_VER} ${CABAL_VER_REGEXP} do_pkg "transformers" ${TRANS_VER} ${TRANS_VER_REGEXP} do_pkg "mtl" ${MTL_VER} ${MTL_VER_REGEXP} -do_pkg "deepseq" ${DEEPSEQ_VER} ${DEEPSEQ_VER_REGEXP} do_pkg "text" ${TEXT_VER} ${TEXT_VER_REGEXP} do_pkg "parsec" ${PARSEC_VER} ${PARSEC_VER_REGEXP} do_pkg "network" ${NETWORK_VER} ${NETWORK_VER_REGEXP} -do_pkg "time" ${TIME_VER} ${TIME_VER_REGEXP} do_pkg "HTTP" ${HTTP_VER} ${HTTP_VER_REGEXP} do_pkg "zlib" ${ZLIB_VER} ${ZLIB_VER_REGEXP} do_pkg "random" ${RANDOM_VER} ${RANDOM_VER_REGEXP} From git at git.haskell.org Thu Jan 16 16:03:50 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:03:50 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Bump the 'cabal-install' version number to 1.18.0.3. (08fc613) Message-ID: <20140116160350.9E28B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/08fc6135b39773876a0c5de59fc55cf9660934aa >--------------------------------------------------------------- commit 08fc6135b39773876a0c5de59fc55cf9660934aa Author: Mikhail Glushenkov Date: Thu Nov 21 05:38:06 2013 +0100 Bump the 'cabal-install' version number to 1.18.0.3. >--------------------------------------------------------------- 08fc6135b39773876a0c5de59fc55cf9660934aa cabal-install/cabal-install.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal index 2b0922b..4c4d0bc 100644 --- a/cabal-install/cabal-install.cabal +++ b/cabal-install/cabal-install.cabal @@ -1,5 +1,5 @@ Name: cabal-install -Version: 1.18.0.2 +Version: 1.18.0.3 Synopsis: The command-line interface for Cabal and Hackage. Description: The \'cabal\' command-line program simplifies the process of managing From git at git.haskell.org Thu Jan 16 16:03:52 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:03:52 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Documentation fix. (8d168c5) Message-ID: <20140116160352.A82BB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/8d168c5fbbcd01ce0c5ff3d9c4a959b4c0819746 >--------------------------------------------------------------- commit 8d168c5fbbcd01ce0c5ff3d9c4a959b4c0819746 Author: Mikhail Glushenkov Date: Thu Nov 21 22:08:55 2013 +0100 Documentation fix. >--------------------------------------------------------------- 8d168c5fbbcd01ce0c5ff3d9c4a959b4c0819746 Cabal/doc/installing-packages.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cabal/doc/installing-packages.markdown b/Cabal/doc/installing-packages.markdown index a554982..5348ddd 100644 --- a/Cabal/doc/installing-packages.markdown +++ b/Cabal/doc/installing-packages.markdown @@ -131,7 +131,7 @@ can be easily done with the `--sandbox` option: ~~~~~~~~~~~~~~~ $ cd /path/to/shared-sandbox -$ cabal sandbox init +$ cabal sandbox init --sandbox . $ cd /path/to/package-a $ cabal sandbox init --sandbox /path/to/shared-sandbox $ cd /path/to/package-b From git at git.haskell.org Thu Jan 16 16:03:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:03:54 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Small warning. (3456505) Message-ID: <20140116160354.F167E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/345650535993522a0fd75a53a4c681c5d3027030 >--------------------------------------------------------------- commit 345650535993522a0fd75a53a4c681c5d3027030 Author: Mikhail Glushenkov Date: Thu Nov 21 23:25:58 2013 +0100 Small warning. >--------------------------------------------------------------- 345650535993522a0fd75a53a4c681c5d3027030 Cabal/doc/installing-packages.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Cabal/doc/installing-packages.markdown b/Cabal/doc/installing-packages.markdown index 5348ddd..7940330 100644 --- a/Cabal/doc/installing-packages.markdown +++ b/Cabal/doc/installing-packages.markdown @@ -130,6 +130,7 @@ Sometimes one wants to share a single sandbox between multiple packages. This can be easily done with the `--sandbox` option: ~~~~~~~~~~~~~~~ +$ mkdir -p /path/to/shared-sandbox $ cd /path/to/shared-sandbox $ cabal sandbox init --sandbox . $ cd /path/to/package-a @@ -138,6 +139,11 @@ $ cd /path/to/package-b $ cabal sandbox init --sandbox /path/to/shared-sandbox ~~~~~~~~~~~~~~~ +Note that `cabal sandbox init --sandbox .` puts all sandbox files into the +current directory. By default, `cabal sandbox init` initialises a new sandbox in +a newly-created subdirectory of the current working directory +(`./.cabal-sandbox`). + Using multiple different compiler versions simultaneously is also supported, via the `-w` option: From git at git.haskell.org Thu Jan 16 16:03:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:03:56 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Default 'library-for-ghci' to True on Windows. (cb0ad7a) Message-ID: <20140116160356.BCFC92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/cb0ad7a77457ef77c34ab4b6d54e2bdc5a972fa1 >--------------------------------------------------------------- commit cb0ad7a77457ef77c34ab4b6d54e2bdc5a972fa1 Author: Mikhail Glushenkov Date: Wed Nov 27 09:20:57 2013 +0100 Default 'library-for-ghci' to True on Windows. Temporary workaround. Fixes #1589. >--------------------------------------------------------------- cb0ad7a77457ef77c34ab4b6d54e2bdc5a972fa1 Cabal/Distribution/Simple/Setup.hs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Cabal/Distribution/Simple/Setup.hs b/Cabal/Distribution/Simple/Setup.hs index f705e53..f95731c 100644 --- a/Cabal/Distribution/Simple/Setup.hs +++ b/Cabal/Distribution/Simple/Setup.hs @@ -335,7 +335,12 @@ defaultConfigFlags progConf = emptyConfigFlags { configDistPref = Flag defaultDistPref, configVerbosity = Flag normal, configUserInstall = Flag False, --TODO: reverse this +#if defined(mingw32_HOST_OS) + -- See #1589. + configGHCiLib = Flag True, +#else configGHCiLib = Flag False, +#endif configSplitObjs = Flag False, -- takes longer, so turn off by default configStripExes = Flag True, configTests = Flag False, From git at git.haskell.org Thu Jan 16 16:04:00 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:04:00 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Add CPP pragma to D.Simple.Setup (43f1e2a) Message-ID: <20140116160401.7F74A24069@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/43f1e2a5a81688eb186102c684bb4d134ca3c63a >--------------------------------------------------------------- commit 43f1e2a5a81688eb186102c684bb4d134ca3c63a Author: Thomas Tuegel Date: Wed Nov 27 17:03:11 2013 -0600 Add CPP pragma to D.Simple.Setup >--------------------------------------------------------------- 43f1e2a5a81688eb186102c684bb4d134ca3c63a Cabal/Distribution/Simple/Setup.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Cabal/Distribution/Simple/Setup.hs b/Cabal/Distribution/Simple/Setup.hs index f95731c..d14574d 100644 --- a/Cabal/Distribution/Simple/Setup.hs +++ b/Cabal/Distribution/Simple/Setup.hs @@ -56,6 +56,8 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -} +{-# LANGUAGE CPP #-} + module Distribution.Simple.Setup ( GlobalFlags(..), emptyGlobalFlags, defaultGlobalFlags, globalCommand, From git at git.haskell.org Thu Jan 16 16:03:58 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:03:58 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Bump Cabal version number to 1.18.1.3. (8aea1f9) Message-ID: <20140116160401.62E802406D@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/8aea1f994c526f0f43ac5b1b29b04e9ab4565b01 >--------------------------------------------------------------- commit 8aea1f994c526f0f43ac5b1b29b04e9ab4565b01 Author: Mikhail Glushenkov Date: Wed Nov 27 09:25:45 2013 +0100 Bump Cabal version number to 1.18.1.3. >--------------------------------------------------------------- 8aea1f994c526f0f43ac5b1b29b04e9ab4565b01 Cabal/Cabal.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cabal/Cabal.cabal b/Cabal/Cabal.cabal index ad6c43d..99e76d6 100644 --- a/Cabal/Cabal.cabal +++ b/Cabal/Cabal.cabal @@ -1,5 +1,5 @@ name: Cabal -version: 1.18.1.2 +version: 1.18.1.3 copyright: 2003-2006, Isaac Jones 2005-2011, Duncan Coutts license: BSD3 From git at git.haskell.org Thu Jan 16 16:04:02 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:04:02 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Fix the haddock --html-location= for relative URLs (1eb2181) Message-ID: <20140116160402.E39002406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/1eb2181fae2b706ee8024d3f8fef104b5089b1a9 >--------------------------------------------------------------- commit 1eb2181fae2b706ee8024d3f8fef104b5089b1a9 Author: Duncan Coutts Date: Mon Dec 2 17:13:18 2013 +0000 Fix the haddock --html-location= for relative URLs The previous fix in isue #1407 turned out to be in the wrong place and so applied to both the haddock-html from the ghc-pkg output, and also to the location passed via the --html-location flag. For the --html-location flag it is important that we can use relative URLs like /package/$pkg-$version/docs because that is what we need for hackage. Note that that is a relative URL, it's relative to the server root. However that was being interpreted as a local file path and being given the file:// prefix. So now we move the file:// URL stuff to the right place so it only applies to the location given in the haddock-html field of the package registration. >--------------------------------------------------------------- 1eb2181fae2b706ee8024d3f8fef104b5089b1a9 Cabal/Distribution/Simple/Haddock.hs | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Cabal/Distribution/Simple/Haddock.hs b/Cabal/Distribution/Simple/Haddock.hs index f86e2ca..d8634a0 100644 --- a/Cabal/Distribution/Simple/Haddock.hs +++ b/Cabal/Distribution/Simple/Haddock.hs @@ -131,7 +131,7 @@ data HaddockArgs = HaddockArgs { argContents :: Flag String, -- ^ optional url to contents page argVerbose :: Any, argOutput :: Flag [Output], -- ^ Html or Hoogle doc or both? required. - argInterfaces :: [(FilePath, Maybe FilePath)], -- ^ [(interface file, path to the html docs for links)] + argInterfaces :: [(FilePath, Maybe String)], -- ^ [(interface file, URL to the html docs for links)] argOutputDir :: Directory, -- ^ where to generate the documentation. argTitle :: Flag String, -- ^ page's title, required. argPrologue :: Flag String, -- ^ prologue text, required. @@ -516,25 +516,20 @@ renderPureArgs version args = concat where renderInterfaces = map (\(i,mh) -> "--read-interface=" ++ - maybe "" ((++",") . mkUrl) mh ++ i) + maybe "" (++",") mh ++ i) bool a b c = if c then a else b isVersion2 = version >= Version [2,0] [] isVersion2_5 = version >= Version [2,5] [] verbosityFlag | isVersion2_5 = "--verbosity=1" | otherwise = "--verbose" - -- See https://github.com/haskell/cabal/issues/1064 - mkUrl f = - if isAbsolute f - then "file://" ++ f - else f ----------------------------------------------------------------------------------------------------------- haddockPackageFlags :: LocalBuildInfo -> ComponentLocalBuildInfo -> Maybe PathTemplate - -> IO ([(FilePath,Maybe FilePath)], Maybe String) + -> IO ([(FilePath,Maybe String)], Maybe String) haddockPackageFlags lbi clbi htmlTemplate = do let allPkgs = installedPkgs lbi directDeps = map fst (componentPackageDeps clbi) @@ -569,12 +564,20 @@ haddockPackageFlags lbi clbi htmlTemplate = do interfaceAndHtmlPath pkg = do interface <- listToMaybe (InstalledPackageInfo.haddockInterfaces pkg) html <- case htmlTemplate of - Nothing -> listToMaybe (InstalledPackageInfo.haddockHTMLs pkg) + Nothing -> fmap fixFileUrl + (listToMaybe (InstalledPackageInfo.haddockHTMLs pkg)) Just htmlPathTemplate -> Just (expandTemplateVars htmlPathTemplate) return (interface, html) - where expandTemplateVars = fromPathTemplate . substPathTemplate env - env = haddockTemplateEnv lbi (packageId pkg) + where + expandTemplateVars = fromPathTemplate . substPathTemplate env + env = haddockTemplateEnv lbi (packageId pkg) + + -- the 'haddock-html' field in the hc-pkg output is often set as a + -- native path, but we need it as a URL. + -- See https://github.com/haskell/cabal/issues/1064 + fixFileUrl f | isAbsolute f = "file://" ++ f + | otherwise = f haddockTemplateEnv :: LocalBuildInfo -> PackageIdentifier -> PathTemplateEnv haddockTemplateEnv lbi pkg_id = (PrefixVar, prefix (installDirTemplates lbi)) From git at git.haskell.org Thu Jan 16 16:04:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:04:04 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Similar absolute url fix for cabal-install (d65f199) Message-ID: <20140116160405.0DEDE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/d65f1994589a06f561ced66b5d198e08d3f62aba >--------------------------------------------------------------- commit d65f1994589a06f561ced66b5d198e08d3f62aba Author: Duncan Coutts Date: Mon Dec 2 17:33:59 2013 +0000 Similar absolute url fix for cabal-install In this case with index generation it's more benign, but still better to handle things consistently. >--------------------------------------------------------------- d65f1994589a06f561ced66b5d198e08d3f62aba cabal-install/Distribution/Client/Haddock.hs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/cabal-install/Distribution/Client/Haddock.hs b/cabal-install/Distribution/Client/Haddock.hs index 802d533..ec47056 100644 --- a/cabal-install/Distribution/Client/Haddock.hs +++ b/cabal-install/Distribution/Client/Haddock.hs @@ -57,7 +57,7 @@ regenerateHaddockIndex verbosity pkgs conf index = do , "--gen-index" , "--odir=" ++ tempDir , "--title=Haskell modules on this system" ] - ++ [ "--read-interface=" ++ mkUrl html ++ "," ++ interface + ++ [ "--read-interface=" ++ html ++ "," ++ interface | (interface, html) <- paths ] rawSystemProgram verbosity confHaddock flags renameFile (tempDir "index.html") (tempDir destFile) @@ -69,11 +69,6 @@ regenerateHaddockIndex verbosity pkgs conf index = do | (_pname, pkgvers) <- allPackagesByName pkgs , let pkgvers' = filter exposed pkgvers , not (null pkgvers') ] - -- See https://github.com/haskell/cabal/issues/1064 - mkUrl f = - if isAbsolute f - then "file://" ++ f - else f haddockPackagePaths :: [InstalledPackageInfo] -> IO ([(FilePath, FilePath)], Maybe String) @@ -101,6 +96,14 @@ haddockPackagePaths pkgs = do where interfaceAndHtmlPath pkg = do interface <- listToMaybe (InstalledPackageInfo.haddockInterfaces pkg) - html <- listToMaybe (InstalledPackageInfo.haddockHTMLs pkg) + html <- fmap fixFileUrl + (listToMaybe (InstalledPackageInfo.haddockHTMLs pkg)) guard (not . null $ html) return (interface, html) + + -- the 'haddock-html' field in the hc-pkg output is often set as a + -- native path, but we need it as a URL. + -- See https://github.com/haskell/cabal/issues/1064 + fixFileUrl f | isAbsolute f = "file://" ++ f + | otherwise = f + From git at git.haskell.org Thu Jan 16 16:04:07 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:04:07 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Add some more OS aliases. (e97aa58) Message-ID: <20140116160407.286972406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/e97aa58f68519db54de1c62339459ebb88aed069 >--------------------------------------------------------------- commit e97aa58f68519db54de1c62339459ebb88aed069 Author: Mikhail Glushenkov Date: Fri Jan 10 15:24:52 2014 +0100 Add some more OS aliases. Fixes #1641. Based on a patch by Karel Gardas. The 'Compat' classification strictness type is confusing and should IMO be merged with 'Permissive'. (cherry picked from commit 98a3feb23364897779dd665758949555a84dc5b8) >--------------------------------------------------------------- e97aa58f68519db54de1c62339459ebb88aed069 Cabal/Distribution/System.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Cabal/Distribution/System.hs b/Cabal/Distribution/System.hs index a18e491..6ab43a6 100644 --- a/Cabal/Distribution/System.hs +++ b/Cabal/Distribution/System.hs @@ -84,12 +84,14 @@ knownOSs = [Linux, Windows, OSX ,IOS] osAliases :: ClassificationStrictness -> OS -> [String] -osAliases Permissive Windows = ["mingw32", "cygwin32"] +osAliases Permissive Windows = ["mingw32", "win32", "cygwin32"] osAliases Compat Windows = ["mingw32", "win32"] osAliases _ OSX = ["darwin"] osAliases _ IOS = ["ios"] osAliases Permissive FreeBSD = ["kfreebsdgnu"] +osAliases Compat FreeBSD = ["kfreebsdgnu"] osAliases Permissive Solaris = ["solaris2"] +osAliases Compat Solaris = ["solaris2"] osAliases _ _ = [] instance Text OS where From git at git.haskell.org Thu Jan 16 16:04:32 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:04:32 +0000 (UTC) Subject: [commit: ghc] master: Update to current Cabal 1.18 branch tip (b41821b) Message-ID: <20140116160432.43C002406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/b41821b43925db46c968f1244712c78877204a9b/ghc >--------------------------------------------------------------- commit b41821b43925db46c968f1244712c78877204a9b Author: Herbert Valerio Riedel Date: Thu Jan 16 16:20:44 2014 +0100 Update to current Cabal 1.18 branch tip This should contain a fix that addresses the Solaris build breakage (see #8670) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- b41821b43925db46c968f1244712c78877204a9b libraries/Cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/Cabal b/libraries/Cabal index a8b7cdf..e97aa58 160000 --- a/libraries/Cabal +++ b/libraries/Cabal @@ -1 +1 @@ -Subproject commit a8b7cdf4ed6b8cd2dd6494b1b3f94d0bc3e53ffe +Subproject commit e97aa58f68519db54de1c62339459ebb88aed069 From git at git.haskell.org Thu Jan 16 16:48:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:48:26 +0000 (UTC) Subject: [commit: ghc] master: Refactor WorkWrap, get rid of worthSplittingArgDmd (7cdf141) Message-ID: <20140116164826.661B32406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/7cdf141d7234992466f0ce790e6659c859568783/ghc >--------------------------------------------------------------- commit 7cdf141d7234992466f0ce790e6659c859568783 Author: Joachim Breitner Date: Thu Jan 16 14:42:31 2014 +0000 Refactor WorkWrap, get rid of worthSplittingArgDmd Instead of first checking whether splitting is useful, and then firing up the worker-wrapper-machinery, which will do the same checks again, we now simply generate a worker and wrapper, and while doing so keep track of whether what we did was in any way useful. So now there is only one place left where we decide whether we want to do w/w, and that place has access to more information, in particular the actual types at hand. >--------------------------------------------------------------- 7cdf141d7234992466f0ce790e6659c859568783 compiler/basicTypes/Demand.lhs | 28 ------------- compiler/stranal/WorkWrap.lhs | 90 +++++++++++++++++++--------------------- compiler/stranal/WwLib.lhs | 87 +++++++++++++++++++++++--------------- 3 files changed, 96 insertions(+), 109 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 7cdf141d7234992466f0ce790e6659c859568783 From git at git.haskell.org Thu Jan 16 16:48:28 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:48:28 +0000 (UTC) Subject: [commit: ghc] master: Replace worthSplittingThunkDmd by worthSplittingArgDmd (ab74d75) Message-ID: <20140116164829.3B79A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/ab74d75d029cdbbb9215b48f1611259fe4d7dd19/ghc >--------------------------------------------------------------- commit ab74d75d029cdbbb9215b48f1611259fe4d7dd19 Author: Joachim Breitner Date: Thu Jan 16 13:59:31 2014 +0000 Replace worthSplittingThunkDmd by worthSplittingArgDmd these functions were almost equal, and neither validate nor nofib show any difference replacing one by the other. So lets simplify this. (This also prepares for a refactoring that will get rid of worthSplittingArgDmd completely.) >--------------------------------------------------------------- ab74d75d029cdbbb9215b48f1611259fe4d7dd19 compiler/basicTypes/Demand.lhs | 14 -------------- compiler/stranal/WorkWrap.lhs | 2 +- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index b857ef5..3ebd724 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -869,20 +869,6 @@ worthSplittingArgDmd dmd go (JD {strd=Str HeadStr, absd=Use _ UHead}) = True go _ = False - -worthSplittingThunkDmd :: Demand -- Demand on the thunk - -> Bool -worthSplittingThunkDmd dmd - = go dmd - where - -- Split if the thing is unpacked - go (JD {strd=Str (SProd {}), absd=Use _ a}) = some_comp_used a - go (JD {strd=Str HeadStr, absd=Use _ UProd {}}) = True - go _ = False - - some_comp_used Used = True - some_comp_used (UProd _ ) = True - some_comp_used _ = False \end{code} Note [Worthy functions for Worker-Wrapper split] diff --git a/compiler/stranal/WorkWrap.lhs b/compiler/stranal/WorkWrap.lhs index 3c7820c..5c24069 100644 --- a/compiler/stranal/WorkWrap.lhs +++ b/compiler/stranal/WorkWrap.lhs @@ -261,7 +261,7 @@ tryWW dflags is_rec fn_id rhs = checkSize dflags new_fn_id rhs $ splitFun dflags new_fn_id fn_info wrap_dmds res_info rhs - | is_thunk && (worthSplittingThunkDmd fn_dmd || returnsCPR res_info) + | is_thunk && (worthSplittingArgDmd fn_dmd || returnsCPR res_info) -- See Note [Thunk splitting] = ASSERT2( isNonRec is_rec, ppr new_fn_id ) -- The thunk must be non-recursive checkSize dflags new_fn_id rhs $ From git at git.haskell.org Thu Jan 16 16:56:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 16:56:56 +0000 (UTC) Subject: [commit: ghc] master: Remove unused returnsCPR (b26e2f9) Message-ID: <20140116165656.A1E502406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/b26e2f92c5c6f77fe361293a128da637e728959c/ghc >--------------------------------------------------------------- commit b26e2f92c5c6f77fe361293a128da637e728959c Author: Joachim Breitner Date: Thu Jan 16 16:55:07 2014 +0000 Remove unused returnsCPR >--------------------------------------------------------------- b26e2f92c5c6f77fe361293a128da637e728959c compiler/basicTypes/Demand.lhs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 879c156..01d53a4 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -30,7 +30,7 @@ module Demand ( isBotRes, isTopRes, topRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, - trimCPRInfo, returnsCPR, returnsCPR_maybe, + trimCPRInfo, returnsCPR_maybe, StrictSig(..), mkStrictSig, mkClosedStrictSig, nopSig, botSig, cprProdSig, isNopSig, splitStrictSig, increaseStrictSigArity, @@ -805,9 +805,6 @@ trimCPRInfo trim_all trim_sums res | otherwise = RetProd trimC NoCPR = NoCPR -returnsCPR :: DmdResult -> Bool -returnsCPR dr = isJust (returnsCPR_maybe dr) - returnsCPR_maybe :: DmdResult -> Maybe ConTag returnsCPR_maybe (Dunno c) = retCPR_maybe c returnsCPR_maybe Diverges = Nothing From git at git.haskell.org Thu Jan 16 18:00:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 18:00:26 +0000 (UTC) Subject: [commit: ghc] master: ...and clean up the imports (59f491a) Message-ID: <20140116180026.6AA2B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/59f491a933ec7380698b776e14c3753c2a318a89/ghc >--------------------------------------------------------------- commit 59f491a933ec7380698b776e14c3753c2a318a89 Author: Joachim Breitner Date: Thu Jan 16 18:01:13 2014 +0000 ...and clean up the imports >--------------------------------------------------------------- 59f491a933ec7380698b776e14c3753c2a318a89 compiler/basicTypes/Demand.lhs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 01d53a4..e7b8753 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -62,7 +62,7 @@ import UniqFM import Util import BasicTypes import Binary -import Maybes ( isJust, orElse ) +import Maybes ( orElse ) import Type ( Type ) import TyCon ( isNewTyCon, isClassTyCon ) From git at git.haskell.org Thu Jan 16 19:36:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 19:36:54 +0000 (UTC) Subject: [commit: ghc] master: Typos in comments (98db754) Message-ID: <20140116193654.36EFB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/98db754a3209a48c79273b5752d006086c75f6ae/ghc >--------------------------------------------------------------- commit 98db754a3209a48c79273b5752d006086c75f6ae Author: Krzysztof Gogolewski Date: Thu Jan 16 20:22:11 2014 +0100 Typos in comments >--------------------------------------------------------------- 98db754a3209a48c79273b5752d006086c75f6ae compiler/stranal/WwLib.lhs | 4 ++-- compiler/typecheck/TcDeriv.lhs | 2 +- compiler/typecheck/TcInteract.lhs | 4 ++-- compiler/typecheck/TcRnTypes.lhs | 4 ++-- testsuite/tests/indexed-types/should_compile/all.T | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/compiler/stranal/WwLib.lhs b/compiler/stranal/WwLib.lhs index 1f568b7..8cfc0c9 100644 --- a/compiler/stranal/WwLib.lhs +++ b/compiler/stranal/WwLib.lhs @@ -465,7 +465,7 @@ mkWWstr_one dflags arg , Just (data_con, inst_tys, inst_con_arg_tys, co) <- deepSplitProductType_maybe (idType arg) , cs `equalLength` inst_con_arg_tys - -- See Note [mkWWstr and unsafeCore] + -- See Note [mkWWstr and unsafeCoerce] = do { (uniq1:uniqs) <- getUniquesM ; let unpk_args = zipWith mk_ww_local uniqs inst_con_arg_tys unpk_args_w_ds = zipWithEqual "mkWWstr" set_worker_arg_info unpk_args cs @@ -625,7 +625,7 @@ Here CPR will tell you that `foo` returns a () constructor for sure, but trying to create a worker/wrapper for type `a` obviously fails. (This was a real example until ee8e792 in libraries/base.) -It does not seem feasilbe to avoid all such cases already in the analyser (and +It does not seem feasible to avoid all such cases already in the analyser (and after all, the analysis is not really wrong), so we simply do nothing here in mkWWcpr. But we still want to emit warning with -DDEBUG, to hopefully catch other cases where something went avoidably wrong. diff --git a/compiler/typecheck/TcDeriv.lhs b/compiler/typecheck/TcDeriv.lhs index a369a60..dababa1 100644 --- a/compiler/typecheck/TcDeriv.lhs +++ b/compiler/typecheck/TcDeriv.lhs @@ -1620,7 +1620,7 @@ Note [Recursive newtypes] Newtype deriving works fine, even if the newtype is recursive. e.g. newtype S1 = S1 [T1 ()] newtype T1 a = T1 (StateT S1 IO a ) deriving( Monad ) -Remember, too, that type families are curretly (conservatively) given +Remember, too, that type families are currently (conservatively) given a recursive flag, so this also allows newtype deriving to work for type famillies. diff --git a/compiler/typecheck/TcInteract.lhs b/compiler/typecheck/TcInteract.lhs index 866902e..377cd2d 100644 --- a/compiler/typecheck/TcInteract.lhs +++ b/compiler/typecheck/TcInteract.lhs @@ -1979,7 +1979,7 @@ getCoercibleInst loc ty1 ty2 = do -- Coercible NT a (see case 4 in [Coercible Instances]) | Just (tc,tyArgs) <- splitTyConApp_maybe ty1, Just (concTy, ntCo) <- instNewTyConTF_maybe famenv tc tyArgs, - dataConsInScope rdr_env tc -- Do noot look at all tyConsOfTyCon + dataConsInScope rdr_env tc -- Do not look at all tyConsOfTyCon = do markDataConsAsUsed rdr_env tc ct_ev <- requestCoercible loc concTy ty2 local_var <- mkSysLocalM (fsLit "coev") $ mkCoerciblePred concTy ty2 @@ -1991,7 +1991,7 @@ getCoercibleInst loc ty1 ty2 = do -- Coercible a NT (see case 4 in [Coercible Instances]) | Just (tc,tyArgs) <- splitTyConApp_maybe ty2, Just (concTy, ntCo) <- instNewTyConTF_maybe famenv tc tyArgs, - dataConsInScope rdr_env tc -- Do noot look at all tyConsOfTyCon + dataConsInScope rdr_env tc -- Do not look at all tyConsOfTyCon = do markDataConsAsUsed rdr_env tc ct_ev <- requestCoercible loc ty1 concTy local_var <- mkSysLocalM (fsLit "coev") $ mkCoerciblePred ty1 concTy diff --git a/compiler/typecheck/TcRnTypes.lhs b/compiler/typecheck/TcRnTypes.lhs index 052403c..5a8fb13 100644 --- a/compiler/typecheck/TcRnTypes.lhs +++ b/compiler/typecheck/TcRnTypes.lhs @@ -656,7 +656,7 @@ data PromotionErr | FamDataConPE -- Data constructor for a data family -- See Note [AFamDataCon: not promoting data family constructors] in TcRnDriver - | RecDataConPE -- Data constructor in a reuursive loop + | RecDataConPE -- Data constructor in a recursive loop -- See Note [ARecDataCon: recusion and promoting data constructors] in TcTyClsDecls | NoDataKinds -- -XDataKinds not enabled @@ -781,7 +781,7 @@ data ImportAvails -- Used -- -- (a) to help construct the usage information in the interface - -- file; if we import somethign we need to recompile if the + -- file; if we import something we need to recompile if the -- export version changes -- -- (b) to specify what child modules to initialise diff --git a/testsuite/tests/indexed-types/should_compile/all.T b/testsuite/tests/indexed-types/should_compile/all.T index 3b69ec9..1b2ffa8 100644 --- a/testsuite/tests/indexed-types/should_compile/all.T +++ b/testsuite/tests/indexed-types/should_compile/all.T @@ -226,7 +226,7 @@ test('T8011', run_command, ['$MAKE -s --no-print-directory T8011']) -# Marshalling of assocatiated types +# Marshalling of associated types test('T8500', normal, run_command, From git at git.haskell.org Thu Jan 16 23:20:07 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 23:20:07 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Introduce new SIZEOF_MP_LIMB_T derived constant (dbb7e64) Message-ID: <20140116232007.908372406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/dbb7e640d2856046dd82f134aa3eb6986472f698/integer-gmp >--------------------------------------------------------------- commit dbb7e640d2856046dd82f134aa3eb6986472f698 Author: Herbert Valerio Riedel Date: Thu Jan 16 21:39:06 2014 +0100 Introduce new SIZEOF_MP_LIMB_T derived constant This allows to simplify code in `float.c` and to encode the "sizeof(mp_limb_t) != sizeof(W_)" assumption as a compile-time assertion. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- dbb7e640d2856046dd82f134aa3eb6986472f698 cbits/float.c | 11 ++--------- cbits/gmp-wrappers.cmm | 4 ++++ mkGmpDerivedConstants/mkGmpDerivedConstants.c | 1 + 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/cbits/float.c b/cbits/float.c index ec2ec13..73a89f5 100644 --- a/cbits/float.c +++ b/cbits/float.c @@ -11,6 +11,7 @@ /* #include "PosixSource.h" */ #include "Rts.h" #include "gmp.h" +#include "GmpDerivedConstants.h" #include @@ -21,15 +22,7 @@ * (lib/fltcode.c). */ -#ifdef _SHORT_LIMB -#define SIZEOF_LIMB_T SIZEOF_UNSIGNED_INT -#else -#ifdef _LONG_LONG_LIMB -#define SIZEOF_LIMB_T SIZEOF_UNSIGNED_LONG_LONG -#else -#define SIZEOF_LIMB_T SIZEOF_UNSIGNED_LONG -#endif -#endif +#define SIZEOF_LIMB_T SIZEOF_MP_LIMB_T #if SIZEOF_LIMB_T == 4 #define GMP_BASE 4294967296.0 diff --git a/cbits/gmp-wrappers.cmm b/cbits/gmp-wrappers.cmm index eb555fd..4c7df57 100644 --- a/cbits/gmp-wrappers.cmm +++ b/cbits/gmp-wrappers.cmm @@ -80,6 +80,10 @@ import "rts" stg_INTLIKE_closure; the case for all the platforms that GHC supports, currently. -------------------------------------------------------------------------- */ +#if SIZEOF_MP_LIMB_T != SIZEOF_W +#error "sizeof(mp_limb_t) != sizeof(W_)" +#endif + /* This is used when a dummy pointer is needed for a ByteArray# return value Ideally this would be a statically allocated 'ByteArray#' diff --git a/mkGmpDerivedConstants/mkGmpDerivedConstants.c b/mkGmpDerivedConstants/mkGmpDerivedConstants.c index ed07111..fb7290f 100644 --- a/mkGmpDerivedConstants/mkGmpDerivedConstants.c +++ b/mkGmpDerivedConstants/mkGmpDerivedConstants.c @@ -69,6 +69,7 @@ main(int argc, char *argv[]) struct_field(MP_INT,_mp_alloc); struct_field(MP_INT,_mp_size); struct_field(MP_INT,_mp_d); + def_size("MP_LIMB_T", sizeof(mp_limb_t)); return 0; } From git at git.haskell.org Thu Jan 16 23:20:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 16 Jan 2014 23:20:09 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Dont use big/small-int primops on IL32P64 (i.e. Win/x86_64) for now (0476327) Message-ID: <20140116232009.B1A4B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0476327376045838375fbbe4a78c02859a1913cb/integer-gmp >--------------------------------------------------------------- commit 0476327376045838375fbbe4a78c02859a1913cb Author: Herbert Valerio Riedel Date: Thu Jan 16 22:56:37 2014 +0100 Dont use big/small-int primops on IL32P64 (i.e. Win/x86_64) for now This is due to `mpz_*()` functions having @long@ arguments which are 32bit on IL32P64, whereas `Int#` and `Word#` are 64bit wide, causing all sorts of malfunction due to truncation. This affects mostly the new big/small-int primops introduced in the course of #8647, so when `SIZEOF_W != SIZEOF_LONG` we simply fall back to using the big/big-int primops. big/small primops implemented via the low-level `mpn_*()` GMP operations are not affected, as those use `mp_limb_t` arguments. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 0476327376045838375fbbe4a78c02859a1913cb GHC/Integer/Type.lhs | 87 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 9 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 0476327376045838375fbbe4a78c02859a1913cb From git at git.haskell.org Fri Jan 17 14:07:25 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 14:07:25 +0000 (UTC) Subject: [commit: ghc] master: Tidy up Outputable.printDoc, and add printDoc_ (9433f1d) Message-ID: <20140117140725.F3A162406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/9433f1dae5b782d49d4af52f3aa7574272a10c6f/ghc >--------------------------------------------------------------- commit 9433f1dae5b782d49d4af52f3aa7574272a10c6f Author: Simon Peyton Jones Date: Fri Jan 17 10:40:58 2014 +0000 Tidy up Outputable.printDoc, and add printDoc_ The former adds a newline at the end (restoring the previous behaviour) while the latter does not (which previously happened by turning the thuing into a string and only then printing it). >--------------------------------------------------------------- 9433f1dae5b782d49d4af52f3aa7574272a10c6f compiler/main/DynFlags.hs | 11 +++++++---- compiler/utils/Pretty.lhs | 15 +++++++++++---- testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout | 3 --- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 35e9c7e..36f453f 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -1485,13 +1485,16 @@ defaultLogAction dflags severity srcSpan style msg putStrSDoc = defaultLogActionHPutStrDoc dflags stdout defaultLogActionHPrintDoc :: DynFlags -> Handle -> SDoc -> PprStyle -> IO () -defaultLogActionHPrintDoc = defaultLogActionHPutStrDoc +defaultLogActionHPrintDoc dflags h d sty + = defaultLogActionHPutStrDoc dflags h (d $$ text "") sty + -- Adds a newline defaultLogActionHPutStrDoc :: DynFlags -> Handle -> SDoc -> PprStyle -> IO () defaultLogActionHPutStrDoc dflags h d sty - = Pretty.printDoc Pretty.PageMode (pprCols dflags) h doc - where - doc = runSDoc d (initSDocContext dflags sty) + = Pretty.printDoc_ Pretty.PageMode (pprCols dflags) h doc + where -- Don't add a newline at the end, so that successive + -- calls to this log-action can output all on the same line + doc = runSDoc d (initSDocContext dflags sty) newtype FlushOut = FlushOut (IO ()) diff --git a/compiler/utils/Pretty.lhs b/compiler/utils/Pretty.lhs index 0bac66e..fb7fe2b 100644 --- a/compiler/utils/Pretty.lhs +++ b/compiler/utils/Pretty.lhs @@ -173,7 +173,7 @@ module Pretty ( hang, punctuate, - fullRender, printDoc, showDoc, + fullRender, printDoc, printDoc_, showDoc, bufLeftRender -- performance hack ) where @@ -985,9 +985,16 @@ spaces n | n <=# _ILIT(0) = "" \begin{code} printDoc :: Mode -> Int -> Handle -> Doc -> IO () -printDoc LeftMode _ hdl doc +-- printDoc adds a newline to the end +printDoc mode cols hdl doc = printDoc_ mode cols hdl (doc $$ text "") + +printDoc_ :: Mode -> Int -> Handle -> Doc -> IO () +-- printDoc_ does not add a newline at the end, so that +-- successive calls can output stuff on the same line +-- Rather like putStr vs putStrLn +printDoc_ LeftMode _ hdl doc = do { printLeftRender hdl doc; hFlush hdl } -printDoc mode pprCols hdl doc +printDoc_ mode pprCols hdl doc = do { fullRender mode pprCols 1.5 put done doc ; hFlush hdl } where @@ -999,7 +1006,7 @@ printDoc mode pprCols hdl doc put (ZStr s) next = hPutFZS hdl s >> next put (LStr s l) next = hPutLitString hdl s l >> next - done = hPutChar hdl '\n' + done = return () -- hPutChar hdl '\n' -- some versions of hPutBuf will barf if the length is zero hPutLitString :: Handle -> Ptr a -> Int# -> IO () diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout b/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout index f774e1e..65ab5e6 100644 --- a/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout +++ b/testsuite/tests/ghci.debugger/scripts/dynbrk009.stdout @@ -3,9 +3,6 @@ _result :: Int = _ Stopped at dynbrk009.hs:8:27-36 _result :: Int = _ Stopped at dynbrk009.hs:8:31-35 - Stopped at dynbrk009.hs:6:1-9 - Stopped at dynbrk009.hs:6:9 - 3 From git at git.haskell.org Fri Jan 17 14:07:29 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 14:07:29 +0000 (UTC) Subject: [commit: ghc] master: Add an expect-broken test for Trac #8566 (45d825b) Message-ID: <20140117140729.44AF32406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/45d825bb8ba659696788aca712b6f5d2b15a05cf/ghc >--------------------------------------------------------------- commit 45d825bb8ba659696788aca712b6f5d2b15a05cf Author: Simon Peyton Jones Date: Thu Jan 16 18:12:49 2014 +0000 Add an expect-broken test for Trac #8566 >--------------------------------------------------------------- 45d825bb8ba659696788aca712b6f5d2b15a05cf testsuite/tests/polykinds/T8566a.hs | 22 ++++++++++++++++++++++ testsuite/tests/polykinds/all.T | 1 + 2 files changed, 23 insertions(+) diff --git a/testsuite/tests/polykinds/T8566a.hs b/testsuite/tests/polykinds/T8566a.hs new file mode 100644 index 0000000..3d20c3e --- /dev/null +++ b/testsuite/tests/polykinds/T8566a.hs @@ -0,0 +1,22 @@ +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE PolyKinds #-} +{-# LANGUAGE TypeFamilies #-} +{-# LANGUAGE GADTs #-} +{-# LANGUAGE ScopedTypeVariables #-} +{-# LANGUAGE TypeOperators #-} +module T8566a where + +data Field = forall k. APP k [Field] + +data InField (u :: Field) :: * where + A :: AppVars t (ExpandField args) -> InField (APP t args) + +type family ExpandField (args :: [Field]) :: [*] +type family AppVars (t :: k) (vs :: [*]) :: * + +-- This function fails to compile, because we discard +-- 'given' kind equalities. See comment 7 in Trac #8566 +-- This is really a bug, I claim +unA :: InField (APP t args) -> AppVars t (ExpandField args) +unA (A x) = x + diff --git a/testsuite/tests/polykinds/all.T b/testsuite/tests/polykinds/all.T index 6d942d3..34253fd 100644 --- a/testsuite/tests/polykinds/all.T +++ b/testsuite/tests/polykinds/all.T @@ -96,3 +96,4 @@ test('T8449', normal, run_command, ['$MAKE -s --no-print-directory T8449']) test('T8534', normal, compile, ['']) test('T8566', normal, compile_fail,['']) test('T8616', normal, compile_fail,['']) +test('T8566a', expect_broken(8566), compile,['']) From git at git.haskell.org Fri Jan 17 14:07:32 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 14:07:32 +0000 (UTC) Subject: [commit: ghc] master: Eta expand data family instances before printing them (44dc0aa) Message-ID: <20140117140732.819952406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/44dc0aad5b14f39b2fbc618626bf2446dddcb78b/ghc >--------------------------------------------------------------- commit 44dc0aad5b14f39b2fbc618626bf2446dddcb78b Author: Simon Peyton Jones Date: Fri Jan 17 14:05:35 2014 +0000 Eta expand data family instances before printing them Fixes Trac #8674 >--------------------------------------------------------------- 44dc0aad5b14f39b2fbc618626bf2446dddcb78b compiler/types/FamInstEnv.lhs | 22 +++++++++++++++----- .../scripts/T8557.hs => ghci/scripts/T8674.hs} | 3 +-- testsuite/tests/ghci/scripts/T8674.script | 2 ++ testsuite/tests/ghci/scripts/T8674.stdout | 5 +++++ testsuite/tests/ghci/scripts/all.T | 1 + 5 files changed, 26 insertions(+), 7 deletions(-) diff --git a/compiler/types/FamInstEnv.lhs b/compiler/types/FamInstEnv.lhs index 01375a3..c17668b 100644 --- a/compiler/types/FamInstEnv.lhs +++ b/compiler/types/FamInstEnv.lhs @@ -178,17 +178,30 @@ pprFamInst famInst pprFamInstHdr :: FamInst -> SDoc pprFamInstHdr fi@(FamInst {fi_flavor = flavor}) - = pprTyConSort <+> pp_instance <+> pprHead + = pprTyConSort <+> pp_instance <+> pp_head where - (fam_tc, tys) = famInstSplitLHS fi - -- For *associated* types, say "type T Int = blah" -- For *top level* type instances, say "type instance T Int = blah" pp_instance | isTyConAssoc fam_tc = empty | otherwise = ptext (sLit "instance") - pprHead = pprTypeApp fam_tc tys + (fam_tc, etad_lhs_tys) = famInstSplitLHS fi + vanilla_pp_head = pprTypeApp fam_tc etad_lhs_tys + + pp_head | DataFamilyInst rep_tc <- flavor + , isAlgTyCon rep_tc + , let extra_tvs = dropList etad_lhs_tys (tyConTyVars rep_tc) + , not (null extra_tvs) + = getPprStyle $ \ sty -> + if debugStyle sty + then vanilla_pp_head -- With -dppr-debug just show it as-is + else pprTypeApp fam_tc (etad_lhs_tys ++ mkTyVarTys extra_tvs) + -- Without -dppr-debug, eta-expand + -- See Trac #8674 + | otherwise + = vanilla_pp_head + pprTyConSort = case flavor of SynFamilyInst -> ptext (sLit "type") DataFamilyInst tycon @@ -199,7 +212,6 @@ pprFamInstHdr fi@(FamInst {fi_flavor = flavor}) pprFamInsts :: [FamInst] -> SDoc pprFamInsts finsts = vcat (map pprFamInst finsts) - \end{code} Note [Lazy axiom match] diff --git a/testsuite/tests/ghci.debugger/scripts/T8557.hs b/testsuite/tests/ghci/scripts/T8674.hs similarity index 80% copy from testsuite/tests/ghci.debugger/scripts/T8557.hs copy to testsuite/tests/ghci/scripts/T8674.hs index 6b45f17..da7c7cd 100644 --- a/testsuite/tests/ghci.debugger/scripts/T8557.hs +++ b/testsuite/tests/ghci/scripts/T8674.hs @@ -3,6 +3,5 @@ module T8557 where data family Sing (a :: k) data instance Sing (a :: [k]) = SNil +data instance Sing Bool = SBool -x :: Sing '[] -x = SNil diff --git a/testsuite/tests/ghci/scripts/T8674.script b/testsuite/tests/ghci/scripts/T8674.script new file mode 100644 index 0000000..b55e03b --- /dev/null +++ b/testsuite/tests/ghci/scripts/T8674.script @@ -0,0 +1,2 @@ +:l T8674.hs +:i Sing diff --git a/testsuite/tests/ghci/scripts/T8674.stdout b/testsuite/tests/ghci/scripts/T8674.stdout new file mode 100644 index 0000000..a4f5bbf --- /dev/null +++ b/testsuite/tests/ghci/scripts/T8674.stdout @@ -0,0 +1,5 @@ +type role Sing nominal +data family Sing (a :: k) + -- Defined at T8674.hs:4:1 +data instance Sing Bool -- Defined at T8674.hs:6:15 +data instance Sing a -- Defined at T8674.hs:5:15 diff --git a/testsuite/tests/ghci/scripts/all.T b/testsuite/tests/ghci/scripts/all.T index 1f051c8..a7f6fa1 100755 --- a/testsuite/tests/ghci/scripts/all.T +++ b/testsuite/tests/ghci/scripts/all.T @@ -164,3 +164,4 @@ test('T8639', normal, ghci_script, ['T8639.script']) test('T8640', normal, ghci_script, ['T8640.script']) test('T8579', normal, ghci_script, ['T8579.script']) test('T8649', normal, ghci_script, ['T8649.script']) +test('T8674', normal, ghci_script, ['T8674.script']) From git at git.haskell.org Fri Jan 17 14:07:34 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 14:07:34 +0000 (UTC) Subject: [commit: ghc] master: Don't print roles for data instances (0f7381b) Message-ID: <20140117140734.CE2582406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0f7381bfb382f9fd7d18ebfc1a436237e6f2e21d/ghc >--------------------------------------------------------------- commit 0f7381bfb382f9fd7d18ebfc1a436237e6f2e21d Author: Simon Peyton Jones Date: Fri Jan 17 14:06:02 2014 +0000 Don't print roles for data instances See Trac #8672 >--------------------------------------------------------------- 0f7381bfb382f9fd7d18ebfc1a436237e6f2e21d compiler/main/PprTyThing.hs | 4 +++- testsuite/tests/ghci/scripts/T5417.stdout | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/main/PprTyThing.hs b/compiler/main/PprTyThing.hs index c83552b..38b28e9 100644 --- a/compiler/main/PprTyThing.hs +++ b/compiler/main/PprTyThing.hs @@ -209,7 +209,9 @@ pprTyCon ss tyCon pp_roles suppress_if = sdocWithDynFlags $ \dflags -> let roles = suppressKinds dflags (tyConKind tyCon) (tyConRoles tyCon) - in ppUnless (all suppress_if roles) $ + in ppUnless (isFamInstTyCon tyCon || all suppress_if roles) $ + -- Don't display roles for data family instances (yet) + -- See discussion on Trac #8672. ptext (sLit "type role") <+> ppr tyCon <+> hsep (map ppr roles) pp_tc_with_kind = vcat [ pp_roles (const True) diff --git a/testsuite/tests/ghci/scripts/T5417.stdout b/testsuite/tests/ghci/scripts/T5417.stdout index 2cf0826..73d1de9 100644 --- a/testsuite/tests/ghci/scripts/T5417.stdout +++ b/testsuite/tests/ghci/scripts/T5417.stdout @@ -1,5 +1,4 @@ data B1 a = B1 a -type role T5417.R:FB1 nominal data instance C.F (B1 a) = B2 a type role D nominal data family D a From git at git.haskell.org Fri Jan 17 15:12:03 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 15:12:03 +0000 (UTC) Subject: [commit: ghc] master: Add a test case for #5949 (19e09df) Message-ID: <20140117151203.5DEAA2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/19e09df47f48707718150fb9b4b9135ec742bed2/ghc >--------------------------------------------------------------- commit 19e09df47f48707718150fb9b4b9135ec742bed2 Author: Joachim Breitner Date: Fri Jan 17 14:08:30 2014 +0000 Add a test case for #5949 >--------------------------------------------------------------- 19e09df47f48707718150fb9b4b9135ec742bed2 testsuite/tests/perf/should_run/T5949.hs | 56 ++++++++++++++++++++++++++++++ testsuite/tests/perf/should_run/all.T | 8 +++++ 2 files changed, 64 insertions(+) diff --git a/testsuite/tests/perf/should_run/T5949.hs b/testsuite/tests/perf/should_run/T5949.hs new file mode 100644 index 0000000..0fcfb63 --- /dev/null +++ b/testsuite/tests/perf/should_run/T5949.hs @@ -0,0 +1,56 @@ +import Data.List + +{- +This should get a worker that takes three arguments. + +bad: + +Rec { +$we_r1z8 + :: (GHC.Types.Int, GHC.Types.Int) + -> GHC.Prim.Int# -> (# GHC.Types.Int, GHC.Types.Int #) +[GblId, Arity=2, Caf=NoCafRefs, Str=DmdType S(AA)L] +$we_r1z8 = + \ (w_s1yf :: (GHC.Types.Int, GHC.Types.Int)) + (ww_s1yi :: GHC.Prim.Int#) -> + case GHC.Prim.># ww_s1yi 10 of _ { + GHC.Types.False -> $we_r1z8 w_s1yf (GHC.Prim.+# ww_s1yi 1); + GHC.Types.True -> + case w_s1yf of _ { (ww2_s1yp, ww3_s1yq) -> + (# ww2_s1yp, ww3_s1yq #) + } + } +end Rec } + +Good: + +Rec { +$we_r2qK + :: GHC.Types.Int + -> GHC.Types.Int + -> GHC.Prim.Int# + -> (# GHC.Types.Int, GHC.Types.Int #) +[GblId, Arity=3, Caf=NoCafRefs, Str=DmdType ] +$we_r2qK = + \ (ww_s2pS :: GHC.Types.Int) + (ww1_s2pT :: GHC.Types.Int) + (ww2_s2pX :: GHC.Prim.Int#) -> + case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># ww2_s2pX 10) + of _ [Occ=Dead] { + GHC.Types.False -> + $we_r2qK ww_s2pS ww1_s2pT (GHC.Prim.+# ww2_s2pX 1); + GHC.Types.True -> (# ww_s2pS, ww1_s2pT #) + } +end Rec } + +-} + + + +e :: (Int, Int) -> Int -> (Int, Int) +e x y = x `seq` if y > 10 + then x + else e x (y + 1) + + +main = foldr (seq) 0 [e (n,0) 0| n <- [0..10000]] `seq` return () diff --git a/testsuite/tests/perf/should_run/all.T b/testsuite/tests/perf/should_run/all.T index 8966310..99b8aab 100644 --- a/testsuite/tests/perf/should_run/all.T +++ b/testsuite/tests/perf/should_run/all.T @@ -298,3 +298,11 @@ test('T7850', compile_and_run, ['-O']) +test('T5949', + [stats_num_field('bytes allocated', + [ (wordsize(64), 201008, 10)]), + # previously, it was >400000 bytes + only_ways(['normal'])], + compile_and_run, + ['-O']) + From git at git.haskell.org Fri Jan 17 15:12:06 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 15:12:06 +0000 (UTC) Subject: [commit: ghc] master: Add testcase for #4267 (20b1a07) Message-ID: <20140117151206.CBCE62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/20b1a0772a6f830cbfba016baea99628a792bb7b/ghc >--------------------------------------------------------------- commit 20b1a0772a6f830cbfba016baea99628a792bb7b Author: Joachim Breitner Date: Fri Jan 17 15:03:39 2014 +0000 Add testcase for #4267 >--------------------------------------------------------------- 20b1a0772a6f830cbfba016baea99628a792bb7b testsuite/tests/perf/should_run/T4267.hs | 64 ++++++++++++++++++++++++++++++ testsuite/tests/perf/should_run/all.T | 8 ++++ 2 files changed, 72 insertions(+) diff --git a/testsuite/tests/perf/should_run/T4267.hs b/testsuite/tests/perf/should_run/T4267.hs new file mode 100644 index 0000000..9c97afb --- /dev/null +++ b/testsuite/tests/perf/should_run/T4267.hs @@ -0,0 +1,64 @@ +data Tree a = Leaf | Node a !(Tree a) !(Tree a) + +{- + +This should produce a walker with unboxed integers. + +Bad: + +Rec { +go_r1us + :: GHC.Types.Int -> Main.Tree GHC.Types.Int -> GHC.Types.Int +[GblId, Arity=2, Caf=NoCafRefs, Str=DmdType SS] +go_r1us = + \ (z_aeS :: GHC.Types.Int) (ds_dmD :: Main.Tree GHC.Types.Int) -> + case ds_dmD of _ { + Main.Leaf -> z_aeS; + Main.Node a1_aeU l_aeV r_aeW -> + case go_r1us z_aeS l_aeV of _ { GHC.Types.I# ipv_snn -> + case a1_aeU of _ { GHC.Types.I# y_anh -> + go_r1us (GHC.Types.I# (GHC.Prim.+# ipv_snn y_anh)) r_aeW + } + } + } +end Rec } + + +Good: + +Rec { +$wgo_r2fS + :: GHC.Prim.Int# -> Main.Tree GHC.Types.Int -> GHC.Prim.Int# +[GblId, Arity=2, Caf=NoCafRefs, Str=DmdType ] +$wgo_r2fS = + \ (ww_s2eZ :: GHC.Prim.Int#) (w_s2eW :: Main.Tree GHC.Types.Int) -> + case w_s2eW of _ [Occ=Dead] { + Main.Leaf -> ww_s2eZ; + Main.Node a1_aqv l_aqw r_aqx -> + case $wgo_r2fS ww_s2eZ l_aqw of ww1_s2f3 { __DEFAULT -> + case a1_aqv of _ [Occ=Dead] { GHC.Types.I# y_aTz -> + $wgo_r2fS (GHC.Prim.+# ww1_s2f3 y_aTz) r_aqx + } + } + } +end Rec } + +-} + +-- Strict, pre-order fold. +fold' :: (a -> b -> a) -> a -> Tree b -> a +fold' f = go + where + go z Leaf = z + go z (Node a l r) = let z' = go z l + z'' = f z' a + in z' `seq` z'' `seq` go z'' r + + +sumTree :: Int -> Tree Int -> Int +sumTree = fold' (+) + + +tree = Node 0 (Node 0 Leaf Leaf) (Node 0 Leaf Leaf) + +main = sum [sumTree n tree | n <- [0..1000]] `seq` return () diff --git a/testsuite/tests/perf/should_run/all.T b/testsuite/tests/perf/should_run/all.T index 99b8aab..4f6a9d3 100644 --- a/testsuite/tests/perf/should_run/all.T +++ b/testsuite/tests/perf/should_run/all.T @@ -306,3 +306,11 @@ test('T5949', compile_and_run, ['-O']) +test('T4267', + [stats_num_field('bytes allocated', + [ (wordsize(64), 130000, 10)]), + # previously, it was >170000 bytes + only_ways(['normal'])], + compile_and_run, + ['-O']) + From git at git.haskell.org Fri Jan 17 16:50:06 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 16:50:06 +0000 (UTC) Subject: [commit: ghc] master: Fix #8675 (e4a4aba) Message-ID: <20140117165008.3EDCE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/e4a4abae21d14a6c1a4ae875fa582e2b389dc177/ghc >--------------------------------------------------------------- commit e4a4abae21d14a6c1a4ae875fa582e2b389dc177 Author: Austin Seipp Date: Fri Jan 17 10:49:21 2014 -0600 Fix #8675 Haddock no longer has a generated parser, so we don't need it in the sdist and we certainly don't want to check for it in the ./configure script (as that would be bogus.) Signed-off-by: Austin Seipp >--------------------------------------------------------------- e4a4abae21d14a6c1a4ae875fa582e2b389dc177 aclocal.m4 | 5 ----- ghc.mk | 2 -- 2 files changed, 7 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index 98f3e3d..63e8462 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -898,11 +898,6 @@ then FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[3.1.0], [AC_MSG_ERROR([Alex version 3.1.0 or later is required to compile GHC.])])[] fi -if test ! -f utils/haddock/src/Haddock/Lex.hs -then - FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[3.0], - [AC_MSG_ERROR([Alex version 3.0 or later is required to compile Haddock.])])[] -fi AlexVersion=$fptools_cv_alex_version; AC_SUBST(AlexVersion) AC_SUBST(Alex3) diff --git a/ghc.mk b/ghc.mk index dd91a82..f48714e 100644 --- a/ghc.mk +++ b/ghc.mk @@ -1136,8 +1136,6 @@ sdist-ghc-prep : $(call sdist_ghc_file,utils/hpc,dist-install,,,HpcParser,y) $(call sdist_ghc_file,utils/genprimopcode,dist,,,Lexer,x) $(call sdist_ghc_file,utils/genprimopcode,dist,,,Parser,y) - $(call sdist_ghc_file,utils/haddock,dist,src,Haddock,Lex,x) - $(call sdist_ghc_file,utils/haddock,dist,src,Haddock,Parse,y) cd $(SRC_DIST_GHC_DIR) && "$(FIND)" $(SRC_DIST_GHC_DIRS) \( -name .git -o -name "autom4te*" -o -name "*~" -o -name "\#*" -o -name ".\#*" -o -name "log" -o -name "*-SAVE" -o -name "*.orig" -o -name "*.rej" \) -print | "$(XARGS)" $(XARGS_OPTS) "$(RM)" $(RM_OPTS_REC) .PHONY: sdist-windows-tarballs-prep From git at git.haskell.org Fri Jan 17 17:31:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 17:31:45 +0000 (UTC) Subject: [commit: ghc] branch 'wip/T7619' created Message-ID: <20140117173145.CAF632406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc New branch : wip/T7619 Referencing: a1ddb7155bdd400d2e597302052c8461a1c27843 From git at git.haskell.org Fri Jan 17 17:31:48 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 17:31:48 +0000 (UTC) Subject: [commit: ghc] wip/T7619: Make worker-wrapper unbox data families (a1ddb71) Message-ID: <20140117173148.40CE52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7619 Link : http://ghc.haskell.org/trac/ghc/changeset/a1ddb7155bdd400d2e597302052c8461a1c27843/ghc >--------------------------------------------------------------- commit a1ddb7155bdd400d2e597302052c8461a1c27843 Author: Joachim Breitner Date: Fri Jan 17 17:31:53 2014 +0000 Make worker-wrapper unbox data families by passing the FamInstEnvs all the way down. This closes #7619. >--------------------------------------------------------------- a1ddb7155bdd400d2e597302052c8461a1c27843 compiler/simplCore/SimplCore.lhs | 23 ++++++++++-- compiler/stranal/DmdAnal.lhs | 23 ++++++++---- compiler/stranal/WorkWrap.lhs | 75 ++++++++++++++++++++------------------ compiler/stranal/WwLib.lhs | 51 +++++++++++++++----------- compiler/types/Coercion.lhs | 6 +++ 5 files changed, 109 insertions(+), 69 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc a1ddb7155bdd400d2e597302052c8461a1c27843 From git at git.haskell.org Fri Jan 17 19:13:23 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 19:13:23 +0000 (UTC) Subject: [commit: ghc] wip/T7619: Make worker-wrapper unbox data families (dba0b78) Message-ID: <20140117191323.502E12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7619 Link : http://ghc.haskell.org/trac/ghc/changeset/dba0b7809d51c9ef5610f1ef9f922f6e33c72a63/ghc >--------------------------------------------------------------- commit dba0b7809d51c9ef5610f1ef9f922f6e33c72a63 Author: Joachim Breitner Date: Fri Jan 17 17:31:53 2014 +0000 Make worker-wrapper unbox data families by passing the FamInstEnvs all the way down. This closes #7619. >--------------------------------------------------------------- dba0b7809d51c9ef5610f1ef9f922f6e33c72a63 compiler/simplCore/SimplCore.lhs | 23 ++++++++++-- compiler/stranal/DmdAnal.lhs | 23 ++++++++---- compiler/stranal/WorkWrap.lhs | 75 ++++++++++++++++++++------------------ compiler/stranal/WwLib.lhs | 51 +++++++++++++++----------- compiler/types/Coercion.lhs | 6 +++ 5 files changed, 109 insertions(+), 69 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc dba0b7809d51c9ef5610f1ef9f922f6e33c72a63 From git at git.haskell.org Fri Jan 17 23:49:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:49:42 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Strictify the demand on unlifted arguments (8c41989) Message-ID: <20140117234942.446242406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/8c4198971ea529ab6e8e5e605dfaab5872db1550/ghc >--------------------------------------------------------------- commit 8c4198971ea529ab6e8e5e605dfaab5872db1550 Author: Joachim Breitner Date: Wed Jan 15 16:52:23 2014 +0000 Strictify the demand on unlifted arguments because they are trivially strict, and the primitive operations do not have the strictness demand in their demand signature. >--------------------------------------------------------------- 8c4198971ea529ab6e8e5e605dfaab5872db1550 compiler/basicTypes/Demand.lhs | 6 +++++- compiler/stranal/DmdAnal.lhs | 16 +++++++++++----- testsuite/tests/numeric/should_compile/T7116.stdout | 8 ++++---- testsuite/tests/perf/compiler/all.T | 8 ++++++-- testsuite/tests/simplCore/should_compile/T3772.stdout | 4 ++-- testsuite/tests/simplCore/should_compile/T4930.stderr | 2 +- testsuite/tests/stranal/sigs/HyperStrUse.stderr | 2 +- 7 files changed, 30 insertions(+), 16 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index e7b8753..1b2aa4e 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -11,7 +11,7 @@ module Demand ( countOnce, countMany, -- cardinality Demand, CleanDemand, - mkProdDmd, mkOnceUsedDmd, mkManyUsedDmd, mkHeadStrict, oneifyDmd, + mkProdDmd, mkOnceUsedDmd, mkManyUsedDmd, mkHeadStrict, oneifyDmd, strictifyDmd, getUsage, toCleanDmd, absDmd, topDmd, botDmd, seqDmd, lubDmd, bothDmd, apply1Dmd, apply2Dmd, @@ -183,6 +183,10 @@ bothStr (SProd s1) (SProd s2) | otherwise = HyperStr -- Weird bothStr (SProd _) (SCall _) = HyperStr +strictifyDmd :: Demand -> Demand +strictifyDmd (JD Lazy u) = (JD (Str HeadStr) u) +strictifyDmd (JD s u) = (JD s u) + -- utility functions to deal with memory leaks seqStrDmd :: StrDmd -> () seqStrDmd (SProd ds) = seqStrDmdList ds diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index a942c4e..f6c995c 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -28,7 +28,7 @@ import Id import CoreUtils ( exprIsHNF, exprType, exprIsTrivial ) -- import PprCore import TyCon -import Type ( eqType ) +import Type ( eqType, isUnLiftedType ) -- import Pair -- import Coercion ( coercionKind ) import Util @@ -103,12 +103,18 @@ c) The application rule wouldn't be right either evaluation of f in a C(L) demand! \begin{code} --- If e is complicated enough to become a thunk, its contents will be evaluated --- at most once, so oneify it. +-- This function modifies the demand on a paramater e in a call f e: +-- * If e is complicated enough to become a thunk, its contents will be evaluated +-- at most once, so oneify it. +-- * If e is of an unlifted type, e will be evaluated before the actual call, so +-- in that sense, the demand on e is strict. dmdTransformThunkDmd :: CoreExpr -> Demand -> Demand dmdTransformThunkDmd e - | exprIsTrivial e = id - | otherwise = oneifyDmd + = when (not (exprIsTrivial e)) oneifyDmd . + when (isUnLiftedType (exprType e)) strictifyDmd + where + when True f = f + when False _ = id -- Do not process absent demands -- Otherwise act like in a normal demand analysis diff --git a/testsuite/tests/numeric/should_compile/T7116.stdout b/testsuite/tests/numeric/should_compile/T7116.stdout index 549ed48..9b7f7c8 100644 --- a/testsuite/tests/numeric/should_compile/T7116.stdout +++ b/testsuite/tests/numeric/should_compile/T7116.stdout @@ -6,7 +6,7 @@ T7116.dl :: GHC.Types.Double -> GHC.Types.Double [GblId, Arity=1, Caf=NoCafRefs, - Str=DmdType m, + Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) @@ -24,7 +24,7 @@ T7116.dr :: GHC.Types.Double -> GHC.Types.Double [GblId, Arity=1, Caf=NoCafRefs, - Str=DmdType m, + Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) @@ -38,7 +38,7 @@ T7116.fl :: GHC.Types.Float -> GHC.Types.Float [GblId, Arity=1, Caf=NoCafRefs, - Str=DmdType m, + Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) @@ -56,7 +56,7 @@ T7116.fr :: GHC.Types.Float -> GHC.Types.Float [GblId, Arity=1, Caf=NoCafRefs, - Str=DmdType m, + Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index 3b4b62b..3a7f56f 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -67,7 +67,7 @@ test('T1969', # 274932264 (x86/Linux) # 2012-10-08 303930948 (x86/Linux, new codegen) # 2013-02-10 322937684 (x86/OSX) - (wordsize(64), 698612512, 5)]), + (wordsize(64), 663200424, 5)]), # 17/11/2009 434845560 (amd64/Linux) # 08/12/2009 459776680 (amd64/Linux) # 17/05/2010 519377728 (amd64/Linux) @@ -88,6 +88,8 @@ test('T1969', # (^ new demand analyser) # 18/10/2013 698612512 (x86_64/Linux) # (fix for #8456) + # 2014-01-17 663200424 (amd64/Linux) + # (^ strictify demand on unlifted arguments) only_ways(['normal']), extra_hc_opts('-dcore-lint -static') @@ -392,8 +394,10 @@ test('T6048', [(wordsize(32), 48887164, 10), # prev: 38000000 (x86/Linux) # 2012-10-08: 48887164 (x86/Linux) - (wordsize(64), 108578664, 10)]) + (wordsize(64), 95762056, 10)]) # 18/09/2012 97247032 amd64/Linux # 16/01/2014 108578664 amd64/Linux (unknown) + # 2014-01-17 95762056 (amd64/Linux) + # (^ strictify demand on unlifted arguments) ], compile,['']) diff --git a/testsuite/tests/simplCore/should_compile/T3772.stdout b/testsuite/tests/simplCore/should_compile/T3772.stdout index 6c7735e..6c418fa 100644 --- a/testsuite/tests/simplCore/should_compile/T3772.stdout +++ b/testsuite/tests/simplCore/should_compile/T3772.stdout @@ -4,7 +4,7 @@ Result size of Tidy Core = {terms: 29, types: 12, coercions: 0} Rec { xs :: GHC.Prim.Int# -> () -[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType ] +[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType ] xs = \ (m :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m 1) @@ -15,7 +15,7 @@ xs = end Rec } T3772.foo [InlPrag=NOINLINE] :: GHC.Types.Int -> () -[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType ] +[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType ] T3772.foo = \ (n :: GHC.Types.Int) -> case n of _ [Occ=Dead] { GHC.Types.I# n# -> diff --git a/testsuite/tests/simplCore/should_compile/T4930.stderr b/testsuite/tests/simplCore/should_compile/T4930.stderr index 9570b7b..ee77e0c 100644 --- a/testsuite/tests/simplCore/should_compile/T4930.stderr +++ b/testsuite/tests/simplCore/should_compile/T4930.stderr @@ -13,7 +13,7 @@ T4930.foo1 = GHC.Err.error @ GHC.Types.Int lvl T4930.foo :: GHC.Types.Int -> GHC.Types.Int [GblId, Arity=1, - Str=DmdType m, + Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) diff --git a/testsuite/tests/stranal/sigs/HyperStrUse.stderr b/testsuite/tests/stranal/sigs/HyperStrUse.stderr index 1a0ff33..6c5d487 100644 --- a/testsuite/tests/stranal/sigs/HyperStrUse.stderr +++ b/testsuite/tests/stranal/sigs/HyperStrUse.stderr @@ -1,5 +1,5 @@ ==================== Strictness signatures ==================== -HyperStrUse.f: m +HyperStrUse.f: m From git at git.haskell.org Fri Jan 17 23:49:44 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:49:44 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Add Converges to DmdResult (5c14e89) Message-ID: <20140117234944.E67A32406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/5c14e89920cd25c6e7c67db25c70fc88db84ce28/ghc >--------------------------------------------------------------- commit 5c14e89920cd25c6e7c67db25c70fc88db84ce28 Author: Joachim Breitner Date: Thu Dec 12 15:45:19 2013 +0000 Add Converges to DmdResult to detect definite convergence (required for nested CPR). Notable details: * botDmdType is no longer the unit for lubDmdType. So do not use foldr lubDmdType botDmdType when combinding the branches of a case, to avoid throwing away information. * avoid declaring recursive things as terminating for sure, by removing the Converges flag from a loop breaker. * cprProdSig comes with a Converging flag, so it is removed using sigMayDiverge where necessary * a data constructor worker is not converging, if it is strict in any of its fields. >--------------------------------------------------------------- 5c14e89920cd25c6e7c67db25c70fc88db84ce28 compiler/basicTypes/Demand.lhs | 67 ++++++++++++++++---- compiler/basicTypes/MkId.lhs | 5 +- compiler/stranal/DmdAnal.lhs | 15 +++-- .../tests/simplCore/should_compile/T7360.stderr | 2 +- .../simplCore/should_compile/spec-inline.stderr | 2 +- 5 files changed, 70 insertions(+), 21 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 5c14e89920cd25c6e7c67db25c70fc88db84ce28 From git at git.haskell.org Fri Jan 17 23:49:47 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:49:47 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: In deferType, return convRes = Converges NoCPR (cbc2b1e) Message-ID: <20140117234947.A34AF2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/cbc2b1e487db5df3b09539b25f444ad3f5c2a3af/ghc >--------------------------------------------------------------- commit cbc2b1e487db5df3b09539b25f444ad3f5c2a3af Author: Joachim Breitner Date: Wed Dec 4 16:55:18 2013 +0000 In deferType, return convRes = Converges NoCPR because this is the right-identity to `bothDmdResult`, and this is the right thing to do in a lazy context. >--------------------------------------------------------------- cbc2b1e487db5df3b09539b25f444ad3f5c2a3af compiler/basicTypes/Demand.lhs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 1494797..3eb3a90 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -781,8 +781,9 @@ seqCPRResult RetProd = () -- [cprRes] lets us switch off CPR analysis -- by making sure that everything uses TopRes -topRes, botRes :: DmdResult +topRes, convRes, botRes :: DmdResult topRes = Dunno NoCPR +convRes = Converges NoCPR botRes = Diverges cprSumRes :: ConTag -> DmdResult @@ -1169,9 +1170,9 @@ postProcessUnsat (True, One) ty = deferType ty postProcessUnsat (False, One) ty = ty deferType, reuseType, deferReuse :: DmdType -> DmdType -deferType (DmdType fv ds _) = DmdType (deferEnv fv) (map deferDmd ds) topRes +deferType (DmdType fv ds _) = DmdType (deferEnv fv) (map deferDmd ds) convRes reuseType (DmdType fv ds res_ty) = DmdType (reuseEnv fv) (map reuseDmd ds) res_ty -deferReuse (DmdType fv ds _) = DmdType (deferReuseEnv fv) (map deferReuseDmd ds) topRes +deferReuse (DmdType fv ds _) = DmdType (deferReuseEnv fv) (map deferReuseDmd ds) convRes deferEnv, reuseEnv, deferReuseEnv :: DmdEnv -> DmdEnv deferEnv fv = mapVarEnv deferDmd fv From git at git.haskell.org Fri Jan 17 23:49:50 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:49:50 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Mark the scrunitee of a multi-way-case as converging (ca937b3) Message-ID: <20140117234950.2F4AB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/ca937b392d78deaae94ee564aaacd233730d0dad/ghc >--------------------------------------------------------------- commit ca937b392d78deaae94ee564aaacd233730d0dad Author: Joachim Breitner Date: Fri Jan 10 13:45:39 2014 +0000 Mark the scrunitee of a multi-way-case as converging >--------------------------------------------------------------- ca937b392d78deaae94ee564aaacd233730d0dad compiler/stranal/DmdAnal.lhs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 310c013..7bfc7b2 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -275,7 +275,9 @@ dmdAnal env dmd (Case scrut case_bndr ty [alt@(DataAlt dc, _, _)]) dmdAnal env dmd (Case scrut case_bndr ty alts) = let -- Case expression with multiple alternatives - (alt_tys, alts') = mapAndUnzip (dmdAnalAlt env dmd) alts + case_bndr_sig = convergeSig nopSig + env_alt = extendAnalEnv NotTopLevel env case_bndr case_bndr_sig + (alt_tys, alts') = mapAndUnzip (dmdAnalAlt env_alt dmd) alts (scrut_ty, scrut') = dmdAnal env cleanEvalDmd scrut (alt_ty, case_bndr') = annotateBndr env (lubDmdTypes alt_tys) case_bndr res_ty = alt_ty `bothDmdType` toBothDmdArg scrut_ty From git at git.haskell.org Fri Jan 17 23:49:52 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:49:52 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Literals are Converging (80eca46) Message-ID: <20140117234952.8EDEA2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/80eca46835f54bae8fb32721a56ef4ba3c461534/ghc >--------------------------------------------------------------- commit 80eca46835f54bae8fb32721a56ef4ba3c461534 Author: Joachim Breitner Date: Fri Jan 10 13:39:22 2014 +0000 Literals are Converging >--------------------------------------------------------------- 80eca46835f54bae8fb32721a56ef4ba3c461534 compiler/basicTypes/Demand.lhs | 5 +++-- compiler/stranal/DmdAnal.lhs | 2 +- testsuite/tests/simplCore/should_compile/T4918.stdout | 4 ++-- testsuite/tests/simplCore/should_compile/T7360.stderr | 2 +- testsuite/tests/simplCore/should_compile/spec-inline.stderr | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 3eb3a90..7c38b48 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -19,7 +19,7 @@ module Demand ( peelUseCall, cleanUseDmd_maybe, strictenDmd, bothCleanDmd, DmdType(..), dmdTypeDepth, lubDmdType, lubDmdTypes, bothDmdType, - nopDmdType, botDmdType, mkDmdType, + nopDmdType, litDmdType, botDmdType, mkDmdType, addDemand, BothDmdArg, mkBothDmdArg, toBothDmdArg, @@ -1062,9 +1062,10 @@ emptyDmdEnv = emptyVarEnv -- (lazy, absent, no CPR information, no termination information). -- Note that it is ''not'' the top of the lattice (which would be "may use everything"), -- so it is (no longer) called topDmd -nopDmdType, botDmdType :: DmdType +nopDmdType, litDmdType, botDmdType :: DmdType nopDmdType = DmdType emptyDmdEnv [] topRes botDmdType = DmdType emptyDmdEnv [] botRes +litDmdType = DmdType emptyDmdEnv [] convRes cprProdDmdType :: Arity -> DmdType cprProdDmdType _arity diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 7bfc7b2..12215d1 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -135,7 +135,7 @@ dmdAnal :: AnalEnv -- The CleanDemand is always strict and not absent -- See Note [Ensure demand is strict] -dmdAnal _ _ (Lit lit) = (nopDmdType, Lit lit) +dmdAnal _ _ (Lit lit) = (litDmdType, Lit lit) dmdAnal _ _ (Type ty) = (nopDmdType, Type ty) -- Doesn't happen, in fact dmdAnal _ _ (Coercion co) = (nopDmdType, Coercion co) diff --git a/testsuite/tests/simplCore/should_compile/T4918.stdout b/testsuite/tests/simplCore/should_compile/T4918.stdout index c79b116..dbbc675 100644 --- a/testsuite/tests/simplCore/should_compile/T4918.stdout +++ b/testsuite/tests/simplCore/should_compile/T4918.stdout @@ -1,2 +1,2 @@ - {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.C# 'p') -} - {- HasNoCafRefs, Strictness: m, Unfolding: (GHC.Types.C# 'q') -} + {- HasNoCafRefs, Strictness: tm, Unfolding: (GHC.Types.C# 'p') -} + {- HasNoCafRefs, Strictness: tm, Unfolding: (GHC.Types.C# 'q') -} diff --git a/testsuite/tests/simplCore/should_compile/T7360.stderr b/testsuite/tests/simplCore/should_compile/T7360.stderr index f6ce7ed..5a04c74 100644 --- a/testsuite/tests/simplCore/should_compile/T7360.stderr +++ b/testsuite/tests/simplCore/should_compile/T7360.stderr @@ -37,7 +37,7 @@ T7360.fun4 = T7360.fun1 T7360.Foo1 T7360.fun3 :: GHC.Types.Int [GblId, Caf=NoCafRefs, - Str=DmdType m, + Str=DmdType tm, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] diff --git a/testsuite/tests/simplCore/should_compile/spec-inline.stderr b/testsuite/tests/simplCore/should_compile/spec-inline.stderr index 055b643..0a53e18 100644 --- a/testsuite/tests/simplCore/should_compile/spec-inline.stderr +++ b/testsuite/tests/simplCore/should_compile/spec-inline.stderr @@ -113,7 +113,7 @@ Roman.foo_go = Roman.foo2 :: GHC.Types.Int [GblId, Caf=NoCafRefs, - Str=DmdType m, + Str=DmdType tm, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] From git at git.haskell.org Fri Jan 17 23:49:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:49:54 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Some primitive operations are converging (9809d5a) Message-ID: <20140117234955.0EA862406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/9809d5a2cd2a28a5d9a93ab7c361cacce47b83d8/ghc >--------------------------------------------------------------- commit 9809d5a2cd2a28a5d9a93ab7c361cacce47b83d8 Author: Joachim Breitner Date: Fri Jan 10 13:42:21 2014 +0000 Some primitive operations are converging >--------------------------------------------------------------- 9809d5a2cd2a28a5d9a93ab7c361cacce47b83d8 compiler/prelude/PrimOp.lhs | 4 +++- compiler/prelude/primops.txt.pp | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/prelude/PrimOp.lhs b/compiler/prelude/PrimOp.lhs index 12f71c2..2ee7da4 100644 --- a/compiler/prelude/PrimOp.lhs +++ b/compiler/prelude/PrimOp.lhs @@ -516,8 +516,10 @@ primOpOcc op = case primOpInfo op of primOpSig :: PrimOp -> ([TyVar], [Type], Type, Arity, StrictSig) primOpSig op - = (tyvars, arg_tys, res_ty, arity, primOpStrictness op arity) + = (tyvars, arg_tys, res_ty, arity, strict_sig) where + strict_sig | primOpOkForSpeculation op = convergeSig $ primOpStrictness op arity + | otherwise = primOpStrictness op arity arity = length arg_tys (tyvars, arg_tys, res_ty) = case (primOpInfo op) of diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index 36eec67..f020ae8 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -61,6 +61,7 @@ defaults can_fail = False -- See Note Note [PrimOp can_fail and has_side_effects] in PrimOp commutable = False code_size = { primOpCodeSizeDefault } + -- Strictness is turned to terminating in PrimOp.primOpSig, if allowed strictness = { \ arity -> mkClosedStrictSig (replicate arity topDmd) topRes } fixity = Nothing llvm_only = False From git at git.haskell.org Fri Jan 17 23:49:57 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:49:57 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Note [Termination information and arguments] (b47bd78) Message-ID: <20140117234957.B8C332406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/b47bd786fd5c7d6b5d885e612619447fcdef2412/ghc >--------------------------------------------------------------- commit b47bd786fd5c7d6b5d885e612619447fcdef2412 Author: Joachim Breitner Date: Wed Jan 15 16:53:31 2014 +0000 Note [Termination information and arguments] >--------------------------------------------------------------- b47bd786fd5c7d6b5d885e612619447fcdef2412 compiler/basicTypes/Demand.lhs | 30 +++++++++++++++++++++++++++++- compiler/prelude/primops.txt.pp | 1 + compiler/stranal/DmdAnal.lhs | 1 + 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 7c38b48..b2e8f6c 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -1151,7 +1151,7 @@ postProcessDmdTypeM (Just du) (DmdType fv _ res_ty) postProcessDmdResult :: DeferAndUse -> DmdResult -> Termination () -- if we use it lazily, there cannot be divergence worrying us - -- (Otherwise we'd lose the termination information of constructors in in dmdAnalVarApp, for example) + -- See Note [Termination information and arguments] postProcessDmdResult (True,_) _ = Converges () postProcessDmdResult (False,_) (Dunno {}) = Dunno () postProcessDmdResult (False,_) (Converges {}) = Converges () @@ -1362,6 +1362,34 @@ and A on the second. If this same function is applied to one arg, all we can say is that it uses x with , and its arg with demand . + +Note [Termination information and arguments] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +A strictness signature of t indicates: + If you apply me to one argument, I will surely terminate (even if this + argument may diverge). +Therefore, in postProcessDmdResult, we replace the termination info of a lazy +argument by Converges. + +For strict arguments, we do not do that. But usually, t is not possible anyways: +Assume such a function is applied to undefined. This diverges, because it is strict, +and it converges, because of the terminating flag. + +One exception to this rule are unlifted arguments. These cannot be undefined, so the +function is (vacuously) strict in them. But moreover, it is important that we treat +them as strict! Consider I# (or any function with an unlifted argument type). We +clearly want "I# 1#" to be terminating, and also "I# x" and "I# (x +# 2#)". +But not "I# (x `quotInt#` 0#)"! Therefore, we need to analyze the argument with a strict +demand, so that postProcessDmdResult will not hide the termination result of the argument, +and bothDmdType takes case of erasing the Converges coming from I#. + +This is a property not just of primitive operations. Consider + f :: Bool -> (Int# -> b) -> b + f b g = g (if b then 1# else 0#) +Is this strict in `b`? Yes, it is! So we want to consider any function with an +unlifted argument type as strict. Hence we do that conveniently in dmdTransformThunkDmd. +And therefore we do not have to worry about the strictness on arguments in primops.txt.pp + \begin{code} newtype StrictSig = StrictSig DmdType deriving( Eq ) diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index f020ae8..b1278af 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -62,6 +62,7 @@ defaults commutable = False code_size = { primOpCodeSizeDefault } -- Strictness is turned to terminating in PrimOp.primOpSig, if allowed + -- Also see [Termination information and arguments] strictness = { \ arity -> mkClosedStrictSig (replicate arity topDmd) topRes } fixity = Nothing llvm_only = False diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 12215d1..da2a7c3 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -108,6 +108,7 @@ c) The application rule wouldn't be right either -- at most once, so oneify it. -- * If e is of an unlifted type, e will be evaluated before the actual call, so -- in that sense, the demand on e is strict. +-- See [Termination information and arguments] dmdTransformThunkDmd :: CoreExpr -> Demand -> Demand dmdTransformThunkDmd e = when (not (exprIsTrivial e)) oneifyDmd . From git at git.haskell.org Fri Jan 17 23:50:00 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:00 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Variables of unlifted types are always converging (452378b) Message-ID: <20140117235000.E250B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/452378bf54e7c42d1aeeabea2504af63750cfb75/ghc >--------------------------------------------------------------- commit 452378bf54e7c42d1aeeabea2504af63750cfb75 Author: Joachim Breitner Date: Fri Jan 10 13:46:01 2014 +0000 Variables of unlifted types are always converging >--------------------------------------------------------------- 452378bf54e7c42d1aeeabea2504af63750cfb75 compiler/basicTypes/Demand.lhs | 2 +- compiler/stranal/DmdAnal.lhs | 8 +++++++- testsuite/tests/simplCore/should_compile/spec-inline.stderr | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index b2e8f6c..88588d0 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -28,7 +28,7 @@ module Demand ( DmdResult, CPRResult, isBotRes, isTopRes, - topRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, + topRes, convRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, trimCPRInfo, returnsCPR_maybe, StrictSig(..), mkStrictSig, mkClosedStrictSig, nopSig, botSig, cprProdSig, convergeSig, diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index da2a7c3..493c923 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -699,7 +699,12 @@ a product type. \begin{code} unitVarDmd :: Var -> Demand -> DmdType unitVarDmd var dmd - = DmdType (unitVarEnv var dmd) [] topRes + = -- pprTrace "unitVarDmd" (vcat [ppr var, ppr dmd, ppr res]) $ + DmdType (unitVarEnv var dmd) [] res + where + -- Variables of unlifted types are, well, unlifted + res | isUnLiftedType (idType var) = convRes + | otherwise = topRes addVarDmd :: DmdType -> Var -> Demand -> DmdType addVarDmd (DmdType fv ds res) var dmd @@ -1051,6 +1056,7 @@ extendAnalEnv top_lvl env var sig = env { ae_sigs = extendSigEnv top_lvl (ae_sigs env) var sig' } where sig' | isWeakLoopBreaker (idOccInfo var) = sigMayDiverge sig + | isUnLiftedType (idType var) = convergeSig sig | otherwise = sig extendSigEnv :: TopLevelFlag -> SigEnv -> Id -> StrictSig -> SigEnv diff --git a/testsuite/tests/simplCore/should_compile/spec-inline.stderr b/testsuite/tests/simplCore/should_compile/spec-inline.stderr index 0a53e18..27607ee 100644 --- a/testsuite/tests/simplCore/should_compile/spec-inline.stderr +++ b/testsuite/tests/simplCore/should_compile/spec-inline.stderr @@ -16,7 +16,7 @@ Roman.foo_$s$wgo = \ (sc :: GHC.Prim.Int#) (sc1 :: GHC.Prim.Int#) -> let { a :: GHC.Prim.Int# - [LclId, Str=DmdType] + [LclId, Str=DmdType t] a = GHC.Prim.+# (GHC.Prim.+# @@ -60,7 +60,7 @@ Roman.$wgo = case x of _ [Occ=Dead] { GHC.Types.I# ipv -> let { a :: GHC.Prim.Int# - [LclId, Str=DmdType] + [LclId, Str=DmdType t] a = GHC.Prim.+# (GHC.Prim.+# From git at git.haskell.org Fri Jan 17 23:50:03 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:03 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Initial work on Nested CPR (5ab2af6) Message-ID: <20140117235003.51B162406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/5ab2af61941021e48fd7e6c373475741942950a4/ghc >--------------------------------------------------------------- commit 5ab2af61941021e48fd7e6c373475741942950a4 Author: Simon Peyton Jones Date: Mon Nov 25 09:59:16 2013 +0000 Initial work on Nested CPR >--------------------------------------------------------------- 5ab2af61941021e48fd7e6c373475741942950a4 compiler/basicTypes/Demand.lhs | 133 ++++++++++++-------- compiler/stranal/DmdAnal.lhs | 116 ++++++++++++----- .../tests/numeric/should_compile/T7116.stdout | 8 +- .../tests/simplCore/should_compile/T3717.stderr | 2 +- .../tests/simplCore/should_compile/T4201.stdout | 2 +- .../tests/simplCore/should_compile/T4918.stdout | 4 +- .../tests/simplCore/should_compile/T4930.stderr | 2 +- .../tests/simplCore/should_compile/T7360.stderr | 4 +- .../simplCore/should_compile/spec-inline.stderr | 6 +- testsuite/tests/stranal/sigs/HyperStrUse.stderr | 2 +- testsuite/tests/stranal/sigs/T8598.stderr | 2 +- 11 files changed, 177 insertions(+), 104 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 5ab2af61941021e48fd7e6c373475741942950a4 From git at git.haskell.org Fri Jan 17 23:50:05 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:05 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Limit the depth of the CPR information (9efa6f3) Message-ID: <20140117235005.EC4A72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/9efa6f3cc24257779b51ba1fba95b0c459436e6d/ghc >--------------------------------------------------------------- commit 9efa6f3cc24257779b51ba1fba95b0c459436e6d Author: Joachim Breitner Date: Thu Dec 5 16:13:41 2013 +0000 Limit the depth of the CPR information as otherwise, it could become infinite. >--------------------------------------------------------------- 9efa6f3cc24257779b51ba1fba95b0c459436e6d compiler/basicTypes/Demand.lhs | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index c0a63fe..2ef2a6d 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -813,8 +813,8 @@ cprSumRes tag | opt_CprOff = topRes cprProdRes :: [DmdResult] -> DmdResult cprProdRes arg_ress - | opt_CprOff = topRes - | otherwise = Converges $ RetProd arg_ress + | opt_CprOff = topRes + | otherwise = Converges $ cutCPRResult maxCPRDepth $ RetProd arg_ress getDmdResult :: DmdType -> DmdResult getDmdResult (DmdType _ [] r) = r -- Only for data-typed arguments! @@ -824,10 +824,31 @@ getDmdResult _ = topRes divergeDmdResult :: DmdResult -> DmdResult divergeDmdResult r = r `lubDmdResult` botRes +maxCPRDepth :: Int +maxCPRDepth = 3 + +-- With nested CPR, DmdResult can be arbitrarily deep; consider +-- data Rec1 = Foo Rec2 Rec2 +-- data Rec2 = Bar Rec1 Rec1 +-- +-- x = Foo y y +-- y = Bar x x +-- +-- So we need to forget information at a certain depth. We do that at all points +-- where we are constructing new RetProd constructors. +cutDmdResult :: Int -> DmdResult -> DmdResult +cutDmdResult 0 _ = topRes +cutDmdResult _ Diverges = Diverges +cutDmdResult n (Converges c) = Converges (cutCPRResult n c) +cutDmdResult n (Dunno c) = Dunno (cutCPRResult n c) + +cutCPRResult :: Int -> CPRResult -> CPRResult +cutCPRResult _ NoCPR = NoCPR +cutCPRResult n (RetProd rs) = RetProd (map (cutDmdResult (n-1)) rs) +cutCPRResult _ (RetSum tag) = RetSum tag + vanillaCprProdRes :: Arity -> DmdResult -vanillaCprProdRes arity - | opt_CprOff = topRes - | otherwise = Converges $ RetProd (replicate arity topRes) +vanillaCprProdRes arity = cprProdRes (replicate arity topRes) isTopRes :: DmdResult -> Bool isTopRes (Dunno NoCPR) = True @@ -1073,10 +1094,11 @@ bothDmdType (DmdType fv1 ds1 r1) (fv2, t2) instance Outputable DmdType where ppr (DmdType fv ds res) = hsep [text "DmdType", - hcat (map ppr ds) <> ppr res, + hcat (map ppr ds) <> ppr_res, if null fv_elts then empty else braces (fsep (map pp_elt fv_elts))] where + ppr_res = if isTopRes res then empty else ppr res pp_elt (uniq, dmd) = ppr uniq <> text "->" <> ppr dmd fv_elts = ufmToList fv From git at git.haskell.org Fri Jan 17 23:50:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:09 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Add a flag -fnested-cpr-off to conveniently test the effect of nested CPR (346b7e5) Message-ID: <20140117235010.4934A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/346b7e540413b90bfa8378cd061b3a47e2970ee9/ghc >--------------------------------------------------------------- commit 346b7e540413b90bfa8378cd061b3a47e2970ee9 Author: Joachim Breitner Date: Wed Dec 4 09:14:26 2013 +0000 Add a flag -fnested-cpr-off to conveniently test the effect of nested CPR >--------------------------------------------------------------- 346b7e540413b90bfa8378cd061b3a47e2970ee9 compiler/basicTypes/Demand.lhs | 27 ++++++++++++++++++--------- compiler/main/StaticFlags.hs | 9 +++++++-- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 2ef2a6d..b050e79 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -814,6 +814,7 @@ cprSumRes tag | opt_CprOff = topRes cprProdRes :: [DmdResult] -> DmdResult cprProdRes arg_ress | opt_CprOff = topRes + | opt_NestedCprOff = Converges $ cutCPRResult flatCPRDepth $ RetProd arg_ress | otherwise = Converges $ cutCPRResult maxCPRDepth $ RetProd arg_ress getDmdResult :: DmdType -> DmdResult @@ -827,6 +828,13 @@ divergeDmdResult r = r `lubDmdResult` botRes maxCPRDepth :: Int maxCPRDepth = 3 +-- This is the depth we use with -fnested-cpr-off, in order +-- to get precisely the same behaviour as before introduction of nested cpr +-- -fnested-cpr-off can eventually be removed if nested cpr is deemd to be +-- a good thing always. +flatCPRDepth :: Int +flatCPRDepth = 1 + -- With nested CPR, DmdResult can be arbitrarily deep; consider -- data Rec1 = Foo Rec2 Rec2 -- data Rec2 = Bar Rec1 Rec1 @@ -836,16 +844,17 @@ maxCPRDepth = 3 -- -- So we need to forget information at a certain depth. We do that at all points -- where we are constructing new RetProd constructors. -cutDmdResult :: Int -> DmdResult -> DmdResult -cutDmdResult 0 _ = topRes -cutDmdResult _ Diverges = Diverges -cutDmdResult n (Converges c) = Converges (cutCPRResult n c) -cutDmdResult n (Dunno c) = Dunno (cutCPRResult n c) - cutCPRResult :: Int -> CPRResult -> CPRResult -cutCPRResult _ NoCPR = NoCPR -cutCPRResult n (RetProd rs) = RetProd (map (cutDmdResult (n-1)) rs) -cutCPRResult _ (RetSum tag) = RetSum tag +cutCPRResult 0 _ = NoCPR +cutCPRResult _ NoCPR = NoCPR +cutCPRResult _ (RetSum tag) = RetSum tag +cutCPRResult n (RetProd rs) = RetProd (map (cutDmdResult (n-1)) rs) + where + cutDmdResult :: Int -> DmdResult -> DmdResult + cutDmdResult 0 _ = topRes + cutDmdResult _ Diverges = Diverges + cutDmdResult n (Converges c) = Converges (cutCPRResult n c) + cutDmdResult n (Dunno c) = Dunno (cutCPRResult n c) vanillaCprProdRes :: Arity -> DmdResult vanillaCprProdRes arity = cprProdRes (replicate arity topRes) diff --git a/compiler/main/StaticFlags.hs b/compiler/main/StaticFlags.hs index 01dc3b7..feb7235 100644 --- a/compiler/main/StaticFlags.hs +++ b/compiler/main/StaticFlags.hs @@ -27,6 +27,7 @@ module StaticFlags ( -- optimisation opts opt_NoStateHack, opt_CprOff, + opt_NestedCprOff, opt_NoOptCoercion, -- For the parser @@ -140,7 +141,8 @@ flagsStaticNames :: [String] flagsStaticNames = [ "fno-state-hack", "fno-opt-coercion", - "fcpr-off" + "fcpr-off", + "fnested-cpr-off" ] -- We specifically need to discard static flags for clients of the @@ -195,10 +197,13 @@ opt_NoDebugOutput = lookUp (fsLit "-dno-debug-output") opt_NoStateHack :: Bool opt_NoStateHack = lookUp (fsLit "-fno-state-hack") --- Switch off CPR analysis in the new demand analyser +-- Switch off CPR analysis in the demand analyser opt_CprOff :: Bool opt_CprOff = lookUp (fsLit "-fcpr-off") +opt_NestedCprOff :: Bool +opt_NestedCprOff = lookUp (fsLit "-fnested-cpr-off") + opt_NoOptCoercion :: Bool opt_NoOptCoercion = lookUp (fsLit "-fno-opt-coercion") From git at git.haskell.org Fri Jan 17 23:50:12 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:12 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Refactor trimCPRInfo away (8b03018) Message-ID: <20140117235012.107632406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/8b030189710379067249e1cd3479d4ae361442f0/ghc >--------------------------------------------------------------- commit 8b030189710379067249e1cd3479d4ae361442f0 Author: Joachim Breitner Date: Wed Jan 15 17:44:30 2014 +0000 Refactor trimCPRInfo away >--------------------------------------------------------------- 8b030189710379067249e1cd3479d4ae361442f0 compiler/basicTypes/Demand.lhs | 35 ++++++++++++++++++++--------------- compiler/stranal/DmdAnal.lhs | 30 ++++++++++++++++++++---------- 2 files changed, 40 insertions(+), 25 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index b050e79..28aad59 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -30,7 +30,8 @@ module Demand ( isBotRes, isTopRes, getDmdResult, topRes, convRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, - trimCPRInfo, returnsCPR_maybe, + returnsCPR_maybe, + forgetCPR, forgetSumCPR, StrictSig(..), mkStrictSig, mkClosedStrictSig, nopSig, botSig, cprProdSig, convergeSig, isNopSig, splitStrictSig, increaseStrictSigArity, sigMayDiverge, @@ -856,6 +857,24 @@ cutCPRResult n (RetProd rs) = RetProd (map (cutDmdResult (n-1)) rs) cutDmdResult n (Converges c) = Converges (cutCPRResult n c) cutDmdResult n (Dunno c) = Dunno (cutCPRResult n c) +-- Forget the CPR information, but remember if it converges or diverges +-- Used for non-strict thunks and non-top-level things with sum type +forgetCPR :: DmdResult -> DmdResult +forgetCPR Diverges = Diverges +forgetCPR (Converges _) = Converges NoCPR +forgetCPR (Dunno _) = Dunno NoCPR + +forgetSumCPR :: DmdResult -> DmdResult +forgetSumCPR Diverges = Diverges +forgetSumCPR (Converges r) = Converges (forgetSumCPR_help r) +forgetSumCPR (Dunno r) = Dunno (forgetSumCPR_help r) + +forgetSumCPR_help :: CPRResult -> CPRResult +forgetSumCPR_help (RetProd ds) = RetProd (map forgetSumCPR ds) +forgetSumCPR_help (RetSum _) = NoCPR +forgetSumCPR_help NoCPR = NoCPR + + vanillaCprProdRes :: Arity -> DmdResult vanillaCprProdRes arity = cprProdRes (replicate arity topRes) @@ -867,20 +886,6 @@ isBotRes :: DmdResult -> Bool isBotRes Diverges = True isBotRes _ = False -trimCPRInfo :: Bool -> Bool -> DmdResult -> DmdResult -trimCPRInfo trim_all trim_sums res - = trimR res - where - trimR (Converges c) = Converges (trimC c) - trimR (Dunno c) = Dunno (trimC c) - trimR Diverges = Diverges - - trimC (RetSum n) | trim_all || trim_sums = NoCPR - | otherwise = RetSum n - trimC (RetProd rs) | trim_all = NoCPR - | otherwise = RetProd (map trimR rs) - trimC NoCPR = NoCPR - returnsCPR_maybe :: DmdResult -> Maybe ConTag returnsCPR_maybe (Converges c) = retCPR_maybe c returnsCPR_maybe (Dunno c) = retCPR_maybe c diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 5409538..a080930 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -651,21 +651,25 @@ dmdAnalRhs :: TopLevelFlag -> (StrictSig, DmdEnv, Id, CoreExpr) -- Process the RHS of the binding, add the strictness signature -- to the Id, and augment the environment with the signature as well. -dmdAnalRhs top_lvl rec_flag env id rhs +dmdAnalRhs top_lvl rec_flag env var rhs | Just fn <- unpackTrivial rhs -- See Note [Trivial right-hand sides] , let fn_str = getStrictness env fn - = (fn_str, emptyDmdEnv, set_idStrictness env id fn_str, rhs) + = (fn_str, emptyDmdEnv, set_idStrictness env var fn_str, rhs) | otherwise - = (sig_ty, lazy_fv, id', mkLams bndrs' body') + = (sig_ty, lazy_fv, var', mkLams bndrs' body') where (bndrs, body) = collectBinders rhs env_body = foldl extendSigsWithLam env bndrs (DmdType body_fv _ body_res, body') = dmdAnal env_body body_dmd body - (DmdType rhs_fv rhs_dmds rhs_res, bndrs') = annotateLamBndrs env (isDFunId id) + (DmdType rhs_fv rhs_dmds rhs_res, bndrs') = annotateLamBndrs env (isDFunId var) (DmdType body_fv [] body_res) bndrs - sig_ty = mkStrictSig (mkDmdType sig_fv rhs_dmds rhs_res') - id' = set_idStrictness env id sig_ty + sig_ty = mkStrictSig $ + mkDmdType sig_fv rhs_dmds $ + handle_sum_cpr $ + handle_thunk_cpr $ + rhs_res + var' = set_idStrictness env var sig_ty -- See Note [NOINLINE and strictness] -- See Note [Product demands for function body] @@ -681,16 +685,19 @@ dmdAnalRhs top_lvl rec_flag env id rhs (lazy_fv, sig_fv) = splitFVs is_thunk rhs_fv1 - rhs_res' = trimCPRInfo trim_all trim_sums rhs_res - trim_all = is_thunk && not_strict - trim_sums = not (isTopLevel top_lvl) -- See Note [CPR for sum types] + -- Note [CPR for sum types] + handle_sum_cpr | isTopLevel top_lvl = id + | otherwise = forgetSumCPR -- See Note [CPR for thunks] + handle_thunk_cpr | is_thunk && not_strict = forgetCPR + | otherwise = id + is_thunk = not (exprIsHNF rhs) not_strict = isTopLevel top_lvl -- Top level and recursive things don't || isJust rec_flag -- get their demandInfo set at all - || not (isStrictDmd (idDemandInfo id) || ae_virgin env) + || not (isStrictDmd (idDemandInfo var) || ae_virgin env) -- See Note [Optimistic CPR in the "virgin" case] unpackTrivial :: CoreExpr -> Maybe Id @@ -881,6 +888,9 @@ may be CPR'd (via the returned Justs). But in the case of sums, there may be Nothing alternatives; and that messes up the sum-type CPR. +This also applies to nested CPR information: Keep product CPR information, but +zap sum CPR information therein. + Conclusion: only do this for products. It's still not guaranteed OK for products, but sums definitely lose sometimes. From git at git.haskell.org Fri Jan 17 23:50:15 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:15 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Pass nested CPR information from scrunitee to body (95cdc08) Message-ID: <20140117235015.61E692406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/95cdc08f7346e80726f922453c644bb4baed36d7/ghc >--------------------------------------------------------------- commit 95cdc08f7346e80726f922453c644bb4baed36d7 Author: Joachim Breitner Date: Wed Jan 8 15:09:42 2014 +0000 Pass nested CPR information from scrunitee to body in case of a complex case scrunitee. >--------------------------------------------------------------- 95cdc08f7346e80726f922453c644bb4baed36d7 compiler/basicTypes/Demand.lhs | 15 +++++++++++++-- compiler/stranal/DmdAnal.lhs | 41 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 28aad59..2e67291 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -27,8 +27,9 @@ module Demand ( peelFV, DmdResult, CPRResult, - isBotRes, isTopRes, getDmdResult, + isBotRes, isTopRes, getDmdResult, resTypeArgDmd, topRes, convRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, + splitNestedRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, returnsCPR_maybe, forgetCPR, forgetSumCPR, @@ -702,6 +703,7 @@ splitProdDmd_maybe (JD {strd = s, absd = u}) (Str s, Use _ (UProd ux)) -> Just (mkJointDmds (splitStrProdDmd (length ux) s) ux) (Lazy, Use _ (UProd ux)) -> Just (mkJointDmds (replicate (length ux) Lazy) ux) _ -> Nothing + \end{code} %************************************************************************ @@ -874,10 +876,19 @@ forgetSumCPR_help (RetProd ds) = RetProd (map forgetSumCPR ds) forgetSumCPR_help (RetSum _) = NoCPR forgetSumCPR_help NoCPR = NoCPR - vanillaCprProdRes :: Arity -> DmdResult vanillaCprProdRes arity = cprProdRes (replicate arity topRes) +splitNestedRes :: DmdResult -> [DmdResult] +splitNestedRes Diverges = repeat topRes +splitNestedRes (Dunno c) = splitNestedCPR c +splitNestedRes (Converges c) = splitNestedCPR c + +splitNestedCPR :: CPRResult -> [DmdResult] +splitNestedCPR NoCPR = repeat topRes +splitNestedCPR (RetSum _) = repeat topRes +splitNestedCPR (RetProd cs) = cs + isTopRes :: DmdResult -> Bool isTopRes (Dunno NoCPR) = True isTopRes _ = False diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index a080930..a1e5eba 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -190,6 +190,44 @@ dmdAnal env dmd (Lam var body) in (postProcessUnsat defer_and_use lam_ty, Lam var' body') +dmdAnal env dmd (Case scrut case_bndr ty [alt@(DataAlt dc, bndrs, _)]) + -- Only one alternative with a product constructor, and a complex scrutinee + | let tycon = dataConTyCon dc + , isProductTyCon tycon + -- If the scrutinee is not trivial, we are not going to get much from + -- passing the body demand to it. OTOH, we might be getting some nested CPR + -- information from the scrutinee that we can feed into the bound variables. + , not (exprIsTrivial scrut) + , Just rec_tc' <- checkRecTc (ae_rec_tc env) tycon + = let + scrut_dmd = mkProdDmd (replicate (dataConRepArity dc) topDmd) + (scrut_ty, scrut') = dmdAnal env scrut_dmd scrut + + scrut_ret = getDmdResult scrut_ty + comp_rets = take (dataConRepArity dc) $ splitNestedRes scrut_ret -- infinite list! + + -- Build a surely converging, CPR carrying signature for the builder, + -- and for the components use what we get from the scrunitee + case_bndr_sig = mkClosedStrictSig [] (cprProdRes comp_rets) + + env_w_tc = env { ae_rec_tc = rec_tc' } + env_alt = extendAnalEnvs NotTopLevel env_w_tc $ + (case_bndr, case_bndr_sig) : + zipWithEqual "dmdAnal:CaseComplex" + (\b ty -> (b, mkClosedStrictSig [] ty)) bndrs comp_rets + + (alt_ty, alt') = dmdAnalAlt env_alt dmd alt + (alt_ty1, case_bndr') = annotateBndr env alt_ty case_bndr + res_ty = alt_ty1 `bothDmdType` toBothDmdArg scrut_ty + in + -- pprTrace "dmdAnal:CaseComplex" (vcat [ text "scrut" <+> ppr scrut + -- , text "dmd" <+> ppr dmd + -- , text "scrut_dmd" <+> ppr scrut_dmd + -- , text "scrut_ty" <+> ppr scrut_ty + -- , text "alt_ty" <+> ppr alt_ty1 + -- , text "res_ty" <+> ppr res_ty ]) $ + (res_ty, Case scrut' case_bndr' ty [alt']) + dmdAnal env dmd (Case scrut case_bndr ty [alt@(DataAlt dc, _, _)]) -- Only one alternative with a product constructor | let tycon = dataConTyCon dc @@ -1109,6 +1147,9 @@ sigEnv = ae_sigs updSigEnv :: AnalEnv -> SigEnv -> AnalEnv updSigEnv env sigs = env { ae_sigs = sigs } +extendAnalEnvs :: TopLevelFlag -> AnalEnv -> [(Id, StrictSig)] -> AnalEnv +extendAnalEnvs top_lvl = foldl' (\e (i,s) -> extendAnalEnv top_lvl e i s) + extendAnalEnv :: TopLevelFlag -> AnalEnv -> Id -> StrictSig -> AnalEnv extendAnalEnv top_lvl env var sig = env { ae_sigs = extendSigEnv top_lvl (ae_sigs env) var sig' } From git at git.haskell.org Fri Jan 17 23:50:18 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:18 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: CPR test case: Case binder CPR (4644cd9) Message-ID: <20140117235018.DFFD82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/4644cd986ecf08108e21e5fc9b4a859870645aa4/ghc >--------------------------------------------------------------- commit 4644cd986ecf08108e21e5fc9b4a859870645aa4 Author: Joachim Breitner Date: Tue Jan 14 09:36:34 2014 +0000 CPR test case: Case binder CPR >--------------------------------------------------------------- 4644cd986ecf08108e21e5fc9b4a859870645aa4 testsuite/tests/stranal/sigs/CaseBinderCPR.hs | 15 +++++++++++++++ .../sigs/{FacState.stderr => CaseBinderCPR.stderr} | 2 +- testsuite/tests/stranal/sigs/all.T | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/testsuite/tests/stranal/sigs/CaseBinderCPR.hs b/testsuite/tests/stranal/sigs/CaseBinderCPR.hs new file mode 100644 index 0000000..13f2163 --- /dev/null +++ b/testsuite/tests/stranal/sigs/CaseBinderCPR.hs @@ -0,0 +1,15 @@ +module CaseBinderCPR where + +-- This example, taken from nofib's transform (and heavily reduced) ensures that +-- CPR information is added to a case binder + +f_list_cmp::(t1 -> t1 -> Int) -> [t1] -> [t1] -> Int; +f_list_cmp a_cmp [] []= 0 +f_list_cmp a_cmp [] a_ys= -1 +f_list_cmp a_cmp a_xs []= 1 +f_list_cmp a_cmp (a_x:a_xs) (a_y:a_ys)= + if r_order == 0 + then f_list_cmp a_cmp a_xs a_ys + else r_order + where + r_order = a_cmp a_x a_y diff --git a/testsuite/tests/stranal/sigs/FacState.stderr b/testsuite/tests/stranal/sigs/CaseBinderCPR.stderr similarity index 53% copy from testsuite/tests/stranal/sigs/FacState.stderr copy to testsuite/tests/stranal/sigs/CaseBinderCPR.stderr index 133ad6e..f2ea61d 100644 --- a/testsuite/tests/stranal/sigs/FacState.stderr +++ b/testsuite/tests/stranal/sigs/CaseBinderCPR.stderr @@ -1,5 +1,5 @@ ==================== Strictness signatures ==================== -FacState.fac: dm1(d,tm1(d)) +CaseBinderCPR.f_list_cmp: m() diff --git a/testsuite/tests/stranal/sigs/all.T b/testsuite/tests/stranal/sigs/all.T index 3657432..3e271c5 100644 --- a/testsuite/tests/stranal/sigs/all.T +++ b/testsuite/tests/stranal/sigs/all.T @@ -13,3 +13,4 @@ test('HyperStrUse', normal, compile, ['']) test('T8598', normal, compile, ['']) test('FacState', expect_broken(1600), compile, ['']) test('UnsatFun', normal, compile, ['']) +test('CaseBinderCPR', normal, compile, ['']) From git at git.haskell.org Fri Jan 17 23:50:21 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:21 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Actually create a nested CPR worker-wrapper (17b0d72) Message-ID: <20140117235021.2DD702406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/17b0d72ba7e52e12c13c2dedab91f4f2d07e040d/ghc >--------------------------------------------------------------- commit 17b0d72ba7e52e12c13c2dedab91f4f2d07e040d Author: Joachim Breitner Date: Thu Dec 5 18:58:07 2013 +0000 Actually create a nested CPR worker-wrapper >--------------------------------------------------------------- 17b0d72ba7e52e12c13c2dedab91f4f2d07e040d compiler/basicTypes/Demand.lhs | 20 ++++--- compiler/stranal/WwLib.lhs | 129 ++++++++++++++++++++++++++-------------- 2 files changed, 94 insertions(+), 55 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 17b0d72ba7e52e12c13c2dedab91f4f2d07e040d From git at git.haskell.org Fri Jan 17 23:50:23 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:23 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Inline the datacon wrapper more aggressively (7a16718) Message-ID: <20140117235023.A4D242406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/7a16718e934b0a6db8ac719c1a6eab8d2100ee36/ghc >--------------------------------------------------------------- commit 7a16718e934b0a6db8ac719c1a6eab8d2100ee36 Author: Joachim Breitner Date: Tue Jan 14 10:18:48 2014 +0000 Inline the datacon wrapper more aggressively so that the CPR analysis find the real constructor and can return a nested CPR result. An alternative would be to look through the unfolding and analize that (but that would only be a good idea if the wrapper is going to be inlined afterwards), or special-case wrappers in the demand analyzer. Both not very nice. According to nofib: The impact of this is (on code size and allocations) is ... nil. >--------------------------------------------------------------- 7a16718e934b0a6db8ac719c1a6eab8d2100ee36 compiler/basicTypes/MkId.lhs | 2 +- compiler/coreSyn/CoreUnfold.lhs | 31 ++++++++++++++++++++ .../tests/deSugar/should_compile/T2431.stderr | 2 +- .../tests/simplCore/should_compile/T7360.stderr | 2 +- 4 files changed, 34 insertions(+), 3 deletions(-) diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs index b7716b2..150cf0d 100644 --- a/compiler/basicTypes/MkId.lhs +++ b/compiler/basicTypes/MkId.lhs @@ -513,7 +513,7 @@ mkDataConRep dflags fam_envs wrap_name data_con -- ...(let w = C x in ...(w p q)...)... -- we want to see that w is strict in its two arguments - wrap_unf = mkInlineUnfolding (Just wrap_arity) wrap_rhs + wrap_unf = mkDataConWrapUnfolding wrap_arity wrap_rhs wrap_tvs = (univ_tvs `minusList` map fst eq_spec) ++ ex_tvs wrap_rhs = mkLams wrap_tvs $ mkLams wrap_args $ diff --git a/compiler/coreSyn/CoreUnfold.lhs b/compiler/coreSyn/CoreUnfold.lhs index a219de8..2df8139 100644 --- a/compiler/coreSyn/CoreUnfold.lhs +++ b/compiler/coreSyn/CoreUnfold.lhs @@ -29,6 +29,7 @@ module CoreUnfold ( mkUnfolding, mkCoreUnfolding, mkTopUnfolding, mkSimpleUnfolding, mkInlineUnfolding, mkInlinableUnfolding, mkWwInlineRule, + mkDataConWrapUnfolding, mkCompulsoryUnfolding, mkDFunUnfolding, interestingArg, ArgSummary(..), @@ -127,6 +128,16 @@ mkInlineUnfolding mb_arity expr boring_ok = inlineBoringOk expr' +mkDataConWrapUnfolding :: Arity -> CoreExpr -> Unfolding +mkDataConWrapUnfolding arity expr + = mkCoreUnfolding InlineStable + True + expr' arity + (UnfWhen needSaturated boringCxtOk) + -- Note [Inline data constructor wrappers aggresively] + where + expr' = simpleOptExpr expr + mkInlinableUnfolding :: DynFlags -> CoreExpr -> Unfolding mkInlinableUnfolding dflags expr = mkUnfolding dflags InlineStable True is_bot expr' @@ -199,6 +210,26 @@ This can occasionally mean that the guidance is very pessimistic; it gets fixed up next round. And it should be rare, because large let-bound things that are dead are usually caught by preInlineUnconditionally +Note [Inline data constructor wrappers aggresively] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The wrappers for strict data type constructors are to be inlined even in +a boring context. This increases the chance that the demand analyzer will +see the real constructor and return a nested CPR property. + +For example: + data P a = P !a !b + f :: Int -> P Int Int + f x = P x x +previously, the demand analyzer would only see + f x = $WP x x +and infer a strictness signature of "m(,)", i.e. a non-nested CPR property. + +But if we inline $WP, we get + f x = case x of _ -> P x x +and we would get ",m(t(),t())", i.e. a nested CPR property. + +A real world example of this issue is the function mean in [ticket:2289#comment:1]. + %************************************************************************ %* * diff --git a/testsuite/tests/deSugar/should_compile/T2431.stderr b/testsuite/tests/deSugar/should_compile/T2431.stderr index dbafaed..0d68d40 100644 --- a/testsuite/tests/deSugar/should_compile/T2431.stderr +++ b/testsuite/tests/deSugar/should_compile/T2431.stderr @@ -8,7 +8,7 @@ T2431.$WRefl [InlPrag=INLINE] :: forall a. a T2431.:~: a Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, - Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=False) + Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= \ (@ a) -> T2431.Refl @ a @ a @~ _N}] T2431.$WRefl = \ (@ a) -> T2431.Refl @ a @ a @~ _N diff --git a/testsuite/tests/simplCore/should_compile/T7360.stderr b/testsuite/tests/simplCore/should_compile/T7360.stderr index 51207a6..b3f70e9 100644 --- a/testsuite/tests/simplCore/should_compile/T7360.stderr +++ b/testsuite/tests/simplCore/should_compile/T7360.stderr @@ -9,7 +9,7 @@ T7360.$WFoo3 [InlPrag=INLINE] :: GHC.Types.Int -> T7360.Foo Str=DmdType m3, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, - Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=False) + Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= \ (dt [Occ=Once!] :: GHC.Types.Int) -> case dt of _ [Occ=Dead] { GHC.Types.I# dt [Occ=Once] -> T7360.Foo3 dt From git at git.haskell.org Fri Jan 17 23:50:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:26 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Add a testcase with an infinite CPR property (99ad23c) Message-ID: <20140117235026.D48752406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/99ad23c953a542e12b81b80027b6a3978b42e0db/ghc >--------------------------------------------------------------- commit 99ad23c953a542e12b81b80027b6a3978b42e0db Author: Joachim Breitner Date: Fri Jan 17 09:48:39 2014 +0000 Add a testcase with an infinite CPR property >--------------------------------------------------------------- 99ad23c953a542e12b81b80027b6a3978b42e0db testsuite/tests/stranal/sigs/InfiniteCPR.hs | 10 ++++++++++ .../tests/stranal/sigs/{T8569.stderr => InfiniteCPR.stderr} | 2 +- testsuite/tests/stranal/sigs/all.T | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/testsuite/tests/stranal/sigs/InfiniteCPR.hs b/testsuite/tests/stranal/sigs/InfiniteCPR.hs new file mode 100644 index 0000000..f814792 --- /dev/null +++ b/testsuite/tests/stranal/sigs/InfiniteCPR.hs @@ -0,0 +1,10 @@ +module InfiniteCPR where + +data Rec1 = Foo Rec2 Rec2 +data Rec2 = Bar Rec1 Rec1 + +f a = + let x = Foo a y + y = Bar x x + in x + diff --git a/testsuite/tests/stranal/sigs/T8569.stderr b/testsuite/tests/stranal/sigs/InfiniteCPR.stderr similarity index 63% copy from testsuite/tests/stranal/sigs/T8569.stderr copy to testsuite/tests/stranal/sigs/InfiniteCPR.stderr index d33935e..70a3cdf 100644 --- a/testsuite/tests/stranal/sigs/T8569.stderr +++ b/testsuite/tests/stranal/sigs/InfiniteCPR.stderr @@ -1,5 +1,5 @@ ==================== Strictness signatures ==================== -T8569.addUp: +InfiniteCPR.f: m(,m(tm(,),tm(,))) diff --git a/testsuite/tests/stranal/sigs/all.T b/testsuite/tests/stranal/sigs/all.T index 3e271c5..a59958d 100644 --- a/testsuite/tests/stranal/sigs/all.T +++ b/testsuite/tests/stranal/sigs/all.T @@ -14,3 +14,4 @@ test('T8598', normal, compile, ['']) test('FacState', expect_broken(1600), compile, ['']) test('UnsatFun', normal, compile, ['']) test('CaseBinderCPR', normal, compile, ['']) +test('InfiniteCPR', normal, compile, ['']) From git at git.haskell.org Fri Jan 17 23:50:29 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:29 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Mark FacState as not broken (051204f) Message-ID: <20140117235030.864292406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/051204f15c6b93637a536058a15c05458f28db96/ghc >--------------------------------------------------------------- commit 051204f15c6b93637a536058a15c05458f28db96 Author: Joachim Breitner Date: Fri Jan 17 09:59:14 2014 +0000 Mark FacState as not broken >--------------------------------------------------------------- 051204f15c6b93637a536058a15c05458f28db96 testsuite/tests/stranal/sigs/FacState.stderr | 2 +- testsuite/tests/stranal/sigs/all.T | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/testsuite/tests/stranal/sigs/FacState.stderr b/testsuite/tests/stranal/sigs/FacState.stderr index 133ad6e..9757620 100644 --- a/testsuite/tests/stranal/sigs/FacState.stderr +++ b/testsuite/tests/stranal/sigs/FacState.stderr @@ -1,5 +1,5 @@ ==================== Strictness signatures ==================== -FacState.fac: dm1(d,tm1(d)) +FacState.fac: m(,tm(t)) diff --git a/testsuite/tests/stranal/sigs/all.T b/testsuite/tests/stranal/sigs/all.T index a59958d..1794cad 100644 --- a/testsuite/tests/stranal/sigs/all.T +++ b/testsuite/tests/stranal/sigs/all.T @@ -11,7 +11,7 @@ test('StrAnalExample', normal, compile, ['']) test('T8569', expect_broken(8569), compile, ['']) test('HyperStrUse', normal, compile, ['']) test('T8598', normal, compile, ['']) -test('FacState', expect_broken(1600), compile, ['']) +test('FacState', normal, compile, ['']) test('UnsatFun', normal, compile, ['']) test('CaseBinderCPR', normal, compile, ['']) test('InfiniteCPR', normal, compile, ['']) From git at git.haskell.org Fri Jan 17 23:50:32 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:32 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Do not attach CPR information to data constructor ids (6a238e3) Message-ID: <20140117235032.556182406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/6a238e34ddd9f9a4ad705d46819c7234ca92e166/ghc >--------------------------------------------------------------- commit 6a238e34ddd9f9a4ad705d46819c7234ca92e166 Author: Joachim Breitner Date: Fri Jan 17 10:36:09 2014 +0000 Do not attach CPR information to data constructor ids because the worker is handled specially by the demand analyser, and the wrapper is expected to be inlined before that. There are corner cases (such as undersaturated calls) where this loses information, but nofib does not know any of these. On the other side it simplifies and removes code, and it makes it easier to get holdof the DynFlags whenever we create CPR information. >--------------------------------------------------------------- 6a238e34ddd9f9a4ad705d46819c7234ca92e166 compiler/basicTypes/Demand.lhs | 5 +-- compiler/basicTypes/MkId.lhs | 37 ++------------------ .../tests/simplCore/should_compile/T7360.stderr | 2 +- 3 files changed, 4 insertions(+), 40 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 475890c..0a864ed 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -28,7 +28,7 @@ module Demand ( DmdResult, CPRResult, isBotRes, isTopRes, getDmdResult, resTypeArgDmd, - topRes, convRes, botRes, cprProdRes, vanillaCprProdRes, cprSumRes, + topRes, convRes, botRes, cprProdRes, cprSumRes, splitNestedRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, returnsCPR_maybe, @@ -876,9 +876,6 @@ forgetSumCPR_help (RetProd ds) = RetProd (map forgetSumCPR ds) forgetSumCPR_help (RetSum _) = NoCPR forgetSumCPR_help NoCPR = NoCPR -vanillaCprProdRes :: Arity -> DmdResult -vanillaCprProdRes arity = cprProdRes (replicate arity topRes) - splitNestedRes :: DmdResult -> [DmdResult] splitNestedRes Diverges = repeat topRes splitNestedRes (Dunno c) = splitNestedCPR c diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs index 150cf0d..1e6f3ee 100644 --- a/compiler/basicTypes/MkId.lhs +++ b/compiler/basicTypes/MkId.lhs @@ -389,11 +389,9 @@ mkDataConWorkId wkr_name data_con wkr_arity = dataConRepArity data_con wkr_info = noCafIdInfo `setArityInfo` wkr_arity - `setStrictnessInfo` wkr_sig `setUnfoldingInfo` evaldUnfolding -- Record that it's evaluated, -- even if arity = 0 - wkr_sig = mkClosedStrictSig (replicate wkr_arity topDmd) (dataConCPR data_con) -- Note [Data-con worker strictness] -- Notice that we do *not* say the worker is strict -- even if the data constructor is declared strict @@ -426,33 +424,6 @@ mkDataConWorkId wkr_name data_con mkCompulsoryUnfolding $ mkLams nt_tvs $ Lam id_arg1 $ wrapNewTypeBody tycon res_ty_args (Var id_arg1) - -dataConCPR :: DataCon -> DmdResult -dataConCPR con - | isDataTyCon tycon -- Real data types only; that is, - -- not unboxed tuples or newtypes - , isVanillaDataCon con -- No existentials - , wkr_arity > 0 - , wkr_arity <= mAX_CPR_SIZE - = if is_prod then vanillaCprProdRes (dataConRepArity con) - else cprSumRes (dataConTag con) - | otherwise - = topRes - where - is_prod = isProductTyCon tycon - tycon = dataConTyCon con - wkr_arity = dataConRepArity con - - mAX_CPR_SIZE :: Arity - mAX_CPR_SIZE = 10 - -- We do not treat very big tuples as CPR-ish: - -- a) for a start we get into trouble because there aren't - -- "enough" unboxed tuple types (a tiresome restriction, - -- but hard to fix), - -- b) more importantly, big unboxed tuples get returned mainly - -- on the stack, and are often then allocated in the heap - -- by the caller. So doing CPR for them may in fact make - -- things worse. \end{code} ------------------------------------------------- @@ -497,16 +468,12 @@ mkDataConRep dflags fam_envs wrap_name data_con -- does not tidy the IdInfo of implicit bindings (like the wrapper) -- so it not make sure that the CAF info is sane - wrap_sig_conv = mkClosedStrictSig wrap_arg_dmds (dataConCPR data_con) - wrap_sig | any isBanged (dropList eq_spec wrap_bangs) = sigMayDiverge wrap_sig_conv - | otherwise = wrap_sig_conv + wrap_sig = mkClosedStrictSig wrap_arg_dmds topRes wrap_arg_dmds = map mk_dmd (dropList eq_spec wrap_bangs) mk_dmd str | isBanged str = evalDmd | otherwise = topDmd - -- The Cpr info can be important inside INLINE rhss, where the - -- wrapper constructor isn't inlined. - -- And the argument strictness can be important too; we + -- The argument strictness can be important; we -- may not inline a contructor when it is partially applied. -- For example: -- data W = C !Int !Int !Int diff --git a/testsuite/tests/simplCore/should_compile/T7360.stderr b/testsuite/tests/simplCore/should_compile/T7360.stderr index b3f70e9..627dc32 100644 --- a/testsuite/tests/simplCore/should_compile/T7360.stderr +++ b/testsuite/tests/simplCore/should_compile/T7360.stderr @@ -6,7 +6,7 @@ T7360.$WFoo3 [InlPrag=INLINE] :: GHC.Types.Int -> T7360.Foo [GblId[DataConWrapper], Arity=1, Caf=NoCafRefs, - Str=DmdType m3, + Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) From git at git.haskell.org Fri Jan 17 23:50:34 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:34 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Remove dmdTransformDataConSig (35001b7) Message-ID: <20140117235034.DE93D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/35001b7b2f3c9412cdec751d6db4a9b665540351/ghc >--------------------------------------------------------------- commit 35001b7b2f3c9412cdec751d6db4a9b665540351 Author: Joachim Breitner Date: Fri Jan 17 10:46:45 2014 +0000 Remove dmdTransformDataConSig it does nothing that dmdAnalVarApp would not have done before >--------------------------------------------------------------- 35001b7b2f3c9412cdec751d6db4a9b665540351 compiler/basicTypes/Demand.lhs | 26 +------------------------- compiler/stranal/DmdAnal.lhs | 4 ---- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 0a864ed..763e466 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -45,7 +45,7 @@ module Demand ( postProcessUnsat, postProcessDmdTypeM, splitProdDmd, splitProdDmd_maybe, peelCallDmd, mkCallDmd, mkCallDmdN, - dmdTransformSig, dmdTransformDataConSig, dmdTransformDictSelSig, + dmdTransformSig, dmdTransformDictSelSig, argOneShots, argsOneShots, isSingleUsed, reuseEnv, zapDemand, zapStrictSig, @@ -1538,30 +1538,6 @@ dmdTransformSig (StrictSig dmd_ty@(DmdType _ arg_ds _)) cd = postProcessUnsat (peelManyCalls (length arg_ds) cd) dmd_ty -- see Note [Demands from unsaturated function calls] -dmdTransformDataConSig :: Arity -> StrictSig -> CleanDemand -> DmdType --- Same as dmdTransformSig but for a data constructor (worker), --- which has a special kind of demand transformer. --- If the constructor is saturated, we feed the demand on --- the result into the constructor arguments. -dmdTransformDataConSig arity (StrictSig (DmdType _ _ con_res)) - (CD { sd = str, ud = abs }) - | Just str_dmds <- go_str arity str - , Just abs_dmds <- go_abs arity abs - = DmdType emptyDmdEnv (mkJointDmds str_dmds abs_dmds) con_res - -- Must remember whether it's a product, hence con_res, not TopRes - - | otherwise -- Not saturated - = nopDmdType - where - go_str 0 dmd = Just (splitStrProdDmd arity dmd) - go_str n (SCall s') = go_str (n-1) s' - go_str n HyperStr = go_str (n-1) HyperStr - go_str _ _ = Nothing - - go_abs 0 dmd = Just (splitUseProdDmd arity dmd) - go_abs n (UCall One u') = go_abs (n-1) u' - go_abs _ _ = Nothing - dmdTransformDictSelSig :: StrictSig -> CleanDemand -> DmdType -- Like dmdTransformDataConSig, we have a special demand transformer -- for dictionary selectors. If the selector is saturated (ie has one diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index a1e5eba..f0017bb 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -510,10 +510,6 @@ dmdTransform :: AnalEnv -- The strictness environment -- this function plus demand on its free variables dmdTransform env var dmd - | isDataConWorkId var -- Data constructor - = dmdTransformDataConSig - (idArity var) (idStrictness var) dmd - | gopt Opt_DmdTxDictSel (ae_dflags env), Just _ <- isClassOpId_maybe var -- Dictionary component selector = dmdTransformDictSelSig (idStrictness var) dmd From git at git.haskell.org Fri Jan 17 23:50:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:37 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Unify the code paths that create cpr signatures (e3b5912) Message-ID: <20140117235037.EDEDE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/e3b5912a10a2f21348d151fc5c30194abf22ac33/ghc >--------------------------------------------------------------- commit e3b5912a10a2f21348d151fc5c30194abf22ac33 Author: Joachim Breitner Date: Fri Jan 17 12:03:42 2014 +0000 Unify the code paths that create cpr signatures >--------------------------------------------------------------- e3b5912a10a2f21348d151fc5c30194abf22ac33 compiler/basicTypes/Demand.lhs | 18 +++++++++++------- compiler/stranal/DmdAnal.lhs | 13 +++++++------ 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index 763e466..e8dbd13 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -19,7 +19,7 @@ module Demand ( peelUseCall, cleanUseDmd_maybe, strictenDmd, bothCleanDmd, DmdType(..), dmdTypeDepth, lubDmdType, lubDmdTypes, bothDmdType, - nopDmdType, litDmdType, botDmdType, mkDmdType, + nopDmdType, litDmdType, botDmdType, mkDmdType, cprProdDmdType, cprSumDmdType, addDemand, BothDmdArg, mkBothDmdArg, toBothDmdArg, @@ -28,7 +28,7 @@ module Demand ( DmdResult, CPRResult, isBotRes, isTopRes, getDmdResult, resTypeArgDmd, - topRes, convRes, botRes, cprProdRes, cprSumRes, + topRes, convRes, botRes, splitNestedRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, returnsCPR_maybe, @@ -1138,9 +1138,13 @@ nopDmdType = DmdType emptyDmdEnv [] topRes botDmdType = DmdType emptyDmdEnv [] botRes litDmdType = DmdType emptyDmdEnv [] convRes -cprProdDmdType :: Arity -> DmdType -cprProdDmdType arity - = DmdType emptyDmdEnv [] (Dunno (RetProd (replicate arity topRes))) +cprProdDmdType :: [DmdResult] -> DmdType +cprProdDmdType arg_ress + = DmdType emptyDmdEnv [] $ cprProdRes arg_ress + +cprSumDmdType :: ConTag -> DmdType +cprSumDmdType tag + = DmdType emptyDmdEnv [] $ cprSumRes tag isNopDmdType :: DmdType -> Bool isNopDmdType (DmdType env [] res) @@ -1492,8 +1496,8 @@ nopSig, botSig :: StrictSig nopSig = StrictSig nopDmdType botSig = StrictSig botDmdType -cprProdSig :: Arity -> StrictSig -cprProdSig arity = StrictSig (cprProdDmdType arity) +cprProdSig :: [DmdResult] -> StrictSig +cprProdSig arg_ress = StrictSig (cprProdDmdType arg_ress) sigMayDiverge :: StrictSig -> StrictSig sigMayDiverge (StrictSig (DmdType env ds res)) = (StrictSig (DmdType env ds (divergeDmdResult res))) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index f0017bb..4342406 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -208,7 +208,7 @@ dmdAnal env dmd (Case scrut case_bndr ty [alt@(DataAlt dc, bndrs, _)]) -- Build a surely converging, CPR carrying signature for the builder, -- and for the components use what we get from the scrunitee - case_bndr_sig = mkClosedStrictSig [] (cprProdRes comp_rets) + case_bndr_sig = cprProdSig comp_rets env_w_tc = env { ae_rec_tc = rec_tc' } env_alt = extendAnalEnvs NotTopLevel env_w_tc $ @@ -239,7 +239,7 @@ dmdAnal env dmd (Case scrut case_bndr ty [alt@(DataAlt dc, _, _)]) (alt_ty, alt') = dmdAnalAlt env_alt dmd alt (alt_ty1, case_bndr') = annotateBndr env alt_ty case_bndr (_, bndrs', _) = alt' - case_bndr_sig = cprProdSig (dataConRepArity dc) + case_bndr_sig = cprProdSig (replicate (dataConRepArity dc) topRes) -- Inside the alternative, the case binder has the CPR property, and -- is known to converge. -- Meaning that a case on it will successfully cancel. @@ -569,9 +569,9 @@ dmdAnalVarApp env dmd fun args , dataConRepArity con > 0 , dataConRepArity con < 10 , let cpr_info - | isProductTyCon (dataConTyCon con) = cprProdRes arg_rets - | otherwise = cprSumRes (dataConTag con) - res_ty = foldl bothDmdType (DmdType emptyDmdEnv [] cpr_info) arg_tys + | isProductTyCon (dataConTyCon con) = cprProdDmdType arg_rets + | otherwise = cprSumDmdType (dataConTag con) + res_ty = foldl bothDmdType cpr_info arg_tys = -- pprTrace "dmdAnalVarApp" (vcat [ ppr con, ppr args, ppr n_val_args, ppr cxt_ds -- , ppr arg_tys, ppr cpr_info, ppr res_ty]) $ ( res_ty @@ -1186,7 +1186,8 @@ extendSigsWithLam env id -- See Note [Optimistic CPR in the "virgin" case] -- See Note [Initial CPR for strict binders] , Just (dc,_,_,_) <- deepSplitProductType_maybe $ idType id - = extendAnalEnv NotTopLevel env id (sigMayDiverge (cprProdSig (dataConRepArity dc))) + = extendAnalEnv NotTopLevel env id $ sigMayDiverge $ + cprProdSig (replicate (dataConRepArity dc) topRes) | otherwise = env From git at git.haskell.org Fri Jan 17 23:50:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:42 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Replace static CPR flags by dynamic -fcpr-depth (66abd95) Message-ID: <20140117235042.4BFA52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/66abd95843ee01b1d0a0276787fcb70226c48870/ghc >--------------------------------------------------------------- commit 66abd95843ee01b1d0a0276787fcb70226c48870 Author: Joachim Breitner Date: Fri Jan 17 13:12:28 2014 +0000 Replace static CPR flags by dynamic -fcpr-depth which can disable cpr altogether (=0), disable nested cpr (=1) or finetune cpr. Also includes a testcase for this. >--------------------------------------------------------------- 66abd95843ee01b1d0a0276787fcb70226c48870 compiler/basicTypes/Demand.lhs | 52 +++++++------------- compiler/main/DynFlags.hs | 6 +++ compiler/main/StaticFlags.hs | 13 +---- compiler/stranal/DmdAnal.lhs | 12 +++-- docs/users_guide/flags.xml | 9 ++++ .../sigs/{InfiniteCPR.hs => InfiniteCPRDepth0.hs} | 2 + .../{T8569.stderr => InfiniteCPRDepth0.stderr} | 2 +- .../sigs/{InfiniteCPR.hs => InfiniteCPRDepth1.hs} | 2 + .../{T8569.stderr => InfiniteCPRDepth1.stderr} | 2 +- testsuite/tests/stranal/sigs/all.T | 2 + 10 files changed, 48 insertions(+), 54 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 66abd95843ee01b1d0a0276787fcb70226c48870 From git at git.haskell.org Fri Jan 17 23:50:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 17 Jan 2014 23:50:45 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr's head updated: Replace static CPR flags by dynamic -fcpr-depth (66abd95) Message-ID: <20140117235045.0CDB92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc Branch 'wip/nested-cpr' now includes: 235fd88 Turn -XTypeHoles into a (on by default) warning 89c83d6 Update to `terminfo-0.4.0.0`/`haskeline-0.7.1.2` 778b48a s/warn-type-holes/warn-typed-holes/g d1712db In rts/Printer.c, print exact UPDATE_FRAME type 20a25b5 PLT Redex definition of an STG-like language, as-per the fast curry paper. 3428f76 Cache compiler info in DynFlags d0ed1ff Don't pass -nodefaultlibs to Clang dbc4605 Fix ghciprog004 when built with Clang 69cf5c4 Update to `containers-0.5.4.0` 61395b5 type-rep is only broken when debugging is on f0a7261 Disable -fregs-graph (#7679, #8657) 78a506a Documentation on the stack layout algorithm eec0b58 bump bounds for T6048 11f5cd9 Typo in comment eaa37a0 Add a way to reserve temporary stack space in high-level Cmm 58e5843 Allow the argument to 'reserve' to be a compile-time expression b41821b Update to current Cabal 1.18 branch tip ab74d75 Replace worthSplittingThunkDmd by worthSplittingArgDmd 7cdf141 Refactor WorkWrap, get rid of worthSplittingArgDmd b26e2f9 Remove unused returnsCPR 59f491a ...and clean up the imports 8c41989 Strictify the demand on unlifted arguments 5c14e89 Add Converges to DmdResult cbc2b1e In deferType, return convRes = Converges NoCPR ca937b3 Mark the scrunitee of a multi-way-case as converging 80eca46 Literals are Converging 9809d5a Some primitive operations are converging b47bd78 Note [Termination information and arguments] 452378b Variables of unlifted types are always converging 5ab2af6 Initial work on Nested CPR 9efa6f3 Limit the depth of the CPR information 346b7e5 Add a flag -fnested-cpr-off to conveniently test the effect of nested CPR 8b03018 Refactor trimCPRInfo away 95cdc08 Pass nested CPR information from scrunitee to body 4644cd9 CPR test case: Case binder CPR 17b0d72 Actually create a nested CPR worker-wrapper 7a16718 Inline the datacon wrapper more aggressively 99ad23c Add a testcase with an infinite CPR property 051204f Mark FacState as not broken 6a238e3 Do not attach CPR information to data constructor ids 35001b7 Remove dmdTransformDataConSig e3b5912 Unify the code paths that create cpr signatures 66abd95 Replace static CPR flags by dynamic -fcpr-depth From git at git.haskell.org Sat Jan 18 11:02:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 18 Jan 2014 11:02:37 +0000 (UTC) Subject: [commit: ghc] master: Enable LLVM-based code generation for FreeBSD/amd64. (0d90cbc) Message-ID: <20140118110238.B4B762406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0d90cbc988af31ff8ea35120203bd9d252d8055e/ghc >--------------------------------------------------------------- commit 0d90cbc988af31ff8ea35120203bd9d252d8055e Author: Gabor Pali Date: Fri Jan 17 20:13:02 2014 +0100 Enable LLVM-based code generation for FreeBSD/amd64. >--------------------------------------------------------------- 0d90cbc988af31ff8ea35120203bd9d252d8055e compiler/main/DynFlags.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 36f453f..2d0165b 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -3647,7 +3647,7 @@ makeDynFlagsConsistent dflags warn = "No native code generator, so using LLVM" in loop dflags' warn | hscTarget dflags == HscLlvm && - not ((arch == ArchX86_64) && (os == OSLinux || os == OSDarwin)) && + not ((arch == ArchX86_64) && (os == OSLinux || os == OSDarwin || os == OSFreeBSD)) && not ((isARM arch) && (os == OSLinux)) && (not (gopt Opt_Static dflags) || gopt Opt_PIC dflags) = if cGhcWithNativeCodeGen == "YES" From git at git.haskell.org Sat Jan 18 11:02:40 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 18 Jan 2014 11:02:40 +0000 (UTC) Subject: [commit: ghc] master: Allow "amd64" to be recognized as an x86_64 platform. (c3b8b3a) Message-ID: <20140118110240.3285D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/c3b8b3ab27f092c83e08915e3de0bde29321cd31/ghc >--------------------------------------------------------------- commit c3b8b3ab27f092c83e08915e3de0bde29321cd31 Author: Gabor Pali Date: Fri Jan 17 20:15:35 2014 +0100 Allow "amd64" to be recognized as an x86_64 platform. >--------------------------------------------------------------- c3b8b3ab27f092c83e08915e3de0bde29321cd31 aclocal.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index 63e8462..a30fa4f 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -181,7 +181,7 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_VARS], i386) test -z "[$]2" || eval "[$]2=ArchX86" ;; - x86_64) + x86_64|amd64) test -z "[$]2" || eval "[$]2=ArchX86_64" ;; powerpc) @@ -1885,7 +1885,7 @@ case "$1" in vax) $2="vax" ;; - x86_64) + x86_64|amd64) $2="x86_64" ;; *) From git at git.haskell.org Sat Jan 18 11:02:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 18 Jan 2014 11:02:42 +0000 (UTC) Subject: [commit: ghc] master: Re-enable DYNAMIC_GHC_PROGRAMS for FreeBSD. (bcc5c95) Message-ID: <20140118110242.BCDBF2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/bcc5c953f80c53732172345639f30974b9862043/ghc >--------------------------------------------------------------- commit bcc5c953f80c53732172345639f30974b9862043 Author: Gabor Pali Date: Fri Jan 17 20:24:00 2014 +0100 Re-enable DYNAMIC_GHC_PROGRAMS for FreeBSD. All actively supported releases (8.4-RELEASE, 9.2-RELEASE and the upcoming 10.0-RELEASE) now support resolution of $ORIGIN properly. >--------------------------------------------------------------- bcc5c953f80c53732172345639f30974b9862043 mk/config.mk.in | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mk/config.mk.in b/mk/config.mk.in index 350ea69..b3d6995 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -138,10 +138,6 @@ ifeq "$(TargetOS_CPP)" "mingw32" # This doesn't work on Windows yet DYNAMIC_GHC_PROGRAMS = NO DYNAMIC_TOO=NO -else ifeq "$(TargetOS_CPP)" "freebsd" -# FreeBSD cannot do proper resolution for $ORIGIN (due to a bug in -# rtld(1)), so disable it by default (see #7819). -DYNAMIC_GHC_PROGRAMS = NO else ifeq "$(PlatformSupportsSharedLibs)" "NO" DYNAMIC_GHC_PROGRAMS = NO else From git at git.haskell.org Sat Jan 18 11:02:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 18 Jan 2014 11:02:45 +0000 (UTC) Subject: [commit: ghc] master: Fix #8451 (1ad599e) Message-ID: <20140118110245.B8BB02406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/1ad599ea241626f47006fa386e4aaf38dc91fdbb/ghc >--------------------------------------------------------------- commit 1ad599ea241626f47006fa386e4aaf38dc91fdbb Author: Gabor Pali Date: Sat Jan 18 03:02:21 2014 +0100 Fix #8451 On FreeBSD, /usr/lib has to be added to the library path on linking when libthr is needed but -nostdlib is used (which is the case when the -prof and -threaded flags are combined). >--------------------------------------------------------------- 1ad599ea241626f47006fa386e4aaf38dc91fdbb compiler/main/DriverPipeline.hs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index 19fb717..b2f182a 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -2124,12 +2124,16 @@ joinObjectFiles :: DynFlags -> [FilePath] -> FilePath -> IO () joinObjectFiles dflags o_files output_fn = do let mySettings = settings dflags ldIsGnuLd = sLdIsGnuLd mySettings + osInfo = platformOS (targetPlatform dflags) ld_r args ccInfo = SysTools.runLink dflags ([ SysTools.Option "-nostdlib", SysTools.Option "-Wl,-r" ] ++ (if ccInfo == Clang then [] else [SysTools.Option "-nodefaultlibs"]) + ++ (if osInfo == OSFreeBSD + then [SysTools.Option "-L/usr/lib"] + else []) -- gcc on sparc sets -Wl,--relax implicitly, but -- -r and --relax are incompatible for ld, so -- disable --relax explicitly. From git at git.haskell.org Sat Jan 18 13:24:20 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 18 Jan 2014 13:24:20 +0000 (UTC) Subject: [commit: ghc] wip/pattern-synonyms: Implement pattern synonyms (1f9dcd0) Message-ID: <20140118132420.A38F22406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/pattern-synonyms Link : http://ghc.haskell.org/trac/ghc/changeset/1f9dcd02b65cc5711f0251528fd50c9e776c584f/ghc >--------------------------------------------------------------- commit 1f9dcd02b65cc5711f0251528fd50c9e776c584f Author: Dr. ERDI Gergo Date: Mon Jan 13 20:12:34 2014 +0800 Implement pattern synonyms This patch implements Pattern Synonyms (enabled by -XPatternSynonyms), allowing y ou to assign names to a pattern and abstract over it. The rundown is this: * Named patterns are introduced by the new 'pattern' keyword, and can be either *unidirectional* or *bidirectional*. A unidirectional pattern is, in the simplest sense, simply an 'alias' for a pattern, where the LHS may mention variables to occur in the RHS. A bidirectional pattern synonym occurs when a pattern may also be used in expression context. * Unidirectional patterns are declared like thus: pattern P x <- x:_ The synonym 'P' may only occur in a pattern context: foo :: [Int] -> Maybe Int foo (P x) = Just x foo _ = Nothing * Bidirectional patterns are declared like thus: pattern P x y = [x, y] Here, P may not only occur as a pattern, but also as an expression when given values for 'x' and 'y', i.e. bar :: Int -> [Int] bar x = P x 10 * Patterns can't yet have their own type signatures; signatures are inferred. * Pattern synonyms may not be recursive, c.f. type synonyms. * Pattern synonyms are also exported/imported using the 'pattern' keyword in an import/export decl, i.e. module Foo (pattern Bar) where ... Note that pattern synonyms share the namespace of constructors, so this disambiguation is required as a there may also be a 'Bar' type in scope as well as the 'Bar' pattern. * The semantics of a pattern synonym differ slightly from a typical pattern: when using a synonym, the pattern itself is matched, followed by all the arguments. This means that the strictness differs slightly: pattern P x y <- [x, y] f (P True True) = True f _ = False g [True, True] = True g _ = False In the example, while `g (False:undefined)` evaluates to False, `f (False:undefined)` results in undefined as both `x` and `y` arguments are matched to `True`. For more information, see the wiki: https://ghc.haskell.org/trac/ghc/wiki/PatternSynonyms https://ghc.haskell.org/trac/ghc/wiki/PatternSynonyms/Implementation Reviewed-by: Simon Peyton Jones Signed-off-by: Austin Seipp >--------------------------------------------------------------- 1f9dcd02b65cc5711f0251528fd50c9e776c584f compiler/basicTypes/BasicTypes.lhs | 20 ++ compiler/basicTypes/ConLike.lhs | 82 +++++ compiler/basicTypes/DataCon.lhs-boot | 9 +- compiler/basicTypes/OccName.lhs | 5 +- compiler/basicTypes/PatSyn.lhs | 225 ++++++++++++++ compiler/basicTypes/PatSyn.lhs-boot | 19 ++ compiler/deSugar/Check.lhs | 52 +++- compiler/deSugar/Coverage.lhs | 9 +- compiler/deSugar/Desugar.lhs | 17 +- compiler/deSugar/DsBinds.lhs | 12 +- compiler/deSugar/DsExpr.lhs | 13 +- compiler/deSugar/DsMeta.hs | 4 +- compiler/deSugar/DsMonad.lhs | 18 +- compiler/deSugar/DsUtils.lhs | 236 ++++++++------ compiler/deSugar/Match.lhs | 28 +- compiler/deSugar/MatchCon.lhs | 59 +++- compiler/ghc.cabal.in | 3 + compiler/ghc.mk | 2 + compiler/hsSyn/Convert.lhs | 8 +- compiler/hsSyn/HsBinds.lhs | 100 +++++- compiler/hsSyn/HsExpr.lhs | 4 + compiler/hsSyn/HsPat.lhs | 22 +- compiler/hsSyn/HsPat.lhs-boot | 2 + compiler/hsSyn/HsTypes.lhs | 12 +- compiler/hsSyn/HsUtils.lhs | 28 +- compiler/iface/BinIface.hs | 3 +- compiler/iface/BuildTyCl.lhs | 69 +++++ compiler/iface/IfaceSyn.lhs | 72 ++++- compiler/iface/MkIface.lhs | 30 +- compiler/iface/TcIface.lhs | 48 ++- compiler/main/DynFlags.hs | 4 +- compiler/main/HscMain.hs | 1 + compiler/main/HscStats.hs | 63 ++-- compiler/main/HscTypes.lhs | 58 +++- compiler/main/PprTyThing.hs | 29 +- compiler/main/TidyPgm.lhs | 11 +- compiler/parser/Lexer.x | 13 +- compiler/parser/Parser.y.pp | 18 ++ compiler/parser/RdrHsSyn.lhs | 8 +- compiler/prelude/TysWiredIn.lhs | 7 +- compiler/rename/RnBinds.lhs | 152 +++++++-- compiler/rename/RnEnv.lhs | 7 +- compiler/rename/RnNames.lhs | 18 ++ compiler/rename/RnPat.lhs | 26 +- compiler/rename/RnSource.lhs | 25 +- compiler/typecheck/TcBinds.lhs | 172 +++++++---- compiler/typecheck/TcClassDcl.lhs | 18 +- compiler/typecheck/TcDeriv.lhs | 3 +- compiler/typecheck/TcEnv.lhs | 16 +- compiler/typecheck/TcExpr.lhs | 12 +- compiler/typecheck/TcForeign.lhs | 3 +- compiler/typecheck/TcGenDeriv.lhs | 50 +-- compiler/typecheck/TcGenGenerics.lhs | 6 +- compiler/typecheck/TcHsSyn.lhs | 40 ++- compiler/typecheck/TcHsType.lhs | 3 +- compiler/typecheck/TcInstDcls.lhs | 28 +- compiler/typecheck/TcPat.lhs | 130 ++++++-- compiler/typecheck/TcPatSyn.lhs | 324 ++++++++++++++++++++ compiler/typecheck/TcPatSyn.lhs-boot | 16 + compiler/typecheck/TcRnDriver.lhs | 15 +- compiler/typecheck/TcRnMonad.lhs | 8 +- compiler/typecheck/TcRnTypes.lhs | 33 +- compiler/typecheck/TcSplice.lhs | 3 +- compiler/typecheck/TcTyClsDecls.lhs | 2 +- compiler/types/TypeRep.lhs | 10 +- compiler/utils/UniqFM.lhs | 13 + compiler/utils/UniqSet.lhs | 1 + docs/users_guide/glasgow_exts.xml | 299 ++++++++++++++++++ ghc/GhciTags.hs | 10 +- testsuite/tests/driver/T4437.hs | 3 +- testsuite/tests/ghc-api/T6145.hs | 10 +- testsuite/tests/{annotations => patsyn}/Makefile | 0 testsuite/tests/patsyn/should_compile/.gitignore | 9 + .../should_compile/Makefile | 0 testsuite/tests/patsyn/should_compile/all.T | 9 + testsuite/tests/patsyn/should_compile/bidir.hs | 6 + testsuite/tests/patsyn/should_compile/ex-num.hs | 9 + testsuite/tests/patsyn/should_compile/ex-prov.hs | 12 + testsuite/tests/patsyn/should_compile/ex-view.hs | 12 + testsuite/tests/patsyn/should_compile/ex.hs | 13 + .../tests/patsyn/should_compile/incomplete.hs | 11 + testsuite/tests/patsyn/should_compile/num.hs | 6 + testsuite/tests/patsyn/should_compile/overlap.hs | 9 + testsuite/tests/patsyn/should_compile/univ.hs | 11 + .../should_compile => patsyn/should_fail}/Makefile | 0 testsuite/tests/patsyn/should_fail/all.T | 3 + testsuite/tests/patsyn/should_fail/mono.hs | 7 + testsuite/tests/patsyn/should_fail/mono.stderr | 12 + testsuite/tests/patsyn/should_fail/unidir.hs | 4 + testsuite/tests/patsyn/should_fail/unidir.stderr | 4 + testsuite/tests/patsyn/should_run/.gitignore | 7 + .../should_compile => patsyn/should_run}/Makefile | 0 testsuite/tests/patsyn/should_run/all.T | 3 + testsuite/tests/patsyn/should_run/eval.hs | 22 ++ testsuite/tests/patsyn/should_run/eval.stdout | 7 + testsuite/tests/patsyn/should_run/ex-prov-run.hs | 21 ++ .../should_run/ex-prov-run.stdout} | 0 testsuite/tests/patsyn/should_run/match.hs | 21 ++ testsuite/tests/patsyn/should_run/match.stdout | 5 + utils/ghctags/Main.hs | 5 +- 100 files changed, 2623 insertions(+), 484 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 1f9dcd02b65cc5711f0251528fd50c9e776c584f From git at git.haskell.org Sat Jan 18 13:24:23 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 18 Jan 2014 13:24:23 +0000 (UTC) Subject: [commit: ghc] wip/pattern-synonyms: T7336 is expected to be broken because of a regression introduced by pattern synonym implementation (38ee06f) Message-ID: <20140118132423.255CC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/pattern-synonyms Link : http://ghc.haskell.org/trac/ghc/changeset/38ee06fc62ee32212306206a3e9534b84658bcb6/ghc >--------------------------------------------------------------- commit 38ee06fc62ee32212306206a3e9534b84658bcb6 Author: Dr. ERDI Gergo Date: Mon Jan 13 20:37:39 2014 +0800 T7336 is expected to be broken because of a regression introduced by pattern synonym implementation >--------------------------------------------------------------- 38ee06fc62ee32212306206a3e9534b84658bcb6 testsuite/tests/rename/should_compile/all.T | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/tests/rename/should_compile/all.T b/testsuite/tests/rename/should_compile/all.T index 3035e2c..0ce4ca1 100644 --- a/testsuite/tests/rename/should_compile/all.T +++ b/testsuite/tests/rename/should_compile/all.T @@ -201,7 +201,7 @@ test('dodgy', multimod_compile, ['dodgy', '-v0']) test('T7167', normal, compile, ['']) -test('T7336', normal, compile, ['-Wall']) +test('T7336', expect_broken(7336), compile, ['-Wall']) test('T2435', normal, multimod_compile, ['T2435','-v0']) test('T7963', From git at git.haskell.org Sat Jan 18 13:24:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sat, 18 Jan 2014 13:24:26 +0000 (UTC) Subject: [commit: ghc] wip/pattern-synonyms's head updated: T7336 is expected to be broken because of a regression introduced by pattern synonym implementation (38ee06f) Message-ID: <20140118132426.41E972406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc Branch 'wip/pattern-synonyms' now includes: 778b48a s/warn-type-holes/warn-typed-holes/g d1712db In rts/Printer.c, print exact UPDATE_FRAME type 20a25b5 PLT Redex definition of an STG-like language, as-per the fast curry paper. 3428f76 Cache compiler info in DynFlags d0ed1ff Don't pass -nodefaultlibs to Clang dbc4605 Fix ghciprog004 when built with Clang 69cf5c4 Update to `containers-0.5.4.0` 61395b5 type-rep is only broken when debugging is on f0a7261 Disable -fregs-graph (#7679, #8657) 78a506a Documentation on the stack layout algorithm eec0b58 bump bounds for T6048 11f5cd9 Typo in comment eaa37a0 Add a way to reserve temporary stack space in high-level Cmm 58e5843 Allow the argument to 'reserve' to be a compile-time expression b41821b Update to current Cabal 1.18 branch tip ab74d75 Replace worthSplittingThunkDmd by worthSplittingArgDmd 7cdf141 Refactor WorkWrap, get rid of worthSplittingArgDmd b26e2f9 Remove unused returnsCPR 59f491a ...and clean up the imports 98db754 Typos in comments 45d825b Add an expect-broken test for Trac #8566 9433f1d Tidy up Outputable.printDoc, and add printDoc_ 44dc0aa Eta expand data family instances before printing them 0f7381b Don't print roles for data instances 19e09df Add a test case for #5949 20b1a07 Add testcase for #4267 e4a4aba Fix #8675 0d90cbc Enable LLVM-based code generation for FreeBSD/amd64. c3b8b3a Allow "amd64" to be recognized as an x86_64 platform. bcc5c95 Re-enable DYNAMIC_GHC_PROGRAMS for FreeBSD. 1ad599e Fix #8451 1f9dcd0 Implement pattern synonyms 38ee06f T7336 is expected to be broken because of a regression introduced by pattern synonym implementation From git at git.haskell.org Sun Jan 19 13:46:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 19 Jan 2014 13:46:04 +0000 (UTC) Subject: [commit: ghc] master: Make `#include "Rts.h"` C++-compatible again (re #8676) (fe3740b) Message-ID: <20140119134605.000652406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/fe3740bd931ca30c22d956816f71be9026eeef54/ghc >--------------------------------------------------------------- commit fe3740bd931ca30c22d956816f71be9026eeef54 Author: Herbert Valerio Riedel Date: Sun Jan 19 14:37:05 2014 +0100 Make `#include "Rts.h"` C++-compatible again (re #8676) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- fe3740bd931ca30c22d956816f71be9026eeef54 includes/rts/Threads.h | 2 +- includes/rts/storage/Block.h | 12 ++++++------ includes/rts/storage/ClosureMacros.h | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/includes/rts/Threads.h b/includes/rts/Threads.h index e6844a3..da6f7a4 100644 --- a/includes/rts/Threads.h +++ b/includes/rts/Threads.h @@ -68,6 +68,6 @@ extern Capability MainCapability; // Change the number of capabilities (only supports increasing the // current value at the moment). // -extern void setNumCapabilities (nat new); +extern void setNumCapabilities (nat new_); #endif /* RTS_THREADS_H */ diff --git a/includes/rts/storage/Block.h b/includes/rts/storage/Block.h index 7b3bc99..5567bf4 100644 --- a/includes/rts/storage/Block.h +++ b/includes/rts/storage/Block.h @@ -248,17 +248,17 @@ dbl_link_insert_after(bdescr *bd, bdescr *after) } INLINE_HEADER void -dbl_link_replace(bdescr *new, bdescr *old, bdescr **list) +dbl_link_replace(bdescr *new_, bdescr *old, bdescr **list) { - new->link = old->link; - new->u.back = old->u.back; + new_->link = old->link; + new_->u.back = old->u.back; if (old->link) { - old->link->u.back = new; + old->link->u.back = new_; } if (old->u.back) { - old->u.back->link = new; + old->u.back->link = new_; } else { - *list = new; + *list = new_; } } diff --git a/includes/rts/storage/ClosureMacros.h b/includes/rts/storage/ClosureMacros.h index 8933e85..88434d4 100644 --- a/includes/rts/storage/ClosureMacros.h +++ b/includes/rts/storage/ClosureMacros.h @@ -245,12 +245,12 @@ TAG_CLOSURE(StgWord tag,StgClosure * p) INLINE_HEADER rtsBool LOOKS_LIKE_INFO_PTR_NOT_NULL (StgWord p) { StgInfoTable *info = INFO_PTR_TO_STRUCT((StgInfoTable *)p); - return info->type != INVALID_OBJECT && info->type < N_CLOSURE_TYPES; + return (info->type != INVALID_OBJECT && info->type < N_CLOSURE_TYPES) ? rtsTrue : rtsFalse; } INLINE_HEADER rtsBool LOOKS_LIKE_INFO_PTR (StgWord p) { - return p && (IS_FORWARDING_PTR(p) || LOOKS_LIKE_INFO_PTR_NOT_NULL(p)); + return (p && (IS_FORWARDING_PTR(p) || LOOKS_LIKE_INFO_PTR_NOT_NULL(p))) ? rtsTrue : rtsFalse; } INLINE_HEADER rtsBool LOOKS_LIKE_CLOSURE_PTR (void *p) From git at git.haskell.org Mon Jan 20 11:44:08 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 20 Jan 2014 11:44:08 +0000 (UTC) Subject: [commit: ghc] branch 'wip/T7619' deleted Message-ID: <20140120114408.315872406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc Deleted branch: wip/T7619 From git at git.haskell.org Mon Jan 20 11:44:10 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 20 Jan 2014 11:44:10 +0000 (UTC) Subject: [commit: ghc] master: Make worker-wrapper unbox data families (2bb19fa) Message-ID: <20140120114410.A16D52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/2bb19fad1d809dda37011f442b0fd561aea045b6/ghc >--------------------------------------------------------------- commit 2bb19fad1d809dda37011f442b0fd561aea045b6 Author: Joachim Breitner Date: Fri Jan 17 17:31:53 2014 +0000 Make worker-wrapper unbox data families by passing the FamInstEnvs all the way down. This closes #7619. >--------------------------------------------------------------- 2bb19fad1d809dda37011f442b0fd561aea045b6 compiler/main/HscTypes.lhs | 2 +- compiler/simplCore/CoreMonad.lhs | 8 +++- compiler/simplCore/SimplCore.lhs | 27 +++++++++++--- compiler/stranal/DmdAnal.lhs | 23 ++++++++---- compiler/stranal/WorkWrap.lhs | 75 ++++++++++++++++++++------------------ compiler/stranal/WwLib.lhs | 51 +++++++++++++++----------- compiler/types/Coercion.lhs | 6 +++ 7 files changed, 118 insertions(+), 74 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 2bb19fad1d809dda37011f442b0fd561aea045b6 From git at git.haskell.org Mon Jan 20 11:44:14 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 20 Jan 2014 11:44:14 +0000 (UTC) Subject: [commit: ghc] master: Test case for #T7619 (da66a8d) Message-ID: <20140120114414.51E4A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/da66a8dff05f656cb379edf61827af426e1b05e7/ghc >--------------------------------------------------------------- commit da66a8dff05f656cb379edf61827af426e1b05e7 Author: Joachim Breitner Date: Mon Jan 20 10:31:45 2014 +0000 Test case for #T7619 (artificial test cases are so nice: 90.7% improvement!) >--------------------------------------------------------------- da66a8dff05f656cb379edf61827af426e1b05e7 testsuite/tests/perf/should_run/T7619.hs | 12 ++++++++++++ testsuite/tests/perf/should_run/all.T | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/testsuite/tests/perf/should_run/T7619.hs b/testsuite/tests/perf/should_run/T7619.hs new file mode 100644 index 0000000..d640739 --- /dev/null +++ b/testsuite/tests/perf/should_run/T7619.hs @@ -0,0 +1,12 @@ +{-# LANGUAGE TypeFamilies #-} +module Main where +data family Foo a + +data instance Foo Int = FooInt Int Int + +foo :: Foo Int -> Int +foo (FooInt a 0) = 0 +foo (FooInt a b) = foo (FooInt a (b-1)) + +main :: IO () +main = foo (FooInt 0 10000) `seq` return () diff --git a/testsuite/tests/perf/should_run/all.T b/testsuite/tests/perf/should_run/all.T index 4f6a9d3..98a68d7 100644 --- a/testsuite/tests/perf/should_run/all.T +++ b/testsuite/tests/perf/should_run/all.T @@ -314,3 +314,11 @@ test('T4267', compile_and_run, ['-O']) +test('T7619', + [stats_num_field('bytes allocated', + [ (wordsize(64), 40992, 10)]), + # previously, it was >400000 bytes + only_ways(['normal'])], + compile_and_run, + ['-O']) + From git at git.haskell.org Mon Jan 20 11:44:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 20 Jan 2014 11:44:17 +0000 (UTC) Subject: [commit: ghc] master: Simplify doCorePass (0c57887) Message-ID: <20140120114417.357762406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0c578870d5a65b496cb57b260cd83d71db50f3b3/ghc >--------------------------------------------------------------- commit 0c578870d5a65b496cb57b260cd83d71db50f3b3 Author: Joachim Breitner Date: Mon Jan 20 10:26:13 2014 +0000 Simplify doCorePass >--------------------------------------------------------------- 0c578870d5a65b496cb57b260cd83d71db50f3b3 compiler/simplCore/SimplCore.lhs | 60 ++++++++++++++++++------------------ compiler/specialise/Specialise.lhs | 5 +-- 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/compiler/simplCore/SimplCore.lhs b/compiler/simplCore/SimplCore.lhs index eb306ae..de562d5 100644 --- a/compiler/simplCore/SimplCore.lhs +++ b/compiler/simplCore/SimplCore.lhs @@ -373,54 +373,54 @@ runCorePasses passes guts = do { hsc_env <- getHscEnv ; let dflags = hsc_dflags hsc_env ; liftIO $ showPass dflags pass - ; guts' <- doCorePass dflags pass guts + ; guts' <- doCorePass pass guts ; liftIO $ endPass hsc_env pass (mg_binds guts') (mg_rules guts') ; return guts' } -doCorePass :: DynFlags -> CoreToDo -> ModGuts -> CoreM ModGuts -doCorePass _ pass@(CoreDoSimplify {}) = {-# SCC "Simplify" #-} - simplifyPgm pass +doCorePass :: CoreToDo -> ModGuts -> CoreM ModGuts +doCorePass pass@(CoreDoSimplify {}) = {-# SCC "Simplify" #-} + simplifyPgm pass -doCorePass _ CoreCSE = {-# SCC "CommonSubExpr" #-} - doPass cseProgram +doCorePass CoreCSE = {-# SCC "CommonSubExpr" #-} + doPass cseProgram -doCorePass _ CoreLiberateCase = {-# SCC "LiberateCase" #-} - doPassD liberateCase +doCorePass CoreLiberateCase = {-# SCC "LiberateCase" #-} + doPassD liberateCase -doCorePass _ CoreDoFloatInwards = {-# SCC "FloatInwards" #-} - doPassD floatInwards +doCorePass CoreDoFloatInwards = {-# SCC "FloatInwards" #-} + doPassD floatInwards -doCorePass _ (CoreDoFloatOutwards f) = {-# SCC "FloatOutwards" #-} - doPassDUM (floatOutwards f) +doCorePass (CoreDoFloatOutwards f) = {-# SCC "FloatOutwards" #-} + doPassDUM (floatOutwards f) -doCorePass _ CoreDoStaticArgs = {-# SCC "StaticArgs" #-} - doPassU doStaticArgs +doCorePass CoreDoStaticArgs = {-# SCC "StaticArgs" #-} + doPassU doStaticArgs -doCorePass _ CoreDoStrictness = {-# SCC "NewStranal" #-} - doPassDFM dmdAnalProgram +doCorePass CoreDoStrictness = {-# SCC "NewStranal" #-} + doPassDFM dmdAnalProgram -doCorePass _ CoreDoWorkerWrapper = {-# SCC "WorkWrap" #-} - doPassDFU wwTopBinds +doCorePass CoreDoWorkerWrapper = {-# SCC "WorkWrap" #-} + doPassDFU wwTopBinds -doCorePass dflags CoreDoSpecialising = {-# SCC "Specialise" #-} - specProgram dflags +doCorePass CoreDoSpecialising = {-# SCC "Specialise" #-} + specProgram -doCorePass _ CoreDoSpecConstr = {-# SCC "SpecConstr" #-} - specConstrProgram +doCorePass CoreDoSpecConstr = {-# SCC "SpecConstr" #-} + specConstrProgram -doCorePass _ CoreDoVectorisation = {-# SCC "Vectorise" #-} - vectorise +doCorePass CoreDoVectorisation = {-# SCC "Vectorise" #-} + vectorise -doCorePass _ CoreDoPrintCore = observe printCore -doCorePass _ (CoreDoRuleCheck phase pat) = ruleCheckPass phase pat -doCorePass _ CoreDoNothing = return -doCorePass _ (CoreDoPasses passes) = runCorePasses passes +doCorePass CoreDoPrintCore = observe printCore +doCorePass (CoreDoRuleCheck phase pat) = ruleCheckPass phase pat +doCorePass CoreDoNothing = return +doCorePass (CoreDoPasses passes) = runCorePasses passes #ifdef GHCI -doCorePass _ (CoreDoPluginPass _ pass) = {-# SCC "Plugin" #-} pass +doCorePass (CoreDoPluginPass _ pass) = {-# SCC "Plugin" #-} pass #endif -doCorePass _ pass = pprPanic "doCorePass" (ppr pass) +doCorePass pass = pprPanic "doCorePass" (ppr pass) \end{code} %************************************************************************ diff --git a/compiler/specialise/Specialise.lhs b/compiler/specialise/Specialise.lhs index 225076e..3191ae9 100644 --- a/compiler/specialise/Specialise.lhs +++ b/compiler/specialise/Specialise.lhs @@ -566,9 +566,10 @@ Hence, the invariant is this: %************************************************************************ \begin{code} -specProgram :: DynFlags -> ModGuts -> CoreM ModGuts -specProgram dflags guts@(ModGuts { mg_rules = rules, mg_binds = binds }) +specProgram :: ModGuts -> CoreM ModGuts +specProgram guts@(ModGuts { mg_rules = rules, mg_binds = binds }) = do { hpt_rules <- getRuleBase + ; dflags <- getDynFlags ; let local_rules = mg_rules guts rule_base = extendRuleBaseList hpt_rules rules From git at git.haskell.org Mon Jan 20 15:15:14 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 20 Jan 2014 15:15:14 +0000 (UTC) Subject: [commit: ghc] master: Explain why TcAxiomInstCo carries [TcCoercion], and not [TcType] (59cb44a) Message-ID: <20140120151514.3B07E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/59cb44a3ee4b25fce6dc19816e9647e92e5ff743/ghc >--------------------------------------------------------------- commit 59cb44a3ee4b25fce6dc19816e9647e92e5ff743 Author: Joachim Breitner Date: Mon Jan 20 15:16:06 2014 +0000 Explain why TcAxiomInstCo carries [TcCoercion], and not [TcType] >--------------------------------------------------------------- 59cb44a3ee4b25fce6dc19816e9647e92e5ff743 compiler/typecheck/TcEvidence.lhs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/typecheck/TcEvidence.lhs b/compiler/typecheck/TcEvidence.lhs index 42ca03c..3471b32 100644 --- a/compiler/typecheck/TcEvidence.lhs +++ b/compiler/typecheck/TcEvidence.lhs @@ -90,6 +90,12 @@ differences - TcSubCo is not applied as deep as done with mkSubCo Reason: they'll get established when we desugar to Coercion + * TcAxiomInstCo has a [TcCoercion] parameter, and not a [Type] parameter. + This differs from the formalism, but corresponds to AxiomInstCo (see + [Coercion axioms applied to coercions]). + Why can't we use [TcType] here, in code not relevant for the simplifier? + Because of coercionToTcCoercion. + \begin{code} data TcCoercion = TcRefl Role TcType From git at git.haskell.org Mon Jan 20 20:58:23 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 20 Jan 2014 20:58:23 +0000 (UTC) Subject: [commit: ghc] master: Implement pattern synonyms (4f8369b) Message-ID: <20140120205823.7C5C32406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4f8369bf47d27b11415db251e816ef1a2e1eb3d8/ghc >--------------------------------------------------------------- commit 4f8369bf47d27b11415db251e816ef1a2e1eb3d8 Author: Dr. ERDI Gergo Date: Mon Jan 13 20:12:34 2014 +0800 Implement pattern synonyms This patch implements Pattern Synonyms (enabled by -XPatternSynonyms), allowing y ou to assign names to a pattern and abstract over it. The rundown is this: * Named patterns are introduced by the new 'pattern' keyword, and can be either *unidirectional* or *bidirectional*. A unidirectional pattern is, in the simplest sense, simply an 'alias' for a pattern, where the LHS may mention variables to occur in the RHS. A bidirectional pattern synonym occurs when a pattern may also be used in expression context. * Unidirectional patterns are declared like thus: pattern P x <- x:_ The synonym 'P' may only occur in a pattern context: foo :: [Int] -> Maybe Int foo (P x) = Just x foo _ = Nothing * Bidirectional patterns are declared like thus: pattern P x y = [x, y] Here, P may not only occur as a pattern, but also as an expression when given values for 'x' and 'y', i.e. bar :: Int -> [Int] bar x = P x 10 * Patterns can't yet have their own type signatures; signatures are inferred. * Pattern synonyms may not be recursive, c.f. type synonyms. * Pattern synonyms are also exported/imported using the 'pattern' keyword in an import/export decl, i.e. module Foo (pattern Bar) where ... Note that pattern synonyms share the namespace of constructors, so this disambiguation is required as a there may also be a 'Bar' type in scope as well as the 'Bar' pattern. * The semantics of a pattern synonym differ slightly from a typical pattern: when using a synonym, the pattern itself is matched, followed by all the arguments. This means that the strictness differs slightly: pattern P x y <- [x, y] f (P True True) = True f _ = False g [True, True] = True g _ = False In the example, while `g (False:undefined)` evaluates to False, `f (False:undefined)` results in undefined as both `x` and `y` arguments are matched to `True`. For more information, see the wiki: https://ghc.haskell.org/trac/ghc/wiki/PatternSynonyms https://ghc.haskell.org/trac/ghc/wiki/PatternSynonyms/Implementation Reviewed-by: Simon Peyton Jones Signed-off-by: Austin Seipp >--------------------------------------------------------------- 4f8369bf47d27b11415db251e816ef1a2e1eb3d8 compiler/basicTypes/BasicTypes.lhs | 20 ++ compiler/basicTypes/ConLike.lhs | 82 +++++ compiler/basicTypes/DataCon.lhs-boot | 9 +- compiler/basicTypes/OccName.lhs | 5 +- compiler/basicTypes/PatSyn.lhs | 225 ++++++++++++++ compiler/basicTypes/PatSyn.lhs-boot | 19 ++ compiler/deSugar/Check.lhs | 52 +++- compiler/deSugar/Coverage.lhs | 9 +- compiler/deSugar/Desugar.lhs | 17 +- compiler/deSugar/DsBinds.lhs | 12 +- compiler/deSugar/DsExpr.lhs | 13 +- compiler/deSugar/DsMeta.hs | 4 +- compiler/deSugar/DsMonad.lhs | 18 +- compiler/deSugar/DsUtils.lhs | 236 ++++++++------ compiler/deSugar/Match.lhs | 28 +- compiler/deSugar/MatchCon.lhs | 59 +++- compiler/ghc.cabal.in | 3 + compiler/ghc.mk | 2 + compiler/hsSyn/Convert.lhs | 8 +- compiler/hsSyn/HsBinds.lhs | 100 +++++- compiler/hsSyn/HsExpr.lhs | 4 + compiler/hsSyn/HsPat.lhs | 22 +- compiler/hsSyn/HsPat.lhs-boot | 2 + compiler/hsSyn/HsTypes.lhs | 12 +- compiler/hsSyn/HsUtils.lhs | 28 +- compiler/iface/BinIface.hs | 3 +- compiler/iface/BuildTyCl.lhs | 69 +++++ compiler/iface/IfaceSyn.lhs | 72 ++++- compiler/iface/MkIface.lhs | 30 +- compiler/iface/TcIface.lhs | 48 ++- compiler/main/DynFlags.hs | 4 +- compiler/main/HscMain.hs | 1 + compiler/main/HscStats.hs | 63 ++-- compiler/main/HscTypes.lhs | 58 +++- compiler/main/PprTyThing.hs | 29 +- compiler/main/TidyPgm.lhs | 11 +- compiler/parser/Lexer.x | 13 +- compiler/parser/Parser.y.pp | 18 ++ compiler/parser/RdrHsSyn.lhs | 8 +- compiler/prelude/TysWiredIn.lhs | 7 +- compiler/rename/RnBinds.lhs | 152 +++++++-- compiler/rename/RnEnv.lhs | 7 +- compiler/rename/RnNames.lhs | 18 ++ compiler/rename/RnPat.lhs | 26 +- compiler/rename/RnSource.lhs | 25 +- compiler/typecheck/TcBinds.lhs | 172 +++++++---- compiler/typecheck/TcClassDcl.lhs | 18 +- compiler/typecheck/TcDeriv.lhs | 3 +- compiler/typecheck/TcEnv.lhs | 16 +- compiler/typecheck/TcExpr.lhs | 12 +- compiler/typecheck/TcForeign.lhs | 3 +- compiler/typecheck/TcGenDeriv.lhs | 50 +-- compiler/typecheck/TcGenGenerics.lhs | 6 +- compiler/typecheck/TcHsSyn.lhs | 40 ++- compiler/typecheck/TcHsType.lhs | 3 +- compiler/typecheck/TcInstDcls.lhs | 28 +- compiler/typecheck/TcPat.lhs | 130 ++++++-- compiler/typecheck/TcPatSyn.lhs | 324 ++++++++++++++++++++ compiler/typecheck/TcPatSyn.lhs-boot | 16 + compiler/typecheck/TcRnDriver.lhs | 15 +- compiler/typecheck/TcRnMonad.lhs | 8 +- compiler/typecheck/TcRnTypes.lhs | 33 +- compiler/typecheck/TcSplice.lhs | 3 +- compiler/typecheck/TcTyClsDecls.lhs | 2 +- compiler/types/TypeRep.lhs | 10 +- compiler/utils/UniqFM.lhs | 13 + compiler/utils/UniqSet.lhs | 1 + ghc/GhciTags.hs | 10 +- testsuite/tests/driver/T4437.hs | 3 +- testsuite/tests/ghc-api/T6145.hs | 10 +- testsuite/tests/{annotations => patsyn}/Makefile | 0 testsuite/tests/patsyn/should_compile/.gitignore | 9 + .../should_compile/Makefile | 0 testsuite/tests/patsyn/should_compile/all.T | 9 + testsuite/tests/patsyn/should_compile/bidir.hs | 6 + testsuite/tests/patsyn/should_compile/ex-num.hs | 9 + testsuite/tests/patsyn/should_compile/ex-prov.hs | 12 + testsuite/tests/patsyn/should_compile/ex-view.hs | 12 + testsuite/tests/patsyn/should_compile/ex.hs | 13 + .../tests/patsyn/should_compile/incomplete.hs | 11 + testsuite/tests/patsyn/should_compile/num.hs | 6 + testsuite/tests/patsyn/should_compile/overlap.hs | 9 + testsuite/tests/patsyn/should_compile/univ.hs | 11 + .../should_compile => patsyn/should_fail}/Makefile | 0 testsuite/tests/patsyn/should_fail/all.T | 3 + testsuite/tests/patsyn/should_fail/mono.hs | 7 + testsuite/tests/patsyn/should_fail/mono.stderr | 12 + testsuite/tests/patsyn/should_fail/unidir.hs | 4 + testsuite/tests/patsyn/should_fail/unidir.stderr | 4 + testsuite/tests/patsyn/should_run/.gitignore | 7 + .../should_compile => patsyn/should_run}/Makefile | 0 testsuite/tests/patsyn/should_run/all.T | 3 + testsuite/tests/patsyn/should_run/eval.hs | 22 ++ testsuite/tests/patsyn/should_run/eval.stdout | 7 + testsuite/tests/patsyn/should_run/ex-prov-run.hs | 21 ++ .../should_run/ex-prov-run.stdout} | 0 testsuite/tests/patsyn/should_run/match.hs | 21 ++ testsuite/tests/patsyn/should_run/match.stdout | 5 + utils/ghctags/Main.hs | 5 +- 99 files changed, 2324 insertions(+), 484 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 4f8369bf47d27b11415db251e816ef1a2e1eb3d8 From git at git.haskell.org Mon Jan 20 20:58:25 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 20 Jan 2014 20:58:25 +0000 (UTC) Subject: [commit: ghc] master: T7336 is expected to be broken because of a regression introduced by pattern synonym implementation (22ddcff) Message-ID: <20140120205826.034052406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/22ddcfff16476a6d19190f10743a78bde0b2c28f/ghc >--------------------------------------------------------------- commit 22ddcfff16476a6d19190f10743a78bde0b2c28f Author: Dr. ERDI Gergo Date: Mon Jan 13 20:37:39 2014 +0800 T7336 is expected to be broken because of a regression introduced by pattern synonym implementation Signed-off-by: Austin Seipp >--------------------------------------------------------------- 22ddcfff16476a6d19190f10743a78bde0b2c28f testsuite/tests/rename/should_compile/all.T | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/tests/rename/should_compile/all.T b/testsuite/tests/rename/should_compile/all.T index 3035e2c..0ce4ca1 100644 --- a/testsuite/tests/rename/should_compile/all.T +++ b/testsuite/tests/rename/should_compile/all.T @@ -201,7 +201,7 @@ test('dodgy', multimod_compile, ['dodgy', '-v0']) test('T7167', normal, compile, ['']) -test('T7336', normal, compile, ['-Wall']) +test('T7336', expect_broken(7336), compile, ['-Wall']) test('T2435', normal, multimod_compile, ['T2435','-v0']) test('T7963', From git at git.haskell.org Mon Jan 20 20:58:33 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 20 Jan 2014 20:58:33 +0000 (UTC) Subject: [commit: haddock] master: Support for -XPatternSynonyms (7c90581) Message-ID: <20140120205833.814282406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/7c905816eb12981840efe4136989799db437f357 >--------------------------------------------------------------- commit 7c905816eb12981840efe4136989799db437f357 Author: Dr. ERDI Gergo Date: Thu Jan 9 01:42:55 2014 -0600 Support for -XPatternSynonyms Signed-off-by: Austin Seipp >--------------------------------------------------------------- 7c905816eb12981840efe4136989799db437f357 src/Haddock/Backends/LaTeX.hs | 44 +++++++++++++++++++++- src/Haddock/Backends/Xhtml.hs | 2 +- src/Haddock/Backends/Xhtml/Decl.hs | 71 +++++++++++++++++++++++++++++------ src/Haddock/Backends/Xhtml/Names.hs | 23 ++++++++---- src/Haddock/Convert.hs | 12 +++++- src/Haddock/GhcUtils.hs | 4 ++ src/Haddock/Interface/Create.hs | 24 +++++++----- src/Haddock/Interface/Rename.hs | 9 +++++ 8 files changed, 156 insertions(+), 33 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 7c905816eb12981840efe4136989799db437f357 From git at git.haskell.org Tue Jan 21 15:33:33 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 21 Jan 2014 15:33:33 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Do not remove the demand on arguments without updating the result type (f90dcd6) Message-ID: <20140121153333.D7DE52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/f90dcd6ad99cb6158a4bb18e4ac8fcd68d0a5263/ghc >--------------------------------------------------------------- commit f90dcd6ad99cb6158a4bb18e4ac8fcd68d0a5263 Author: Joachim Breitner Date: Tue Jan 21 12:01:44 2014 +0000 Do not remove the demand on arguments without updating the result type The CPR and termination information of a strictness signature depends on the number arguments. If the latter is changed, e.g. in dmdAnalRHS, the former needs to be adjusted. >--------------------------------------------------------------- f90dcd6ad99cb6158a4bb18e4ac8fcd68d0a5263 compiler/basicTypes/Demand.lhs | 13 ++++++++++--- compiler/stranal/DmdAnal.lhs | 16 ++++++++++++---- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index b81f7d0..e4cfe3e 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -27,7 +27,7 @@ module Demand ( peelFV, DmdResult, CPRResult, - isBotRes, isTopRes, getDmdResult, resTypeArgDmd, + isBotRes, isTopRes, getDmdResult, removeArgs, resTypeArgDmd, topRes, convRes, botRes, splitNestedRes, appIsBottom, isBottomingSig, pprIfaceStrictSig, @@ -814,8 +814,15 @@ cprProdRes :: Int -> [DmdResult] -> DmdResult cprProdRes depth arg_ress = cutDmdResult depth $ Converges $ RetProd arg_ress getDmdResult :: DmdType -> DmdResult -getDmdResult (DmdType _ [] r) = r -- Only for data-typed arguments! -getDmdResult _ = topRes +getDmdResult (DmdType _ [] r) = r -- Only for data-typed arguments! +getDmdResult (DmdType _ _ (Converges _)) = convRes -- Convergence is retained +getDmdResult _ = topRes -- Other CPR information is invalid now + +-- This removes the arguments from a demand signature, +-- e.g. in dmdAnalRhs, where a function value should not be +-- exported. If it is removing arguments, zap the CPR information! +removeArgs :: DmdType -> DmdType +removeArgs d@(DmdType fv _ _) = (DmdType fv [] (getDmdResult d)) -- Forget that something might converge for sure divergeDmdResult :: DmdResult -> DmdResult diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index 67c4a31..cf372ca 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -692,13 +692,21 @@ dmdAnalRhs top_lvl rec_flag env var rhs = (fn_str, emptyDmdEnv, set_idStrictness env var fn_str, rhs) | otherwise - = (sig_ty, lazy_fv, var', mkLams bndrs' body') + = -- pprTrace "dmdAnalRhs" (vcat [ text "body_ty" <+> ppr body_ty + -- , text "body_ty'" <+> ppr body_ty' + -- , text "sig_ty" <+> ppr sig_ty + -- ]) $ + (sig_ty, lazy_fv, var', mkLams bndrs' body') where (bndrs, body) = collectBinders rhs env_body = foldl extendSigsWithLam env bndrs - (DmdType body_fv _ body_res, body') = dmdAnal env_body body_dmd body - (DmdType rhs_fv rhs_dmds rhs_res, bndrs') = annotateLamBndrs env (isDFunId var) - (DmdType body_fv [] body_res) bndrs + (body_ty, body') = dmdAnal env_body body_dmd body + body_ty' = removeArgs body_ty + -- ^ we do not want to expose a function demand type + -- that does not come from top-level lambdas + (DmdType rhs_fv rhs_dmds rhs_res, bndrs') + = annotateLamBndrs env (isDFunId var) body_ty' bndrs + sig_ty = mkStrictSig $ mkDmdType sig_fv rhs_dmds $ handle_sum_cpr $ From git at git.haskell.org Tue Jan 21 15:33:36 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 21 Jan 2014 15:33:36 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: postProcessUnsat should not remove CPR information (5a13655) Message-ID: <20140121153336.5B1122406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/5a13655104a6713290bc6baa82a4d30820ca88f2/ghc >--------------------------------------------------------------- commit 5a13655104a6713290bc6baa82a4d30820ca88f2 Author: Joachim Breitner Date: Tue Jan 21 12:08:52 2014 +0000 postProcessUnsat should not remove CPR information as it is still valid, as we did not change the number of arguments of the demand signature. >--------------------------------------------------------------- 5a13655104a6713290bc6baa82a4d30820ca88f2 compiler/basicTypes/Demand.lhs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs index e4cfe3e..d4aa089 100644 --- a/compiler/basicTypes/Demand.lhs +++ b/compiler/basicTypes/Demand.lhs @@ -1235,9 +1235,9 @@ postProcessUnsat (True, One) ty = deferType ty postProcessUnsat (False, One) ty = ty deferType, reuseType, deferReuse :: DmdType -> DmdType -deferType (DmdType fv ds _) = DmdType (deferEnv fv) (map deferDmd ds) convRes +deferType (DmdType fv ds res_ty) = DmdType (deferEnv fv) (map deferDmd ds) res_ty reuseType (DmdType fv ds res_ty) = DmdType (reuseEnv fv) (map reuseDmd ds) res_ty -deferReuse (DmdType fv ds _) = DmdType (deferReuseEnv fv) (map deferReuseDmd ds) convRes +deferReuse (DmdType fv ds res_ty) = DmdType (deferReuseEnv fv) (map deferReuseDmd ds) res_ty deferEnv, reuseEnv, deferReuseEnv :: DmdEnv -> DmdEnv deferEnv fv = mapVarEnv deferDmd fv @@ -1296,16 +1296,13 @@ then d1 and d2 is precisely the demand unleashed onto x1 and x2 (similar for the free variable environment) and furthermore the result information r is the one we want to use. +An anonymous lambda is also an unsaturated function all (needs one argument, +none given), so this applies to that case as well. + But the demand fed into f might be less than . There are a few cases: * Not enough demand on the strictness side: - In that case, we need to zap all strictness in the demand on arguments and free variables. - - Furthermore, we need to remove CPR information (after all, "f x1" surely - does not return a constructor). - - And finally, if r said that f would (possible or definitely) diverge when - called with two arguments, then "f x1" may diverge. So we use topRes here. - (We could return "Converges NoCPR" if f would converge for sure, but that - information would currently not be useful in any way.) * Not enough demand from the usage side: The missing usage can be expanded using UCall Many, therefore this is subsumed by the third case: * At least one of the uses has a cardinality of Many. @@ -1313,6 +1310,10 @@ But the demand fed into f might be less than . There are a f we call f multiple times, we may evaluate this argument or free variable multiple times. So forget about any occurrence of "One" in the demand. +The termination and CPR information stays valid: The missing arguments still +appear in the demand type, and once they are provided as well, the termination +and CPR information will hold. + In dmdTransformSig, we call peelManyCalls to find out if we are in any of these cases, and then call postProcessUnsat to reduce the demand appropriately. From git at git.haskell.org Tue Jan 21 15:33:39 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 21 Jan 2014 15:33:39 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: CPR testcase: AnonLambda (8fd9c2e) Message-ID: <20140121153339.385F52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/8fd9c2e636c38f62d8aa53ef8721bbb090f2830c/ghc >--------------------------------------------------------------- commit 8fd9c2e636c38f62d8aa53ef8721bbb090f2830c Author: Joachim Breitner Date: Tue Jan 21 12:18:08 2014 +0000 CPR testcase: AnonLambda >--------------------------------------------------------------- 8fd9c2e636c38f62d8aa53ef8721bbb090f2830c testsuite/tests/stranal/sigs/AnonLambda.hs | 11 +++++++++++ .../sigs/{InfiniteCPRDepth0.stderr => AnonLambda.stderr} | 3 ++- testsuite/tests/stranal/sigs/all.T | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/testsuite/tests/stranal/sigs/AnonLambda.hs b/testsuite/tests/stranal/sigs/AnonLambda.hs new file mode 100644 index 0000000..f79b940 --- /dev/null +++ b/testsuite/tests/stranal/sigs/AnonLambda.hs @@ -0,0 +1,11 @@ +module AnonLambda where + +g :: Int -> Bool +{-# NOINLINE g #-} +g = (==0) + +-- This test ensures that the CPR property of the anonymous lambda +-- Does not escape to f (which has arity 1) + +f = \x -> if g x then \y -> x + y + 1 + else \y -> x + y + 2 diff --git a/testsuite/tests/stranal/sigs/InfiniteCPRDepth0.stderr b/testsuite/tests/stranal/sigs/AnonLambda.stderr similarity index 54% copy from testsuite/tests/stranal/sigs/InfiniteCPRDepth0.stderr copy to testsuite/tests/stranal/sigs/AnonLambda.stderr index 63ca4b6..350b61c 100644 --- a/testsuite/tests/stranal/sigs/InfiniteCPRDepth0.stderr +++ b/testsuite/tests/stranal/sigs/AnonLambda.stderr @@ -1,5 +1,6 @@ ==================== Strictness signatures ==================== -InfiniteCPR.f: +AnonLambda.f: +AnonLambda.g: diff --git a/testsuite/tests/stranal/sigs/all.T b/testsuite/tests/stranal/sigs/all.T index f54029a..e81a2ab 100644 --- a/testsuite/tests/stranal/sigs/all.T +++ b/testsuite/tests/stranal/sigs/all.T @@ -17,3 +17,4 @@ test('CaseBinderCPR', normal, compile, ['']) test('InfiniteCPR', normal, compile, ['']) test('InfiniteCPRDepth0', normal, compile, ['']) test('InfiniteCPRDepth1', normal, compile, ['']) +test('AnonLambda', normal, compile, ['']) From git at git.haskell.org Tue Jan 21 15:33:41 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 21 Jan 2014 15:33:41 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Note [Recursion and nested cpr] and test case (4b2d6b7) Message-ID: <20140121153341.DD2F12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/4b2d6b71502c270701660ae36710e52be06913d2/ghc >--------------------------------------------------------------- commit 4b2d6b71502c270701660ae36710e52be06913d2 Author: Joachim Breitner Date: Tue Jan 21 13:56:14 2014 +0000 Note [Recursion and nested cpr] and test case the reason why we remove the converging flag of LoopBreakers is actually non-obvious, and has little to do with the termination analysis per se. Document that with an extensive note and guard it with two test cases. >--------------------------------------------------------------- 4b2d6b71502c270701660ae36710e52be06913d2 compiler/stranal/DmdAnal.lhs | 40 ++++++++++++++++++++ testsuite/tests/stranal/should_run/Stream.hs | 13 +++++++ testsuite/tests/stranal/should_run/all.T | 1 + testsuite/tests/stranal/sigs/StreamSig.hs | 11 ++++++ .../{InfiniteCPRDepth0.stderr => StreamSig.stderr} | 2 +- testsuite/tests/stranal/sigs/all.T | 1 + 6 files changed, 67 insertions(+), 1 deletion(-) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index cf372ca..f302744 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -1160,6 +1160,7 @@ extendAnalEnv top_lvl env var sig = env { ae_sigs = extendSigEnv top_lvl (ae_sigs env) var sig' } where sig' | isWeakLoopBreaker (idOccInfo var) = sigMayDiverge sig + -- ^ Note [Recursion and nested CPR] | isUnLiftedType (idType var) = convergeSig sig | otherwise = sig @@ -1283,3 +1284,42 @@ of the Id, and start from "bottom". Nowadays the Id can have a current strictness, because interface files record strictness for nested bindings. To know when we are in the first iteration, we look at the ae_virgin field of the AnalEnv. + +Note [Recursion and nested cpr] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In extendAnalEnv, we remove possible definite convergence information from loop +breakers. + +This is *not* required to make termination analysis sound: It would be fine +without this, since we initialize the fixed point iteration with definite +divergence, and this is sufficient to make sure that, for example, a +tail-recursive function is not going to be considered terminating. + +But we need to do it to avoid the nested CPR w/w-transformation from going +horribly wrong. Consider this code (also in tests/stranal/sigs/StreamSig.hs): + + data Stream a = Stream a (Stream a) + forever :: a -> Stream a + forever x = Stream x (forever x) + +This should deserve a CPR information of + + tm(,tm(,)) + +(or deeper, as you wish) because clearly it terminates arbitrarily deep. But if +we gave it that signature, we would generate the following worker: + + $wforever x = case $wforever x of + (# ww1, ww2, ww3 #) -> (# x, ww1, Stream ww2 ww3 #) + +which will obviously diverge. By killing the convergence flag for loop breakers +we ensure that the CPR information is + + tm(,m(,)) + +and the worker is + + $wforever x = (# x, case $wforever x of (# a, b#) -> Stream a b #) + +which is fine (and will later be further simplified). diff --git a/testsuite/tests/stranal/should_run/Stream.hs b/testsuite/tests/stranal/should_run/Stream.hs new file mode 100644 index 0000000..5e3555c --- /dev/null +++ b/testsuite/tests/stranal/should_run/Stream.hs @@ -0,0 +1,13 @@ +-- Adapted from symalg/RealM.hs's treeFrom + +data Stream a = Stream a (Stream a) + +-- This must not get a CPR signature that allows for nested cpr, +-- as it would make the worker call itself before producing the +-- Stream constructor. + +forever :: a -> Stream a +forever x = Stream x (forever x) + +main :: IO () +main = forever () `seq` return () diff --git a/testsuite/tests/stranal/should_run/all.T b/testsuite/tests/stranal/should_run/all.T index 0c43aac..e8e51de 100644 --- a/testsuite/tests/stranal/should_run/all.T +++ b/testsuite/tests/stranal/should_run/all.T @@ -7,3 +7,4 @@ test('strun003', normal, compile_and_run, ['']) test('strun004', normal, compile_and_run, ['']) test('T2756b', normal, compile_and_run, ['']) test('T7649', normal, compile_and_run, ['']) +test('Stream', extra_run_opts('+RTS -M1M -RTS'), compile_and_run, ['']) diff --git a/testsuite/tests/stranal/sigs/StreamSig.hs b/testsuite/tests/stranal/sigs/StreamSig.hs new file mode 100644 index 0000000..78269d8 --- /dev/null +++ b/testsuite/tests/stranal/sigs/StreamSig.hs @@ -0,0 +1,11 @@ +module StreamSig where +-- Adapted from symalg/RealM.hs's treeFrom + +data Stream a = Stream a (Stream a) + +-- This must not get a CPR signature that allows for nested cpr, +-- as it would make the worker call itself before producing the +-- Stream constructor. + +forever :: a -> Stream a +forever x = Stream x (forever x) diff --git a/testsuite/tests/stranal/sigs/InfiniteCPRDepth0.stderr b/testsuite/tests/stranal/sigs/StreamSig.stderr similarity index 63% copy from testsuite/tests/stranal/sigs/InfiniteCPRDepth0.stderr copy to testsuite/tests/stranal/sigs/StreamSig.stderr index 63ca4b6..9d3bf3a 100644 --- a/testsuite/tests/stranal/sigs/InfiniteCPRDepth0.stderr +++ b/testsuite/tests/stranal/sigs/StreamSig.stderr @@ -1,5 +1,5 @@ ==================== Strictness signatures ==================== -InfiniteCPR.f: +StreamSig.forever: tm(,m(,m(,))) diff --git a/testsuite/tests/stranal/sigs/all.T b/testsuite/tests/stranal/sigs/all.T index e81a2ab..a193e90 100644 --- a/testsuite/tests/stranal/sigs/all.T +++ b/testsuite/tests/stranal/sigs/all.T @@ -18,3 +18,4 @@ test('InfiniteCPR', normal, compile, ['']) test('InfiniteCPRDepth0', normal, compile, ['']) test('InfiniteCPRDepth1', normal, compile, ['']) test('AnonLambda', normal, compile, ['']) +test('StreamSig', normal, compile, ['']) From git at git.haskell.org Tue Jan 21 15:33:44 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 21 Jan 2014 15:33:44 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: More tracing in the demand analyser (9d47492) Message-ID: <20140121153344.E97652406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/9d47492ba10deaba032b871a6e0447207e66673a/ghc >--------------------------------------------------------------- commit 9d47492ba10deaba032b871a6e0447207e66673a Author: Joachim Breitner Date: Tue Jan 21 13:59:51 2014 +0000 More tracing in the demand analyser >--------------------------------------------------------------- 9d47492ba10deaba032b871a6e0447207e66673a compiler/stranal/DmdAnal.lhs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs index f302744..f6a4486 100644 --- a/compiler/stranal/DmdAnal.lhs +++ b/compiler/stranal/DmdAnal.lhs @@ -187,8 +187,14 @@ dmdAnal env dmd (Lam var body) env' = extendSigsWithLam env var (body_ty, body') = dmdAnal env' body_dmd body (lam_ty, var') = annotateLamIdBndr env notArgOfDfun body_ty one_shot var + lam_ty' = postProcessUnsat defer_and_use lam_ty in - (postProcessUnsat defer_and_use lam_ty, Lam var' body') + -- pprTrace "dmdAnal:Lam" (vcat [ text "dmd" <+> ppr dmd + -- , text "body_ty" <+> ppr body_ty + -- , text "lam_ty" <+> ppr lam_ty + -- , text "lam_ty'" <+> ppr lam_ty' + -- ]) $ + (lam_ty', Lam var' body') dmdAnal env dmd (Case scrut case_bndr ty [alt@(DataAlt dc, bndrs, _)]) -- Only one alternative with a product constructor, and a complex scrutinee @@ -336,6 +342,9 @@ dmdAnal env dmd (Let (Rec pairs) body) body_ty1 = deleteFVs body_ty (map fst pairs) body_ty2 = addLazyFVs body_ty1 lazy_fv in + -- pprTrace "dmdAnal:LetRec" (vcat [ text "body_ty" <+> ppr body_ty + -- , text "body_ty1" <+> ppr body_ty1 + -- , text "body_ty2" <+> ppr body_ty2]) $ body_ty2 `seq` (body_ty2, Let (Rec pairs') body') @@ -389,6 +398,9 @@ dmdAnalAlt env dmd (con,bndrs,rhs) io_hack_reqd = con == DataAlt unboxedPairDataCon && idType (head bndrs) `eqType` realWorldStatePrimTy in + -- pprTrace "dmdAnalAlt" (vcat [ text "rhs_ty" <+> ppr rhs_ty + -- , text "alt_ty" <+> ppr alt_ty + -- ]) $ (final_alt_ty, (con, bndrs', rhs')) \end{code} From git at git.haskell.org Tue Jan 21 15:33:48 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 21 Jan 2014 15:33:48 +0000 (UTC) Subject: [commit: ghc] wip/nested-cpr: Work in progress: nested-cpr.tex (2e1fd86) Message-ID: <20140121153348.58EAC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nested-cpr Link : http://ghc.haskell.org/trac/ghc/changeset/2e1fd86e1188d14956353b544b23028316ead1d1/ghc >--------------------------------------------------------------- commit 2e1fd86e1188d14956353b544b23028316ead1d1 Author: Joachim Breitner Date: Tue Jan 21 10:27:13 2014 +0000 Work in progress: nested-cpr.tex A formal description of the nested CPR property (but the usefulness of such is limited, it seems...) >--------------------------------------------------------------- 2e1fd86e1188d14956353b544b23028316ead1d1 docs/nested-cpr/nested-cpr.tex | 236 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 2e1fd86e1188d14956353b544b23028316ead1d1 From git at git.haskell.org Tue Jan 21 20:07:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 21 Jan 2014 20:07:11 +0000 (UTC) Subject: [commit: ghc] master: Fix #8677 (fallout from #8180) (0a2d323) Message-ID: <20140121200713.989B72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/0a2d323cee040c6460233ff17d40199755e59959/ghc >--------------------------------------------------------------- commit 0a2d323cee040c6460233ff17d40199755e59959 Author: Austin Seipp Date: Tue Jan 21 14:05:49 2014 -0600 Fix #8677 (fallout from #8180) When using TemplateHaskell and -prof, we *do not* want -dynamic-too, because we're going to *expect* that you compiled the vanilla/dyn way already, and are compiling profiling the second time (i.e. so GHCi can just load the normal, non-profiled object files.) Signed-off-by: Austin Seipp >--------------------------------------------------------------- 0a2d323cee040c6460233ff17d40199755e59959 compiler/main/DriverPipeline.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index b2f182a..3d34bdb 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -140,9 +140,10 @@ compileOne' m_tc_result mHscMessage mod_graph = hsc_mod_graph hsc_env0 needsTH = any (xopt Opt_TemplateHaskell . ms_hspp_opts) mod_graph isDynWay = any (== WayDyn) (ways dflags0) + isProfWay = any (== WayProf) (ways dflags0) -- #8180 - when using TemplateHaskell, switch on -dynamic-too so -- the linker can correctly load the object files. - let dflags1 = if needsTH && dynamicGhc && not isDynWay + let dflags1 = if needsTH && dynamicGhc && not isDynWay && not isProfWay then gopt_set dflags0 Opt_BuildDynamicToo else dflags0 From git at git.haskell.org Wed Jan 22 20:21:29 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 22 Jan 2014 20:21:29 +0000 (UTC) Subject: [commit: ghc] master: Fix some of the 32bit perf numbers. (3047c09) Message-ID: <20140122202129.60CE92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/3047c09458e76f792d8688370b23102bb1d43e71/ghc >--------------------------------------------------------------- commit 3047c09458e76f792d8688370b23102bb1d43e71 Author: Austin Seipp Date: Wed Jan 22 14:20:36 2014 -0600 Fix some of the 32bit perf numbers. A few appear to have bitrotted a little. There are others we are actually doing better on, but that will come in the next commit. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 3047c09458e76f792d8688370b23102bb1d43e71 testsuite/tests/perf/haddock/all.T | 28 ++++++++++++++++++---------- testsuite/tests/perf/should_run/all.T | 3 ++- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/testsuite/tests/perf/haddock/all.T b/testsuite/tests/perf/haddock/all.T index 9936ede..db6bf08 100644 --- a/testsuite/tests/perf/haddock/all.T +++ b/testsuite/tests/perf/haddock/all.T @@ -10,10 +10,11 @@ test('haddock.base', ,(platform('i386-unknown-mingw32'), 163, 10) # 2013-02-10: 133 (x86/Windows) # 2013-11-13: 163 (x86/Windows, 64bit machine) - ,(wordsize(32), 139, 1)]) + ,(wordsize(32), 177, 1)]) # 2012-08-14: 144 (x86/OSX) # 2012-10-30: 113 (x86/Windows) # 2013-02-10: 139 (x86/OSX) + # 2014-01-22: 177 (x86/Linux - new haddock) ,stats_num_field('max_bytes_used', [(wordsize(64), 115113864, 10) # 2012-08-14: 87374568 (amd64/Linux) @@ -25,8 +26,9 @@ test('haddock.base', ,(platform('i386-unknown-mingw32'), 58557136, 10) # 2013-02-10: 47988488 (x86/Windows) # 2013-11-13: 58557136 (x86/Windows, 64bit machine) - ,(wordsize(32), 52237984, 1)]) + ,(wordsize(32), 64232092, 1)]) # 2013-02-10: 52237984 (x86/OSX) + # 2014-01-22: 64232092 (x86/Linux) ,stats_num_field('bytes allocated', [(wordsize(64), 7128342344, 5) # 2012-08-14: 5920822352 (amd64/Linux) @@ -41,10 +43,11 @@ test('haddock.base', ,(platform('i386-unknown-mingw32'), 3097751052, 1) # 2013-02-10: 3358693084 (x86/Windows) # 2013-11-13: 3097751052 (x86/Windows, 64bit machine) - ,(wordsize(32), 3146596848, 1)]) + ,(wordsize(32), 3506260912, 1)]) # 2012-08-14: 3046487920 (x86/OSX) # 2012-10-30: 2955470952 (x86/Windows) # 2013-02-10: 3146596848 (x86/OSX) + # 2014-02-22: 3506260912 (x86/Linux - new haddock) ], stats, ['../../../../libraries/base/dist-install/doc/html/base/base.haddock.t']) @@ -64,10 +67,10 @@ test('haddock.Cabal', # 2012-10-30: 83 (x86/Windows) # 2013-02-10: 116 (x86/Windows) # 2013-11-13: 129(x86/Windows, 64bit machine) - ,(wordsize(32), 89, 1)]) + ,(wordsize(32), 145, 1)]) # 2012-08-14: 116 (x86/OSX) # 2013-02-10: 89 (x86/Windows) - + # 2014-01-22: 145 (x86/Linux - new haddock, but out of date before) ,stats_num_field('max_bytes_used', [(wordsize(64), 95356616, 15) # 2012-08-14: 74119424 (amd64/Linux) @@ -78,9 +81,10 @@ test('haddock.Cabal', ,(platform('i386-unknown-mingw32'), 49391436, 15) # 2012-10-30: 44224896 (x86/Windows) # 2013-11-13: 49391436 (x86/Windows, 64bit machine) - ,(wordsize(32), 46563344, 1)]) + ,(wordsize(32), 60559708, 1)]) # 2012-08-14: 47461532 (x86/OSX) # 2013-02-10: 46563344 (x86/OSX) + # 2014-01-22: 60559708 (x86/Linux) ,stats_num_field('bytes allocated', [(wordsize(64), 3979151552, 5) # 2012-08-14: 3255435248 (amd64/Linux) @@ -96,8 +100,9 @@ test('haddock.Cabal', ,(platform('i386-unknown-mingw32'), 1906532680, 1) # 2012-10-30: 1733638168 (x86/Windows) # 2013-02-10: 1906532680 (x86/Windows) - ,(wordsize(32), 1733638168, 1)]) + ,(wordsize(32), 2007658888, 1)]) # 2012-08-14: 1648610180 (x86/OSX) + # 2014-01-22: 2007658888 (x86/Linux) ], stats, ['../../../../libraries/Cabal/Cabal/dist-install/doc/html/Cabal/Cabal.haddock.t']) @@ -117,9 +122,10 @@ test('haddock.compiler', # 2012-10-30: 606 (x86/Windows) # 2013-02-10: 653 (x86/Windows) # 2013-11-13: 735 (x86/Windows, 64bit machine) - ,(wordsize(32), 663, 1)]) + ,(wordsize(32), 762, 1)]) # 2012-08-14: 631 (x86/OSX) # 2013-02-10: 663 (x86/OSX) + # 2014-01-22: 762 (x86/Linux - new haddock, but out of date before) ,stats_num_field('max_bytes_used', [(wordsize(64), 541926264, 10) # 2012-08-14: 428775544 (amd64/Linux) @@ -133,9 +139,10 @@ test('haddock.compiler', # 2012-10-30: 220847924 (x86/Windows) # 2013-02-10: 238529512 (x86/Windows) # 2013-11-13: 269147084 (x86/Windows, 64bit machine) - ,(wordsize(32), 241785276, 1)]) + ,(wordsize(32), 285964272, 1)]) # 2012-08-14: 231064920 (x86/OSX) # 2013-02-10: 241785276 (x86/Windows) + # 2014-01-22: 285964272 (x86/Linux - new haddock) ,stats_num_field('bytes allocated', [(wordsize(64), 28708374824, 10) # 2012-08-14: 26070600504 (amd64/Linux) @@ -147,8 +154,9 @@ test('haddock.compiler', # 2012-10-30: 13773051312 (x86/Windows) # 2013-02-10: 14925262356 (x86/Windows) # 2013-11-13: 14328363592 (x86/Windows, 64bit machine) - ,(wordsize(32), 13773051312, 1)]) + ,(wordsize(32), 14581475024, 1)]) # 2012-08-14: 13471797488 (x86/OSX) + # 2014-01-22: 14581475024 (x86/Linux - new haddock) ], stats, ['../../../../compiler/stage2/doc/html/ghc/ghc.haddock.t']) diff --git a/testsuite/tests/perf/should_run/all.T b/testsuite/tests/perf/should_run/all.T index 98a68d7..0d951fc 100644 --- a/testsuite/tests/perf/should_run/all.T +++ b/testsuite/tests/perf/should_run/all.T @@ -40,9 +40,10 @@ test('lazy-bs-alloc', # 489776 (amd64/Linux) # 2013-02-07: 429744 (amd64/Linux) # 2013-12-12: 425400 (amd64/Linux) - (wordsize(32), 417738, 1)]), + (wordsize(32), 411500, 1)]), # 2013-02-10: 421296 (x86/Windows) # 2013-02-10: 414180 (x86/OSX) + # 2014-01-22: 411500 (x86/Linux) only_ways(['normal']), extra_run_opts('../../numeric/should_run/arith011.stdout'), ignore_output From git at git.haskell.org Wed Jan 22 20:25:47 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 22 Jan 2014 20:25:47 +0000 (UTC) Subject: [commit: ghc] master: Fix another failure. (721e188) Message-ID: <20140122202547.678312406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/721e188942375bf55bcc7dfb3621d72c62c85624/ghc >--------------------------------------------------------------- commit 721e188942375bf55bcc7dfb3621d72c62c85624 Author: Austin Seipp Date: Wed Jan 22 14:24:13 2014 -0600 Fix another failure. Rather hilarious (and my fault.) Signed-off-by: Austin Seipp >--------------------------------------------------------------- 721e188942375bf55bcc7dfb3621d72c62c85624 .../tests/ghci/scripts/{T8172.stdout-ws-32 => T8172.stdout-mingw32} | 0 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/testsuite/tests/ghci/scripts/T8172.stdout-ws-32 b/testsuite/tests/ghci/scripts/T8172.stdout-mingw32 similarity index 100% rename from testsuite/tests/ghci/scripts/T8172.stdout-ws-32 rename to testsuite/tests/ghci/scripts/T8172.stdout-mingw32 From git at git.haskell.org Wed Jan 22 23:31:51 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 22 Jan 2014 23:31:51 +0000 (UTC) Subject: [commit: ghc] master: Clean up the release notes. (c9ed9aa) Message-ID: <20140122233153.54A092406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/c9ed9aa069ffb28b869bc7e409ebe98494e87f06/ghc >--------------------------------------------------------------- commit c9ed9aa069ffb28b869bc7e409ebe98494e87f06 Author: Austin Seipp Date: Wed Jan 22 16:21:07 2014 -0600 Clean up the release notes. In particular, spell out the current dynamic situation, clean up the FIXMEs and xrefs, and don't forget to mention InterruptibleFFI. Signed-off-by: Austin Seipp >--------------------------------------------------------------- c9ed9aa069ffb28b869bc7e409ebe98494e87f06 docs/users_guide/7.8.1-notes.xml | 87 ++++++++++++++++++++++++++++++-------- 1 file changed, 70 insertions(+), 17 deletions(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index 72601f3..ce33742 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -58,7 +58,7 @@ instances created other than the ones in its definition. - TODO FIXME: reference. + For more information, see @@ -70,7 +70,7 @@ increases the type safety of GHC, it is possible that some code that previously compiled will no longer work. - TODO FIXME: reference. + For more information, see @@ -79,16 +79,15 @@ GHC now supports overloading list literals using the new OverloadedLists extension. - TODO FIXME: reference. + For more information, see - There has been significant overhaul of the type inference engine and - constraint solver. - - TODO FIXME: reference. + There has been significant overhaul of the type + inference engine and constraint solver, meaning it + should be faster and less memory intensive. @@ -116,11 +115,11 @@ The LLVM backend now supports 128- and 256-bit SIMD operations. - - TODO FIXME: reference. - This is only available with the LLVM backend. + Note carefully: this is only available with + the LLVM backend, and should be considered + experimental. @@ -144,8 +143,6 @@ compilation. In particular, GHC now has all the necessary patches to support cross compilation to Apple iOS, using the LLVM backend. - - TODO FIXME: reference. @@ -174,7 +171,38 @@ - TODO: mention dynamic changes + On Linux and Mac OS X, GHCi now uses the system + dynamic linker by default, instead of its built in + (static) object linker. This is more robust + cross-platform, and fixes many long-standing bugs (for + example, both constructors and destructors, weak + symbols, etc work correctly, and several edge cases in + the RTS are fixed.) + + + + As a result of this, GHCi (and Template Haskell) must + now load dynamic object files, not static + ones. To assist this, there is a new compilation flag, + -dynamic-too, which when used + during compilation causes GHC to emit both static and + dynamic object files at the same time. GHC itself + still defaults to static linking. + + + + Note that Cabal will correctly handle + -dynamic-too for you automatically, + especially when -XTemplateHaskell + is needed - but you must tell Cabal you are + using the TemplateHaskell + extension. + + + + Currently, Dynamic GHCi and + -dynamic-too are not supported on + Windows (32bit or 64bit.) @@ -217,10 +245,12 @@ - GHC now generates warnings when definitions conflict with the - Applicative-Monad Proposal (AMP). - - TODO FIXME: reference. + In GHC 7.10, Applicative will + become a superclass of Monad, + potentially breaking a lot of user code. To ease this + transition, GHC now generates warnings when + definitions conflict with the Applicative-Monad + Proposal (AMP). @@ -239,6 +269,29 @@ using the new flag -f[no-]warn-amp. + + + + Using the new InterruptibleFFI + extension, it's possible to now declare a foreign + import as interruptible, as opposed + to only safe or + unsafe. An + interruptible foreign call is the + same as a safe call, but may be + interrupted by asynchronous Haskell + exceptions, such as those generated by + throwTo or + timeout. + + + + For more information, (including the exact details on + how the foreign thread is interrupted,) see + + + GHC's internal compiler pipeline is now exposed From git at git.haskell.org Wed Jan 22 23:31:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 22 Jan 2014 23:31:54 +0000 (UTC) Subject: [commit: ghc] master: Also mention Pattern Synonyms (but with a FIXME) (b61958d) Message-ID: <20140122233154.910412406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/b61958d79665722ab058b7daf9fade7853e100e3/ghc >--------------------------------------------------------------- commit b61958d79665722ab058b7daf9fade7853e100e3 Author: Austin Seipp Date: Wed Jan 22 16:24:32 2014 -0600 Also mention Pattern Synonyms (but with a FIXME) Signed-off-by: Austin Seipp >--------------------------------------------------------------- b61958d79665722ab058b7daf9fade7853e100e3 docs/users_guide/7.8.1-notes.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index ce33742..4342fb7 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -85,6 +85,17 @@ + GHC now supports pattern synonyms, enabled by the + -XPatternSynonym extension, + allowing you to name and abstract over patterns more + easily. + + For more information, see TODO FIXME. + + + + + There has been significant overhaul of the type inference engine and constraint solver, meaning it should be faster and less memory intensive. From git at git.haskell.org Wed Jan 22 23:31:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 22 Jan 2014 23:31:56 +0000 (UTC) Subject: [commit: ghc] master: More release note touchups. (4f9df5a) Message-ID: <20140122233157.0169B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4f9df5a4cf060b357cfb1bc100ef32f50e4783fb/ghc >--------------------------------------------------------------- commit 4f9df5a4cf060b357cfb1bc100ef32f50e4783fb Author: Austin Seipp Date: Wed Jan 22 17:04:41 2014 -0600 More release note touchups. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 4f9df5a4cf060b357cfb1bc100ef32f50e4783fb docs/users_guide/7.8.1-notes.xml | 28 ++++++++++++++-------------- docs/users_guide/glasgow_exts.xml | 6 +++--- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index 4342fb7..995444d 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -58,7 +58,7 @@ instances created other than the ones in its definition. - For more information, see + For more information, see . @@ -70,7 +70,7 @@ increases the type safety of GHC, it is possible that some code that previously compiled will no longer work. - For more information, see + For more information, see . @@ -79,7 +79,7 @@ GHC now supports overloading list literals using the new OverloadedLists extension. - For more information, see + For more information, see . @@ -98,7 +98,7 @@ There has been significant overhaul of the type inference engine and constraint solver, meaning it - should be faster and less memory intensive. + should be faster and use less memory. @@ -128,7 +128,7 @@ operations. - Note carefully: this is only available with + Note carefully: this is only available with the LLVM backend, and should be considered experimental. @@ -186,14 +186,14 @@ dynamic linker by default, instead of its built in (static) object linker. This is more robust cross-platform, and fixes many long-standing bugs (for - example, both constructors and destructors, weak + example: constructors and destructors, weak symbols, etc work correctly, and several edge cases in the RTS are fixed.) As a result of this, GHCi (and Template Haskell) must - now load dynamic object files, not static + now load dynamic object files, not static ones. To assist this, there is a new compilation flag, -dynamic-too, which when used during compilation causes GHC to emit both static and @@ -205,7 +205,7 @@ Note that Cabal will correctly handle -dynamic-too for you automatically, especially when -XTemplateHaskell - is needed - but you must tell Cabal you are + is needed - but you must tell Cabal you are using the TemplateHaskell extension. @@ -290,16 +290,16 @@ unsafe. An interruptible foreign call is the same as a safe call, but may be - interrupted by asynchronous Haskell - exceptions, such as those generated by + interrupted by asynchronous Haskell + exceptions, such as those generated by throwTo or timeout. - For more information, (including the exact details on + For more information (including the exact details on how the foreign thread is interrupted,) see + linkend="ffi-interruptible"/>. @@ -514,7 +514,7 @@ setting, which allows you to customize the continuation prompt of multi-line input. - TODO FIXME: reference. + For more information, see . @@ -552,7 +552,7 @@ - Template Haskell now supports Roles (TODO FIXME: elaborate?) + Template Haskell now supports Roles. diff --git a/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml index d336ee9..141502d 100644 --- a/docs/users_guide/glasgow_exts.xml +++ b/docs/users_guide/glasgow_exts.xml @@ -7672,13 +7672,13 @@ with but type inference becomes less predica -Type Holes +Typed Holes -Type hole support is enabled with the option +Typed hole support is enabled with the option , which is enabled by default. -The goal of the type holes warning is not to change the type system, but to help with writing Haskell +The goal of the typed holes warning is not to change the type system, but to help with writing Haskell code. Type holes can be used to obtain extra information from the type checker, which might otherwise be hard to get. Normally, the type checker is used to decide if a module is well typed or not. Using GHCi, From git at git.haskell.org Wed Jan 22 23:31:59 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 22 Jan 2014 23:31:59 +0000 (UTC) Subject: [commit: ghc] master: More tweaks. (21c2607) Message-ID: <20140122233159.D41F12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/21c2607be35fe89143972fd2c2fa1479d3a3538a/ghc >--------------------------------------------------------------- commit 21c2607be35fe89143972fd2c2fa1479d3a3538a Author: Austin Seipp Date: Wed Jan 22 17:12:26 2014 -0600 More tweaks. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 21c2607be35fe89143972fd2c2fa1479d3a3538a docs/users_guide/7.8.1-notes.xml | 40 +++++++++++++++----------------------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index 995444d..6ae5ecd 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -652,32 +652,12 @@ - - The following libraries have been removed from the GHC tree: - - - - - TODO FIXME - - - - - The following libraries have been added to the GHC tree: - - - - - TODO FIXME - - - array - Version number XXXX (was XXXX) + Version number 0.5.0.0 (was 0.4.0.1) @@ -832,7 +812,7 @@ - Version number 0.10.3.0 (was 0.10.0.0) + Version number 0.10.4.0 (was 0.10.0.0) @@ -843,7 +823,7 @@ - Version number 1.18.1.2 (was 1.16.0) + Version number 1.18.1.3 (was 1.16.0) @@ -854,7 +834,7 @@ - Version number 0.5.3.1 (was 0.5.0.0) + Version number 0.5.4.0 (was 0.5.0.0) @@ -1045,6 +1025,18 @@ + Typed Template Haskell expressions are now + supported. See + for more details. + + + + + There is now support for roles. + + + + There is now support for annotation pragmas. From git at git.haskell.org Wed Jan 22 23:32:02 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 22 Jan 2014 23:32:02 +0000 (UTC) Subject: [commit: ghc] master: Fix more 32 bit performance fallout. (c5088e2) Message-ID: <20140122233202.95D0F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/c5088e299a66109346057afc151c33e47b850b92/ghc >--------------------------------------------------------------- commit c5088e299a66109346057afc151c33e47b850b92 Author: Austin Seipp Date: Wed Jan 22 17:30:54 2014 -0600 Fix more 32 bit performance fallout. Some of these are actually worse than I thought upon inspection, but after a little digging I haven't found exactly what has caused them. Some were certainly bitrotted, but others seem updated more recently, so something has slipped. I'll be filing a ticket about these. Signed-off-by: Austin Seipp >--------------------------------------------------------------- c5088e299a66109346057afc151c33e47b850b92 testsuite/tests/perf/compiler/all.T | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index 3b4b62b..aba701a 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -47,9 +47,10 @@ test('T1969', # 2013-02-10 5159748 (x86/Windows) # 2013-02-10 5030080 (x86/Windows) # 2013-11-13 7295012 (x86/Windows, 64bit machine) - (wordsize(32), 6149572, 1), + (wordsize(32), 7354788, 1), # 6707308 (x86/OS X) # 2009-12-31 6149572 (x86/Linux) + # 2014-01-22 7354788 (x86/Linux) (wordsize(64), 11000000, 20)]), # looks like the peak is around ~10M, but we're # unlikely to GC exactly on the peak. @@ -62,11 +63,13 @@ test('T1969', # 2012-10-29 298921816 (x86/Windows) # 2013-02-10 310633884 (x86/Windows) # 2013-11-13 317975916 (x86/Windows, 64bit machine) - (wordsize(32), 322937684, 1), + (wordsize(32), 911567836, 1), # 221667908 (x86/OS X) # 274932264 (x86/Linux) # 2012-10-08 303930948 (x86/Linux, new codegen) # 2013-02-10 322937684 (x86/OSX) + # 2014-01-22 911567836 (x86/Linux, reason unknown) + (wordsize(64), 698612512, 5)]), # 17/11/2009 434845560 (amd64/Linux) # 08/12/2009 459776680 (amd64/Linux) @@ -112,12 +115,13 @@ else: test('T3294', [ compiler_stats_num_field('max_bytes_used', # Note [residency] - [(wordsize(32), 24009436, 15), + [(wordsize(32), 18487364, 15), # 17725476 (x86/OS X) # 14593500 (Windows) # 2013-02-10 20651576 (x86/Windows) # 2013-02-10 20772984 (x86/OSX) # 2013-11-13 24009436 (x86/Windows, 64bit machine) + # 2014-01-22 18487364 (x86/Linux) (wordsize(64), 43224080, 15)]), # prev: 25753192 (amd64/Linux) # 29/08/2012: 37724352 (amd64/Linux) @@ -130,11 +134,12 @@ test('T3294', # (reason for increase back to earlier value unknown) compiler_stats_num_field('bytes allocated', - [(wordsize(32), 1478325844, 5), + [(wordsize(32), 4692493196, 5), # previous: 815479800 (x86/Linux) # (^ increase due to new codegen, see #7198) # 2012-10-08: 1373514844 (x86/Linux) # 2013-11-13: 1478325844 (x86/Windows, 64bit machine) + # 2014-01-22: 4692493196 (x86/Linux, reason unknown) (wordsize(64), 3083825616, 5)]), # old: 1357587088 (amd64/Linux) # 29/08/2012: 2961778696 (amd64/Linux) @@ -170,8 +175,9 @@ test('T4801', [(platform('x86_64-apple-darwin'), 464872776, 5), # expected value: 510938976 (amd64/OS X): - (wordsize(32), 185669232, 10), - # expected value: 228286660 (x86/OS X) + (wordsize(32), 640727348, 10), + # prev: 228286660 (x86/OS X) + # 22/01/2014: 640727348 (reason unknown) (wordsize(64), 392409984, 10)]), # prev: 360243576 (amd64/Linux) @@ -219,10 +225,11 @@ test('T3064', # (amd64/Linux) 2013-09-11: 37; better arity analysis (weird) compiler_stats_num_field('bytes allocated', - [(wordsize(32), 146626504, 10), + [(wordsize(32), 535412508, 10), # 2011-06-28: 56380288 (x86/Linux) # 2012-10-30: 111189536 (x86/Windows) # 2013-11-13: 146626504 (x86/Windows, 64bit machine) + # 2014-01-22: 535412508 (x86/Linux, reason unknown) (wordsize(64), 329795912, 5)]), # (amd64/Linux) (28/06/2011): 73259544 # (amd64/Linux) (07/02/2013): 224798696 @@ -306,10 +313,11 @@ test('T783', [ only_ways(['normal']), # no optimisation for this one # expected value: 175,569,928 (x86/Linux) compiler_stats_num_field('bytes allocated', - [(wordsize(32), 333833658, 2), + [(wordsize(32), 695927020, 2), # 2012-10-08: 226907420 (x86/Linux) # 2013-02-10: 329202116 (x86/Windows) # 2013-02-10: 338465200 (x86/OSX) + # 2014-01-22: 695927020 (x86/Linux, reason unknown) (wordsize(64), 654804144, 10)]), # prev: 349263216 (amd64/Linux) # 07/08/2012: 384479856 (amd64/Linux) From git at git.haskell.org Wed Jan 22 23:38:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 22 Jan 2014 23:38:26 +0000 (UTC) Subject: [commit: ghc] master: Wibble. (d562382) Message-ID: <20140122233826.E32CA2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d562382126d9e7f9d2c5a1179ef045b0a7cae853/ghc >--------------------------------------------------------------- commit d562382126d9e7f9d2c5a1179ef045b0a7cae853 Author: Austin Seipp Date: Wed Jan 22 17:38:15 2014 -0600 Wibble. Signed-off-by: Austin Seipp >--------------------------------------------------------------- d562382126d9e7f9d2c5a1179ef045b0a7cae853 docs/users_guide/7.8.1-notes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index 6ae5ecd..763fde9 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -461,7 +461,7 @@ GHC now supports warning about overflow of integer literals, enabled by -fwarn-overflowed-literals. It - is enabled by default + is enabled by default. From git at git.haskell.org Thu Jan 23 00:16:30 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 23 Jan 2014 00:16:30 +0000 (UTC) Subject: [commit: ghc] master: Release notes: mention Mavericks and some bugs (e81c630) Message-ID: <20140123001630.64EF62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/e81c630a409f419d25ca82ef33a9a85a7be49f9a/ghc >--------------------------------------------------------------- commit e81c630a409f419d25ca82ef33a9a85a7be49f9a Author: Austin Seipp Date: Wed Jan 22 18:16:03 2014 -0600 Release notes: mention Mavericks and some bugs Signed-off-by: Austin Seipp >--------------------------------------------------------------- e81c630a409f419d25ca82ef33a9a85a7be49f9a docs/users_guide/7.8.1-notes.xml | 109 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 105 insertions(+), 4 deletions(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index 763fde9..7f285bc 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -18,6 +18,42 @@ + OS X Mavericks with XCode 5 is now properly supported + by GHC. As a result of this, GHC now uses Clang to + preprocess Haskell code by default for Mavericks + builds. + + + + Note that normally, GHC used gcc as + the preprocessor for Haskell code (as it was the + default everywhere,) which implements + -traditional behavior. However, + Clang is not 100% compatible with GCC's + -traditional as it is rather + implementation specified and does not match any + specification. Clang is also more strict. + + + + As a result of this, when using Clang as the + preprocessor, some programs which previously used + -XCPP and the preprocessor will now + fail to compile. Users who wish to retain the previous + behavior are better off using cpphs as an external + preprocessor for the time being. + + + + In the future, we hope to fix this by adopting a + better preprocessor implementation independent of the + C compiler (perhaps cpphs itself,) and ship that + instead. + + + + + By default, GHC has a new warning enabled, -fwarn-typed-holes, which causes the compiler to respond with the types of unbound @@ -452,8 +488,9 @@ - GHC now supports a --show-options flag, - which will dump all of the flags it supports to standard out. + GHC now supports a + --show-options flag, which will + dump all of the flags it supports to standard out. @@ -627,10 +664,29 @@ - GHC can now be built with Clang, and use Clang as the - preprocessor for Haskell code. Only Clang version 3.4svn is + GHC can now be built with Clang, and use Clang as + the preprocessor for Haskell code. Only Clang + version 3.4 (or Apple LLVM Clang 5.0) or beyond is reliably supported. + + + Note that normally, GHC uses + gcc as the preprocessor for + Haskell code, which implements + -traditional behavior. However, + Clang is not 100% compatible with GCC's + -traditional as it is rather + implementation specified, and is more strict. + + + + As a result of this, when using Clang as the + preprocessor, some programs which previously used + -XCPP and the preprocessor will + now fail to compile. Users who wish to retain the + previous behavior are better off using cpphs. + @@ -1093,4 +1149,49 @@ + + + Known bugs + + + + On OS X 10.7 and beyond, with default build settings, + the runtime system currently suffers from a fairly + large (30%) performance regression in the parallel + garbage collector when using + -threaded impacting its thoroughput + and overall scalability. + + + This is due to the fact that the OS X 10.7+ toolchain + does not (by default) support register variables, or a + fast __thread implementation. Note + that this can be worked around by building GHC using + GCC instead on OS X platforms, but the binary + distribution then requires GCC later. + + + + + + On Windows, -dynamic-too is unsupported. + + + + + + On Windows, we currently don't ship dynamic libraries + or use a dynamic GHCi, unlike Linux or OS X. + + + + + + On 64bit Windows, the static linker currently suffers + from some rather large bugs, which we hope to have + some fixes for soon. + + + + From git at git.haskell.org Thu Jan 23 00:21:27 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 23 Jan 2014 00:21:27 +0000 (UTC) Subject: [commit: ghc] master: And don't forget FreeBSD (2335060) Message-ID: <20140123002127.EB9002406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/2335060c97fa3659fd88a8a3b57ca382a9250e9d/ghc >--------------------------------------------------------------- commit 2335060c97fa3659fd88a8a3b57ca382a9250e9d Author: Austin Seipp Date: Wed Jan 22 18:21:16 2014 -0600 And don't forget FreeBSD Signed-off-by: Austin Seipp >--------------------------------------------------------------- 2335060c97fa3659fd88a8a3b57ca382a9250e9d docs/users_guide/7.8.1-notes.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index 7f285bc..ae84575 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -218,13 +218,13 @@ - On Linux and Mac OS X, GHCi now uses the system - dynamic linker by default, instead of its built in - (static) object linker. This is more robust + On Linux, FreeBSD and Mac OS X, GHCi now uses the + system dynamic linker by default, instead of its built + in (static) object linker. This is more robust cross-platform, and fixes many long-standing bugs (for - example: constructors and destructors, weak - symbols, etc work correctly, and several edge cases in - the RTS are fixed.) + example: constructors and destructors, weak symbols, + etc work correctly, and several edge cases in the RTS + are fixed.) @@ -1181,7 +1181,7 @@ On Windows, we currently don't ship dynamic libraries - or use a dynamic GHCi, unlike Linux or OS X. + or use a dynamic GHCi, unlike Linux, FreeBSD or OS X. From git at git.haskell.org Thu Jan 23 04:24:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 23 Jan 2014 04:24:56 +0000 (UTC) Subject: [commit: ghc] master: Revert "Fix more 32 bit performance fallout." (7c48e76) Message-ID: <20140123042456.4DAB82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/7c48e76a0d85bf125b5cc43598337f9001bb421e/ghc >--------------------------------------------------------------- commit 7c48e76a0d85bf125b5cc43598337f9001bb421e Author: Austin Seipp Date: Wed Jan 22 22:15:20 2014 -0600 Revert "Fix more 32 bit performance fallout." This reverts commit c5088e299a66109346057afc151c33e47b850b92. >--------------------------------------------------------------- 7c48e76a0d85bf125b5cc43598337f9001bb421e testsuite/tests/perf/compiler/all.T | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index aba701a..3b4b62b 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -47,10 +47,9 @@ test('T1969', # 2013-02-10 5159748 (x86/Windows) # 2013-02-10 5030080 (x86/Windows) # 2013-11-13 7295012 (x86/Windows, 64bit machine) - (wordsize(32), 7354788, 1), + (wordsize(32), 6149572, 1), # 6707308 (x86/OS X) # 2009-12-31 6149572 (x86/Linux) - # 2014-01-22 7354788 (x86/Linux) (wordsize(64), 11000000, 20)]), # looks like the peak is around ~10M, but we're # unlikely to GC exactly on the peak. @@ -63,13 +62,11 @@ test('T1969', # 2012-10-29 298921816 (x86/Windows) # 2013-02-10 310633884 (x86/Windows) # 2013-11-13 317975916 (x86/Windows, 64bit machine) - (wordsize(32), 911567836, 1), + (wordsize(32), 322937684, 1), # 221667908 (x86/OS X) # 274932264 (x86/Linux) # 2012-10-08 303930948 (x86/Linux, new codegen) # 2013-02-10 322937684 (x86/OSX) - # 2014-01-22 911567836 (x86/Linux, reason unknown) - (wordsize(64), 698612512, 5)]), # 17/11/2009 434845560 (amd64/Linux) # 08/12/2009 459776680 (amd64/Linux) @@ -115,13 +112,12 @@ else: test('T3294', [ compiler_stats_num_field('max_bytes_used', # Note [residency] - [(wordsize(32), 18487364, 15), + [(wordsize(32), 24009436, 15), # 17725476 (x86/OS X) # 14593500 (Windows) # 2013-02-10 20651576 (x86/Windows) # 2013-02-10 20772984 (x86/OSX) # 2013-11-13 24009436 (x86/Windows, 64bit machine) - # 2014-01-22 18487364 (x86/Linux) (wordsize(64), 43224080, 15)]), # prev: 25753192 (amd64/Linux) # 29/08/2012: 37724352 (amd64/Linux) @@ -134,12 +130,11 @@ test('T3294', # (reason for increase back to earlier value unknown) compiler_stats_num_field('bytes allocated', - [(wordsize(32), 4692493196, 5), + [(wordsize(32), 1478325844, 5), # previous: 815479800 (x86/Linux) # (^ increase due to new codegen, see #7198) # 2012-10-08: 1373514844 (x86/Linux) # 2013-11-13: 1478325844 (x86/Windows, 64bit machine) - # 2014-01-22: 4692493196 (x86/Linux, reason unknown) (wordsize(64), 3083825616, 5)]), # old: 1357587088 (amd64/Linux) # 29/08/2012: 2961778696 (amd64/Linux) @@ -175,9 +170,8 @@ test('T4801', [(platform('x86_64-apple-darwin'), 464872776, 5), # expected value: 510938976 (amd64/OS X): - (wordsize(32), 640727348, 10), - # prev: 228286660 (x86/OS X) - # 22/01/2014: 640727348 (reason unknown) + (wordsize(32), 185669232, 10), + # expected value: 228286660 (x86/OS X) (wordsize(64), 392409984, 10)]), # prev: 360243576 (amd64/Linux) @@ -225,11 +219,10 @@ test('T3064', # (amd64/Linux) 2013-09-11: 37; better arity analysis (weird) compiler_stats_num_field('bytes allocated', - [(wordsize(32), 535412508, 10), + [(wordsize(32), 146626504, 10), # 2011-06-28: 56380288 (x86/Linux) # 2012-10-30: 111189536 (x86/Windows) # 2013-11-13: 146626504 (x86/Windows, 64bit machine) - # 2014-01-22: 535412508 (x86/Linux, reason unknown) (wordsize(64), 329795912, 5)]), # (amd64/Linux) (28/06/2011): 73259544 # (amd64/Linux) (07/02/2013): 224798696 @@ -313,11 +306,10 @@ test('T783', [ only_ways(['normal']), # no optimisation for this one # expected value: 175,569,928 (x86/Linux) compiler_stats_num_field('bytes allocated', - [(wordsize(32), 695927020, 2), + [(wordsize(32), 333833658, 2), # 2012-10-08: 226907420 (x86/Linux) # 2013-02-10: 329202116 (x86/Windows) # 2013-02-10: 338465200 (x86/OSX) - # 2014-01-22: 695927020 (x86/Linux, reason unknown) (wordsize(64), 654804144, 10)]), # prev: 349263216 (amd64/Linux) # 07/08/2012: 384479856 (amd64/Linux) From git at git.haskell.org Thu Jan 23 04:24:58 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 23 Jan 2014 04:24:58 +0000 (UTC) Subject: [commit: ghc] master: Fix 32bit numbers (again) (13f1f86) Message-ID: <20140123042458.B4C132406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/13f1f8645e2a5d648a426783bffdd2c6263838e2/ghc >--------------------------------------------------------------- commit 13f1f8645e2a5d648a426783bffdd2c6263838e2 Author: Austin Seipp Date: Wed Jan 22 22:24:33 2014 -0600 Fix 32bit numbers (again) My build settings were wrong last time. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 13f1f8645e2a5d648a426783bffdd2c6263838e2 testsuite/tests/perf/compiler/all.T | 20 ++++++++++++-------- testsuite/tests/perf/haddock/all.T | 32 ++++++++++++++++---------------- 2 files changed, 28 insertions(+), 24 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 13f1f8645e2a5d648a426783bffdd2c6263838e2 From git at git.haskell.org Thu Jan 23 04:27:23 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 23 Jan 2014 04:27:23 +0000 (UTC) Subject: [commit: ghc] master: One more fix (T3064) (801a3d2) Message-ID: <20140123042723.DB0DB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/801a3d2fc7c7c89d368a81907a2462d35fd1cc61/ghc >--------------------------------------------------------------- commit 801a3d2fc7c7c89d368a81907a2462d35fd1cc61 Author: Austin Seipp Date: Wed Jan 22 22:27:12 2014 -0600 One more fix (T3064) Signed-off-by: Austin Seipp >--------------------------------------------------------------- 801a3d2fc7c7c89d368a81907a2462d35fd1cc61 testsuite/tests/perf/compiler/all.T | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index e0b1646..498fc5f 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -207,10 +207,10 @@ test('T4801', test('T3064', [# expect_broken( 3064 ), compiler_stats_num_field('peak_megabytes_allocated',# Note [residency] - [(wordsize(32), 18, 20), + [(wordsize(32), 23, 20), # expected value: 14 (x86/Linux 28-06-2012): # 2013-11-13: 18 (x86/Windows, 64bit machine) - + # 2014-01-22: 23 (x86/Linux) (wordsize(64), 37, 20)]), # (amd64/Linux): 18 # (amd64/Linux) 2012-02-07: 26 From git at git.haskell.org Thu Jan 23 06:42:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 23 Jan 2014 06:42:46 +0000 (UTC) Subject: [commit: ghc] master: Fix spelling of language pragma (cabf0b4) Message-ID: <20140123064246.2F3852406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/cabf0b4ef489e064de6db0ba789017d2415aedd2/ghc >--------------------------------------------------------------- commit cabf0b4ef489e064de6db0ba789017d2415aedd2 Author: Gabor Greif Date: Thu Jan 23 07:42:14 2014 +0100 Fix spelling of language pragma >--------------------------------------------------------------- cabf0b4ef489e064de6db0ba789017d2415aedd2 docs/users_guide/7.8.1-notes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index ae84575..c446b9d 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -122,7 +122,7 @@ GHC now supports pattern synonyms, enabled by the - -XPatternSynonym extension, + -XPatternSynonyms extension, allowing you to name and abstract over patterns more easily. From git at git.haskell.org Thu Jan 23 18:30:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 23 Jan 2014 18:30:22 +0000 (UTC) Subject: [commit: ghc] master: More demand analyser test cases (26acb49) Message-ID: <20140123183022.521CE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/26acb4981d02eb59c72d059cb196c04a7ac945af/ghc >--------------------------------------------------------------- commit 26acb4981d02eb59c72d059cb196c04a7ac945af Author: Joachim Breitner Date: Thu Jan 23 16:40:10 2014 +0000 More demand analyser test cases catching mistakes that I had during my refactoring, and which I do not want to do again. >--------------------------------------------------------------- 26acb4981d02eb59c72d059cb196c04a7ac945af .../tests/stranal/sigs/BottomFromInnerLambda.hs | 12 +++++++ .../stranal/sigs/BottomFromInnerLambda.stderr | 6 ++++ testsuite/tests/stranal/sigs/DmdAnalGADTs.hs | 38 ++++++++++++++++++++ testsuite/tests/stranal/sigs/DmdAnalGADTs.stderr | 10 ++++++ testsuite/tests/stranal/sigs/UnsatFun.hs | 15 ++++++-- testsuite/tests/stranal/sigs/UnsatFun.stderr | 4 ++- testsuite/tests/stranal/sigs/all.T | 2 ++ 7 files changed, 84 insertions(+), 3 deletions(-) diff --git a/testsuite/tests/stranal/sigs/BottomFromInnerLambda.hs b/testsuite/tests/stranal/sigs/BottomFromInnerLambda.hs new file mode 100644 index 0000000..8d3b77f --- /dev/null +++ b/testsuite/tests/stranal/sigs/BottomFromInnerLambda.hs @@ -0,0 +1,12 @@ +module BottomFromInnerLambda where + +expensive :: Int -> Int +expensive 0 = 0 +expensive n = expensive n +{-# NOINLINE expensive #-} + +-- We could be saying "b" +-- but we are saying "" +-- We should not be saying "b" +f :: Int -> Int -> Int +f x = expensive x `seq` (\y -> error (show y)) diff --git a/testsuite/tests/stranal/sigs/BottomFromInnerLambda.stderr b/testsuite/tests/stranal/sigs/BottomFromInnerLambda.stderr new file mode 100644 index 0000000..e8ae690 --- /dev/null +++ b/testsuite/tests/stranal/sigs/BottomFromInnerLambda.stderr @@ -0,0 +1,6 @@ + +==================== Strictness signatures ==================== +BottomFromInnerLambda.expensive: m +BottomFromInnerLambda.f: + + diff --git a/testsuite/tests/stranal/sigs/DmdAnalGADTs.hs b/testsuite/tests/stranal/sigs/DmdAnalGADTs.hs new file mode 100644 index 0000000..de6484f --- /dev/null +++ b/testsuite/tests/stranal/sigs/DmdAnalGADTs.hs @@ -0,0 +1,38 @@ +{-# LANGUAGE GADTs #-} +module DmdAnalGADTs where + +-- This tests the effect of different types in branches of a case + +data D a where + A :: D Int + B :: D (Int -> Int) + +hasCPR :: Int +hasCPR = 1 + +hasStrSig :: Int -> Int +hasStrSig x = x + +diverges :: Int +diverges = diverges + +-- The result should not have a CPR property +-- Becuase we are lub?ing "m" and "m" in the case expression. +f :: D x -> x +f x = case x of + A -> hasCPR + B -> hasStrSig + +-- This should have the CPR property +f' :: D Int -> Int +f' x = case x of + A -> hasCPR + +-- The result should not be diverging, because one branch is terminating. +-- It should also put a strict, but not hyperstrict demand on x +g :: D x -> x +g x = case x of + A -> diverges + B -> \_ -> diverges + + diff --git a/testsuite/tests/stranal/sigs/DmdAnalGADTs.stderr b/testsuite/tests/stranal/sigs/DmdAnalGADTs.stderr new file mode 100644 index 0000000..7fb1a55 --- /dev/null +++ b/testsuite/tests/stranal/sigs/DmdAnalGADTs.stderr @@ -0,0 +1,10 @@ + +==================== Strictness signatures ==================== +DmdAnalGADTs.diverges: b +DmdAnalGADTs.f: +DmdAnalGADTs.f': m +DmdAnalGADTs.g: +DmdAnalGADTs.hasCPR: m +DmdAnalGADTs.hasStrSig: m + + diff --git a/testsuite/tests/stranal/sigs/UnsatFun.hs b/testsuite/tests/stranal/sigs/UnsatFun.hs index 23ba642..c38c5cb 100644 --- a/testsuite/tests/stranal/sigs/UnsatFun.hs +++ b/testsuite/tests/stranal/sigs/UnsatFun.hs @@ -24,6 +24,17 @@ g :: Int -> Int g x = let f' = f x in h f' -g2 :: Int -> Int -g2 x = let f' = f x +-- Should not get a bottom result +g' :: Int -> Int +g' x = let f' = f x in h2 True f' + +h3 :: (Int -> Int -> Int) -> Int +h3 f = f 2 `seq` 3 +{-# NOINLINE h3 #-} + + +-- And here we check that the depth of the strictness +-- of h is applied correctly. +g3 :: Int -> Int +g3 x = h3 (\_ _ -> error (show x)) diff --git a/testsuite/tests/stranal/sigs/UnsatFun.stderr b/testsuite/tests/stranal/sigs/UnsatFun.stderr index 3d95c44..6e6402b 100644 --- a/testsuite/tests/stranal/sigs/UnsatFun.stderr +++ b/testsuite/tests/stranal/sigs/UnsatFun.stderr @@ -2,8 +2,10 @@ ==================== Strictness signatures ==================== UnsatFun.f: b UnsatFun.g: b -UnsatFun.g2: +UnsatFun.g': +UnsatFun.g3: m UnsatFun.h: UnsatFun.h2: +UnsatFun.h3: m diff --git a/testsuite/tests/stranal/sigs/all.T b/testsuite/tests/stranal/sigs/all.T index 3657432..9d36479 100644 --- a/testsuite/tests/stranal/sigs/all.T +++ b/testsuite/tests/stranal/sigs/all.T @@ -13,3 +13,5 @@ test('HyperStrUse', normal, compile, ['']) test('T8598', normal, compile, ['']) test('FacState', expect_broken(1600), compile, ['']) test('UnsatFun', normal, compile, ['']) +test('BottomFromInnerLambda', normal, compile, ['']) +test('DmdAnalGADTs', normal, compile, ['']) From git at git.haskell.org Thu Jan 23 18:30:24 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 23 Jan 2014 18:30:24 +0000 (UTC) Subject: [commit: ghc] master: Some polishing of the demand analyser. (8d34ae3) Message-ID: <20140123183024.C5EDC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/8d34ae393eb49121e51bf1f01d575928aece5cfe/ghc >--------------------------------------------------------------- commit 8d34ae393eb49121e51bf1f01d575928aece5cfe Author: Joachim Breitner Date: Thu Jan 23 15:13:30 2014 +0000 Some polishing of the demand analyser. I did some refactoring of the demand analyser, because I was smelling some minor code smell. Most of my changes I had to undo, though, adding notes and testcases on why the existing code was correct after all. Especially the semantics of the DmdResult is confusing, as it differs in a DmdType and a StrictSig. I got to imrpove the readability of the code for lubDmdType, though. Also, dmdAnalRhs was a bit fishy in how it removed the demand on further arguments of the body, but used the DmdResult. This would be wrong if a body would return a demand type of "m" (which currently does not happen). This is now treated better in removeDmdTyArgs. >--------------------------------------------------------------- 8d34ae393eb49121e51bf1f01d575928aece5cfe compiler/basicTypes/Demand.lhs | 138 +++++++++++++++++++++++++++------------- compiler/stranal/DmdAnal.lhs | 15 +++-- 2 files changed, 102 insertions(+), 51 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 8d34ae393eb49121e51bf1f01d575928aece5cfe From git at git.haskell.org Thu Jan 23 21:34:16 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 23 Jan 2014 21:34:16 +0000 (UTC) Subject: [commit: ghc] master: Some typos in comments (e01367f) Message-ID: <20140123213416.707332406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/e01367ff8c3165b0dd1fb78bcb3a3ced1e4a5f19/ghc >--------------------------------------------------------------- commit e01367ff8c3165b0dd1fb78bcb3a3ced1e4a5f19 Author: Gabor Greif Date: Thu Jan 23 22:33:46 2014 +0100 Some typos in comments >--------------------------------------------------------------- e01367ff8c3165b0dd1fb78bcb3a3ced1e4a5f19 compiler/typecheck/TcSMonad.lhs | 2 +- testsuite/tests/indexed-types/should_compile/all.T | 2 +- testsuite/tests/stranal/sigs/DmdAnalGADTs.hs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/typecheck/TcSMonad.lhs b/compiler/typecheck/TcSMonad.lhs index b01a67a..634e926 100644 --- a/compiler/typecheck/TcSMonad.lhs +++ b/compiler/typecheck/TcSMonad.lhs @@ -1759,7 +1759,7 @@ rewriteEqEvidence :: CtEvidence -- Old evidence :: olhs ~ orhs (not swap -- or orhs ~ olhs (swapped) -> SwapFlag -> TcType -> TcType -- New predicate nlhs ~ nrhs - -- Should be zonked, becuase we use typeKind on nlhs/nrhs + -- Should be zonked, because we use typeKind on nlhs/nrhs -> TcCoercion -- lhs_co, of type :: nlhs ~ olhs -> TcCoercion -- rhs_co, of type :: nrhs ~ orhs -> TcS (Maybe CtEvidence) -- Of type nlhs ~ nrhs diff --git a/testsuite/tests/indexed-types/should_compile/all.T b/testsuite/tests/indexed-types/should_compile/all.T index 1b2ffa8..f722ea3 100644 --- a/testsuite/tests/indexed-types/should_compile/all.T +++ b/testsuite/tests/indexed-types/should_compile/all.T @@ -214,7 +214,7 @@ test('T7804', normal, compile, ['']) test('T7837', normal, compile, ['-O -ddump-rule-firings']) test('T4185', normal, compile, ['']) -# Cuased infinite loop in the compiler +# Caused infinite loop in the compiler test('T8002', normal, run_command, diff --git a/testsuite/tests/stranal/sigs/DmdAnalGADTs.hs b/testsuite/tests/stranal/sigs/DmdAnalGADTs.hs index de6484f..0c93cc0 100644 --- a/testsuite/tests/stranal/sigs/DmdAnalGADTs.hs +++ b/testsuite/tests/stranal/sigs/DmdAnalGADTs.hs @@ -17,7 +17,7 @@ diverges :: Int diverges = diverges -- The result should not have a CPR property --- Becuase we are lub?ing "m" and "m" in the case expression. +-- Because we are lub?ing "m" and "m" in the case expression. f :: D x -> x f x = case x of A -> hasCPR From git at git.haskell.org Fri Jan 24 14:32:32 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 24 Jan 2014 14:32:32 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: Let coerce have a lower arity (35117c9) Message-ID: <20140124143232.634822406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/35117c970696bdd3f30c52b1a3d4481c18fdb189/ghc >--------------------------------------------------------------- commit 35117c970696bdd3f30c52b1a3d4481c18fdb189 Author: Joachim Breitner Date: Fri Jan 24 13:29:47 2014 +0000 Let coerce have a lower arity by writing ? k ? ? c -> case c of (MkCoercible co) -> (?x. x) |> (?_R ? co) instead of ? k ? ? c x -> case c of (MkCoercible co) -> x |> co which allows coerce to be inlined even when partially applied, and its definition matches the shape of code generated from a newtype constructor in, say, "map Age". >--------------------------------------------------------------- 35117c970696bdd3f30c52b1a3d4481c18fdb189 compiler/basicTypes/MkId.lhs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs index 604163f..9aaeb55 100644 --- a/compiler/basicTypes/MkId.lhs +++ b/compiler/basicTypes/MkId.lhs @@ -1154,10 +1154,20 @@ coerceId = pcMiscPrelId coerceName ty info eqRPrimTy = mkTyConApp eqReprPrimTyCon [k, aTy, bTy] ty = mkForAllTys [kv, a, b] (mkFunTys [eqRTy, aTy] bTy) - [eqR,x,eq] = mkTemplateLocals [eqRTy, aTy,eqRPrimTy] - rhs = mkLams [kv,a,b,eqR,x] $ + [eqR,eq] = mkTemplateLocals [eqRTy, eqRPrimTy] + rhs = mkLams [kv,a,b,eqR] $ mkWildCase (Var eqR) eqRTy bTy $ - [(DataAlt coercibleDataCon, [eq], Cast (Var x) (CoVarCo eq))] + [(DataAlt coercibleDataCon, [eq], mkCastId (CoVarCo eq))] + +-- Turns co :: a ~#R b coercion into +-- (\x -> x) |> (_R -> co) +-- which allows the unfoldings ofunsafeCoerce and coerce to have a lower arity +mkCastId :: Coercion -> CoreExpr +mkCastId co = Cast (mkLams [x] (Var x)) + (mkFunCo Representational (mkReflCo Representational aTy) co) + where + Pair aTy _ = coercionKind co + [x] = mkTemplateLocals [aTy] \end{code} Note [Unsafe coerce magic] From git at git.haskell.org Fri Jan 24 14:32:34 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 24 Jan 2014 14:32:34 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: Add Case TyConAppCo to match_co (8d68e50) Message-ID: <20140124143234.F3B0A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/8d68e50ebe5087f2672aae7c22b2daab1a13692d/ghc >--------------------------------------------------------------- commit 8d68e50ebe5087f2672aae7c22b2daab1a13692d Author: Joachim Breitner Date: Fri Jan 24 13:39:11 2014 +0000 Add Case TyConAppCo to match_co >--------------------------------------------------------------- 8d68e50ebe5087f2672aae7c22b2daab1a13692d compiler/specialise/Rules.lhs | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/compiler/specialise/Rules.lhs b/compiler/specialise/Rules.lhs index b88888c..a6593af 100644 --- a/compiler/specialise/Rules.lhs +++ b/compiler/specialise/Rules.lhs @@ -729,9 +729,28 @@ match_co renv subst (Refl r1 ty1) co Refl r2 ty2 | r1 == r2 -> match_ty renv subst ty1 ty2 _ -> Nothing -match_co _ _ co1 _ - = pprTrace "match_co: needs more cases" (ppr co1) Nothing - -- Currently just deals with CoVarCo and Refl +match_co renv subst (TyConAppCo r1 tc1 cos1) co2 + = case co2 of + TyConAppCo r2 tc2 cos2 + | r1 == r2 && tc1 == tc2 + -> match_cos renv subst cos1 cos2 + _ -> Nothing +match_co _ _ co1 co2 + = pprTrace "match_co: needs more cases" (ppr co1 $$ ppr co2) Nothing + -- Currently just deals with CoVarCo, TyConAppCo and Refl + +match_cos :: RuleMatchEnv + -> RuleSubst + -> [Coercion] + -> [Coercion] + -> Maybe RuleSubst +match_cos renv subst (co1:cos1) (co2:cos2) = + case match_co renv subst co1 co2 of + Just subst' -> match_cos renv subst' cos1 cos2 + Nothing -> Nothing +match_cos _ subst [] [] = Just subst +match_cos _ _ cos1 cos2 = pprTrace "match_cos: not same length" (ppr cos1 $$ ppr cos2) Nothing + ------------- rnMatchBndr2 :: RuleMatchEnv -> RuleSubst -> Var -> Var -> RuleMatchEnv From git at git.haskell.org Fri Jan 24 14:32:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 24 Jan 2014 14:32:37 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: In simpleOptExpr, unfold compulsary unfoldings (82bb528) Message-ID: <20140124143237.6D5FA2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/82bb5283e27932c6f903cf5e2f2c1af3747f7faa/ghc >--------------------------------------------------------------- commit 82bb5283e27932c6f903cf5e2f2c1af3747f7faa Author: Joachim Breitner Date: Fri Jan 24 13:35:21 2014 +0000 In simpleOptExpr, unfold compulsary unfoldings such as that of coerce. >--------------------------------------------------------------- 82bb5283e27932c6f903cf5e2f2c1af3747f7faa compiler/coreSyn/CoreSubst.lhs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/coreSyn/CoreSubst.lhs b/compiler/coreSyn/CoreSubst.lhs index 3dedbc8..87f868a 100644 --- a/compiler/coreSyn/CoreSubst.lhs +++ b/compiler/coreSyn/CoreSubst.lhs @@ -966,6 +966,9 @@ simple_app subst (Lam b e) (a:as) where (subst', b') = subst_opt_bndr subst b b2 = add_info subst' b b' +simple_app subst (Var v) as + | isCompulsoryUnfolding (idUnfolding v) + = simple_app subst (unfoldingTemplate (idUnfolding v)) as simple_app subst e as = foldl App (simple_opt_expr subst e) as From git at git.haskell.org Fri Jan 24 14:32:39 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 24 Jan 2014 14:32:39 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: Replace forall'ed Coercible by ~R# in RULES (b76e50d) Message-ID: <20140124143240.890752406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/b76e50d94deef792e1adf8101824db1c89a8763e/ghc >--------------------------------------------------------------- commit b76e50d94deef792e1adf8101824db1c89a8763e Author: Joachim Breitner Date: Fri Jan 24 13:33:37 2014 +0000 Replace forall'ed Coercible by ~R# in RULES we want a rule "map coerce = coerce" to match the core generated for "map Age" (this is #2110). >--------------------------------------------------------------- b76e50d94deef792e1adf8101824db1c89a8763e compiler/basicTypes/Id.lhs | 5 +++++ compiler/basicTypes/OccName.lhs | 9 +++++---- compiler/deSugar/Desugar.lhs | 30 ++++++++++++++++++++++++++++-- 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/compiler/basicTypes/Id.lhs b/compiler/basicTypes/Id.lhs index 50b3641..0020032 100644 --- a/compiler/basicTypes/Id.lhs +++ b/compiler/basicTypes/Id.lhs @@ -30,6 +30,7 @@ module Id ( mkGlobalId, mkVanillaGlobal, mkVanillaGlobalWithInfo, mkLocalId, mkLocalIdWithInfo, mkExportedLocalId, mkSysLocal, mkSysLocalM, mkUserLocal, mkUserLocalM, + mkDerivedLocalM, mkTemplateLocals, mkTemplateLocalsNum, mkTemplateLocal, mkWorkerId, mkWiredInIdName, @@ -269,6 +270,10 @@ mkUserLocal occ uniq ty loc = mkLocalId (mkInternalName uniq occ loc) ty mkUserLocalM :: MonadUnique m => OccName -> Type -> SrcSpan -> m Id mkUserLocalM occ ty loc = getUniqueM >>= (\uniq -> return (mkUserLocal occ uniq ty loc)) +mkDerivedLocalM :: MonadUnique m => (OccName -> OccName) -> Id -> Type -> m Id +mkDerivedLocalM deriv_name id ty + = getUniqueM >>= (\uniq -> return (mkLocalId (mkDerivedInternalName deriv_name uniq (getName id)) ty)) + mkWiredInIdName :: Module -> FastString -> Unique -> Id -> Name mkWiredInIdName mod fs uniq id = mkWiredInName mod (mkOccNameFS varName fs) uniq (AnId id) UserSyntax diff --git a/compiler/basicTypes/OccName.lhs b/compiler/basicTypes/OccName.lhs index 6dbae4b..e993767 100644 --- a/compiler/basicTypes/OccName.lhs +++ b/compiler/basicTypes/OccName.lhs @@ -62,9 +62,9 @@ module OccName ( mkGenDefMethodOcc, mkDerivedTyConOcc, mkNewTyCoOcc, mkClassOpAuxOcc, mkCon2TagOcc, mkTag2ConOcc, mkMaxTagOcc, - mkClassDataConOcc, mkDictOcc, mkIPOcc, - mkSpecOcc, mkForeignExportOcc, mkGenOcc1, mkGenOcc2, - mkGenD, mkGenR, mkGen1R, mkGenRCo, mkGenC, mkGenS, + mkClassDataConOcc, mkDictOcc, mkIPOcc, + mkSpecOcc, mkForeignExportOcc, mkRepEqOcc, mkGenOcc1, mkGenOcc2, + mkGenD, mkGenR, mkGen1R, mkGenRCo, mkGenC, mkGenS, mkDataTOcc, mkDataCOcc, mkDataConWorkerOcc, mkSuperDictSelOcc, mkLocalOcc, mkMethodOcc, mkInstTyTcOcc, mkInstTyCoOcc, mkEqPredCoOcc, @@ -572,7 +572,7 @@ isDerivedOccName occ = \begin{code} mkDataConWrapperOcc, mkWorkerOcc, mkMatcherOcc, mkDefaultMethodOcc, mkGenDefMethodOcc, mkDerivedTyConOcc, mkClassDataConOcc, mkDictOcc, - mkIPOcc, mkSpecOcc, mkForeignExportOcc, mkGenOcc1, mkGenOcc2, + mkIPOcc, mkSpecOcc, mkForeignExportOcc, mkRepEqOcc, mkGenOcc1, mkGenOcc2, mkGenD, mkGenR, mkGen1R, mkGenRCo, mkDataTOcc, mkDataCOcc, mkDataConWorkerOcc, mkNewTyCoOcc, mkInstTyCoOcc, mkEqPredCoOcc, mkClassOpAuxOcc, @@ -593,6 +593,7 @@ mkDictOcc = mk_simple_deriv varName "$d" mkIPOcc = mk_simple_deriv varName "$i" mkSpecOcc = mk_simple_deriv varName "$s" mkForeignExportOcc = mk_simple_deriv varName "$f" +mkRepEqOcc = mk_simple_deriv tvName "$r" -- In RULES involving Coercible mkNewTyCoOcc = mk_simple_deriv tcName "NTCo:" -- Coercion for newtypes mkInstTyCoOcc = mk_simple_deriv tcName "TFCo:" -- Coercion for type functions mkEqPredCoOcc = mk_simple_deriv tcName "$co" diff --git a/compiler/deSugar/Desugar.lhs b/compiler/deSugar/Desugar.lhs index e13767f..663c1cd 100644 --- a/compiler/deSugar/Desugar.lhs +++ b/compiler/deSugar/Desugar.lhs @@ -18,6 +18,7 @@ import Id import Name import Type import FamInstEnv +import Coercion import InstEnv import Class import Avail @@ -33,8 +34,11 @@ import Module import NameSet import NameEnv import Rules +import TysPrim (eqReprPrimTyCon) +import TysWiredIn (coercibleTyCon ) import BasicTypes ( Activation(.. ) ) import CoreMonad ( endPass, CoreToDo(..) ) +import MkCore import FastString import ErrUtils import Outputable @@ -347,6 +351,26 @@ Reason %************************************************************************ \begin{code} + +unfold_coerce :: [Id] -> CoreExpr -> CoreExpr -> DsM ([Var], CoreExpr, CoreExpr) +unfold_coerce bndrs lhs rhs = do + (bndrs', wrap) <- go bndrs + return (bndrs', wrap lhs, wrap rhs) + where + go :: [Id] -> DsM ([Id], CoreExpr -> CoreExpr) + go [] = return ([], id) + go (v:vs) + | Just (tc, args) <- splitTyConApp_maybe (idType v) + , tc == coercibleTyCon = do + let ty' = mkTyConApp eqReprPrimTyCon args + v' <- mkDerivedLocalM mkRepEqOcc v ty' + + (bndrs, wrap) <- go vs + return (v':bndrs, mkCoreLet (NonRec v (mkEqBox (mkCoVarCo v'))) . wrap) + | otherwise = do + (bndrs,wrap) <- go vs + return (v:bndrs, wrap) + dsRule :: LRuleDecl Id -> DsM (Maybe CoreRule) dsRule (L loc (HsRule name act vars lhs _tv_lhs rhs _fv_rhs)) = putSrcSpanDs loc $ @@ -359,9 +383,11 @@ dsRule (L loc (HsRule name act vars lhs _tv_lhs rhs _fv_rhs)) ; rhs' <- dsLExpr rhs ; dflags <- getDynFlags + ; (bndrs'', lhs'', rhs'') <- unfold_coerce bndrs' lhs' rhs' + -- Substitute the dict bindings eagerly, -- and take the body apart into a (f args) form - ; case decomposeRuleLhs bndrs' lhs' of { + ; case decomposeRuleLhs bndrs'' lhs'' of { Left msg -> do { warnDs msg; return Nothing } ; Right (final_bndrs, fn_id, args) -> do @@ -370,7 +396,7 @@ dsRule (L loc (HsRule name act vars lhs _tv_lhs rhs _fv_rhs)) -- we don't want to attach rules to the bindings of implicit Ids, -- because they don't show up in the bindings until just before code gen fn_name = idName fn_id - final_rhs = simpleOptExpr rhs' -- De-crap it + final_rhs = simpleOptExpr rhs'' -- De-crap it rule = mkRule False {- Not auto -} is_local name act fn_name final_bndrs args final_rhs From git at git.haskell.org Fri Jan 24 14:32:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 24 Jan 2014 14:32:42 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: In CoreSubst, optimize Coercible values aggressively (1906a7d) Message-ID: <20140124143242.AA8BE24069@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/1906a7dd0cac64ee0dceeac194ae8b41e556a3fb/ghc >--------------------------------------------------------------- commit 1906a7dd0cac64ee0dceeac194ae8b41e556a3fb Author: Joachim Breitner Date: Fri Jan 24 13:34:50 2014 +0000 In CoreSubst, optimize Coercible values aggressively just like boxed type equalities. >--------------------------------------------------------------- 1906a7dd0cac64ee0dceeac194ae8b41e556a3fb compiler/coreSyn/CoreSubst.lhs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/coreSyn/CoreSubst.lhs b/compiler/coreSyn/CoreSubst.lhs index 3b39320..3dedbc8 100644 --- a/compiler/coreSyn/CoreSubst.lhs +++ b/compiler/coreSyn/CoreSubst.lhs @@ -61,7 +61,7 @@ import Coercion hiding ( substTy, substCo, extendTvSubst, substTyVarBndr, substC import TyCon ( tyConArity ) import DataCon -import PrelNames ( eqBoxDataConKey ) +import PrelNames ( eqBoxDataConKey, coercibleDataConKey ) import OptCoercion ( optCoercion ) import PprCore ( pprCoreBindings, pprRules ) import Module ( Module ) @@ -1039,7 +1039,7 @@ maybe_substitute subst b r trivial | exprIsTrivial r = True | (Var fun, args) <- collectArgs r , Just dc <- isDataConWorkId_maybe fun - , dc `hasKey` eqBoxDataConKey + , dc `hasKey` eqBoxDataConKey || dc `hasKey` coercibleDataConKey , all exprIsTrivial args = True -- See Note [Optimise coercion boxes agressively] | otherwise = False From git at git.haskell.org Fri Jan 24 14:33:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 24 Jan 2014 14:33:22 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110's head updated: Add Case TyConAppCo to match_co (8d68e50) Message-ID: <20140124143322.C641E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc Branch 'wip/nomeata-T2110' now includes: 6b67476 [project @ 2001-03-07 15:49:24 by sewardj] Driver and infrastructure files (.T's) for the new test framework. c476429 [project @ 2001-03-07 16:55:48 by sewardj] Beginnings of a H98 test suite: 16 tests taken from Malcolm Wallace's NHC test suite. Many more to come. d9f024b [project @ 2001-03-08 14:21:02 by sewardj] Changes to support multiple tests in a single directory. 375b743 [project @ 2001-03-08 14:21:53 by sewardj] Changes to support multiple tests in a single directory (rename std-macros.T to singlefile-macros.T). 5f0ccf4 [project @ 2001-03-08 14:23:20 by sewardj] Rearrange so that multiple tests reside in the same directory. 35450a6 [project @ 2001-03-08 14:46:20 by sewardj] Further flattening of the directory hierarchy. 9b3c7b7 [project @ 2001-03-08 15:02:19 by sewardj] Make existing tests work again in the modified framework. 15a0c07 [project @ 2001-03-08 16:33:03 by sewardj] More tests. .T files are all empty at the moment. 909a6d2 [project @ 2001-03-08 17:01:31 by sewardj] Make more tests work. 1d4cafb [project @ 2001-03-09 11:30:10 by malcolm] #ifdef the import location for `trace' depending on build compiler. 1be3095 [project @ 2001-03-09 11:33:35 by malcolm] Should run to completion with output "True". a60cc4d [project @ 2001-03-09 11:36:34 by malcolm] Add config case for nhc98. cebad7b [project @ 2001-03-09 11:37:30 by malcolm] This test should pass. 37b2013 [project @ 2001-03-09 11:40:05 by malcolm] GHC gives a "parse error", not "Could not deduce". ee82fee [project @ 2001-03-09 11:42:00 by malcolm] Add nhc98 config case. eaaf73d [project @ 2001-03-09 11:49:14 by malcolm] Basic config file for a York machine. 82fed7f [project @ 2001-03-09 11:50:24 by malcolm] Use the -98 flag with nhc98 to ensure H'98 compatibility. 49d51f5 [project @ 2001-03-09 14:36:13 by malcolm] Test should deliver a runtime pass, with 'True' as output. 9835a32 [project @ 2001-03-09 14:40:14 by malcolm] Add config clause for nhc98. 6c23303 [project @ 2001-03-09 14:47:17 by malcolm] Example infix/fndecl should now compile and run with ghc. It wasn't intended to test for ambiguous type variables - just for the (a1 `op` a2) a3 = ... definition style, which nhc98 still fails to parse. ba0d1cf [project @ 2001-03-09 14:49:23 by malcolm] Add a config clause for nhc98. b04a3ae [project @ 2001-03-09 14:53:18 by malcolm] Add config clause for nhc98. 76a32be [project @ 2001-03-09 14:56:09 by malcolm] Typo: chr1.run.stderr should be chr1.run.stdout. e2446b6 [project @ 2001-03-09 14:59:55 by malcolm] Add expected output. 210848c [project @ 2001-03-09 15:02:19 by malcolm] These have moved up a directory. db84b27 [project @ 2001-03-09 15:05:46 by malcolm] More stuff that has moved up a directory. 2a4fd92 [project @ 2001-03-12 17:10:38 by malcolm] Typo in test config file: expect -> expected cded480 [project @ 2001-06-12 11:48:13 by sewardj] It is a sad directory that does not contain a Makefile. 9531b02 [project @ 2001-06-12 12:06:02 by sewardj] Make another sad directory happy. 90e793b [project @ 2001-06-13 12:24:25 by sewardj] Changes to support running "vanilla" tests -- those with a single source file, reference .stdin, .stdout and maybe .stderr files. These constitute the vast majority of GHC tests. 0cc32f5 [project @ 2001-06-13 12:25:20 by sewardj] Beginnings of documentation for the driver language syntax/semantics. 48d22aa [project @ 2001-06-14 11:39:14 by sewardj] Commit hackery so far. 655db08 [project @ 2001-06-14 17:01:55 by sewardj] Save today's work in a safe of placety, in view of the catastrophically bad current state of our main NFS server. 416f1d0 [project @ 2001-06-15 16:33:22 by sewardj] Yet another major rewrite of the test driver. 05e11cd [project @ 2001-06-18 17:02:22 by sewardj] Onwards and upwards (allegedly). 1e64a14 [project @ 2001-06-19 13:17:06 by sewardj] Many improvements and debuggings. The test driver now works as desired, with multiple tests described in each .T file, and with the test driver having a minimum of hardwired logic. d6b22f0 [project @ 2001-06-19 14:03:39 by sewardj] Move to new framework. 0ad1f5e [project @ 2001-06-19 15:06:07 by sewardj] More minor tweaks. 8c28264 [project @ 2001-06-19 15:06:36 by sewardj] Track recent hackery. 23f574d [project @ 2001-06-20 13:08:14 by sewardj] Command-line enhancements: * Restrict the run to specific test(s). * Allow variables to be set at the command line. 1dce884 [project @ 2001-06-20 15:11:17 by sewardj] All your codeGen tests are belong to me. Well, the should_run ones, at least. c1d554d [project @ 2001-06-20 15:12:17 by sewardj] Various misc hackery which didn't seem to have made it through since the last commit. 76e5776 [project @ 2001-06-20 15:44:54 by sewardj] Add support for compile-only (should_run) style tests. 5cef897 [project @ 2001-06-20 15:46:02 by sewardj] Complete the codeGen tests. f888eb8 [project @ 2001-06-20 15:57:19 by sewardj] Hey! This game is easy. ec4b443 [project @ 2001-06-20 16:13:06 by sewardj] Quite a significant number of your typechecker tests are belong to fptools/testsuite. 0a845eb [project @ 2001-06-21 11:15:17 by sewardj] Document current limitations of ghc-regress tests. 05065c9 [project @ 2001-06-21 11:16:27 by sewardj] Add typechecker should_fail tests. 9ea3922 [project @ 2001-06-21 16:18:26 by sewardj] Add support for piping arbitrary strings through arbitrary programs. 8fe8aed [project @ 2001-06-21 16:21:48 by sewardj] Further adventures to do with approximate matching of compiler error messages. Use the new pipe facility in the test driver to normalise error messages before comparison, by piping them through new program normalise_errmsg. This avoids various kinds of tiresome comparison failures to do with capitalisation, whitespace changes, and path names. be8858f [project @ 2001-06-22 09:04:29 by sewardj] Updated expected output for typechecker failure tests. 883433f [project @ 2001-06-22 09:47:24 by sewardj] Print the outcome for each test as soon as it is known. Makes debugging the testsuite a lot easier. 95a03e6 [project @ 2001-06-22 09:49:57 by sewardj] Assimilate renamer tests. 569bcea [project @ 2001-06-22 11:17:29 by sewardj] Add stranal tests. f28cb04 [project @ 2001-06-22 11:18:25 by sewardj] normalise_errmsg()s in a few more places. 4f3a880 [project @ 2001-06-22 11:53:44 by sewardj] Add simplifier tests. b43197d [project @ 2001-06-22 12:10:59 by sewardj] Further improvements to printing of diagnostic information. 2f6552a [project @ 2001-06-22 12:28:32 by sewardj] Add deSugar tests. a2de2d3 [project @ 2001-06-22 12:29:14 by sewardj] More diagnostic wibbles. fa980b2 [project @ 2001-06-25 09:49:12 by sewardj] Enough commits to make it usable. 11373b9 [project @ 2001-06-25 10:04:28 by sewardj] Use an installed ghc-5.00.2 to build the test driver and error normaliser. This is a temp hack until the Makefiles in testsuite/ are properly integrated into mkworld. 34a5daa [project @ 2001-06-25 11:57:16 by sewardj] Improved diagnostics when a should_compile test fails. 172201a [project @ 2001-06-25 12:54:59 by simonpj] Add an implicit-parameter test 850e0b3 [project @ 2001-06-26 11:31:20 by sewardj] Add the parser tests, formerly known as reader/. Contains a significant amount of breakage which needs to be looked at. 58bbfc5 [project @ 2001-06-26 11:45:11 by sewardj] Add the printing tests. ca8f236 [project @ 2001-06-26 11:53:11 by sewardj] Add the numeric/ tests. 25f7d5d [project @ 2001-06-26 12:04:32 by sewardj] Add deriving/ tests. 0bb68a0 [project @ 2001-06-26 12:19:59 by sewardj] Add concurrent/ tests. Still needs work. 312ff67 [project @ 2001-06-26 12:20:29 by sewardj] Implement a missing case in doStmt. 7d4ce16 [project @ 2001-06-26 14:11:05 by sewardj] Add ccall tests. f3a1946 [project @ 2001-06-26 14:17:21 by sewardj] Add array tests. b4e851f [project @ 2001-06-27 15:22:16 by sewardj] Fix some breakage. e78eebf [project @ 2001-06-27 15:44:02 by sewardj] upd expected output f6122f2 [project @ 2001-06-27 15:44:33 by sewardj] Fix bug in vanilla-comp-test-actions 0fb039d [project @ 2001-06-27 16:31:45 by sewardj] Update expected outputs. a6291e8 [project @ 2001-06-27 16:32:51 by sewardj] Record the current state of play. 583a4dc [project @ 2001-06-27 16:39:02 by sewardj] All these concurrent/ tests tend to fare better when compiled with "-package concurrent". Duh. 3b27905 [project @ 2001-06-28 15:08:39 by simonpj] Add tcfail094 190697f [project @ 2001-06-28 15:24:56 by lewie] I guess I shoulda put it here... 648d1b9 [project @ 2001-06-28 16:25:46 by simonpj] Update tests 6b071de [project @ 2001-07-06 14:24:18 by simonmar] add these files in The Other Place too a686e0c [project @ 2001-07-11 16:06:23 by sewardj] Assimilate ghc/tests/programs. This includes bringing several of them back from the dead. 3b5b917 [project @ 2001-07-11 16:07:02 by sewardj] Support file for multiple-module tests. 771cb56 [project @ 2001-07-11 16:07:52 by sewardj] Rename some functions used in vanilla-test.T to be more consistent/logical. 516abcb [project @ 2001-07-11 16:11:26 by sewardj] Oops! Nuke the old Makefiles. 79c2420 [project @ 2001-07-12 12:40:09 by sewardj] Fix type causing all concurrent tests to fail. ba63115 [project @ 2001-07-12 16:22:04 by simonpj] Add tc130 87d8f19 [project @ 2001-07-13 14:25:14 by sewardj] Changes to support comparing against summaries of previous runs: --save-summary= saves a summary of this run --compare-summary= compares this run against summary from 179553f [project @ 2001-07-13 14:59:13 by sewardj] -- Use diff to show diffs between actual and expected compiler output. -- Show compiler output in cases where none was expected. 708d4ba [project @ 2001-07-13 15:39:55 by sewardj] Handy shell scripts for running tests. Use either as ./run or ./run testname(s) (In general, ./run followed by any other args you want to pass to the test driver). e0ee994 [project @ 2001-07-13 15:40:24 by sewardj] Fix bogons from last commit. 80c2dd3 [project @ 2001-07-13 15:41:52 by sewardj] printing wibble 92ee7ed [project @ 2001-07-20 16:51:58 by simonpj] Add test for newtypes a325b73 [project @ 2001-07-23 09:45:08 by simonpj] Add tc131 5519110 [project @ 2001-07-25 15:56:39 by simonpj] Add tc132 5c1adf6 [project @ 2001-08-14 14:19:50 by simonmar] Random hackage, including: bc8fc28 [project @ 2001-08-14 16:02:15 by sewardj] Some rudimentary documentation of the .T language syntax and semantics. 810768d [project @ 2001-08-16 12:00:00 by simonmar] - Fix a bug in the 'defined' operator - Print fewer newlines 42afc33 [project @ 2001-08-16 12:02:16 by simonmar] Add a verbose flag (use ./runtests verbose=True to get the actual command lines printed out) 16e9c49 [project @ 2001-08-16 13:22:01 by simonmar] - print diffs when output files differ (in verbose mode) 60a369a [project @ 2001-08-16 13:30:06 by simonmar] --tool is no longer a formal option: you can get the same effect by just saying tool= on the command line. This means it can also be set in a config file instead. a4ca1e3 [project @ 2001-08-16 13:32:32 by simonmar] Bring these tests up to date. 7139190 [project @ 2001-08-16 14:12:56 by simonmar] Fix these tests. cb18602 [project @ 2001-08-16 14:13:37 by simonmar] Don't try to handle multiple sample stdout/stderr files for now. d2cfd45 [project @ 2001-08-16 14:23:27 by simonmar] merge from old test suite 3e8cae7 [project @ 2001-08-16 14:25:04 by simonmar] Allow compiling to .hc only. e6e7e51 [project @ 2001-08-17 10:48:27 by simonmar] - Replace the parser with a happy one - simplify the grammar in a couple of places - don't automatically print out the argument to 'run'. 212adad [project @ 2001-08-17 12:58:37 by simonmar] Track some minor changes to the syntax. e174308 [project @ 2001-08-17 13:00:24 by simonmar] Use say_fail_if_noteq() rather than inline version. 3f4e985 [project @ 2001-08-17 15:05:29 by simonmar] Print a helpful message when the program produced some output and it shouldn't have. 481e06b [project @ 2001-08-17 16:16:21 by simonmar] Knock this into slightly better shape and bring over some more tests from the old test suite. cdd58a9 [project @ 2001-08-20 14:53:12 by simonpj] Add tcrun016 886e7fe [project @ 2001-08-20 14:58:10 by simonmar] print contents of the file that should have been empty, in verbose mode f30dbe2 [project @ 2001-08-20 14:59:21 by simonmar] These tests now work ab6bd57 [project @ 2001-08-20 15:15:23 by simonmar] We had file better turn on -fglasgow-exts for this test: it uses local unversal quantification. 1e81eb4 [project @ 2001-08-20 15:42:41 by simonmar] fix obviously wrong typo 68990f6 [project @ 2001-08-20 15:47:12 by simonmar] ignore newlines too: because the compiler pretty-prints error messages, we sometimes encounter spurious line wrappage. 386ead5 [project @ 2001-08-20 16:20:30 by simonmar] update these tests 01a7e86 [project @ 2001-08-21 16:23:29 by simonpj] Add tc133 2dd00f3 [project @ 2001-08-22 09:58:49 by simonpj] add strictness test 730ab9b [project @ 2001-08-22 10:36:07 by simonmar] Add a simple fptools project, so we don't have to wire in things like the location of GHC_INPLACE, and so we can use Makefiles in the various test subdirectories to simplify running the test driver. 6011b4e [project @ 2001-08-22 10:42:32 by simonmar] Use makefiles in the subdirectories to ease running the test driver in a subdirectory. It can be run in the following ways: 9e2f38d [project @ 2001-08-22 10:57:35 by simonmar] Add a README file, which explains how to run the testsuite, how to update the expected output, and how to add new tests. It assimilates the contents of tests/ghc-regress/HOW_TO_ADD_A_TEST, which has been removed. 20e48fd [project @ 2001-08-22 11:21:07 by simonmar] Allow expected failures, by setting the global var $expect to "fail" (defaults to "pass"). 71bd814 [project @ 2001-08-22 11:23:22 by simonmar] Allow expected failures. 47d33a6 [project @ 2001-08-22 11:23:44 by simonmar] This test is an expected failure. We have no idea how to run it. b78b12e [project @ 2001-08-22 11:41:40 by simonmar] update this and actually use it from vanilla-test.T and multimod-test.T 88b6ee1 [project @ 2001-08-22 11:45:42 by simonmar] make this an expected failure 8247bf8 [project @ 2001-08-22 11:46:29 by simonmar] Add Makefiles for these tests 0c1eaff [project @ 2001-08-22 11:47:00 by simonmar] the stubs shouldn't be in the repository 40ae428 [project @ 2001-08-22 11:48:53 by simonmar] don't forget to include std-macros.T 6f3df5c [project @ 2001-08-22 11:50:07 by simonmar] tcrun015 doesn't exist (???) 5ac6fee [project @ 2001-08-22 11:52:34 by simonmar] expected failure fixes e2520c8 [project @ 2001-08-22 11:53:10 by simonmar] expect tcrun007 to fail, because it requires generics support in the prelude. ee157e6 [project @ 2001-08-22 12:17:42 by simonmar] Remove these tests: they used to test the compiler's internal printing machinery, but too much has changed in that area for the tests to stand any chance of working. At some point we should add some new tests for -ddump-foo. 1ff078e [project @ 2001-08-22 12:21:15 by simonmar] Add cpranal tests. 1f95756 [project @ 2001-08-22 12:31:24 by simonmar] Add a Makefile here. ea04e86 [project @ 2001-08-22 13:17:54 by simonmar] oops, I didn't notice that "reader" had been renamed to "parser" when it was imported. So these are the changes I made to the reader tests to make them work. I'll go and remove reader in the repo. 5beeb5f [project @ 2001-08-22 13:20:57 by simonmar] add Makefiles 0ae8de2 [project @ 2001-08-22 13:36:15 by simonmar] Run each test in its own directory, rather than trying to run them all from the directory in which the driver was started. This is required because several tests expect to be able to open auxilliary files in the current directory. 4511bce [project @ 2001-08-22 13:59:54 by simonmar] More tidyups and code sharing. 8724376 [project @ 2001-08-22 14:08:21 by simonmar] This file isn't used any more. I had to do some repository surgey on std-macros.T because it seemed to have been removed and then magically brought back to life such that it was "alive" but living in the Attic. d2946ab [project @ 2001-08-22 14:11:33 by simonpj] Add tcrun015 d98ce54 [project @ 2001-08-22 14:58:35 by simonmar] Move the test code into a separate makefile. 284db99 [project @ 2001-08-22 15:00:34 by simonmar] Run the compiler from the directory in which the test source lives. This allows simple multi-module tests using the vanilla test macros to work (not strictly the right way to do it, but several of our tests are of this kind). 061ce2c [project @ 2001-08-22 15:04:55 by simonmar] Slight change to the semantics so that global vars can be modified from within a macro. 10b86e7 [project @ 2001-08-22 15:05:21 by simonmar] fptools-ish Makefile 2051a4c [project @ 2001-08-22 15:09:56 by simonmar] hReady001 is an expected failure 38c78d8 [project @ 2001-08-22 15:31:55 by simonpj] Add tc134 d65e92e [project @ 2001-08-22 15:32:37 by simonpj] Add Thurstons modular arith 5b3f3b1 [project @ 2001-08-22 15:38:25 by simonmar] update expected output 5069be6 [project @ 2001-08-22 15:46:41 by simonmar] update expected output 9cadf1b [project @ 2001-08-22 15:57:01 by simonmar] fptools-ish makefiles. 358bd3d [project @ 2001-08-22 16:04:59 by simonmar] fptools-ish makefile a002db5 [project @ 2001-08-22 16:25:33 by rrt] ENOWORD (gastly) 3c68c8d [project @ 2001-08-22 16:33:29 by rrt] Add ffi002, which consists of a c file and an hs file. Added some gunk to all.T to maybe make it work. 23aaae7 [project @ 2001-08-23 08:46:23 by simonpj] Add cg050 8460e94 [project @ 2001-08-24 09:48:20 by simonmar] Add a new flag, --output-summary, which dumps the human-readable form of the summary to a file. eb7bbde [project @ 2001-08-24 11:17:28 by simonmar] separate $platform into $arch and $os. d3278e6 [project @ 2001-08-24 13:39:40 by simonmar] update some expected output, and mark tcfail080 as an expected failure f16fdcd [project @ 2001-08-24 14:36:19 by simonpj] Add tcfail096 a1e8f05 [project @ 2001-08-24 14:36:44 by simonpj] Remove bogus test from tc126 293accb [project @ 2001-08-24 14:46:03 by simonpj] Simon fixup 5cf1a83 [project @ 2001-08-24 14:47:08 by simonmar] accept the new output eb718c9 [project @ 2001-08-24 14:48:49 by simonmar] accept the output 7590bd3 [project @ 2001-08-24 14:50:48 by simonmar] expect read002 to fail (illegal character in string literal, not implemented yet) a88abab [project @ 2001-08-24 14:52:15 by simonmar] accept output 0f2c524 [project @ 2001-08-24 15:17:29 by simonmar] These two tests collectively used to be rnfail014. tcfail097 works, tcfail098 currently fails. ae578d6 [project @ 2001-08-24 15:18:35 by simonmar] This test moved to typecheck/should_fail/tcfail0{97,98} 986ffd7 [project @ 2001-08-24 15:56:54 by simonmar] Add tests for the warning problems reported by Marcin earlier this week. 019fea4 [project @ 2001-08-27 10:32:46 by simonmar] update expected output e0c453f [project @ 2001-08-27 10:38:53 by simonmar] program runs in its own directory now, so doesn't need hackage to find its input file. 13083e7 [project @ 2001-08-27 10:40:17 by simonmar] add $TEST as a synonym for $TESTS, so you can say 'make TEST=foo' c25352e [project @ 2001-08-27 10:41:17 by simonmar] The program runs in its own directory now, so doesn't need hackage to find its input file. 38245db [project @ 2001-08-27 10:43:36 by simonmar] Remove debugging output from sample output f4f7d2c [project @ 2001-08-27 10:47:57 by simonmar] add expected output (warnings) 2a1f26b [project @ 2001-08-27 10:49:54 by simonmar] update expected output 9391707 [project @ 2001-08-27 10:55:24 by simonmar] Skip ffi002, we don't have the require machinery to perform this test (it has a separate .c file to compile). 8dbcb15 [project @ 2001-08-27 11:25:29 by simonmar] Add another missing warning test from Marcin fe4151b [project @ 2001-08-27 11:27:15 by simonmar] Update the known failure list. We currently have 9 known failures, of which one is actually a potential problem (okeefe_neural; the compiler runs out of heap in the simplifier while compiling it). b5855c3 [project @ 2001-08-27 11:34:10 by simonmar] Add test for recursive newtypes and foreign imports, from Manuel. 78664bb [project @ 2001-08-27 11:41:37 by simonmar] Add test for scoped type variables w/ existential constructors (failed in 5.00 but works in 5.02, reported by Peter Gammie ) 71988f3 [project @ 2001-08-28 10:01:14 by simonmar] Add two more tests: - arith014 tests fromIntegral behaviour on overflow - arith015 tests things like (read :: "Infinity" :: Double) c262f1c [project @ 2001-08-28 10:35:35 by simonmar] Allow multi-module compile-only tests. a2ae270 [project @ 2001-08-28 10:37:40 by simonmar] Add functional dependency/missing instance test. f81e778 [project @ 2001-08-28 10:49:50 by simonmar] Modify this test to do something reasonable: it now tests that hiding a constructor leaves the corresponding type constructor visible (this is a bug reported by George Russell a while back). Enable rn037 in all.T. edf3f79 [project @ 2001-08-28 11:12:09 by simonmar] Add some tests for hGetBuf & hPutBuf 3bf4c9f [project @ 2001-08-28 13:26:59 by simonmar] Test for exporting of an unimported module. 162ca7c [project @ 2001-08-28 13:27:36 by simonmar] comment this test 2c9e746 [project @ 2001-08-28 13:33:59 by simonmar] add test for conflicting exports 89f46f5 [project @ 2001-08-28 13:38:10 by simonmar] Add a test for unqualified imports bringing into scope qualified names. 918a03a [project @ 2001-08-28 13:42:33 by simonmar] Add a test to make sure that qualified imports can be restricted to the specified entities. a8f7f14 [project @ 2001-08-28 13:45:39 by simonmar] Test that hiding works on a qualified import 6d7f6f5 [project @ 2001-08-28 13:51:25 by simonmar] Test that using hiding on an unqualified import also hides the qualified name. 179da89 [project @ 2001-08-28 13:56:30 by simonmar] Test that hiding a non-exported identifier is legal. 6fc4f79 [project @ 2001-08-28 13:57:46 by simonmar] note that rn038 is a new expected failure. 1e558c8 [project @ 2001-08-28 14:03:55 by simonmar] Test that a qualified name can't be bound in a local binding group. c15cdf6 [project @ 2001-08-28 14:19:55 by simonmar] add '!!!' to the comment in here b082afe [project @ 2001-08-28 14:23:41 by simonmar] rn030 was a duplicate of rn026 7374d8b [project @ 2001-08-29 08:42:15 by simonmar] Add irrefutable pattern test from the Hugs bugs list. ac43c83 [project @ 2001-08-29 08:44:49 by simonmar] bugfix in check_stderr_ok() 36b6643 [project @ 2001-08-29 09:35:32 by simonmar] Update this test for the changes to the Ix class. In particular, we can no longer depend on Eq being a superclass of Ix, so when comparing indices we have to use Ix.index and comapre the Int results. 517e555 [project @ 2001-08-29 13:59:05 by rrt] Correct spurious instructions. a03c70b [project @ 2001-08-29 14:34:09 by simonmar] Expand this test to show a range of floats and doubles using showEFLoat, showFFloat and showGFloat with a range of precisions, and also attempt to "read" back the results. ba0277c [project @ 2001-08-29 14:38:59 by simonmar] Move Numeric tests into lib/Numeric 5b431cf [project @ 2001-08-30 09:37:45 by simonmar] note about expected failure rnfail034 (nothing major, just an error message wibble) fd14814 [project @ 2001-08-30 10:15:01 by rrt] Make it work on Windows a3140fb [project @ 2001-08-30 17:22:13 by rrt] Make it work better on windows MERGE TO STABLE BRANCH 6b3261b [project @ 2001-08-31 11:29:04 by simonmar] Update test after the behaviour of scan{r,l}1 changed c5d7e7e [project @ 2001-08-31 11:29:35 by simonmar] update expected output 212fa53 [project @ 2001-08-31 12:43:39 by rrt] Update expected output; MERGE TO STABLE BRANCH 4eb498d [project @ 2001-08-31 16:06:46 by rrt] Change this test to make it mathematically trivial, but keep the ccall intact. This has two salutary effects: c89ac42 [project @ 2001-08-31 16:15:52 by rrt] There is no file getPermissions001 on Windows, so comment out this test. There's no other obvious source of executable files which are named the same on Windows and Unix either. If you really want to, you could always set the permissions (if that's possible from Haskell) and then test them, but for now content ourselves with non-executable files and directories. 95e357e [project @ 2001-09-03 09:27:18 by rrt] Julian pointed out that as 0.0 is a bit string of 0s (at least for IEEE), it's an easy result to get bogusly. So use cos instead of sin, expecting 1.0 back. Has all the other nice properties, plus better error detection. 3588010 [project @ 2001-09-03 12:51:36 by sewardj] Changes to make it work with Solaris tools (/bin/sh, diff). e9f73bf [project @ 2001-09-03 15:53:55 by sewardj] Expunge more bash-isms. 3895411 [project @ 2001-09-04 18:29:22 by ken] THIS CHANGE AFFECTS ALL OBJECT FILES COMPILED FROM HASKELL. Please say "make -C ghc/lib/std clean; make -C hslibs clean". 9622eba [project @ 2001-09-05 04:06:41 by ken] Don't buffer stdout when running tests, to keep log files tidy when we redirect both stderr and stdout into the same log file from runtest. 83fe338 [project @ 2001-09-05 04:07:19 by ken] Fix expected output. 42b56be [project @ 2001-09-07 08:17:07 by simonmar] Fix some signatures after the change to the Ix class. ecf856a [project @ 2001-09-07 08:23:27 by simonmar] Fix some signatures after Ord was removed as a superclass of Ix. a9ad23a [project @ 2001-09-07 09:49:05 by sewardj] Update expected result. 0ecc9e3 [project @ 2001-09-07 12:52:23 by rrt] c9cb517 [project @ 2001-09-07 13:00:51 by rrt] Test-suite titivation --------------------- 246fa63 [project @ 2001-09-07 13:22:31 by rrt] Set some expected failures for Windows. ZBB time... a5c9e80 [project @ 2001-09-07 14:14:07 by sewardj] Mark tcfail098 as an expected failure, since that's what it is. 3435b25 [project @ 2001-09-07 14:30:52 by sewardj] Fix Unix expected output. 8f07e37 [project @ 2001-09-07 14:31:13 by rrt] Changed "expect fail" in all.T to "$expect = "fail"", which should work; the former shouldn't work, the latter does. f5af381 [project @ 2001-09-07 14:34:26 by sewardj] Update expected output. ba2b16f [project @ 2001-09-07 15:21:09 by sewardj] Really fix expected output. Duh. e2c894d [project @ 2001-09-07 16:00:17 by rrt] Check in Windows-specific results files; remove a spurious one, and fix that for hGetLine001 (a new Win-specific file). 1baf6bb [project @ 2001-09-13 14:41:30 by sewardj] update expected output. 3770767 [project @ 2001-09-13 14:44:57 by sewardj] Yet another change to the expected output. This test is really very stupid and should be re-done. 718d043 [project @ 2001-09-13 15:54:43 by simonmar] Back out the change to remove Ord as a superclass of Ix; the revised Haskell 98 report will no longer have this change. e66d94b [project @ 2001-09-14 13:58:07 by sewardj] solaris-specific results 0e2e78f [project @ 2001-09-14 14:03:59 by sewardj] solaris-specific results 721d408 [project @ 2001-09-14 14:08:54 by sewardj] solaris specific results a1eb965 [project @ 2001-09-14 14:12:00 by sewardj] yet solaris bogons bcac9f5 [project @ 2001-09-14 15:04:34 by sewardj] fix endian problems causing sparc failure for cg044 1a42e0f [project @ 2001-09-17 09:05:28 by sewardj] Pick up PATH rather than TERM, since the latter ain't always set. 506b6d1 [project @ 2001-09-17 09:09:11 by sewardj] Remove redundant printing in simple_build_Main_wrk. 0697cc8 [project @ 2001-09-17 17:40:55 by rrt] Make call of tool (i.e. the compiler) work when it has spaces in its paths. ac82fb0 [project @ 2001-09-18 11:53:37 by sewardj] remove spurious debug printing (again) 39b2e47 [project @ 2001-09-18 12:09:04 by sewardj] cg038 is no longer an expected failure on Windoze b83c4cd [project @ 2001-09-18 12:23:02 by sewardj] Make this less fragile. Was failing sometime on Windoze. 7432f58 [project @ 2001-09-20 08:21:06 by simonpj] Add tcrun017, enable tcrun015, 016 6b313cf [project @ 2001-09-20 08:42:55 by simonpj] Add tc136 d211188 [project @ 2001-09-20 10:19:07 by sewardj] Add test for cgIdInfo assert fail. 988c15e [project @ 2001-09-20 14:37:30 by simonmar] Test that you can't export a constructor on its own. fe07ba0 [project @ 2001-09-20 14:37:47 by simonmar] Add rnfail035 5bd6235 [project @ 2001-09-23 20:54:39 by ken] On alpha-dec-osf3, we need to compile galois_raytrace with -O to prevent the following fatality: 4133136 [project @ 2001-09-23 20:59:55 by ken] 64-bit expected result is, um, correct, unlike the overflowing 32-bit result MERGE TO STABLE 62ba649 [project @ 2001-09-23 21:01:23 by ken] Add 64-bit platform-specific expected stdout MERGE TO STABLE ac0b458 [project @ 2001-09-23 21:09:46 by ken] Added platform-specific result for alpha-dec-osf3. Apparently, running programs are prohibited from writing to their own binary images. 6467f76 [project @ 2001-09-23 21:43:25 by ken] Yes, Virginia, alpha-dec-osf3 is little-endian. MERGE TO STABLE ba02c38 [project @ 2001-09-23 21:46:03 by ken] conc030 requires 2 megs of stack space on the Alpha; let's just give it 2 megs of stack space on every platform. MERGE TO STABLE cccad52 [project @ 2001-09-23 21:50:17 by ken] Skip the test on alpha-dec-osf3, where we run into an infinite loop on some builds 8eb811e [project @ 2001-09-23 21:57:25 by ken] Add 64-bit platform-specific expected stdouts MERGE TO STABLE 33df184 [project @ 2001-09-23 22:25:57 by ken] Added 64-bit platform-specific output for enum01, enum02 and enum03, including a minor fix to enum03.hs and enum03.stdout. a2a118b [project @ 2001-09-24 00:39:26 by ken] Add 64-bit platform-specific expected stdouts; MERGE TO STABLE 6d6c6ab [project @ 2001-09-24 13:53:47 by ken] Fix 64-bit expected output. MERGE TO STABLE acd4954 [project @ 2001-09-24 15:49:24 by simonmar] We have to declare some extra precedences after the change in behaviour in Happy 1.11. 1f3cfb2 [project @ 2001-09-26 09:42:12 by simonmar] add test for unterminated nested comments f488c31 [project @ 2001-09-26 13:18:45 by simonmar] add CmdParser.hs to CLEAN_FILES 68d5c3f [project @ 2001-10-01 09:59:42 by simonmar] Add tests for mixing layout and explicit braces. d5e76b2 [project @ 2001-10-04 08:18:06 by simonpj] Add test that Hugs bizarrely fails 3dd2a62 [project @ 2001-10-11 14:41:31 by sewardj] Add test for converting DEFAULTs to unboxed tuples in case alts. 39ba82a [project @ 2001-10-16 15:07:21 by simonmar] test the Show instance for HandlePosn. 9a83618 [project @ 2001-10-16 15:32:57 by simonpj] Add a test I had hanging around; maybe merge to branch 6c91928 [project @ 2001-10-17 10:57:16 by simonpj] Add tests for unsaturated type synonyms 0ac8718 [project @ 2001-10-17 11:13:57 by simonpj] Add another functional dependency test [oArmin Groesslinger bug] 625334c [project @ 2001-10-19 14:03:28 by rrt] Add win32 hello world as a test. It tests linking stub files, among other things. a944b29 [project @ 2001-10-19 14:10:14 by rrt] Tweak to not run on non-Windows platforms. cf796b3 [project @ 2001-10-22 09:35:11 by simonpj] Add tc140 b87e982 [project @ 2001-10-22 11:32:27 by simonpj] Add tcfail099 96a8377 [project @ 2001-10-22 11:33:21 by simonpj] Add tcfail099.stderr 1a9a693 [project @ 2001-10-22 11:34:41 by simonpj] Correct error message 2fbca5b [project @ 2001-10-22 16:13:07 by simonmar] Add a name shadowing test. 51025d4 [project @ 2001-10-24 10:21:44 by sewardj] Deez dudes are malclassified. Rm dem. 8390afc [project @ 2001-10-24 10:27:55 by sewardj] Move malclassified tc138/tc139 to tcfail100/tcfail101 in this dir. b9645ab [project @ 2001-10-25 14:06:07 by simonpj] Add Mark Shields IP test 57fd559 [project @ 2001-10-26 11:30:54 by sewardj] merge from stable, rev 1.1.2.1: 0263bf1 [project @ 2001-10-29 09:38:39 by simonmar] Move the unused binding test from deSugar to rename, and add another case which currently fails to produce a warning (from Marcin). This test is a known failure at the moment. 4d23723 [project @ 2001-10-30 09:30:29 by simonmar] Update some sample output following rev. 1.41 of ghc/compiler/prelude/TysPrim.lhs. ea16ee8 [project @ 2001-10-30 09:33:02 by simonmar] update sample output 7a9cd69 [project @ 2001-10-31 12:25:31 by simonmar] Add empty file test. 16564aa [project @ 2001-11-01 10:30:13 by simonpj] Add test that killed 5.02 424cd45 [project @ 2001-11-02 09:54:42 by simonpj] Test for record update failure 42a7e04 [project @ 2001-11-02 10:20:51 by simonpj] Add another test b6e2d73 [project @ 2001-11-02 10:27:19 by simonpj] Hiding non-existent entity is now an error; move rn038 to should_fail c56f99b [project @ 2001-11-02 10:28:06 by simonpj] Hiding non-existent entity is now an error; add rnfail038 dc9bc50 [project @ 2001-11-02 10:30:26 by simonpj] Remove duplicate defn on Win32 9e2ad08 [project @ 2001-11-06 14:39:29 by simonpj] Add another demand test b2e2ef0 [project @ 2001-11-20 16:24:32 by simonpj] Avoid default-method warning 77198bc [project @ 2001-11-20 16:24:54 by simonpj] Avoid inlining to allow rule to fire 40c54e0 [project @ 2001-11-20 16:25:21 by simonpj] Update error messages 9220f41 [project @ 2001-11-20 16:27:19 by simonpj] Update expected output 1a3ba3e [project @ 2001-11-21 13:53:41 by simonpj] add tc141 232bf42 [project @ 2001-11-21 13:55:02 by simonpj] Add Makefile 09928e1 [project @ 2001-11-21 17:10:26 by simonpj] update expected output 8ba7f42 [project @ 2001-11-30 09:26:27 by simonpj] Update expected output 73edd06 [project @ 2001-12-03 11:53:10 by simonpj] Update expected output d61949b [project @ 2001-12-07 15:11:05 by sewardj] Change expected results for a couple of boundary cases for gcd to be more in line with how the Report indicates gcd should work. 681a88a [project @ 2001-12-10 09:51:36 by simonpj] Add a lexical comment test 2acb595 [project @ 2001-12-10 15:22:12 by simonmar] Test that the instances of enumFrom for the basic numeric types are strict (only Int is at the moment, so this is an expected failure). 9d5ace9 [project @ 2001-12-20 09:06:26 by simonpj] Remove tcfail039; now legal after a H98 change 444c71e [project @ 2001-12-20 09:07:05 by simonpj] Moved from tcfail039 83e9a3f [project @ 2001-12-20 09:07:39 by simonpj] add new tc142 d1e58b6 [project @ 2001-12-20 09:07:52 by simonpj] remove tcfail039 1f8d5b0 [project @ 2001-12-20 09:18:09 by simonpj] Update expected output b7d8b03 [project @ 2001-12-20 15:24:44 by sewardj] Add test of floating-point comparisons in the presence of NaNs. 5d680ce [project @ 2001-12-21 10:23:52 by simonmar] Add test for record declaration with zero fields. 19b9798 [project @ 2001-12-21 10:29:16 by simonpj] Add simple deriving test 0a0a2da [project @ 2001-12-28 10:25:02 by simonpj] Update output f32268f [project @ 2001-12-28 17:36:49 by simonpj] Update output e1d30e6 [project @ 2002-01-03 12:34:04 by simonpj] update output c695393 [project @ 2002-01-03 12:36:04 by simonpj] update output, add drvfail002 109771d [project @ 2002-01-03 12:42:21 by simonpj] update output 3dd01d6 [project @ 2002-01-07 22:43:07 by ken] Use HsInt rather than int MERGE TO STABLE 3658c02 [project @ 2002-01-22 13:54:23 by simonmar] Deadlock is now an exception instead of a return status from rts_evalIO(). 1c44d85 [project @ 2002-01-22 14:07:16 by simonmar] Add deadlock exception test. aee7f7b [project @ 2002-01-22 14:30:16 by simonmar] Add a multi-thread blackhole test (now gets a NonTermination exception instead of a fatal "no threads to run" error). b26cf9b [project @ 2002-01-25 12:28:03 by simonmar] Actually test tryTakeMVar on a full MVar, as well as an empty one. 4002760 [project @ 2002-01-25 13:40:39 by simonmar] - Miss out the gcd cases where either operand is minInt. These cases are undefined in GHC, because (abs minBound ::Int) is undefined. edfd3a9 [project @ 2002-01-29 17:17:29 by simonmar] Test that IOError has Eq defined. 471c416 [project @ 2002-01-31 10:07:59 by simonpj] Feuer bug c75776c [project @ 2002-02-04 09:49:00 by simonpj] Add implicit-param rank-2 test 8e5079b [project @ 2002-02-04 09:49:20 by simonpj] Add tc144 0da55ba [project @ 2002-02-04 11:50:49 by simonmar] Add test for parenthesised left-hand-sides 4e4ef30 [project @ 2002-02-05 09:42:58 by simonmar] Update these tests w.r.t. the new FFI syntax. 8de2c49 [project @ 2002-02-05 09:49:35 by simonmar] update to new FFI syntax and update sample output 6cc8a8e [project @ 2002-02-05 09:50:39 by simonmar] update sample output 7a5083f [project @ 2002-02-07 13:56:56 by simonpj] Add test for stangely-kinded tyvar default 898568a [project @ 2002-02-11 15:21:21 by simonmar] Add regression test for lexer bug when parsing "1.0e+x". 34f586a [project @ 2002-02-13 14:56:38 by simonmar] Fiddle with $(TOP) 02570cc [project @ 2002-02-13 15:00:22 by simonmar] Section precedence test 1d193b1 [project @ 2002-02-13 15:07:17 by simonmar] Check a difficult operator precedence case: (-3 **) where (**) is infixl 7 should be disallowed. edbab70 [project @ 2002-02-18 09:33:44 by simonmar] Add test for PAP_entry: CATCH_FRAME bug. 022ec94 [project @ 2002-02-18 12:10:41 by simonmar] Catch up with changes in other parts of the tree c18e9c2 [project @ 2002-02-21 14:08:57 by sewardj] new-library-ise 0cb5d9f [project @ 2002-02-21 15:13:07 by sewardj] Move towards new-library-compatibility 5b06422 [project @ 2002-02-21 16:57:38 by sewardj] new-library-ise some of these 9bec2a1 [project @ 2002-02-21 17:31:17 by sewardj] Fix those failures which are manifestly due to the new library. c8adbae [project @ 2002-02-22 12:36:01 by sewardj] new-library-ise 64ac7ed [project @ 2002-03-02 18:09:32 by sof] make them compile again 340cd1e [project @ 2002-03-02 18:10:57 by sof] more import wibble b6beb55 [project @ 2002-03-08 15:54:32 by simonpj] More tests 8093e05 [project @ 2002-03-08 16:01:53 by simonpj] A test for zero-constructor types 0f20c6b [project @ 2002-03-08 16:02:21 by simonpj] missed the stderr file ca62d8c [project @ 2002-03-12 10:39:02 by simonmar] The foreign import in here should be "safe" not "unsafe", because it calls directly back to a foreign export. ddb3ea2 [project @ 2002-03-12 15:55:03 by simonpj] Test inspired by Ralf Laemmel 9f86ec9 [project @ 2002-03-13 11:34:41 by simonmar] Add test for passing float args to a C function through the FFI. 0f3c05f [project @ 2002-03-18 13:50:13 by simonmar] update to use new libraries and non-deprecated features 8560d9c [project @ 2002-03-18 13:56:04 by simonmar] update tests 6fe7be9 [project @ 2002-03-18 13:58:30 by simonmar] Passing a Float to a varargs C function isn't possible, so pass a Double instead. 98b323e [project @ 2002-03-18 13:59:45 by simonmar] PrelGHC ==> GHC.Exts 28d1826 [project @ 2002-03-18 14:08:17 by simonmar] update tests 44aa346 [project @ 2002-03-18 14:37:58 by simonmar] This test was previously codeGen/should_run/cg029, now updated to use the FFI and moved to the right place. b9ed91f [project @ 2002-03-18 14:51:54 by simonmar] update tests; cg029 moved to ccall/should_run, and cg030 is removed (test case is already covered by other tests in ccall). 9a14bee [project @ 2002-03-18 14:53:36 by simonmar] Add a test description f71332e [project @ 2002-03-18 14:54:00 by simonmar] This test now aborts with a BlockedOnDeadMVar exception, not a deadlock. 8f7c6fc [project @ 2002-03-18 15:11:48 by simonmar] restore a couple of '-package lang's that seem to have gone missing 52a994c [project @ 2002-03-18 15:12:54 by simonmar] update expected output eb3e0fd [project @ 2002-03-18 15:14:36 by simonmar] PrelGHC ==> GHC.Prim d237c3e [project @ 2002-03-18 15:15:26 by simonmar] This test doesn't need to import PrelGHC at all 112870d [project @ 2002-03-18 15:16:41 by simonmar] new-library update 8d7534d [project @ 2002-03-18 15:18:15 by simonmar] update expected output 9e9d628 [project @ 2002-03-18 15:20:55 by simonmar] we don't support hand-written .hi files any more, so make this one an .hi-boot file. a705733 [project @ 2002-03-18 15:23:46 by simonmar] use {-# SOURCE #-} imports for the hand-written ifaces b2e9571 [project @ 2002-03-18 15:24:29 by simonmar] use {-# SOURCE #-} imports for the hand-written iface 746fe18 [project @ 2002-03-18 15:27:30 by simonmar] whoever wrote this test apparently got mixed up between '50' and '500', so add the missing imports and add {-# SOURCE #-} while I'm here. a0083bf [project @ 2002-03-18 15:30:06 by simonmar] Turn this .hi file into an .hi-boot file f814fff [project @ 2002-03-19 11:27:39 by simonmar] Add 64 to the list of arguments to the bit operations in this test. dd7655d [project @ 2002-03-25 15:12:45 by simonpj] rank-n tests fbd2a73 [project @ 2002-03-27 17:46:13 by simonmar] I dunno whether this is correct, but it seems now if you write "-0.0" in your source code as a Float and show it, you get "-0.0" back out again (the previous sample output just had "0.0"). Looks fairly harmless and/or more correct to me. 95e4e7a [project @ 2002-03-27 17:47:07 by simonmar] New library fixup 8be4002 [project @ 2002-03-27 17:50:18 by simonmar] net001 needs package concurrent. d87e8d8 [project @ 2002-03-27 17:51:14 by simonmar] Don't need NumExts any more, showHex & friends come from Numeric. f87106d [project @ 2002-03-27 17:52:51 by simonmar] hSetBinaryMode doesn't really have a proper home yet f4be02d [project @ 2002-03-28 09:39:28 by simonmar] accept new output e5313a5 [project @ 2002-03-28 09:42:49 by simonmar] New library update fe25fee [project @ 2002-03-28 09:45:55 by simonmar] Add test that exposed a bug in 5.02.2's networking library (accept wasn't setting the socket returned to non-blocking mode). 4eee77b [project @ 2002-03-28 09:51:32 by simonmar] New library update, remove deprecated stuff d768bd4 [project @ 2002-03-28 10:04:05 by simonmar] PrelBase ==> GHC.Exts f96a9a1 [project @ 2002-03-28 10:07:05 by simonmar] This module had what looked like a lot of unnecessary (and now deprecated) coercions from Word->Int and back, so I removed them. a93f881 [project @ 2002-03-28 10:28:07 by simonmar] Update 0c58616 [project @ 2002-03-28 10:32:24 by simonmar] Reverse the sense of the skip test and expand it to include cygwin32 (the test should be skipped when the platform is *not* mingw32 or cygwin32). 6a86648 [project @ 2002-04-01 14:28:14 by simonpj] Add test for existential that quantifies nothing d8d8a65 [project @ 2002-04-01 14:59:52 by simonpj] update expected output 1638122 [project @ 2002-04-02 13:48:41 by simonpj] Context-simplification loop tests a741545 [project @ 2002-04-10 11:00:29 by simonmar] update expected output 6e0b3d4 [project @ 2002-04-10 11:12:10 by simonmar] tcrun007 is now expected to pass 7967fce [project @ 2002-04-13 05:09:52 by sof] Test -Infinity also 3440ce3 [project @ 2002-04-13 05:11:29 by sof] testing MT extension 24b3eb6 [project @ 2002-04-13 05:12:02 by sof] hook up conc036 and conc037 729463b [project @ 2002-04-13 05:12:25 by sof] kill thread B too 13b37f4 [project @ 2002-04-15 17:57:23 by sof] call-in/call-back MT test d0de52b [project @ 2002-04-19 15:44:54 by sof] sync expected output c2470ad [project @ 2002-04-22 11:52:57 by simonpj] Add a rank-3 test 7df199d [project @ 2002-04-22 14:47:43 by simonpj] Another test of improvement; this one blew up Hugs 48f4422 [project @ 2002-04-23 09:35:17 by simonmar] update expected output 8cf9182 [project @ 2002-04-23 09:43:16 by simonmar] update expected output 3021cde [project @ 2002-04-23 09:47:24 by simonmar] update expected output 278fc96 [project @ 2002-04-23 11:23:29 by simonpj] More tests 7c9b9d5 [project @ 2002-04-23 11:36:52 by simonmar] tc138 has moved c750ca4 [project @ 2002-04-23 17:32:31 by ken] Bring alpha-dec-osf3 expected test results up to date. e47a130 [project @ 2002-04-24 08:48:59 by simonmar] ignore ffi003 on Alpha where we don't have an NCG 0a1ef8e [project @ 2002-04-25 09:05:07 by simonmar] Stable pointer test from Bernie Pope. 98bbe1c [project @ 2002-05-03 09:51:47 by simonmar] Add a layout test (expected failure). 6f13e68 [project @ 2002-05-10 13:31:09 by simonpj] Add a test for tyvars in a type-sig that arent free in the type b51edfa [project @ 2002-05-10 15:24:29 by simonpj] More tests for type validity 351f39d [project @ 2002-05-17 09:28:18 by simonmar] Add test for correct 'negate' handling (currently an expected failure). 904de13 [project @ 2002-05-19 11:55:31 by panne] conc005 is based on the old concurrent package, so imports and compiler flags had to be tweaked. Is this test still needed? d5ea999 [project @ 2002-05-27 15:23:28 by simonpj] Add infix tycon test 4a14e8e [project @ 2002-05-27 15:56:11 by simonpj] Add pattern-match negation test 0a09bd0 [project @ 2002-05-27 16:12:03 by simonpj] Wibbles fa6cd91 [project @ 2002-05-28 08:40:06 by simonpj] Remove tc022; already in dsrun009 863ad0b [project @ 2002-05-28 15:57:44 by simonpj] Switch to let syntax for implicit parameters b04bfa9 [project @ 2002-06-03 11:12:52 by simonmar] Add test for hGetLine on file without a final '\n'. 2ed6880 [project @ 2002-06-05 14:09:46 by simonpj] Update expected results b99f4d4 [project @ 2002-06-07 15:50:22 by simonpj] Add an array read and show test 248ef3d [project @ 2002-06-07 16:22:03 by simonpj] Replace bogus error with the real thing 2fb53d5 [project @ 2002-06-07 16:26:58 by simonpj] Use let syntax instead of with for implicit params c552915 [project @ 2002-06-07 16:30:10 by simonpj] Use let syntax for implicit params 5c59785 [project @ 2002-06-07 16:30:52 by simonpj] negated parameters fixed; should dsrun009 should pass now c664f9b [project @ 2002-06-08 14:25:23 by panne] Update expected output cc6f20f [project @ 2002-06-08 14:29:33 by panne] Update expected output 798cbf1 [project @ 2002-06-14 08:19:47 by simonpj] Tiny Makefile tidy-up 7e5c9fd [project @ 2002-06-17 11:17:10 by simonpj] Remove ./ from error messages a825d96 [project @ 2002-06-17 15:51:45 by simonpj] More accurate error message 2fb8fe4 [project @ 2002-06-18 07:59:57 by simonpj] Omit bogus ambiguity report after a no-instance error 1fe88d1 [project @ 2002-06-18 13:02:22 by simonmar] add another missing end-of-line test for hGetLine 29f0228 [project @ 2002-06-18 13:18:34 by simonmar] update to not use the lang package 2cf426f [project @ 2002-06-19 09:20:53 by simonpj] Sync with new seq story e2413f5 [project @ 2002-06-19 12:11:25 by simonmar] Turn off conc037 and conc038 for now: these depend on $(GhcThreadedRts). e5067aa [project @ 2002-06-19 12:47:07 by simonmar] e948277 [project @ 2002-06-19 12:47:46 by simonmar] Add one of Alastair Reid's FFI tests, with modifications to get it to run under GHC. 19e94e7 [project @ 2002-06-20 08:35:55 by simonpj] Add test for instance decl context validity 34c455d [project @ 2002-06-21 12:22:04 by simonmar] Update expected output 6d126a1 [project @ 2002-06-21 12:25:17 by simonmar] GlaExts ==> GHC.Exts 20c553c [project @ 2002-06-21 13:10:45 by simonpj] Add tc157 38cd36a [project @ 2002-06-21 13:13:47 by simonpj] Add tc158 5124d8c [project @ 2002-06-21 13:30:45 by simonpj] Test recursive newtype deriving d3a2dc1 [project @ 2002-06-27 15:38:58 by simonmar] Finally fix foreign export and foreign import "wrapper" so that exceptions raised during the call are handled properly rather than causing the RTS to bomb out. 2acd17c [project @ 2002-06-27 21:22:06 by ken] Fix 32-bit assumption: Int is not CInt b446b79 [project @ 2002-06-28 16:12:08 by sof] conc021: update expected output and exit code 1e70fd5 [project @ 2002-07-02 09:14:10 by simonmar] update expected output (which was wrong) e25f4bb [project @ 2002-07-08 12:51:11 by simonmar] Skip test ffi005 due to non-portability 65f84ef [project @ 2002-07-08 13:00:49 by simonmar] Solaris-specific versions of stdout for these tests (the default block size differs on Solaris, which means that Show-ing a Handle gives slightly different output). 2900332 [project @ 2002-07-08 20:31:16 by simonmar] FreeBSD-specific test output (mainly just different default buffer sizes). 4bd8b3f [project @ 2002-07-10 08:41:49 by simonmar] update expected output ec0e5a7 [project @ 2002-07-10 13:10:15 by simonpj] Add tcfail109 cfe2390 [project @ 2002-07-12 06:47:26 by ken] update expected output (which was wrong) d3c5f6e [project @ 2002-07-15 15:23:14 by simonmar] Put the source file *before* any extra options for this test on the command line. That way we can compile extra files that depend on things created by compiling the original source (eg. _stub files for multi-file FFI tests). ede1399 [project @ 2002-07-15 15:26:44 by simonmar] Turns out that we *did* have a test that would have shown up the DsForeign bug (rev. 1.70 of ghc/compiler/deSugar/DsForeign.lhs) but it was disabled because it didn't quite work with the current test framework. fedb1db [project @ 2002-07-16 10:54:02 by simonmar] #include "Rts.h" so that this compiles (it shouldn't be required though) 37aed70 [project @ 2002-07-19 11:56:08 by simonmar] Add a test for more-than-4-arguments-in-foreign-import-wrapper. From Sven Panne. 129e9fe [project @ 2002-07-19 15:32:39 by sof] recv now raises EOF; handle it dbb3760 [project @ 2002-07-22 13:31:50 by simonmar] Add test for List.sortBy being a stable sort. 14b9d3a [project @ 2002-07-23 14:51:01 by simonpj] Add deriving record show test 6aae197 [project @ 2002-07-23 15:26:25 by sof] unused 40ed1f2 [project @ 2002-07-23 15:27:27 by sof] mingw32/win32: tweak back to life 344969a [project @ 2002-07-23 17:11:52 by sof] Add comments explaining why we on purpose force net001 and net002 to fail under Win32, but don't cover up the failure in the testscript. 9522b9b [project @ 2002-07-23 19:07:54 by sof] make it compile f36fd58 [project @ 2002-07-23 19:10:05 by sof] skip win32001 under Win32 also ce8120f [project @ 2002-07-24 08:45:37 by simonmar] Update expected output after recent changes to Read: 5eb9508 [project @ 2002-07-29 13:14:39 by simonpj] Add a type-synonym test 04c8f5e [project @ 2002-07-29 13:18:11 by simonpj] wibble bea856b [project @ 2002-07-29 16:16:17 by simonpj] Comment only 0d4aee2 [project @ 2002-07-31 09:42:42 by simonpj] Update expected output e5063a0 [project @ 2002-07-31 14:24:18 by simonmar] Revamp the testsuite framework. The previous framework was an experiment that got a little out of control - a whole new language with an interpreter written in Haskell was rather heavyweight and left us with a maintenance problem. 3dca04e [project @ 2002-08-01 12:39:42 by simonmar] Rearrange the compiler command line slightly so that the various extra_hc_opts come after the source filename. (fixes ffi002) f92700a [project @ 2002-08-01 12:42:03 by simonmar] Remove -fasm option from this test: it now gets tested with both -fvia-C and -fasm by the test driver. db7ee09 [project @ 2002-08-01 12:43:11 by simonmar] hack this test to ignore any spurious .prof files in the directory listing a8ec1f4 [project @ 2002-08-01 12:45:13 by simonmar] syntax wibble 73b15d5 [project @ 2002-08-01 13:02:01 by simonmar] wibble 1f6da4c [project @ 2002-08-01 13:04:50 by simonmar] Fixes for framework errors (strange, I though I fixed these yesterday before committing...) e2a98a1 [project @ 2002-08-01 13:47:16 by simonmar] rnfail034 works, not sure why it was an expected failure bd3c09c [project @ 2002-08-01 13:51:23 by simonmar] Add canned only_ways() opt-fn. 186deab [project @ 2002-08-01 13:52:00 by simonmar] Convert this file to the new test framework (this dir wasn't checked out in my local tree it seems). 0a5dab7 [project @ 2002-08-01 13:52:26 by simonmar] Use canned only_ways() rather than rolling our own. 01e92e5 [project @ 2002-08-01 13:53:33 by simonmar] Add missing stderr file. 371b394 [project @ 2002-08-01 13:57:04 by simonmar] wibble f7388d9 [project @ 2002-08-01 13:57:24 by simonmar] Add missing test.T for this test. ba2e5ff [project @ 2002-08-14 17:09:52 by ken] Update expected output after recent changes to Read. (MERGE TO STABLE?) 032bb80 [project @ 2002-08-14 17:20:47 by ken] Update expected output after recent changes to Read (MERGE TO STABLE?) 071241d [project @ 2002-08-19 09:34:53 by simonmar] import System.Time to get the non-abstract version of ClockTime (the H98 Time library is now more strict in what it exports). 9ea82a9 [project @ 2002-08-19 09:36:02 by simonmar] Fix an error in the test spec file, and remove a duplicate test b5e9934 [project @ 2002-08-19 10:06:25 by simonmar] Move two multi-module tests into their own directories and make them proper multi-module tests rather than ordered single-module tests. The previous hack broke down when the profiling way was added. 4b94535 [project @ 2002-08-19 10:19:13 by simonmar] Fix framework errors in this test b3b307c [project @ 2002-08-19 10:22:21 by simonmar] add missing files 9e5b836 [project @ 2002-08-19 10:22:40 by simonmar] Fix test name 834c8aa [project @ 2002-08-19 10:25:00 by simonmar] Move a multi-module test into its own directory. d99e1cd [project @ 2002-08-19 10:30:26 by simonmar] Make simpl006 and simpl007 into proper multi-module tests da16b41 [project @ 2002-08-20 10:38:56 by simonmar] Add multimod_compile_fail() (which is to multimod_compile() as compile_fail() is to compile()). 3265000 [project @ 2002-08-20 10:40:00 by simonmar] Add multimod_compile_fail 22ee730 [project @ 2002-08-20 10:41:03 by simonmar] Make rnfail037 into a multi-module test. c5b901f [project @ 2002-08-21 10:48:02 by simonmar] Add test for large character values in literals, along with Char.ord. fda4bdf [project @ 2002-08-26 09:11:44 by simonmar] Don't enable the optasm way by default 291647c [project @ 2002-08-26 09:12:21 by simonmar] enable the 'optasm' way iff GhcWithNativeCodeGen=YES (should eliminate all the bogus test failures on Alpha). de42431 [project @ 2002-08-28 14:39:39 by simonpj] Add a SOH read test 9fd130f [project @ 2002-08-29 10:08:02 by simonmar] should have been removed before 0500df4 [project @ 2002-08-29 10:19:43 by simonmar] Not required any more ffc8c24 [project @ 2002-08-29 10:22:13 by simonmar] Don't do anything, just emit a helpful message. f81e536 [project @ 2002-08-29 10:23:06 by simonmar] Remove old droppings 5903c06 [project @ 2002-09-02 16:30:17 by simonpj] Add rank-N test 3004888 [project @ 2002-09-03 10:08:04 by simonmar] Add test for fixity of (%). 30b061a [project @ 2002-09-03 11:28:32 by simonpj] Dup constraints are no longer an error 9880704 [project @ 2002-09-05 10:29:20 by simonmar] regression test for SourceForge bug #604849 2ffd1f2 [project @ 2002-09-06 02:18:06 by ken] Update expected output after recent changes to Read: 8d68267 [project @ 2002-09-09 13:53:38 by simonpj] Add tc162 75218a4 [project @ 2002-09-09 13:56:14 by simonpj] Add tcfail110 918d239 [project @ 2002-09-09 14:04:58 by simonpj] improve test c3b8f63 [project @ 2002-09-09 14:55:19 by simonmar] correct comment 6d583c0 [project @ 2002-09-11 09:34:14 by simonpj] Update uninitialised stderr messages d88aa7c [project @ 2002-09-11 09:38:09 by simonpj] Add an OK warning in stderr 70a05f3 [project @ 2002-09-11 10:15:31 by simonmar] cc006 is obsolete f08d6b8 [project @ 2002-09-11 10:20:11 by simonmar] cc006 is obsolete 8cc8244 [project @ 2002-09-11 10:22:17 by simonmar] cc002 is obsolete df78c2e [project @ 2002-09-11 10:24:08 by simonmar] fromInt ==> fromIntegral 45c9dcc [project @ 2002-09-11 10:30:00 by simonmar] fromInt ==> fromIntegral toInt ==> fromIntegral f2600f8 [project @ 2002-09-11 10:47:57 by simonmar] - Move some of the way-selection logic into the configuration file; the build system now just passes in variables saying whether the compiler supports profiling and native code generation, and the configuration file adds the appropriate ways. 96eedd0 [project @ 2002-09-11 10:50:31 by simonmar] Add makefile machinery so you can say 5900480 [project @ 2002-09-11 11:08:11 by simonpj] Instance method defns can no longer use a qualified name bc495d3 [project @ 2002-09-11 11:08:50 by simonpj] Add test for qualified instance method 9c43de9 [project @ 2002-09-12 11:28:33 by simonpj] Add rnfail039 1d1d81f [project @ 2002-09-12 11:28:58 by simonpj] ...and the .hs file! f96f5c2 [project @ 2002-09-12 11:32:28 by simonmar] update expected output ec56bfb [project @ 2002-09-13 08:43:38 by simonmar] Add module system test from Ross Paterson 15dfc9b [project @ 2002-09-16 14:03:33 by simonmar] Add Hugs's module system tests. Many of them duplicate other tests in testsuite/ghc-regress, but it was easier to just import the whole lot rather than trying to figure out which ones are useful. They don't take long to run, anyhow. 1a5720c [project @ 2002-09-16 14:11:59 by simonmar] mod98 is expected to pass now 55c14d3 [project @ 2002-09-16 15:34:46 by simonmar] mod132 from hugs98/tests/static 97a966d [project @ 2002-09-18 12:49:13 by simonmar] Test divide by zero for each of the integral types in arith011. 733b316 [project @ 2002-09-19 11:30:42 by simonmar] read020 is wrong and obsolete 03e68f1 [project @ 2002-09-19 11:31:40 by simonmar] update expected output 6384a1a [project @ 2002-09-19 12:52:46 by simonmar] update expected output f6dc397 [project @ 2002-09-20 06:13:42 by chak] Adding a test that checks for SPJ's recent fix entitled "quantify over unbound type vars in RULE lhs's" b7a19bb [project @ 2002-09-20 12:44:40 by simonmar] update expected output 650ed19 [project @ 2002-09-20 12:53:46 by simonmar] update expected output 0933eb0 [project @ 2002-09-20 14:07:04 by simonmar] rn037 has moved into ../prog002 065aebc [project @ 2002-09-20 14:09:35 by simonmar] Add unused import warning test (currently fails) a8a3d42 [project @ 2002-09-24 12:48:26 by simonpj] Update expected output a9f96a6 [project @ 2002-09-25 11:55:13 by simonmar] Add test for scheduler/GC bug found by Wolfgang Thaller. Provoking it was a little tricky... 38e7369 [project @ 2002-09-25 12:02:10 by simonpj] Update expected output eed9bbc [project @ 2002-09-25 12:50:19 by simonmar] Add test for foreign export-ing infix operators, and foreign-exporting something which isn't defined in the current module. c9a8ae1 [project @ 2002-09-25 14:44:14 by simonpj] Move to typecheck/should_fail 73e5096 [project @ 2002-09-25 14:48:19 by simonpj] Moved test from rnfail a44d618 [project @ 2002-09-25 14:49:14 by simonpj] A read/show test involving Maybe e20883c [project @ 2002-09-25 15:31:47 by simonpj] Add exporting test (from Ross P) f52dfcc [project @ 2002-09-26 16:04:30 by simonpj] Add a missing-strict-field tests d1975de [project @ 2002-09-26 16:14:18 by simonpj] update expected output 90fd464 [project @ 2002-09-26 16:27:53 by simonpj] update expected output b74cc4d [project @ 2002-09-27 10:25:23 by simonpj] Add tests for rebindable syntax, courtesy of Ashley Yakeley 1459551 [project @ 2002-09-27 12:43:15 by simonpj] Update expected output with improved error messages 066ad05 [project @ 2002-09-27 14:40:47 by simonpj] Update expected output d84d703 [project @ 2002-09-30 14:49:19 by simonpj] Dont use undecidable instances in this test bd89e75 [project @ 2002-09-30 14:56:41 by simonpj] update expected output (which was never right0 f2c5a96 [project @ 2002-10-01 09:57:22 by simonpj] Update expected output 55367ee [project @ 2002-10-01 10:05:13 by simonpj] Update expected output db86a58 [project @ 2002-10-10 14:10:14 by simonpj] Add mdo test fcc6381 [project @ 2002-10-11 08:41:47 by simonpj] add expected output aa9aca4 [project @ 2002-10-11 15:42:32 by simonpj] Update expected output 6a5b551 [project @ 2002-10-12 00:01:04 by erkok] mdo testsuite dc78c85 [project @ 2002-10-23 09:52:55 by simonpj] Add another read/show test, on records 49c5005 [project @ 2002-10-24 13:06:17 by simonmar] update expected output 1855658 [project @ 2002-10-28 16:15:21 by simonpj] Update expected output, and fix the source for rn017 29a2ea1 [project @ 2002-10-28 16:16:22 by simonpj] Dont import a non-existent interface 36be1ab [project @ 2002-10-29 14:31:00 by simonpj] A new test from Ross 8513c0a [project @ 2002-10-30 09:32:55 by simonpj] Newtype record-selector test 197c892 [project @ 2002-11-05 09:50:24 by simonpj] Test for unused bindings in mutual rec groups 3be9233 [project @ 2002-11-05 11:31:56 by simonpj] Move mod133 to rename/should_fail to avoid conflict with Hugs tests dd94b62 [project @ 2002-11-05 11:34:22 by simonpj] Wibble fa0413f [project @ 2002-11-05 11:38:08 by simonpj] Add test moved from modules/ e35812b [project @ 2002-11-05 11:38:43 by simonpj] Add a modules test acc162e [project @ 2002-11-05 14:09:45 by simonpj] tcfail098 fails now 7d70cce [project @ 2002-11-06 12:50:53 by simonpj] Add two more module tests 4e1cf1a [project @ 2002-11-06 12:51:14 by simonpj] Update expected output 8382940 [project @ 2002-11-07 07:18:13 by chak] Started on regression tests for Template Haskell 6e0f9d6 [project @ 2002-11-07 10:07:24 by simonpj] Update expected output 5e0b456 [project @ 2002-11-07 11:45:05 by simonpj] Add an implicit-parameter test a78096d [project @ 2002-11-09 08:38:19 by chak] More tests for reifyDecl 8453eeb [project @ 2002-11-09 08:46:06 by chak] Seems (in DsMeta) as if reifyDecl should do class delcarations, too, but it currently dies when applied to a class name. 4c2e9dc [project @ 2002-11-11 10:46:31 by simonpj] Add a new deriving test 5cf7fa2 [project @ 2002-11-18 14:18:46 by simonpj] Add tests for classes operations with a context but no for-all 91ed2e5 [project @ 2002-11-19 17:00:02 by simonpj] Add Joaos circular program 632add5 [project @ 2002-11-19 17:47:10 by simonpj] Add output a714f23 [project @ 2002-11-20 07:19:13 by chak] TH: Revised type variable handling in toplevel decls (became necessary due to recent addition of foralls in type representations). 946d0b0 [project @ 2002-11-20 09:43:04 by simonpj] Update expected output 686d64b [project @ 2002-11-20 12:34:43 by chak] TH: - We are forcing importing THSyntax.Q at every top splice now; this suffices to get simple splices that do not involve reifyDecl or declaration quasi-quotes to work. NB: This worked already when the construction of the Dec term and the splice were in separated modules, but not when they are in the same (see the regression test "TH_spliceDecl1.hs"). - The tests "TH_spliceDecl2.hs" and "TH_spliceDecl3.hs" use toplevel splices together with quasi-quoted and reifyDecl. These currently still fail, as importing of some of the required type constructors from THSyntax isn't forced. bf17809 [project @ 2002-11-21 09:25:27 by simonpj] Add test for pattern-match failure in do-notation ad6c2e3 [project @ 2002-11-21 13:25:13 by chak] Renaming function for the reify/splice test needs to be in a separate module f764ffe [project @ 2002-11-22 02:57:32 by chak] wibble 85630e6 [project @ 2002-11-28 10:03:43 by simonpj] Suppress linking messages in TH_spliceDecl1 b504edb [project @ 2002-11-28 17:21:00 by simonpj] Update expected output for new type-error generation 5a94d52 [project @ 2002-11-28 17:21:52 by simonpj] Add new tests b6bb38e [project @ 2002-11-28 17:30:27 by simonpj] update expected output bad9f9a [project @ 2002-11-29 11:11:12 by simonpj] Update expected output 42c70ca [project @ 2002-12-02 09:06:43 by simonpj] This one paniced 5.04 024444a [project @ 2002-12-02 13:43:43 by simonmar] Add support for running tests with GHCi. This is an additional "way" in the test system, which is enabled automatically if $(GhcWithInterpreter) = YES, and only applies to tests that run (as opposed to tests that just compile). c9ac5c1 [project @ 2002-12-02 14:37:26 by simonmar] Don't run ffi00{1,2} with GHCi; they use foreign export cd73b72 [project @ 2002-12-02 14:40:38 by simonmar] GHCi way: set the buffering on stdout to LineBuffering to more correctly match the compiled environment. 7d5fee1 [project @ 2002-12-02 14:48:27 by simonmar] Add support for multi-module tests in GHCi b79c336 [project @ 2002-12-02 15:11:49 by simonmar] omit GHCi way 1dc7cb3 [project @ 2002-12-02 15:26:13 by simonmar] Add support for stdin files in the GHCi way. 0accf31 [project @ 2002-12-02 15:31:21 by simonmar] oops, remove ghci from compile_ways 3175965 [project @ 2002-12-02 15:37:27 by simonmar] Add some more notes, particularly on using ways, and mention the GHCi way. 40b71f8 [project @ 2002-12-03 12:42:44 by simonmar] omit conc021 for ghci b883765 [project @ 2002-12-03 13:00:32 by simonmar] Fix this test - it had a race condition c8bc11b [project @ 2002-12-03 15:43:55 by simonmar] omit some tests in GHCi mode 7914b32 [project @ 2002-12-04 16:53:12 by simonmar] Disable GHCi tests for now, one of them is causing GHCi to go into a loop b3f3d02 [project @ 2002-12-05 12:38:35 by simonmar] re-enable ghci tests 6b57902 [project @ 2002-12-10 02:34:22 by igloo] Correctly convert expressions from TH datastructures to the internel Hs* datastructures containing right infix operators left-parenthesised. 3009f5d [project @ 2002-12-10 10:58:17 by simonmar] Add -K16m to the compiler opts, to make ioref001 work with GHCi 00d0958 [project @ 2002-12-10 11:11:25 by simonmar] skip some of these tests for GHCi 1a1b896 [project @ 2002-12-10 11:11:58 by simonmar] Use the user-supplied stdin file for GHCi, if there is one. a966332 [project @ 2002-12-10 14:10:50 by igloo] Correct comment 64d815d [project @ 2002-12-12 14:45:56 by simonmar] Remove #include "Rts.h" -- not required 3efab16 [project @ 2002-12-13 14:26:01 by simonmar] Test for bug in integerTo{Int,Word}, bug #64652927 fd17f7a [project @ 2002-12-13 14:28:25 by simonmar] accept new output c150f76 [project @ 2002-12-13 15:18:55 by simonmar] use Data.IORef rather than IORef with -package lang 861620b [project @ 2002-12-18 11:18:59 by simonmar] accept new output b657b7d [project @ 2003-01-06 16:08:33 by simonmar] update expected output 8d8e9c4 [project @ 2003-01-09 15:45:23 by simonpj] Add bizarre export test (Ross P) b836733 [project @ 2003-01-09 16:13:48 by simonmar] use the hierarchical libraries 01d34d3 [project @ 2003-01-13 12:04:36 by simonpj] Fails with 5.02.3 eeca323 [project @ 2003-01-13 13:52:47 by simonmar] accept correct output 0d9c3a1 [project @ 2003-01-13 14:00:22 by simonpj] Accept new output (added info on error message) 25a1c66 [project @ 2003-01-13 14:14:31 by simonpj] Accept new output (added info on error message) 65f38b6 [project @ 2003-01-23 12:47:47 by simonmar] Add cg052.hs, which crashes GHC 5.04.2 9767f14 [project @ 2003-01-23 14:30:25 by simonpj] Add two new deriving tests ec90a44 [project @ 2003-01-23 15:05:17 by simonpj] Update output cec6222 [project @ 2003-01-24 10:19:11 by simonpj] Add output file 02b37d7 [project @ 2003-01-24 10:20:17 by simonpj] Update expected output bea137e [project @ 2003-01-24 13:25:46 by simonpj] Update expected output 10e3100 [project @ 2003-01-24 14:08:59 by simonmar] Start a new GHCi-only test category, and add our first test 7ac7aa1 [project @ 2003-01-24 14:11:49 by simonmar] Add comment pointing to the fix. 901ca7f [project @ 2003-02-04 13:45:29 by simonpj] Add tc165 ce35c343 [project @ 2003-02-04 13:45:45 by simonpj] Update expected output 7457641 [project @ 2003-02-06 09:30:14 by simonpj] Add error-message test 41df824 [project @ 2003-02-06 09:59:34 by simonmar] Add test for missing rts_mkFunPtr (fails on 5.04.2). ae3a3a9 [project @ 2003-02-14 10:54:42 by simonpj] Add another impicit-param test 875d580 [project @ 2003-02-14 13:00:38 by simonpj] Add deriving test for record fields with leading underscore 2cb08ad [project @ 2003-02-18 15:31:06 by simonpj] Record update test 8439bcd [project @ 2003-02-19 11:30:39 by simonpj] Update expected output e8c1915 [project @ 2003-02-19 11:35:28 by simonpj] Update expected output f579d5f [project @ 2003-02-19 14:42:23 by simonpj] Update expected output 2cec1ab [project @ 2003-02-24 09:36:38 by simonpj] Update expected output 6f5c8bf [project @ 2003-02-24 16:03:51 by simonpj] Update expected output 5136a8c [project @ 2003-03-11 09:16:44 by simonpj] A new parser test 365d3b8 [project @ 2003-03-17 14:48:18 by simonmar] Add test for 'main = return undefined' 62eb0be [project @ 2003-03-17 14:51:43 by simonmar] Add test for lexing '9e2'. 2d4e251 [project @ 2003-03-19 11:37:18 by simonmar] Add missing test 03643ba [project @ 2003-03-26 15:29:49 by simonmar] change this test to avoid closing stderr, which confuses GHCi 56cfb93 [project @ 2003-03-26 15:34:42 by simonmar] Fix bug in GHCi testing: should fix a few GHCi test failures 6fb6143 [project @ 2003-03-28 12:37:30 by simonmar] Disable getDirectoryContents001 for GHCi. d0d51ad [project @ 2003-04-01 16:39:56 by simonpj] Add readLitChar test c43c29e [project @ 2003-04-08 10:58:10 by simonpj] Add unbox-strict-fields test a404d9a [project @ 2003-04-08 11:48:15 by simonpj] Add newtype deriving error-msg tests 4856d39 [project @ 2003-04-08 13:10:47 by simonpj] Add a borderline test case 4b5190a [project @ 2003-04-09 08:06:59 by simonpj] Add tcrun028 b27e910 [project @ 2003-04-09 08:20:46 by simonpj] Add lex test 76a0a98 [project @ 2003-04-10 14:56:50 by simonpj] Update tests 791207a [project @ 2003-04-10 15:32:28 by simonpj] update expected output 0e2df53 [project @ 2003-04-10 15:33:31 by simonpj] Update expected output fdf7254 [project @ 2003-04-10 15:39:25 by simonpj] Error message wibble after changing the order in which the type checker looks at function calls. Now it does the result type before the argument type, so a handful of error messages change. 94a5678 [project @ 2003-05-01 16:27:58 by simonpj] Update expected output. The main change is slightly less duplication in typecheck error messages. I'm not quite sure when and why this got in, but it seems to be an improvement. 43a4dd0 [project @ 2003-05-03 22:11:52 by igloo] Update testsuite in line with recent TH changes. 3ea8f27 [project @ 2003-05-04 13:51:13 by igloo] Added tests for unboxed literals. e403f07 [project @ 2003-05-04 17:40:01 by panne] Keep all paths below 100 characters, making the poor Solaris tar happy again. Well, to be more exact, *almost* all paths: Some paths below fptools/{ghc,happy}/InstallShield/ are still too long, but they don't usually appear in our tar files. 0a7c450 [project @ 2003-05-07 08:26:17 by simonpj] Update expected output 0a4b449 [project @ 2003-05-07 09:22:15 by simonpj] Add a generics test 0849c91 [project @ 2003-05-07 09:26:14 by simonpj] Add test for Show on unboxed types a929bd2 [project @ 2003-05-12 11:50:10 by ralf] 3319c67 [project @ 2003-05-21 02:58:40 by igloo] Added support for newtypes to TH and altered a test for them. 3a28b48 [project @ 2003-05-21 18:07:30 by igloo] The Great Renaming. I hope I've kept everything in sync - and all the tests pass. Now datatypes follow the c6eaad0 [project @ 2003-05-23 13:43:47 by simonmar] Reclassify these test failures as "expected failures". We are now at ZBB (zero bug bounce). 5af150f [project @ 2003-05-23 13:51:51 by simonmar] ds053 is not an expected failure any more; accept the correct output. 709feb3 [project @ 2003-05-23 14:20:35 by simonmar] This test is an expected failure, but its original purpose seems to have been lost along the way somewhere. c038498 [project @ 2003-05-23 14:24:37 by simonmar] rn040 is no longer an expected failure; accept the correct output f90882e [project @ 2003-05-23 14:36:39 by simonmar] Update this file to reflect reality. 455c730 [project @ 2003-05-27 09:50:31 by ralf] Intermediate commit. Added 002 and 003 test case. Do only compile with local-build target. 3d2b2ef [project @ 2003-05-27 17:52:48 by ralf] This is the beginning of a useful test suite for the boilerplate Generics. Should all work fine with gmake (stage2) in ".". Nice! All subdirs are visited automatically. Much more smaller test cases are needed. To be worked on. b4421ab [project @ 2003-05-30 14:11:18 by simonpj] A test for stupid contexts in data types; killed 5.02.3 8b120e5 [project @ 2003-05-30 22:00:25 by ralf] Data.Generics received a meaninful testsuite; more work to be done. 8492cd2 [project @ 2003-06-01 17:20:59 by ralf] Added an example for traversal dimension; started a TODO list here e1ed24d [project @ 2003-06-03 06:30:09 by simonpj] Add big-tuple tests 1505be8 [project @ 2003-06-04 14:53:05 by ralf] Added a simple gread test sample; improved explanations of several samples 546054b [project @ 2003-06-05 13:36:30 by ralf] Added foldTree examples. c874a01 [project @ 2003-06-06 16:18:03 by igloo] Update tests for renamings. 68450d5 [project @ 2003-06-08 18:12:27 by igloo] Introduce a ListP for consistency with ListE. Splicing in something with a list pattern now works too. c5f03b4 [project @ 2003-06-09 15:38:32 by simonpj] Add a test for hasNoRedexes ac2cbe5 [project @ 2003-06-13 07:22:03 by simonpj] Add kind-checking test b444d3b [project @ 2003-06-13 07:23:02 by simonpj] Add kind test 4862338 [project @ 2003-06-16 15:17:28 by simonmar] Get up a bit earlier in the morning than the strictness analyser. 5e8293a [project @ 2003-06-18 10:45:03 by simonpj] Begin arrow test suite c9695de [project @ 2003-06-18 10:45:50 by simonpj] Add makefile 1a15503 [project @ 2003-06-18 10:55:24 by simonmar] Add test for SourceForge #756454 (method must mention class type variable), expected failure. 370509c [project @ 2003-06-18 18:20:40 by igloo] Ignore *.comp.stderr and *.run.stderr, not *.stderr. Add *.run.stdout to ignored files. b63c719 [project @ 2003-06-19 08:50:40 by ross] tests for arrow notation (needs arrows-branch) f2fcb61 [project @ 2003-06-19 09:13:43 by ross] more arrows tests f6f2c79 [project @ 2003-06-19 09:50:47 by simonmar] tc167 is an expected failure at the moment (there's a bug open on it). 155001a [project @ 2003-06-19 09:51:31 by simonmar] accept new output 1e23e7d [project @ 2003-06-19 09:52:39 by simonmar] tcfail115 is an expected failure (there's a bug open on it). 5951fed [project @ 2003-06-20 11:13:29 by simonpj] Add a quantification test e78e376 [project @ 2003-06-20 23:31:22 by ross] update arrow tests 1e67506 [project @ 2003-06-21 23:39:23 by ross] more arrow tests a53ccd6 [project @ 2003-06-23 00:08:42 by ross] another (successful) arrow test 49f05dc [project @ 2003-06-23 00:23:38 by ross] extend a test 7829aeb [project @ 2003-06-23 11:45:23 by simonpj] Add a test for IO strictness 09d7b73 [project @ 2003-06-23 16:41:26 by simonpj] -farrows instead of -fgla-exts 35e989f [project @ 2003-06-24 09:45:23 by ross] another arrows test 8f6ff0f [project @ 2003-06-24 11:31:42 by ross] update arrows test 3422c52 [project @ 2003-07-01 14:06:29 by simonpj] Update expected output fea726c [project @ 2003-07-01 14:12:17 by simonpj] Add strun003 88895ca [project @ 2003-07-01 14:12:52 by simonpj] Add cg004 d15e291 [project @ 2003-07-01 14:13:17 by simonpj] Comments only cd3eba2 [project @ 2003-07-01 14:13:45 by simonpj] update expected output 62e4d30 [project @ 2003-07-02 10:16:26 by simonpj] Add method defs to suppress gratuitous warnings 08fcb68 [project @ 2003-07-15 13:35:19 by ross] add a test for big tuples, but don't enable it because it takes a long time (thanks to the monster types, I suspect). 0b759f2 [project @ 2003-07-16 08:50:57 by ross] update tests to match revised syntax for forms (and test application too). a62020b [project @ 2003-07-17 12:21:03 by simonmar] Quick hack: add a generic_command class of tests, so that we can integrate arbitrary commands as tests in the test framework. 6909015 [project @ 2003-07-17 12:22:40 by simonmar] Add some driver tests. b1ed296 [project @ 2003-07-18 12:52:12 by simonmar] Add another driver test: compiling a hierarchical module in a subdirectory in one-shot mode. 8194ab8 [project @ 2003-07-21 16:58:14 by simonmar] update expected output after changes to Handle and IOError Show instances f8a508a [project @ 2003-07-22 10:24:00 by simonmar] generic_command: cd to testdir before running the command. 202ed05 [project @ 2003-07-22 10:37:29 by simonmar] rmdir the obj/B directory, so we can test that GHC creates intermediate directories correctly (it currently doesn't). ecb2ccc [project @ 2003-07-23 09:22:29 by simonmar] Extend the support for running arbitrary commands as tests. 8cb9843 [project @ 2003-07-23 09:54:09 by simonmar] Add ghci_script, a simple variation on run_command that runs GHCi with a specified script as input. 10830b3 [project @ 2003-07-23 10:55:28 by simonmar] Add some GHCi tests (found 2 bugs in the HEAD in the process!) 2ce712b [project @ 2003-07-23 10:59:29 by simonmar] Move this test into a subdirectory c853e11 [project @ 2003-07-23 11:36:46 by simonmar] add Makefile 6c2bb84 [project @ 2003-07-23 11:39:31 by simonmar] ghci_script: - filter out -no-recomp from the compiler flags (we want to test recompilation) - pass config.compiler and config.compiler_always_flags to the subprocess via the environment variables HC and HC_OPTS respectively, so that the GHCi script can invoke the compiler 5db5edb [project @ 2003-07-23 11:40:31 by simonmar] Copy some GHCi tests over from fptools/ghc/tests/ghci 8787fe5 [project @ 2003-07-23 14:07:31 by simonmar] update output da82119 [project @ 2003-07-23 14:11:56 by simonmar] update output a93cb57 [project @ 2003-07-23 14:42:39 by simonmar] Hack to get this test working. 16eadea [project @ 2003-07-24 07:47:32 by simonpj] Add a pretty-print test (makes GHC 6.0 loop) e98e1c0 [project @ 2003-07-25 10:17:39 by simonmar] Check exit codes from GHCi runs (we were ignoring them before). a4f992f [project @ 2003-07-25 10:18:40 by simonmar] Add text for Text.Regex.Posix bug. bc666d4 [project @ 2003-07-25 14:27:22 by ralf] 5a50de4 [project @ 2003-07-26 12:49:11 by ralf] Testsuite update which goes with this week's effort on Data.Generics. 76b1d32 [project @ 2003-07-26 12:51:45 by ralf] Testsuite cvs problem fixed. 5429707 [project @ 2003-07-28 11:59:15 by simonpj] Add a new test for higher-rank polymorphism (killed GHC 6.0 20cfa6f [project @ 2003-07-29 10:16:07 by simonpj] Avoid lang-pkg dependency; update expected output d405cc8 [project @ 2003-07-29 10:16:28 by simonpj] Avoid lang-pkg dependency 83f49b3 [project @ 2003-07-31 09:28:48 by ralf] Cosmetic changes. Documentation of Data.Generics at http://www.cs.vu.nl/boilerplate/ is now also again well in line with the major revision of Data.Generics from last week. 7fd2cd7 [project @ 2003-07-31 10:48:51 by panne] Merge Foreign.C.TypesISO into Foreign.C.Types 9637bbd [project @ 2003-08-04 14:53:20 by simonmar] Update following latest enhancements. 7a53dd1 [project @ 2003-08-04 14:54:00 by simonmar] These should all ignore their output 28eab00 [project @ 2003-08-14 10:17:26 by simonmar] pp1 is an expected failure, so tell the test driver. a27b1e5 [project @ 2003-08-19 21:51:53 by krc] Added support for testing generation and compilation of External Core code. There are two new ways, which are not automatically enabled but can be invoked from the command line: extcore and optextcore. Invoking either way will test that ghc is able to generate External Core code for a given test, read the code back in, and compile it to an executable that produces the expected output for the test. de169e7 [project @ 2003-08-20 10:07:30 by simonmar] Add unicode character classification test. 7fbacb8 [project @ 2003-08-20 10:21:07 by simonmar] Add Unicode character classification test. 6ba3faf [project @ 2003-08-27 11:04:05 by simonmar] update expected output 7067633 [project @ 2003-09-08 11:52:27 by simonmar] Replace the handwritten lexer with one generated by Alex. 3a558d2 [project @ 2003-09-08 12:53:47 by simonmar] Update expected output cf19aa1 [project @ 2003-09-08 12:59:05 by simonmar] Add a couple of signal-handling tests I had lying around. 656dff4 [project @ 2003-09-10 09:36:06 by simonmar] accept output 5ac88a9 [project @ 2003-09-10 09:37:10 by simonmar] add expected output 81b4892 [project @ 2003-09-10 16:48:12 by simonmar] These tests now only need -fth, apart from a couple which use unboxed literals. 56fad57 [project @ 2003-09-11 09:36:35 by simonmar] I assume that "ghc-6.1: unknown package name `lang'" is *not* the correct output for this test :-) 139365b [project @ 2003-09-11 09:43:57 by simonmar] Add an extra "sleep 1" to make this test work. 5b87aac [project @ 2003-09-11 09:46:17 by simonmar] accept output f770811 [project @ 2003-09-11 14:22:10 by simonpj] Add a recursive-dictionary test b038ffa [project @ 2003-09-20 17:23:15 by ross] expand test to include cases of lambdas 0bad63c [project @ 2003-09-23 14:40:16 by simonmar] add fileExist test 90a8bba [project @ 2003-09-23 14:44:31 by simonmar] add doesDirectoryExist test 89320bc [project @ 2003-09-24 11:25:58 by simonmar] Bring these tests into the 21st century. 6936e4e [project @ 2003-09-24 11:47:13 by simonmar] Remove some tests that don't apply any more, since we removed support for _ccall_. 55956fe [project @ 2003-09-24 11:50:08 by simonmar] these tests have gone dad6f91 [project @ 2003-09-24 11:52:45 by simonmar] remove obsolete test fd7c403 [project @ 2003-09-24 11:55:55 by simonmar] arrowcase1 is an expected failure on the branch 1b5fe37 [project @ 2003-09-24 11:56:37 by simonmar] oops, should be on the branch 3c37268 [project @ 2003-09-26 09:28:11 by simonmar] remove obsolete test (uses CCallable) b9e79f5 [project @ 2003-09-30 09:57:21 by simonmar] not required ca6b9b6 [project @ 2003-09-30 10:29:01 by simonmar] Add a -f to the rm command to avoid spurious failure f6282fe [project @ 2003-10-01 09:11:36 by simonmar] Add test for returning a Bool from a foreign export. 69d9f87 [project @ 2003-10-06 11:48:02 by simonpj] Add some leading-zero tests 8e44370 [project @ 2003-10-06 12:55:05 by simonpj] Add test for parallel list comprehension unused-var warnings 9c302a9 [project @ 2003-10-13 14:54:11 by simonpj] Update expected output c89e742 [project @ 2003-10-20 14:58:34 by simonmar] Add test that generates strange duplicate error messages with GHC 6.2. 43e4e3d [project @ 2003-10-23 10:24:19 by simonmar] accept new output 54e7038 [project @ 2003-10-24 01:43:27 by dons] Add addr001 case for 64 bit mips-sgi-irix 711bf81 [project @ 2003-10-24 02:10:24 by dons] add case for i386-unknown-openbsd 04bb847 [project @ 2003-10-24 14:33:54 by dons] Make sure uses of pollableEvent are wrapped in HAVE_SIGPOLL. While we're here, add output case for OpenBSD which is an instance of this. 8847cec [project @ 2003-10-27 06:43:29 by dons] 64 bit result for mips64 043b1d7 [project @ 2003-10-27 07:13:37 by dons] 64 bit expected output c662e94 [project @ 2003-10-27 07:34:04 by dons] Add 64 bit expected outptu for mips 04df870 [project @ 2003-10-27 07:38:01 by dons] Add 64 bit expected output for mips a99f13a [project @ 2003-10-27 07:41:04 by dons] Add 64 bit expected output for mips 0f5c617 [project @ 2003-10-27 07:50:31 by dons] Add 64 bit expected output for mips b5a1916 [project @ 2003-10-27 08:13:29 by dons] Add 64 bit expected output for mips c5cc68d [project @ 2003-10-27 08:22:59 by dons] Add 64 bit expected output for mips 5a93c94 [project @ 2003-10-27 11:01:01 by simonpj] Two more tests 68e3715 [project @ 2003-10-27 12:46:57 by simonpj] update expected output 7643cf5 [project @ 2003-10-27 13:50:10 by simonpj] Update expected output 36b3797 [project @ 2003-10-28 01:20:00 by dons] export the value of MAKE for invocation as $MAKE in ghc-regress/driver tests. 706603b [project @ 2003-10-28 01:20:45 by dons] make -> $MAKE so it these tests won't fail on gmake systems 12209f1 [project @ 2003-10-28 08:56:16 by simonpj] Add a no-constructor-type test b006d8d [project @ 2003-10-28 08:56:38 by simonpj] Add tc171 b350f24 [project @ 2003-10-29 12:09:06 by simonpj] update expected output 17f3242 [project @ 2003-10-29 17:20:29 by simonpj] Add a TH test b293c64 [project @ 2003-10-29 19:16:16 by simonpj] Add a strictness anal test I found lying in this directory 1de5f70 [project @ 2003-10-30 04:01:13 by dons] Expected output for opening a directory on Irix. 1812632 [project @ 2003-10-30 10:16:26 by simonpj] Two more TH tests, thanks to Sean 1f9e255 [project @ 2003-11-02 17:51:00 by ralf] Cosmetic changes. 9619300 [project @ 2003-11-03 15:28:53 by simonpj] Add another module test d5253f8 [project @ 2003-11-05 12:16:02 by simonpj] Avoid gratuitous warnings ad9c335 [project @ 2003-11-05 14:37:48 by simonmar] Hopefully make these tests produce deterministic output. 139a051 [project @ 2003-11-05 14:49:21 by simonpj] Fix tc170 efd7221 [project @ 2003-11-06 10:12:19 by simonmar] wibble 5ed4d1e [project @ 2003-11-06 17:09:59 by simonpj] ------------------------------------ Major increment for Template Haskell ------------------------------------ 36042a4 [project @ 2003-11-06 17:14:30 by simonpj] Add another TH test 205eef1 [project @ 2003-11-06 17:22:36 by simonpj] update output; add an (incomplete) error test 920c381 [project @ 2003-11-11 09:47:01 by simonmar] skip conc013 a01f9cf [project @ 2003-11-12 14:49:43 by simonmar] Add test for '\xa0', the ISO8859-1 non-breaking space character. 28d132c [project @ 2003-11-14 10:31:49 by simonmar] conc031 hangs for ever, skip it 8d914d8 [project @ 2003-11-17 14:17:41 by simonmar] skip conc033, hangs with threaded RTS 8a1fbe6 [project @ 2003-11-17 14:26:38 by simonmar] Turn off conc034 for now d5afc20 [project @ 2003-11-19 14:47:31 by ralf] Added functions and example to deal with encoding and decoding of bit streams. 1def135 [project @ 2003-11-19 23:46:59 by ralf] bits and strings are shown and read better than ever before. 6823361 [project @ 2003-11-23 12:29:30 by ralf] Added and revised test cases. 32ff5e2 [project @ 2003-11-25 09:57:41 by simonmar] Omit GHCi way for conc004. This test has been taking several hours, possibly something to do with the threaded RTS. fe07a01 [project @ 2003-11-26 10:07:46 by simonmar] test for extra comma in record construction 442364f [project @ 2003-11-28 17:11:04 by simonmar] Add a test which causes the HEAD to crash (SourceForge bug #847910). Fix to be incorporated shortly. 539260d [project @ 2003-12-06 17:15:00 by ralf] Added examples to demonstrate type case. 318e044 [project @ 2003-12-10 12:32:29 by simonmar] Add unused import warning tests. 86b3567 [project @ 2003-12-10 14:24:21 by simonmar] Update some of the test output following introduction of accurate source locations in error messages. More updates to follow. 92f85f8 [project @ 2003-12-10 14:33:08 by simonmar] wibble (I've no idea why this output got lost) 2294a75 [project @ 2003-12-10 17:20:49 by simonmar] update output 3fbdfd6 [project @ 2003-12-16 16:27:59 by simonpj] Add newtype deriving test 0f43525 [project @ 2003-12-17 15:28:23 by simonpj] Add an instance-getting test b01c530 [project @ 2003-12-17 15:28:58 by simonpj] comments 31fd6ad [project @ 2003-12-19 10:39:28 by simonpj] An umboxed-tuple test 15cea88 [project @ 2003-12-22 12:27:35 by simonmar] Add h{Get,Put}Buf(NonBlocking) tests. 24859d1 [project @ 2003-12-23 12:34:47 by simonmar] The test wasn't exercising enough of the hGetBuf implementation, so jiggle it a bit. f0143e8 [project @ 2003-12-30 16:36:49 by simonpj] Add tc175, modify tcfail115 7280484 [project @ 2004-01-05 14:40:10 by simonmar] Add a couple of -keep-hc-files tests. 2dcc6b4 [project @ 2004-01-06 11:07:53 by simonmar] accept output e418c72 [project @ 2004-01-08 10:37:53 by simonmar] Add a -main-is test a730d64 [project @ 2004-01-08 11:50:41 by simonpj] Add a CSE with unboxed tuples test 52751fe [project @ 2004-01-08 11:57:04 by simonpj] -O is enough to trigger the bug 97bc69e [project @ 2004-01-08 15:05:46 by simonpj] Forgot to commit all.T 8725a8f [project @ 2004-01-09 10:57:33 by simonmar] update output d04c89c [project @ 2004-01-09 11:02:36 by simonmar] add missing Makefiles e5459ed [project @ 2004-01-09 11:04:01 by simonmar] update output 28c7ab7 [project @ 2004-01-09 11:07:37 by simonmar] update output eeb5588 [project @ 2004-01-09 12:10:53 by simonmar] update output a0c3bd3 [project @ 2004-01-14 09:18:33 by simonmar] Fix up test 3051506 [project @ 2004-01-14 09:26:38 by simonmar] add mention of only_ways() 2514201 [project @ 2004-01-14 09:28:56 by simonmar] While I'm here, add docs for a couple of other pre-defined functions which were missing. 25e6c77 [project @ 2004-01-14 09:31:09 by simonmar] Run Tc170_Aux and tc170 in the 'opt' way only. If Tc170_Aux is allowed to run multiple ways, then we might get the wrong flavour of interface file. a58c9ff [project @ 2004-01-14 09:31:59 by simonmar] Use run_command_ignore_output instead of run_command for tc173. d6ac657 [project @ 2004-01-14 09:40:51 by simonmar] tcfail115 and tcfail116 are now expected to succeed 41f83ea [project @ 2004-01-14 09:42:33 by simonmar] Update expected output (mainly error message wibbles) 4ddda6e [project @ 2004-01-14 09:55:29 by simonmar] update output f2ab3a4 [project @ 2004-01-15 14:43:24 by igloo] Split Template Haskell out to its own package and update docs and tests. 284f4d6 [project @ 2004-01-20 10:09:12 by simonmar] update output ba028fb [project @ 2004-01-26 11:29:19 by simonmar] Add SampleVar tests. e6426d4 [project @ 2004-01-27 15:05:57 by simonmar] More tests from Jan Christiansen . The QSem ones are disabled for the time being. d70965b [project @ 2004-01-29 07:01:31 by dons] Add output for sparc/openbsd. This is the same as the i386 case; neither has HAVE_SIGPOLL. c726906 [project @ 2004-02-03 16:48:17 by simonpj] Make tc167 an expected pass 6d0a38e [project @ 2004-02-06 15:12:31 by simonpj] Add a codegen switch test 649cd31 [project @ 2004-02-10 08:46:53 by simonpj] Add a test from a Hugs bug report c1bd289 [project @ 2004-02-13 14:36:59 by ralf] Added another test-set generation example: really simple!!! c34221e [project @ 2004-02-14 18:13:33 by ralf] Refactored for new twin traversals; Added a new somewhat XMLish example; see subdir tree; Started on an even more XMLish example; see subdir xmlish. c7d1955 [project @ 2004-02-15 16:57:09 by ralf] A somewhat weird XMLish example is completed. Needs more discussion. 118596b [project @ 2004-02-15 17:53:52 by ralf] Finished refactoring twin traversal. Finished drafting XMLish examples. d26e2d6 [project @ 2004-02-16 12:02:36 by simonmar] update output f6275ac [project @ 2004-02-17 10:20:01 by simonmar] Skip the GHCi tests if ghci is not in run_ways. 158bcf0 [project @ 2004-02-24 10:34:48 by simonmar] line comment test. 988c74d [project @ 2004-02-24 17:15:14 by simonpj] Add test for overlapping instances in deriving clause 90e7172 [project @ 2004-02-24 19:51:46 by ralf] Revised example tree to make use of accumulating map. Revised xmlish example with regard to polymorphic lists. Added a weird example ext1 for illustrating polymorhic type case. 635b024 [project @ 2004-02-25 13:15:18 by simonmar] enable these tests now 208d773 [project @ 2004-02-25 21:19:39 by ralf] Follow-up fix triggered by yesterday's major scrap your boilerplate commit. 15d9215 [project @ 2004-02-26 13:17:47 by simonpj] Add a hiding test 3d7abbc [project @ 2004-02-26 14:48:29 by simonpj] Reverse sense of test 67dc41f [project @ 2004-02-28 15:31:44 by ralf] Part of this weekend's boilerplate wave. See other commits to library and compiler. The testsuite is passed by the new library and compiler. 5d5457f [project @ 2004-03-01 13:27:28 by simonmar] Add 'threaded' way to run tests with the threaded RTS. dd067b3 [project @ 2004-03-01 14:09:46 by simonmar] Fix up pass over the concurrent tests: f5984c6 [project @ 2004-03-01 16:33:57 by simonmar] update output 253bf57 [project @ 2004-03-02 22:25:13 by ralf] Testsuite updated to meet the new Data class. 3c8e13b [project @ 2004-03-08 20:20:36 by ralf] Added some new boilerplate examples. 8ec8a8c [project @ 2004-03-10 10:30:40 by simonmar] accept output 2ed6755 [project @ 2004-03-10 11:17:38 by simonmar] remove dependencies on hslibs packages 50a1794 [project @ 2004-03-10 11:22:37 by simonmar] Remove unnecessary -package lang be23fdc [project @ 2004-03-10 11:37:03 by simonmar] remove dependencies on hslibs packages b1ed767 [project @ 2004-03-10 11:43:10 by simonmar] remove dependencies on hslibs packages cbbefef [project @ 2004-03-10 11:46:12 by simonmar] remove dependencies on hslibs packages b171ecd [project @ 2004-03-10 11:46:49 by simonmar] remove hslibs dependencies 8d8d17f [project @ 2004-03-10 11:50:55 by simonmar] remove hslibs dependencies dc2dc85 [project @ 2004-03-11 10:00:32 by simonmar] accept output 231dc6b [project @ 2004-03-11 10:06:29 by simonmar] accept output 8c4a2f8 [project @ 2004-03-11 10:53:41 by simonpj] Add default method error test e987c70 [project @ 2004-03-11 11:11:54 by simonmar] add conc040 70d7472 [project @ 2004-03-11 14:28:47 by simonpj] Add a functional dependency test c2ce934 [project @ 2004-03-12 10:15:56 by simonmar] accept output 2c929e8 [project @ 2004-03-12 10:18:58 by simonmar] accept output 049afd8 [project @ 2004-03-12 11:12:40 by simonmar] merge rev. 1.5.2.1 (make this test more robust) 0da57d3 [project @ 2004-03-16 09:25:39 by simonmar] accept output 000d647 [project @ 2004-03-16 10:27:18 by simonmar] Hack around \r\n vs. \n differences in sample output on Windows. a57e2d3 [project @ 2004-03-16 13:40:37 by ralf] The reify test case delivers "impossible has happened" but otherwise all examples are up-to-date with regard to the Boilerplate II draft as of today. 74304f4 [project @ 2004-03-16 13:43:17 by ralf] more clean-up. 4539deb [project @ 2004-03-16 16:07:32 by ross] add test for arrow syntax outside proc (bug fixed last week) f602a46 [project @ 2004-03-16 18:32:29 by ralf] 6c4ea5c [project @ 2004-03-17 09:41:22 by ralf] Test suite refactoring for gmap2. d062623 [project @ 2004-03-17 10:05:03 by ross] test for newtype of recursive newtype bug 27b07a2 [project @ 2004-03-17 23:23:58 by ralf] Testsuite fully successful again. This should now really finish the boilerplate II effort. aca374a [project @ 2004-03-21 19:07:55 by ralf] Make proper use of Typeable1... classes. Adhere to new names in Data.Typeable. 70ebd2d [project @ 2004-03-24 11:00:48 by simonmar] Add empty -i flag test. 97d37ad [project @ 2004-03-30 15:35:27 by ralf] A wave of updates related to the "fromConstr -> gunfold" migration. Nothing serious. Works like a dream. 5475292 [project @ 2004-03-31 21:18:03 by ralf] Too silly encoding to leave it like this. 253a91c [project @ 2004-04-02 13:29:20 by simonpj] More tests 64c76cd [project @ 2004-04-02 16:50:29 by simonpj] Add a test for newtype deriving ee8aff4 [project @ 2004-04-06 08:41:36 by simonpj] Update output f03e3b7 [project @ 2004-04-06 08:49:32 by simonpj] Update output 970e388 [project @ 2004-04-06 09:28:32 by simonpj] Update expected output 7c561af [project @ 2004-04-06 09:35:36 by simonpj] Track update in Generic names f0fa5e1 [project @ 2004-04-24 02:05:55 by dons] Add some 64 bit expected results for the amd64 box d80e444 [project @ 2004-04-24 02:09:33 by dons] More 64 bit arithmetic results f130442 [project @ 2004-04-24 02:11:31 by dons] The result of this test depends on word size. Add 64 bit case. 910c1c1 [project @ 2004-04-24 02:13:32 by dons] More 64 bit cases c967ccb [project @ 2004-04-24 02:17:06 by dons] Add signals001 result, for another OpenBSD platform 01ba963 [project @ 2004-05-05 09:35:39 by simonpj] Typeable deriving test 6de9a6e [project @ 2004-05-12 09:07:57 by simonmar] accept output a4057e5 [project @ 2004-05-14 08:57:40 by simonmar] accept output 86dd540 [project @ 2004-05-24 09:14:14 by simonmar] Expect failure for tc175 (bug is in SourceForge; we're not going to fix any time soon). c6f3708 [project @ 2004-05-25 08:04:36 by simonpj] update output for typechecker error f93ea08 [project @ 2004-05-25 08:07:04 by simonpj] Improve location on unused import warning c4ffa65 [project @ 2004-05-25 09:04:56 by simonpj] Add test for decent failure on built-in syntax f07f819 [project @ 2004-06-01 23:22:33 by igloo] Add missing functions to TH export list (mostly spotted by Duncan Coutts). ac3ef43 [project @ 2004-06-21 16:10:45 by simonpj] Accept Show for rationals without space round % a0d0367 [project @ 2004-06-21 16:21:50 by simonpj] Debug messages moving around 24ae2e7 [project @ 2004-06-21 16:22:23 by simonpj] Infix constructors work now 69cd652 [project @ 2004-06-21 16:23:07 by simonpj] Accept Show for rationals without space round % 5702699 [project @ 2004-06-22 09:50:11 by simonpj] Add a where-clause test for TH f0090f2 [project @ 2004-06-24 10:09:27 by ralf] Ralf back online. 6aa59dd [project @ 2004-07-11 09:23:55 by panne] Updated expected output (whitespace change only) 805e704 [project @ 2004-07-19 22:11:45 by igloo] Allows a -ws-64 stdout variant rather than requiring each 64-bit platform to have a -platform one. (You now need to make boot in testsuite after configure but before running tests). 1b09a28 [project @ 2004-07-20 14:53:12 by igloo] amd64 needs a bigger stack. s/16/32/g bdad3af [project @ 2004-07-20 15:52:20 by igloo] Increase stack size from 4m to 8m for stableptr001 to allow it to pass on amd64. a3fb947 [project @ 2004-07-21 11:29:31 by simonpj] Add a typeable test for the Y type 917a86d [project @ 2004-07-22 09:14:15 by simonmar] Make this a bit more deterministic 32129f6 [project @ 2004-07-22 09:14:26 by simonmar] make this a bit more deterministic e4da356 [project @ 2004-07-23 14:41:07 by igloo] Expect fed001, ffi006 - ffi011 to fail if we are not on an arch that can do adjustor creation. 6181132 [project @ 2004-07-27 12:58:17 by igloo] Revert 1.20 4258eff [project @ 2004-08-12 11:18:26 by simonmar] ghci011 now works 451e80e [project @ 2004-08-12 13:07:48 by simonmar] accept output a812a21 [project @ 2004-08-18 09:28:26 by simonpj] Add a fundep test c0e3629 [project @ 2004-08-20 08:44:06 by simonpj] Make enum test more elaborate for Int b03655a [project @ 2004-08-20 13:12:55 by simonmar] Update Windows output. ee20a24 [project @ 2004-08-23 11:57:29 by simonmar] Add DiffArray deadlock test. b003cc7 [project @ 2004-08-26 12:46:50 by simonpj] New output for enum01 e336948 [project @ 2004-08-26 16:02:32 by simonpj] Add a functional dependency test 2a9fd84 [project @ 2004-09-01 08:58:23 by simonmar] Fix GHCi tests on Windows. 510d800 [project @ 2004-09-02 11:58:12 by simonpj] Add a kind-error test (whcih GHC currently fails) 1741ca3 [project @ 2004-09-03 09:30:18 by simonmar] Robustify conc018 and conc019 a bit 8491505 [project @ 2004-09-03 09:53:07 by simonmar] robustify driver063 4c683c1 [project @ 2004-09-03 09:54:05 by simonmar] accept output 51980a6 [project @ 2004-09-03 10:02:33 by simonmar] accept output de39845 [project @ 2004-09-06 09:51:04 by simonmar] Update output for Windows. dfd8db6 [project @ 2004-09-06 09:51:35 by simonmar] Test driver fixes for Windows. 2f3bc24 [project @ 2004-09-06 13:12:22 by simonmar] More Windows fixes 43198f9 [project @ 2004-09-07 07:51:47 by simonpj] Error message reordering b2db35b [project @ 2004-09-07 09:03:20 by simonmar] accept output fd39616 [project @ 2004-09-07 13:58:38 by simonpj] Add another kind check d268747 [project @ 2004-09-09 16:15:24 by igloo] Testsuite cleaning. bca1649 [project @ 2004-09-09 16:30:22 by simonpj] Add GADT tests; these will fail in the HEAD, but never mind 18809f3 [project @ 2004-09-10 09:25:42 by simonmar] accept output 661a9c4 [project @ 2004-09-14 02:53:14 by dons] Disable getPermissions001 for WAY=ghci. bfdde39 [project @ 2004-09-15 17:48:10 by ross] arrow notation: allow arrow applications (f -< a) to take a non-empty command stack, as suggested by Sebastian Boldt . 06af68a [project @ 2004-09-27 15:33:01 by simonpj] More GADT tests c12105c [project @ 2004-09-27 15:47:02 by simonpj] Another higher-rank pattern-match test; thank you Iavor c488d00 [project @ 2004-09-27 15:53:17 by simonpj] Accept output 9432c04 [project @ 2004-09-27 15:53:59 by simonpj] More gadt test fixup 21acbe0 [project @ 2004-09-28 13:03:33 by simonmar] accept output 42050eb [project @ 2004-10-01 13:29:20 by simonpj] Remove duplicate test 8b471a8 [project @ 2004-10-01 13:58:37 by simonpj] Update expected output for new GADT-enabled typechecker 40427ca [project @ 2004-10-03 05:02:58 by dons] Expect unicode001 to fail on wchar-less OpenBSD/x86 0222c7f [project @ 2004-10-04 09:10:37 by simonpj] Update expected output 3e77701 [project @ 2004-10-04 09:36:47 by simonpj] Update expected output ab63bd0 [project @ 2004-10-04 11:25:29 by simonpj] Update expected output 0cb72d0 [project @ 2004-10-04 15:44:08 by simonpj] Add a GADT test 0635b22 [project @ 2004-10-05 01:34:13 by dons] Expect pass for ffi009, on OpenBSD. Doesn't seem to have the optasm failure/float-store issues. 8634e15 [project @ 2004-10-05 01:59:20 by dons] make -> $MAKE. Always use $MAKE in all.T testsuite code e8b8cc7 [project @ 2004-10-05 07:25:12 by simonpj] Update output b51786a [project @ 2004-10-05 07:45:55 by simonpj] Update output 3aa8272 [project @ 2004-10-05 08:49:14 by simonmar] accept output e00a602 [project @ 2004-10-05 11:48:03 by simonmar] Add George Russell's hi-boot bug 80dfc39 [project @ 2004-10-06 06:03:09 by dons] Don't expect fail on OpenBSD. We don't produce the floating point errors. a13e533 [project @ 2004-10-08 14:00:58 by simonpj] Add a test 07b36cb [project @ 2004-10-11 10:14:09 by simonmar] FreeBSD-specific output no longer required 2763e71 [project @ 2004-10-11 10:40:09 by simonmar] include the right config.h 2f4f4c2 [project @ 2004-10-11 10:41:04 by simonmar] add FreeBSD-specific output fead666 [project @ 2004-10-11 12:25:19 by simonpj] accept output 25ce026b [project @ 2004-10-12 08:22:09 by simonmar] Don't use printf in this test, which is a variable-argument function and hence unsupported by the FFI. 4c46468 [project @ 2004-10-12 08:44:41 by simonmar] skip on Windows 03e7e59 [project @ 2004-10-12 08:49:00 by simonmar] mingw output 2e032ff [project @ 2004-10-12 08:57:58 by simonmar] small fix for GHCi tests on Windows cbd9f01 [project @ 2004-10-13 23:50:29 by dons] Remove duplicate, obsolete, entries for signals{001,002}. Looks like a merge-o. 4543b6c [project @ 2004-10-18 13:37:56 by simonmar] Add stdcall test 4c60e0d [project @ 2004-10-20 11:31:47 by simonpj] Add more pattern-match tests f5e87ff [project @ 2004-10-20 11:34:53 by simonmar] Update Network.URI test for new library. 3c13cf0 [project @ 2004-10-21 08:19:10 by simonpj] Update output 44b5fc4 [project @ 2004-10-27 10:49:58 by simonmar] System.Posix.forkProcess test a4b3ba3 [project @ 2004-11-04 20:25:09 by panne] Synched with latest Network.URI changes 852fe75 [project @ 2004-11-06 10:01:41 by panne] Updated expected output b6f4193 [project @ 2004-11-06 10:23:30 by panne] Expect no failures anymore dee603f [project @ 2004-11-07 14:42:39 by ralf] A long-pending commit. Another commit later today, (Once an up-to-date GHC is running.) a8f8110 [project @ 2004-11-08 12:17:27 by ralf] Testsuite works fine for today's HEAD. Added a nice reflective programming example. See getC.* 9f7e270 [project @ 2004-11-08 12:25:13 by ralf] Cleaning for upload. 06d6752 [project @ 2004-11-09 12:12:40 by simonpj] Add an implicit-paramter test 9106bfc [project @ 2004-11-09 12:41:49 by simonpj] Add a test for ill-formed type 2fe4a95 [project @ 2004-11-09 13:24:16 by simonpj] A multi-module tycon fixity test 7d1395d [project @ 2004-11-09 13:49:08 by ross] More compiler_type support: added the option functions 0d94c55 [project @ 2004-11-09 16:28:22 by ross] Rename several .stderr files to .stderr-ghc, because in each case the output consists of GHC-only warnings. 5c17ec7 [project @ 2004-11-09 16:31:13 by ross] mark groups of tests as GHC-only, as they test GHC-specific features. c26fbe1 [project @ 2004-11-09 16:44:55 by ross] mark the following failures as GHC-specific: ds052 hReady001 tc175 tcfail080 cc70479 [project @ 2004-11-09 17:57:33 by ross] mark GHC-specific tests 87dc431 [project @ 2004-11-10 12:20:00 by ross] Add a make variable COMPILER (default: ghc) to select a configuration file from the config directory without have=ing to give a full path. 893dc0e [project @ 2004-11-10 18:30:54 by ross] replace IOExts with hierarchical modules, and track changes in System.IO c7bd727 [project @ 2004-11-11 00:19:23 by ross] no longer needs -package lang 059028b [project @ 2004-11-11 02:34:18 by ross] get hSetBinaryMode from System.IO 1fc4f8e [project @ 2004-11-11 15:00:27 by ross] added more module tests from the Hugs testsuite, and merged mod200 into mod154, which tests the same thing. 9cb3bde [project @ 2004-11-11 15:14:53 by simonpj] Add comments ebb498c [project @ 2004-11-11 16:47:17 by simonpj] Accept output fe4831a [project @ 2004-11-11 23:53:51 by ross] GHC's Show instance for Ratio is slightly different from Haskell 98 ee2f0a4 [project @ 2004-11-12 11:45:07 by ross] conc013 is GHC-only (compares ThreadIds) fd47420 [project @ 2004-11-12 11:47:39 by ross] tc168 is GHC-only (tests -ddump-types output) 07da490 [project @ 2004-11-12 11:55:31 by ross] config file for Hugs e97e7df [project @ 2004-11-12 11:56:33 by ross] Hugs versions of various error messages 6af6cc9 [project @ 2004-11-12 11:59:28 by ross] Hugs produces slightly different output on these 129284d [project @ 2004-11-12 12:08:55 by ross] these take too long under Hugs 1ca89a2 [project @ 2004-11-12 12:17:23 by ross] Documented bugs in Hugs: 9a80fe3 [project @ 2004-11-12 12:19:49 by ross] another documented Hugs bug: tcfail030 (empty file) ccf56fe [project @ 2004-11-12 18:14:45 by ross] hGetBuf001 is GHC-only (uses throwTo for timeout) 15a4f02 [project @ 2004-11-12 18:15:57 by ross] update Hugs output cee9a0f [project @ 2004-11-13 00:28:49 by ross] update Hugs output 1cb68af [project @ 2004-11-14 13:00:52 by ross] Hugs doesn't implement multiple-reader single-writer locking on files. 7e520ad [project @ 2004-11-15 09:00:43 by simonpj] Update output 4176982 [project @ 2004-11-16 15:01:12 by ross] add Hugs output (Hugs doesn't treat non-Latin digits as letters) 5d9b30f [project @ 2004-11-16 18:02:48 by ross] update output 4d3dc73 [project @ 2004-11-16 23:38:28 by ross] update output to match H98 51ede92 [project @ 2004-11-17 09:34:31 by ross] update output: GHC loses some output before an exception due to its implementation of hPutStr. 3512395 [project @ 2004-11-17 10:51:56 by ross] catch other exceptions (e.g. overflow) db21460 [project @ 2004-11-17 10:55:45 by ross] catch other exceptions (e.g. overflow and pattern match failure), and add take's to the tests for () -- GHC produces the wrong results for enumFromThen () () and enumFromThenTo () () (). 86abe71 [project @ 2004-11-17 11:02:23 by ross] add Hugs output (different error messages, H98-style printing of Rationals) fa66141 [project @ 2004-11-17 11:03:06 by ross] update output (though the alpha one looks out-of-date) 32d6bd2 [project @ 2004-11-17 11:14:26 by ross] add explicit import of Control.Monad.Fix e11fed5 [project @ 2004-11-17 13:30:35 by ross] update Hugs output 40d3234 [project @ 2004-11-17 18:40:40 by ross] GHC-only tests: signals002 uses Handlers forkprocess01 forkProcess timeexts001 tests obsolete library net002 non-blocking I/O thurston-modular-arith GHC-only scoped type variables 6c7e70f [project @ 2004-11-18 00:42:34 by ross] conc040 is GHC-only (uses throwTo) 3f2fad1 [project @ 2004-11-18 00:43:16 by ross] portability 34b3dd1 [project @ 2004-11-18 00:43:49 by ross] warnings from Hugs 34bc68a [project @ 2004-11-18 00:56:24 by igloo] Implement FunDeps for TH. 32ac522 [project @ 2004-11-18 09:56:59 by tharris] Support for atomic memory transactions and associated regression tests conc041-048 c0de959 [project @ 2004-11-18 10:25:38 by ross] Hugs versions of error messages ac6c88a [project @ 2004-11-18 11:23:11 by ross] Hugs only: these all exhaust Hugs's heap, so make life_space_leak an expected failure (CAF leak), and skip andre_monad, barton-mangler-bug and jules_xref. e0d161f [project @ 2004-11-19 00:24:53 by ross] add a modernized version of fed001, which is a GHC-only test of obsolete syntax d4c076e [project @ 2004-11-19 12:54:12 by ross] make instance Enum () conform to the Report (though I doubt anyone will notice) 1fe358d [project @ 2004-11-23 14:22:52 by simonmar] omit ghci way for conc047 & conc048, they appear to deadlock 82825ea [project @ 2004-12-03 15:53:30 by simonmar] Add a test for basic ghc-pkg functionality bb3ea86 [project @ 2004-12-03 16:52:31 by simonmar] Add a Cabal test (modified version of the test from the Cabal distibution). 717d653 [project @ 2004-12-06 10:47:38 by simonmar] accept output af7fc16 [project @ 2004-12-06 11:08:02 by simonmar] accept output fa7ae43 [project @ 2004-12-06 11:20:11 by simonmar] Unregister the package afterward, it interferes with other tests. 6973be9 [project @ 2004-12-08 12:17:09 by simonmar] Add test for Sourceforge bug #1073501. d09693b [project @ 2004-12-09 09:26:51 by simonmar] install --install-prefix ==> copy --copy-prefix 8e4c2ae [project @ 2004-12-09 09:29:13 by simonmar] accept output 0f4648c [project @ 2004-12-09 11:31:53 by simonmar] add unreg & profasm ways c037f4e [project @ 2004-12-13 11:07:33 by simonmar] ffi009 fails for profasm too 2f80250 [project @ 2004-12-13 11:08:15 by simonmar] arith008 fails for profasm too 09b8064 [project @ 2004-12-13 11:11:23 by simonmar] expect fail for profasm too. 81ccf8a [project @ 2004-12-15 15:14:37 by simonpj] Add several more tests 57bb44d [project @ 2004-12-15 16:14:35 by simonmar] Add :info test cd3baa2 [project @ 2004-12-17 13:02:36 by simonmar] include expected output b139e55 [project @ 2004-12-20 09:28:15 by simonpj] Add missing flag c8e2bf8 [project @ 2004-12-21 10:49:56 by simonpj] Add more GADT tests d6fd417 [project @ 2004-12-22 12:16:49 by simonpj] Wibbles aaf9f20 [project @ 2004-12-23 09:07:39 by simonpj] --------------------------------- Template Haskell: names again --------------------------------- c4592b6 [project @ 2004-12-23 09:37:01 by simonpj] Add a test involving existentials 5535dca [project @ 2005-01-04 11:25:59 by simonpj] Update improved error message 7de3eff [project @ 2005-01-04 11:26:59 by simonpj] Add orphan-instance warning message 4f32033 [project @ 2005-01-04 11:30:21 by simonpj] Wibble following scoped type variable change b9c6ad0 [project @ 2005-01-04 16:27:37 by simonpj] Add mdo looping test 9aa9445 [project @ 2005-01-06 15:08:31 by simonpj] Update expected output, and add one more test 6b46436 [project @ 2005-01-07 08:57:48 by simonpj] Update no-instance error messages 8a966dd [project @ 2005-01-07 09:01:11 by simonpj] Add error message for gadt7 237083b [project @ 2005-01-07 09:01:51 by simonpj] Add Nilsson test 7a78a71 [project @ 2005-01-10 13:53:57 by simonmar] Test Double args too (this test fails with 6.2.2). f10ab6c [project @ 2005-01-11 14:34:07 by ross] tweak System.IO imports 4c23e80 [project @ 2005-01-12 12:57:24 by simonmar] Add an STM stress test 8b85507 [project @ 2005-01-13 13:56:53 by simonmar] track recent Cabal changes 52270c5 [project @ 2005-01-14 10:46:21 by simonmar] Use the new Data.Set library 93fd875 [project @ 2005-01-15 12:37:15 by ross] GHC-only warnings 1e21a59 [project @ 2005-01-15 12:38:52 by ross] update Hugs output fae55e4 [project @ 2005-01-15 12:39:41 by ross] tc185 is GHC-only (imports GHC.Base) 9966ef8 [project @ 2005-01-15 13:14:43 by ross] Hugs error message 079a6d4 [project @ 2005-01-17 09:57:24 by simonmar] import System.IO.Error to fix this test f0f1f8e [project @ 2005-01-20 12:39:23 by simonmar] Simon PJ found a bug in GHC's layout processing. Here it is. I can't see an easy fix right now, so I'll come back to it later. 91dd06d [project @ 2005-01-31 13:28:55 by simonpj] Accept output ec3a92d [project @ 2005-01-31 13:56:04 by simonpj] Accept output eb769e4 [project @ 2005-01-31 15:44:52 by simonpj] Add a TH test for tuple names 3f72c20 [project @ 2005-01-31 17:47:17 by simonpj] Add dataToTag test 4697b76 [project @ 2005-02-01 10:04:22 by simonmar] Executable-modules ==> Hidden-modules 828d0c7 [project @ 2005-02-01 10:05:36 by simonmar] Remove duplicate cg055 07b7a29 [project @ 2005-02-01 10:10:39 by simonmar] Update output (default message for calls to 'error' has changed) e413c7b [project @ 2005-02-01 10:12:50 by simonmar] accept output 616a652 [project @ 2005-02-01 10:16:38 by simonmar] hi-boot ==> hs-boot 9bed983 [project @ 2005-02-01 10:24:12 by simonmar] Fix up after hs-boot changes 5419c3a [project @ 2005-02-01 10:28:59 by simonmar] accept output 712434a [project @ 2005-02-01 13:20:54 by simonmar] Add some more driver tests 9f2a193 [project @ 2005-02-03 11:12:01 by simonmar] accept output 52848b6 [project @ 2005-02-04 10:59:55 by simonmar] Add a timeout to test runs, using a wrapper program (written in Haskell, using System.Process of course!). 9e774ca [project @ 2005-02-04 13:04:46 by simonmar] rn011 should be a multimod test too cdbaeff [project @ 2005-02-04 17:21:07 by simonpj] more tests 8aec127 [project @ 2005-02-07 09:58:14 by simonmar] slight correction to runCmd to fix exit code values. d87dd69 [project @ 2005-02-07 10:15:21 by simonpj] Accept output c0a1ba4 [project @ 2005-02-07 10:19:16 by simonpj] Flush output in runIO 478ff03 [project @ 2005-02-07 12:03:29 by simonpj] Add a module-import warning test de40f36 [project @ 2005-02-11 15:10:15 by simonmar] Disable the use of the timeout wrapper on Windows for now; it runs the command using the wrong shell. 396c2c7 [project @ 2005-02-14 11:47:47 by simonmar] Fix up for recent syntax changes, and add some dependencies for testing 5147019 [project @ 2005-02-14 14:36:31 by simonmar] add a test for recompilation bug in GHCi f27beac [project @ 2005-02-15 09:32:08 by simonmar] accept output d282dcb [project @ 2005-02-15 11:53:57 by simonmar] Add a basic ghc -M test 3e9db8e [project @ 2005-02-15 12:45:08 by simonmar] accept output d2d119d [project @ 2005-02-15 16:42:58 by simonmar] Add some tests for -* e668782 [project @ 2005-02-16 10:15:05 by simonmar] computers have got a little fast for this test 6a93ce5 [project @ 2005-02-16 10:16:57 by simonmar] read027 is an expected failure c3f3bb2 [project @ 2005-02-17 09:43:26 by simonmar] Bump the stack size for conc019 d8d637c [project @ 2005-02-17 10:00:45 by simonmar] Rename Rn017.hs to avoid clash on non-case-sensitive file systems 6f904a4 [project @ 2005-02-17 10:01:25 by simonmar] rename module name too 82d2b46 [project @ 2005-02-18 11:09:42 by simonmar] Add further commentary e7175f7 [project @ 2005-02-18 11:11:29 by simonmar] Update comment, this is nothing to do with requiring an expression as the last statement in a do. f47c2d8 [project @ 2005-02-18 11:14:20 by simonmar] add do parsing test cf12a11 [project @ 2005-02-18 16:30:58 by simonmar] - update for changes to InstalledPackageInfo syntax - new test: ghcpkg02: for every package we know about, pipes the output of ghc-pkg describe into ghc-pkg update, to test pretty printing/parsing of InstalledPackageInfo 2c26910 [project @ 2005-02-23 09:12:58 by simonpj] Add data2tag test 57a8676 [project @ 2005-02-23 09:21:08 by simonpj] Add a functional-dep test 43f5741 [project @ 2005-02-23 13:47:26 by simonpj] Add infix type contructor test 8e88515 [project @ 2005-02-25 13:19:26 by simonpj] More tests 8a00515 [project @ 2005-02-28 10:10:21 by simonmar] accept output ced5699 [project @ 2005-02-28 12:05:45 by simonmar] add type tidying test a766958 [project @ 2005-02-28 16:05:55 by simonpj] Add test for kind errors in record update; and synonyms in iface files a824500 [project @ 2005-03-01 05:48:11 by simonpj] Add a desugaring test involving existentials f32cbea [project @ 2005-03-01 09:30:04 by simonmar] accept output 2004bab [project @ 2005-03-01 21:44:21 by simonpj] bogon on test 9b9cfbb [project @ 2005-03-01 21:44:48 by simonpj] Accept output 1636e98 [project @ 2005-03-02 17:01:01 by simonpj] Add a functional-dependency test ee0c2e8 [project @ 2005-03-02 17:02:26 by simonpj] Add another fundep test 69f2153 [project @ 2005-03-04 09:25:14 by simonmar] accept output cd8d192 [project @ 2005-03-07 17:00:15 by simonpj] Add test for indirection-zapping 6077c7d [project @ 2005-03-07 17:12:05 by simonpj] Test recursive dictionaries d74d76f [project @ 2005-03-08 02:52:49 by wolfgang] Change expectations a bit for the non-i386-world. cc004 and ffi012 use stdcall and is therefore expected to fail on non-i386. ffi009, arith008 and arith012 expected to fail in optasm because of an i386-specific floating-point accuracy problem. It now only expects failure on i386. 9d01003 [project @ 2005-03-09 10:59:57 by simonpj] update expected output d2b8e77 [project @ 2005-03-09 16:57:09 by simonpj] add test for infix type-variable operator 4527000 [project @ 2005-03-10 09:00:04 by simonpj] Add another infix operator test 20ab9c3 [project @ 2005-03-10 09:06:06 by simonmar] accept output 073b36b [project @ 2005-03-10 12:03:41 by simonpj] Add test for tuple instances a0938ad [project @ 2005-03-10 16:43:08 by simonmar] expect failure for tcfail105 09d0f45 [project @ 2005-03-11 10:40:10 by simonpj] Add more tests 2bf5df6 [project @ 2005-03-14 09:36:07 by simonmar] profasm way only if ghc_with_native_codegen. a36ce2d [project @ 2005-03-14 10:50:32 by simonpj] Add missing stderr ef1da47 [project @ 2005-03-14 10:50:41 by simonpj] Accept output e63cfa0 [project @ 2005-03-14 10:55:17 by simonpj] Add a method decl to avoid gratuitous failure b1e7bfe [project @ 2005-03-14 12:20:59 by simonmar] update unicode tests 203c00b [project @ 2005-03-15 11:59:36 by ross] Fix (and test) for SourceForge bug 1161624: erroneous rejection of 98f34fe [project @ 2005-03-15 12:34:40 by simonmar] new unicode test, and accept output d0ad02c [project @ 2005-03-15 15:41:56 by simonpj] Add new GADT tests e2d7735 [project @ 2005-03-17 13:24:17 by simonmar] Add test for +RTS -xc 20fca23 [project @ 2005-03-18 08:53:59 by simonpj] Make the SOURCE-import programs work right 7106b44 [project @ 2005-03-21 10:07:44 by simonpj] Make hs-boot test work in new regime 88e665b [project @ 2005-03-21 13:59:36 by simonmar] add some STM example code 17e04c7 [project @ 2005-03-21 14:18:02 by simonmar] skip conc050 for now, for some reason it goes on for ever in the 'opt' ways 66fb864 [project @ 2005-04-04 12:04:18 by simonpj] Add a test for rebindable do-notation syntax d0e25c5 [project @ 2005-04-04 12:24:28 by simonpj] Add comment fe0531f [project @ 2005-04-04 12:34:39 by simonpj] Add another kind-checking test 8d98c20 [project @ 2005-04-05 15:18:51 by simonmar] Update the results for this test: the committed version contains some errors, apparently. 869ede1 [project @ 2005-04-05 15:22:00 by simonmar] oops, commit the right version 356a4c1 [project @ 2005-04-06 22:17:44 by simonmar] hDuplicateTo test 0bb25f0 [project @ 2005-04-13 14:59:45 by simonmar] accept output 496c4e3 [project @ 2005-04-14 15:08:15 by simonpj] (==) and (>=) must be in scope for pattern matching now f917805 [project @ 2005-04-15 16:01:51 by simonpj] two recent GHC 6.4 crashes (neither yet fixed) ae1878b [project @ 2005-04-15 16:55:41 by ross] change to ShouldFail, with a brief explanation. 273f77a [project @ 2005-04-16 17:44:00 by ross] add another ShouldFail test, and also hook in arrow1 (still a failure, because the error message is poor). 2511c65 [project @ 2005-04-19 14:40:23 by simonmar] FFI/threaded test 6c60c79 [project @ 2005-04-22 16:34:04 by ross] GHC-only tests: 00d8d5b [project @ 2005-04-22 16:35:36 by ross] add Hugs output db49a81 [project @ 2005-04-22 16:41:44 by ross] update output 3614bf7 [project @ 2005-04-25 11:57:30 by simonmar] add foreign import '&' test bcc0415 [project @ 2005-04-28 08:03:01 by simonmar] Add test for recent fix to overlapping module check 4fae445 [project @ 2005-04-29 23:50:52 by simonpj] Add kind-error test 65a102b [project @ 2005-05-02 12:00:34 by simonpj] Add newtype stupid-theta test 5d2b886 [project @ 2005-05-03 11:05:36 by simonpj] Add a test for multiple local bindings with TH b43376d [project @ 2005-05-04 10:06:12 by simonmar] accept output fd2675f [project @ 2005-05-04 10:30:13 by ross] update output ("GHC internal error" wasn't very auspicious) 2542ac7 [project @ 2005-05-04 10:31:12 by ross] add output -- not the best error message, but it's hard to see how we can do better. 7fcdd33 [project @ 2005-05-04 15:13:25 by simonmar] add test for array crash bc49efd [project @ 2005-05-05 07:27:21 by simonpj] Accept output 437216f [project @ 2005-05-05 07:44:39 by simonpj] Accept output 0087fd8 [project @ 2005-05-05 12:44:30 by simonpj] new output fb6b2cb [project @ 2005-05-06 08:55:14 by simonmar] accept output 0dd8b5d [project @ 2005-05-06 11:17:01 by simonmar] Omit the TH tests if the 'ghci' way does not exist. 33ade92 [project @ 2005-05-06 12:13:54 by ross] Rearrange arrows tests, and move tc120fail to arrowfail003. 8fe6295 [project @ 2005-05-09 09:12:02 by simonmar] make this test independent of the FD value (fix test with -prof) a3d80c2 [project @ 2005-05-09 09:15:00 by simonmar] update output 4920c0a [project @ 2005-05-09 09:20:03 by simonmar] ghci can\'t do ffi015 f5370e3 [project @ 2005-05-09 09:21:45 by simonmar] update output 9f76519 [project @ 2005-05-10 10:32:10 by simonpj] Accept output 9dea983 [project @ 2005-05-12 16:54:17 by simonpj] Add rank-2 test b48dc0f [project @ 2005-05-13 07:53:37 by simonmar] accept output 948e39c [project @ 2005-05-13 08:03:31 by simonmar] omit if GHCi not enabled dab0c2e [project @ 2005-05-13 08:15:50 by simonmar] make this test slightly more robust 30e1bbc [project @ 2005-05-16 12:53:22 by simonpj] Add newtype rep test bf325d2 [project @ 2005-05-18 12:57:07 by simonmar] accept output 2a3dbc8 [project @ 2005-05-19 07:48:09 by simonpj] Add test for splicing instance, and for pat-match failure in splice code 9fe9d46 [project @ 2005-05-19 09:55:33 by simonmar] Add skip_if_no_ghci fe8e681 [project @ 2005-05-19 09:55:55 by simonmar] rnfail043: skip_if_no_ghci 539e4e6 [project @ 2005-05-20 12:51:30 by simonmar] More ghc-pkg testing. e467354 [project @ 2005-05-23 09:10:59 by simonmar] interpter_run: add ">> return ()", to avoid GHCi trying to print out (and evaluate) the result of Main.main. fadfd2c [project @ 2005-05-23 10:19:40 by simonmar] Add a couple more -main-is tests 2eaf89d [project @ 2005-05-23 13:45:51 by simonmar] conc051 tests MVar throughput between the main thread and a child thread. In the threaded/SMP runtimes, this kind of communication has a high overhead because real OS threaded switches are required (the main thread is bound, the child thread is unbound). It's a good stress test, anyhow. 18b4b0d [project @ 2005-05-23 15:30:54 by simonmar] conc033 is fragile with the threaded RTS; disable it again 4eee3c9 [project @ 2005-05-23 15:57:54 by simonmar] Fix test062.3 12591c5 [project @ 2005-05-24 08:17:34 by simonmar] accept slightly bogus error message output 4ff86af [project @ 2005-05-24 10:44:50 by simonpj] Add a fundep test 15f347a [project @ 2005-05-24 11:16:47 by simonmar] undo accidental commit 78c253f [project @ 2005-05-24 11:30:35 by simonpj] Add simplifier loop test b2ffa31 [project @ 2005-05-24 11:33:11 by simonpj] Add NOINLINE pragma to happyFail ba9dee2 [project @ 2005-05-26 21:36:32 by simonpj] Add higher-rank test fccd604 [project @ 2005-05-27 14:55:32 by tharris] Add STM array-shuffle test 85527ac [project @ 2005-06-06 12:48:35 by nx] add testing examples for arity analysis b08c2d1 [project @ 2005-06-06 12:50:41 by nx] -farity -ddump-idinfo is added for the compilation and the dumpped output is supposed to match .stderr 97f9cff [project @ 2005-06-06 15:53:23 by nx] alex_scan_tkn example is in Main.hs 760529a [project @ 2005-06-07 08:34:10 by simonmar] accept output 4ec62d9 [project @ 2005-06-13 10:31:47 by simonmar] Add extra-lib-dirs 98b545b [project @ 2005-06-15 12:53:15 by nx] 24dd800 [project @ 2005-06-27 09:18:32 by simonmar] update output 8ca92e4 [project @ 2005-06-27 09:31:51 by simonmar] Omit conc036 for GHCi and threaded, deadlock detection doesn't work right in these cases. 3f7fb6a [project @ 2005-06-28 09:34:22 by simonpj] Add typechecker-loop test; could merge to stable b7c4627 [project @ 2005-06-28 23:39:51 by nx] check_rctx has arity 8 3d7163d [project @ 2005-06-29 15:42:35 by simonpj] Add renamer test (ambiguos occurrence) 2659d61 [project @ 2005-07-04 10:37:33 by simonmar] update output 3775349 [project @ 2005-07-04 10:41:19 by simonmar] omit conc039 for threaded way 4379c80 [project @ 2005-07-05 08:41:32 by simonmar] update output b7c9311 [project @ 2005-07-06 12:15:40 by simonmar] add System.Process test d57bb1a [project @ 2005-07-06 12:26:59 by simonmar] add test for passing duplicate Handles to runProcess 5c35fea [project @ 2005-07-08 08:21:37 by simonpj] Add a type-syn instance test f7e2c3e [project @ 2005-07-08 13:59:48 by simonmar] Add test for -odir with non-Haskell compilation c7bd389 [project @ 2005-07-08 16:30:58 by simonpj] Add a test for the specialiser 7a54480 [project @ 2005-07-11 09:55:18 by simonpj] Add test for unifyFunTys 2ca6ec7 [project @ 2005-07-11 10:24:11 by simonpj] Add test for unused variable in parallel list comp e6a693f [project @ 2005-07-11 10:45:34 by simonpj] update output 728751c [project @ 2005-07-12 13:36:07 by simonpj] Add unboxed-tuple binding test (was simpl008) ce6a008 [project @ 2005-07-12 16:34:26 by simonpj] Add test for duplicate spliced decls 271a002 [project @ 2005-07-13 09:22:01 by simonmar] - Add Sven's Sparc running-out-of-registers test (ffi001) - the tests in here were set up to just compile to HC, I've fixed that 5a8c707 [project @ 2005-07-13 10:17:45 by simonpj] Add test for fundep error message cfd5329 [project @ 2005-07-13 16:46:30 by simonpj] Comments only 8464553 [project @ 2005-07-13 16:49:01 by simonpj] Revert bogus commit 859532a [project @ 2005-07-14 08:01:33 by simonpj] Remove simpl008 (it has become tcfail141 ea747e4 [project @ 2005-07-14 10:00:28 by simonmar] accept output 5d5f7a5 [project @ 2005-07-14 12:06:05 by simonmar] add --enable-library-profiling 0c50c91 [project @ 2005-07-18 10:25:07 by simonpj] Accept output c5b2851 [project @ 2005-07-18 10:25:16 by simonpj] add missing tcfail142 899f7b0 [project @ 2005-07-18 10:27:25 by simonpj] Update output af3252e [project @ 2005-07-18 14:02:53 by simonmar] Add test case from 69f8515 [project @ 2005-07-19 09:37:44 by simonmar] fix various bogons in this test 5a86c6d [project @ 2005-07-21 10:02:26 by simonmar] Add ghcpkg04 (importing an ambiguous module) 5715368 [project @ 2005-07-21 10:04:54 by simonmar] Add ghcpkg04 tests, and pkg01 (test that compiling a module that is also a package module gives an error). ced1f48 [project @ 2005-07-21 10:06:16 by simonmar] pkg02: tests for the mechanism that allows local modules to override package modules. e5fede7 [project @ 2005-07-22 10:06:14 by simonpj] Add tests for mutual recursion and type sigs 6388bda [project @ 2005-07-22 10:13:16 by simonpj] Add Robert van Herks example dd90b5b [project @ 2005-07-25 10:17:58 by simonmar] add recompilation test d25d3e6 [project @ 2005-07-25 11:30:18 by simonpj] Update output 590ea21 [project @ 2005-07-25 15:06:36 by simonmar] update 35ad9b5 [project @ 2005-07-27 07:59:38 by simonpj] Add tests for pattern type signatures 27ed03e [project @ 2005-08-01 13:26:43 by simonmar] add System.Process test 9ab618b [project @ 2005-08-02 16:04:23 by simonmar] update test a4046f4 [project @ 2005-08-03 09:51:08 by simonmar] update tests for changes in tools a8931b2 [project @ 2005-08-04 11:34:53 by simonmar] re-enable conc013 with the threaded RTS 01a7c0f [project @ 2005-08-04 12:22:17 by simonmar] A better timeout. This one starts a new session for the child process, and attempts to kill the entire group when the time expires (previously we only killed the direct child, if the child itself had spawned more processes these would continue to run). 414eaa7 [project @ 2005-08-10 08:29:15 by simonmar] turn off orphan instance warnings a7f3164 [project @ 2005-08-10 10:07:39 by simonmar] test queryFdOption 841eea2 [project @ 2005-08-11 08:55:19 by simonpj] Update output; add a test ee2c13a [project @ 2005-08-11 08:55:58 by simonpj] Update output 6f60113 [project @ 2005-08-11 08:56:41 by simonpj] Add missing file afb8791 [project @ 2005-08-11 09:07:43 by simonmar] add stdout file 0481607 [project @ 2005-08-12 08:33:11 by simonpj] Accept output 692af8d [project @ 2005-08-12 08:34:33 by simonpj] Accept (better) output f947176 [project @ 2005-08-22 08:59:15 by simonpj] Slightly better overlap checking 19ee26f [project @ 2005-08-22 09:00:36 by simonpj] Slightly better overlap checking; missed one file e817d82 [project @ 2005-08-30 12:00:23 by simonpj] Two more type-formation tests b52f3a7 [project @ 2005-08-30 12:06:36 by simonpj] Another type-formation test (cf Sourceforge 1276115) 6a7e59e [project @ 2005-08-30 12:08:13 by simonpj] Two type-formation tests (cf Sourceforge 1276246) 83852ab [project @ 2005-09-05 15:20:05 by simonpj] Add a couple of tests 0a4224d [project @ 2005-09-05 15:28:45 by simonpj] Another test 9ae8431 [project @ 2005-09-13 10:06:59 by simonmar] add test for bug #1285326 e1ffbb2 [project @ 2005-09-19 09:34:47 by simonpj] Another kind-error test 4b9d103 [project @ 2005-09-19 15:10:17 by simonmar] add test for forkm crash a093407 [project @ 2005-10-12 13:34:59 by simonpj] Add a test for the unifyTyConApp bug 7083474 [project @ 2005-10-14 11:23:46 by simonpj] add some record-syntax stuff 283fb93 [project @ 2005-10-17 11:12:31 by simonpj] Add case-simplification test 4601e04 [project @ 2005-10-20 08:59:38 by simonmar] add expected output 973a7be [project @ 2005-10-20 09:03:31 by simonmar] add expected output c5ccfd5 [project @ 2005-10-20 09:08:13 by simonmar] add apparently missing file 78b25ae [project @ 2005-10-20 09:09:03 by simonpj] Update output 4442783 [project @ 2005-10-20 09:09:48 by simonmar] test requires -fglasgow-exts now a66e248 [project @ 2005-10-20 09:10:14 by simonmar] accept output d576944 [project @ 2005-10-20 09:16:33 by simonmar] Fix this test 1a1bbf2 [project @ 2005-10-21 11:24:02 by simonmar] tiny fix to simple_run(), adding a space between args and rts_flags. 1bd8480 [project @ 2005-10-21 12:47:58 by simonmar] small fix to this test 0c07817 [project @ 2005-10-24 10:41:01 by simonmar] - add SMP way for tests - add RTS way flags: -N2 for SMP (test multi-processor), and -p for profiling (actually test the profiler!) 41749c2 [project @ 2005-10-25 11:55:25 by simonmar] define ghc_with_smp d38ad94 [project @ 2005-10-25 12:53:59 by simonmar] add LANGUAGE pragma tests fce14fc [project @ 2005-10-26 12:05:44 by simonpj] Add new tests 94314ac [project @ 2005-10-31 10:15:09 by simonpj] Another existential escape test 0cc8f45 [project @ 2005-10-31 10:16:50 by simonpj] Accept output for new test b0a2780 [project @ 2005-10-31 10:25:45 by simonpj] Accept changes in columnn numbers, now that tabs count as 1, not 8. (There are some minor changes in where line breaks occur too, for reasons I don't understand.) 1123b9a [project @ 2005-10-31 10:54:46 by simonmar] revert rev. 1.2, looks like an accident f8533fa [project @ 2005-10-31 11:43:17 by simonpj] Add a perf test that shows up the 6.4.1 bug in preInlineUnconditionally f5426f5 [project @ 2005-10-31 11:55:53 by simonpj] Tab-related column number changes b67267e [project @ 2005-10-31 11:56:15 by simonpj] import M() suggestion added to warnings fe651de [project @ 2005-10-31 11:58:40 by simonpj] Accept shorter path name in error message e9b0182 [project @ 2005-11-02 09:59:22 by simonpj] Tab spacing change 6e57ae3 [project @ 2005-11-02 09:59:44 by simonpj] Put option flag into source code add8951 [project @ 2005-11-02 10:00:20 by simonpj] Fix error message 5027d94 [project @ 2005-11-02 12:54:00 by simonmar] fix test 1e33535 [project @ 2005-11-07 15:09:48 by simonmar] Add Jan-Willem Maessen's hash table test bc1734c [project @ 2005-11-08 09:51:50 by simonmar] accept output (column changes) 98a864b [project @ 2005-11-10 09:58:16 by simonmar] don't expect failure on x86_64-unknown-linux for optasm/profasm 9f9c8ce [project @ 2005-11-10 10:03:27 by simonmar] optasm succeeds on x86_64-unknown-linux deb5ab9 [project @ 2005-11-10 11:16:58 by simonmar] make this test take a lot longer if the bug occurs, so it'll hit the timeout and fail. 30dd655 [project @ 2005-11-10 11:17:36 by simonmar] accept output e763262 [project @ 2005-11-10 12:32:24 by simonmar] fix for this test: there was a missing hFlush d614f76 [project @ 2005-11-11 10:01:12 by simonmar] accept output d8dbb62 [project @ 2005-11-11 10:04:20 by simonmar] queryfdoption001: omit GHCi way 6bd85ed [project @ 2005-11-11 12:02:40 by simonmar] Make it work on Windows again. 982d866 [project @ 2005-11-11 15:40:26 by simonmar] add some stub generation tests db4868c [project @ 2005-11-11 18:01:50 by ross] add a setting for way_rts_flags 852ad49 [project @ 2005-11-12 21:38:34 by simonpj] Add exception test cf03788 [project @ 2005-11-16 12:54:40 by simonpj] Add Reymont synonym performance test 545656e [project @ 2005-11-23 11:47:16 by simonmar] Fix up to compile after recent changes to System.Process.Internals e5aaf71 [project @ 2005-11-24 09:45:31 by simonpj] Test desugaring for unboxed tuples 6a59aeb [project @ 2005-11-24 09:58:35 by simonpj] context stack is a static flag 53f3a4d [project @ 2005-11-28 10:32:33 by simonmar] memo001: remove -G1, it doesn't work with -smp ba968ba [project @ 2005-11-28 10:34:31 by simonmar] fix this test (UnsafeOverlappingInstances extension has disappeared) 87920fe [project @ 2005-11-30 12:25:20 by simonmar] Add test for Control.Concurrent.STM.registerDelay 6b0d58f [project @ 2005-11-30 14:17:35 by simonpj] Add mkName test 8e457e2 [project @ 2005-12-01 08:54:57 by simonpj] Another GADT test e75b72b [project @ 2005-12-02 10:51:15 by simonmar] accept output 38615de [project @ 2005-12-02 10:54:05 by simonmar] conc053 only works in threaded & smp ways at the moment. 17dad04 [project @ 2005-12-02 10:56:34 by simonmar] add this test that I had lying around 23a41b7 [project @ 2005-12-05 09:08:51 by simonpj] Fix test fd9fbf6 [project @ 2005-12-05 09:13:07 by simonpj] Update expected output 0971102 [project @ 2005-12-05 10:08:53 by simonpj] Add an expected-failure test 3c472c1 [project @ 2005-12-05 11:43:51 by simonmar] add newTVarIO test b218900 [project @ 2005-12-09 19:16:58 by simonpj] A minor, probably redundant, test 83623c6 [project @ 2005-12-09 19:17:57 by simonpj] add output file 885955b [project @ 2005-12-13 16:04:09 by simonmar] fix comments f387ab3 [project @ 2005-12-13 16:04:25 by simonmar] Add nested atomically test baacfa2 [project @ 2005-12-16 10:46:05 by simonmar] Now that we aren't building hslibs, keep the memo tests alive by bringing Memo.hs into the testsuite. These tests are a useful shakedown for StableNames. b87dad5 [project @ 2005-12-16 10:50:31 by simonmar] -package lang isn't required. 44bdbb1 [project @ 2005-12-16 10:53:24 by simonmar] update to not use hslibs ae0204b [project @ 2005-12-16 10:54:50 by simonmar] TimeExts has gone away 434514a [project @ 2005-12-16 14:56:50 by simonpj] Add repeated-type-variable tests for instance constexts 06a9dac [project @ 2005-12-16 16:03:02 by simonpj] Add deriving for infix constructors cb9fe76 [project @ 2005-12-19 09:47:49 by simonpj] Add test for trailing parens in GADT signatures bb1d70d [project @ 2005-12-26 19:54:32 by jpbernardy] Infrastructure for testing Data structures. + some tests 80e240f [project @ 2006-01-01 21:46:31 by jpbernardy] More tests for: * Sets * Non-structural equality * Left-Bias * Performance fa089da [project @ 2006-01-02 19:36:50 by jpbernardy] minor cleanups 533a379 [project @ 2006-01-04 11:50:44 by simonpj] Add test for data con returning wrong type 7111d55 [project @ 2006-01-05 09:16:28 by simonmar] Add test for "scavenge_stack" bug fixed in rev 1.16 of Exception.cmm 839f96c [project @ 2006-01-05 10:06:30 by simonpj] Add test for newtype existential 065d2c3 [project @ 2006-01-05 13:08:14 by simonpj] Add a nasty multiple-instantiation test 0b3c43c [project @ 2006-01-06 16:03:25 by simonpj] Cosmetic 7d53bf6 [project @ 2006-01-06 16:08:57 by simonpj] Add GADT tests 048c91d [project @ 2006-01-06 16:12:42 by simonpj] Add tests for boxy types 705fda4 [project @ 2006-01-06 16:14:45 by simonpj] Better type signature for higher-rank 9a5b6ef [project @ 2006-01-06 16:15:19 by simonpj] Add another synonym-performance test (but comment it out of the test file; too slow!) f67794c [project @ 2006-01-06 16:34:56 by simonmar] Unicode source tests fbdb45e [project @ 2006-01-09 10:27:33 by simonmar] Add -dcmm-lint when compiling 2cf530f [project @ 2006-01-09 10:29:44 by simonmar] add a cmm lint failure 0294a61 [project @ 2006-01-09 12:49:28 by simonmar] Add test case that causes a core-lint failure (cut down from Encoding.hs in HEAD). 5f7f7fa [project @ 2006-01-10 13:41:48 by simonmar] accept output (improved lexer error messages) 534a54f [project @ 2006-01-10 14:11:24 by simonmar] recode this file in UTF-8 from Latin-1 d3b6d6b [project @ 2006-01-10 14:11:53 by simonmar] comment update 1a6bcc1 [project @ 2006-01-10 14:39:50 by simonmar] accept output 2e8bfab [project @ 2006-01-12 16:03:21 by simonmar] add test from ticket #441 fa931a0 [project @ 2006-01-12 16:10:41 by simonmar] Add test from ticket #488 adf1df0 [project @ 2006-01-18 15:25:45 by simonpj] Add test for data con in class sig ff6b495 [project @ 2006-01-18 16:31:10 by simonmar] Add a fast version of the testsuite a8a953e [project @ 2006-01-19 09:47:11 by simonmar] Test tryPutMVar on empty MVars too acd95bc Add test for bogus unusued-import message 65d3fd5 Wibble b68d61f Module import test d529fb1 Add fundep test 6d106a4 Add a higher-kinded test a9e8bed fix recently-introduced breakage in 'make accept' 418362a add test for bug #661 075c92a remove old docs a05e2f7 Add CPR test b65564b Eta expansion and scoped type variables in generic code a4c271f Update to track new scoped-tyvar story d8532a2 Update to track improvements in typechecker 9104c51 Remove package lang reqt 6b6381f New GADT desugaring test 182805d Fix GADT tests 79aaf88 Eta expand gzip test to match new higher-rank-type story 3cd4a7b allow setting stage=N variable to select compiler in the testsuite eb44c0c "s" is in GhcRTSWays now 0bc7a5e Add test from Markus Lauer ba72db2 Add test for bug 685 1237b77 remove smp way, replace threaded with threaded1/threaded2 54ba798 accept output 6fa18af add expected output for x86_64 a384689 Add a fundep loop test bd389a1 Update output (TH no longer depends on haskell98 package) 0c14417 Update output b5c9f36 Accept (slightly mysterious) output formatting changes 7b889eb Add expected output for rn049 a4181b1 Accept output efd244e Remove dependence on haskell98 package in expected output 2063472 Add -fallow-undecidable-instances to reflect more accurate termination test in fundeps 2722f20 Update output and add -fallow-undecidable-instances where necesssary 2f75aca Update output e4992dc Test for deprecated constructors 1736647 Require -fallow-undecidable-instances 75eef48 add test for #713 477e0f9 fix clean target 5f2e48f process003 doesn't work with GHCi, omit it 6132869 patch up this test again 72eeae7 Tidy up the testsuite output by combinding failures for multiple ways 8a48ba0 remove some dead code 928183f fix for Win32 a3a4a3e ignore ".exe" in program output, for Windows 97fda33 fix a regex that was too slow 0998d4f sort the keys when outputting the summary 2dbdcc3 fix for GHCi tests that raise exceptions or exit We need to call GHC.TopHandler.runIOFastExit instead of GHC.TopHandler.runIO. Recent fixes to the shutdown code have meant that when a thread invokes shutdownHaskellAndExit(), other main threads get a chance to exit (as they should), but this means that we might have a race between the child thread trying to exit the program and the main thread doing the same. In the case of GHCi, if we're running an interpreted computation that needs to exit (as some tests do), then we really want this child thread to exit the program rather than the main thread. b0aee19 fcntl-FreeBSD Expect failure of queryfdoption01 on FreeBSD (6/7): /dev/null can't be switched to non-blocking i/o, so fcntl() will throw an error. Unfortunately this went to the old CVS first. 18009e6 fix to previous 4e705b5 accept output (better error locations) 4f4f12e attempt to work around restrictions with fork() & pthreads In the child process, call exec() directly instead of using System.Cmd.system, which involves another fork()/exec() and a non-blocking wait. The problem is that in a forked child of a threaded process, it isn't safe to do much except exec() according to POSIX. In fact calling pthread_create() in the child causes the pthread library to fail with an error on FreeBSD. 7650de5 Add scoped tyvar test 1a6fcb4 fix the expect_fail_if_windows macro 3a36e44 crummy fix for Windows d1e35bb windows output fa018dc unnecessary mingw-specific output d1c98e6 fix tests for Windows 821aa1f omit ffi007 and ffi008 for GHCi (see comment for details) 162d106 add test for ForeignPtrEnv a91d97b avoid running out of stack for non-optimised ways 051af0c omit asm ways for this test on x86 371a1bb Track the GHC source tree reorganisation 0cc16ab the "threaded" way was renamed to "threaded1"/"threaded2" d58cfad add a test for a blackhole GC bug 6c38e7b update for new source tree layout e2c24b6 Add test for newtype deriving (thanks to Ross) d8d238d add a test for a division bug in the NCG c732ea2 Memo-function test 7b73a75 Add a test for SpecConstr + GADTs e5c968a forgot to add this file 1966bbe Test for error recovery in TH 59dc0c9 Test for foralls to the right of => acc4ba4 test Bool arguments too c73d8f0 avoid running out of stack 7c2ceae Import Data.ByteString regression tests dc6d798 More QC properties, for fold{lr}1. Update expected output 2a41e3b And add QC test for group/groupBy 550a522 Add test for newtypes in FFI 78806c9 More QC properties. Update output 76b39f0 More QC tests. Update output 8622fdf accept output d0fbffa update expected output. tougher replicate test. dc91add Update expected output 486d104 first attempt at being boring ff1ba03 disable ffi016 for GHCi daaf35d accept output NOTE: I made a slight tweak to Alex to improve the lexical error messages, to get correct output for these tests you need an updated Alex from darcs. 296011e test for NCG bug 16aa8f7 Fix this test to work properly with -threaded 644c1ae fix this test to work propertly with -threaded 1694556 re-enable various tests with -threaded that now work 87e3228 accept output d5d62e5 add a prof/TH test fb609cf omit conc036 for GHCi 46b4e5c robustify the test a little 1ce6580 omit conc039 for threaded2 53565e8 add test from #799 f78c349 Test for pattern type sigs in do-notation 994a9db Add test for infix function definitions 69c82de Accept output change bb21473 Add model-based tests for ByteString.Lazy<=>ByteString<=>Data.list b6995a5 Add regress tests for fusion rules. Makes sure they fire, and rewrite to correct result 216da4d encorporate rest of property checks for Data.ByteString 0b9beed Test Trac bug #795 a4b3017 remove unused imports dec07f2 document stage=2, and clean up a little. 5f6a1e2 add test for Ix bug 692ece8 accept output 425c4fb accept output (improved error messages due to PrintUnqual changes) c0d4e93 test fixes and new tests for package support f9d1d67 add new cabal test 022a738 Add test for unboxed fields in GADT record selectors 73b32a6 Add a test for infix type constructors 146d22f Add test for overlapping pattern warnings for lazy patterns 9b44c3d Add tc206; edit a couple of others 0628d60 Test error message (Trac 844) b34a153 Lazy patterns can't be unboxed (Trac 845) 5663a7b Add tests for incomplete-pattern warnings 69ee45d Fix some Array.bounds calls to Array.getBounds 8ec5abd accept output 594a0ac fix FFI syntax 330f767 expect fail for threaded2 way, fork isn't supported in SMP mode (yet) c1e36d8 update FFI syntax 3b09480 accept output 42379ab base-1.0 ==> base-2.0 6c38c1a base-1.0 ==> base-2.0 9aa0432 accept output d22152d This test now compiles without errors 2836001 Comments in Makefile d72b2c6 Remove typecheck.testeq1.run.stdout 12054ae Update test outpuot 81f5128 More updated output 4213187 More upated output c0168a6 Add flag to test 7595ff9 Update expected output 35dc8da Two more tests 706c439 Add test for tagToEnum# 91d947c Update output d324749 Update output (remove "In the call...") 5174465 accept output (improvements) 1749086 accept output aee0117 add test for Data/Fixed module, in libraries folder 0715818 accept output 429f009 Fix driver not to normalise output when using platform specific output files ebb72a6 Fix some THREADED-caused fails 6fc8fc2 Driver: Add THREADS-support 6c8c7eb update tests ffd32da Fix typo ee4ba37 fix old regex test, add two new ones 7ea0d8c Don't use the threaded2 way when we don't support SMP 1b047b3 cg025 needs regex-compat 55b23d5 fix parse error 6d24f16 fix FFI syntax 39e6ddb update FFI syntax 8fe6d7f ds052 not an expected failure any more e52d8a5 omit conc023 the non-threaded ways on Windows (see comment) c83220a omit conc023 the non-threaded ways on Windows (see comment) 5bd76f8 Allow the timeout to be given as a Makefile argument a67606e Clean .hp files 33b3f65 Allow threading to be completely disabled with USETHREADS=0 I had to pull the global classes and instances out into their own module as there was a catch-22: testlib needed to know if threading was enabled, but we don't know that until we have gone through the argument, but going through the arguments required changing things like config in testlib. c0d7bea Add list002 to tests - seems to have got lost during the testsuite revamp fb9a220 Add a test for length not causing a stack overflow (from #876) 8876437 USETHREADS=0 by default unless you set THREADS explicitly This means the testsuite works by default even if you have Python 2.2, but will fail with Python 2.2 if you set THREADS. 56ec4f5 skip conc053 on Windows (registerDelay not supported) 09819a8 add skip_if_platform a4b7694 adapt these to work on Windows 1da60b5 fix up tests for Windows threadDelay is not interruptible on Windows with the threaded RTS. Work around it in conc014, conc015 and conc017, and add a new test for this specific failure, and mark it as an expected failure for the relevant cases. 77e4f3d accept 7e7b6ea add conc059 2f092d4 fix for Windows 650f574 leave EXTRA_HC_OPTS for use on the command line 3ee818a win-specific output not needed 5134619 omit conc036(threaded2) 72e3be2 improve conc039 a little bit, and omit it for threaded1 ae241b6 Add test for dependency analysis in type checking 60f1369 accept output 743e220 Add renamer test (qualified name in binding position) 2c1ce66 Accept output 9db0189 Update output 4ef6b43 Tickle a bug in impredicative polymorphism b0f8e82 Fix this test on a fast machine The artificial loop wasn't running for long enough for a context switch to happen, so the finalizer wasn't getting to run early enough. 6b2a0a0 Accept output for ! kind ac2d921 Revise tc103, in the light of the story for result type signatures 47d5bce More changes for scoped type variables 65b3c0b Use Data.Map instead of Data.FiniteMap 9d80a57 Use a python timeout for the testsuite when we don't have a threaded RTS c1935a4 Accept output cbd0b9c Add test for Trac 877 9b7a5c9 Improved error locations d039b7e Alter source code of test, now that result type signatures do not bind type variables 3430737 Fix another use of result type signatures (this one was easy) 93302f6 update bytestring tests 4859df6 Update the testsuite cleaning 719be39 More cleaning tidyups ff3a349 Test expFloat# linking 0dd5ce3 Add cleaning for .exe files 18b711e Catch exceptions while cleaning rather than checking for existence first As well as being generally a good idea, os.access('foo') seems to return true if foo.exe exists on Windows. 72fb6f5 Add stdout for expfloat test 580fa31 Accept output on sparc-sun-solaris2 fcb337f Fix up tests for unboxed tuples d378a01 Added test for ticket #902, deriving for GADTs which declare H98 types fails. 3ff7c8c Add GADT test from Doaitse 03b6b86 Add another type checker test 49d4d2d Tests for impredicative polymorphism b8e14b3 Add test for Trac #900 c097002 Add a test for impredicative polymorphism 11c96d0 add 'make boot' to the instructions 7928d01 add boot to the all target e00058d Make it so that 'make boot' is optional in the testsuite mk/wordsize.mk and timeout/timeout get built automatically if necessary. ec10210 Add test for Hugs #37 31ffbaf Add new sub-directory indexed-types to the GHC testsuite 52c3625 Accept typechecker output 10af7cf Add another GADT test d53022a Added drv020, a test for newtype deriving of multi-parameter type classes which currently makes HEAD panic. It is called drv020 in order not to clash with some yet to be pushed test cases for stand-alone deriving. f858980 Test for problem with compiling the base package with --make a7a6f78 A new GADT test, which killed FC temporarily 52eb09c Add a test for trac #867 c186ff3 add test for #830 c26f435 add test for #906 cfc15fc accept output e1bdf63 Allow testsuite to run under MSYS/MinGW using native Python (not Cygwin Python). This patch is based on a similar one "Enable timeout in Windows and don't require cygwin python" by Esa Ilari Vuokko. It seems like timeout is always built on Windows so I rearranged the logic there to make the code clearer, Esa's patch required the user to uncomment the MinGW-specific logic in order for it to work; this patch does not have the MinGW-specific logic commented out. af16751 Need -fglasgow-exts for gadt18 b2d6de1 Add test for Trac #919 b504085 Two new tricky deriving tests 266dc32 Test separate compilation with indexed types 52af092 Test for scoped type variables 47ca77e Add a test for 'module M' in export lists 160c64f STM invariants 723dad9 Fix test base01 86a543f Test for trac #921 ee40de9 Test for #149 (missed CSE opportunity) 38f6769 Update bug reference for test tc175 7f4069a Allow literate tests 04f38ae Add test for correct unlitting. Tests trac #210. 0b4b8c0 Add tests for trac#249 and #931 e80ab12 Test for Trac #940 88bb359 Update module tests slightly 1433233 Add a test for trac #314 (#line pragmas not respected inside nested comments) ab8eb1f Update comments in test tcfail132 50e4512 Add test ds060 for trac #322 (bogus overlapping patterns warnings) 81ea2c0 Tests for trac #366 (incomplete pattern warnings and GADTs) 5a54c38 Add test mod174 for trac #414 (GHC does not enforce that Main exports main) 543a9a2 Add test mod175 for trac 437 (Recompilation check should include flags) 27d0701 Add test TH_recompile for trac #481 (Recompilation check fails for TH) 62a700a Add test ghci016 for trac #552 (ghci doesn't handle defaults correctly). 10db114 Add test countReaders001 for trac #629 (file locking doesn't count readers) 20c2f57 Add test tcfail168 for trac #719 (error messages are too long sometimes) d64c1b9 Add test getEnvironment01 for trac #781 (check getEnvironment doesn't break) 5a6c7d6 Add test gadt20 for trac #810 (GHC fails to find GADT instances) 9218ce8 Add test tc216 for trac #816 (fundep undecidable-instances typechecking loop) 5835222 Add test ds061 for trac #851 (incomplete pattern warnings wrong with n+k pats) f15029e Partitioned indexed-types tests into fail/compile/run dirs f6d5304 indexed types: multi-module overlap check 6b96aec indexed types: import/export test 513a984 indexed types: GMap tests e5b2dc6 indexed types: small tests covering important cases 9f108a3 Adding a new way for hpc 52478ba removing .tix files before running tests 046e955 Added tests for Data.List.intercalate and split 4c73ba7 Add test for Trac 958 484d9ba Add a simple coverage-condition test acaaff0 Add test for Trac #963 4668e2e Add test for unused imports 8678ac5 Added tests for Data.List.intercalate and split 317a01e Add test for unused imports 2e72569 test rotates larger than the wordsize d40e957 Add tests for Data.List.intercalate (ticket #971) ddc35bc Remove "Arbitrary (Maybe a)" instances to track changes in QuickCheck 31836e4 Add test for trac #953: panic in ghci for lseek ffi import statement 3e9fa92 add tests for heap profiles and hp2ps 335e551 getDirContents001 hp2ps testing fix 0d5427f Add tests for bitshift PrelRules e7d276a Add 64-bit stdout for simplrun007 44266ca Two new typechecker tests that exploit implication constraints 30fc42e Add the Faxen test for completeness of type inference 5f39e7a Accept output 9939d54 New GADT tests, looking at interaction with type classes e9741fd Add two GADT tests for Trac #301, fixed by implication constraints 31fbae7 Tests for Trac #289 6bde396 Add tcfail171 bd72fec Test that deriving Data does not get confused with z-encoding 8083946 Skip out lots of the middle numbers in cg058 as the test was taking too long The test still shows up the problem in hugs. b0bed9f Remove control-Ms 6ab3b9c Tests for implicit parameters, and for a specialisation bug 07d48ce Add test ThreadDelay001: check threadDelay sleeps as long as it is asked to 0c61c45 Add test for typechecking lazy pattern matching 90cb964 Accept output for tc040 bf315aa indexed types: kind sigs can be omitted from ATs a06560a indexed types: adapted two tests to omitted sigs in ATs b838de5 add test for #1013 d998bdd indexed types: type instance indexes my all be type variables f70f942 Check running ghci with -hide-package haskell98 works. Tests trac #1001. 3a87e34 Add bang-pattern test fbdb152 Add test for Trac #1033 bc6baf6 Add kind-error test inspired by a message from David Roundy 5f49ebc Add tc222, tests for Trac 981 8992c43 You can now have an MVar with a polymorphic contents 34de065 Accept output 6cff7bc add support for tests consisting of a C source file 63deda1 add test for the block allocator d723479 testblockalloc: run the threaded way with -I0, so it doesn't try to GC 1bef423 Start ok 'broken' infrastructure 48847d4 Mark TH_recompile as broken c66663d Accept output bd7a025 add 'broken' variant of expect_broken_if_platform 11bc660 arith011 is broken on amd64 Linux; trac #1052 33a34e9 Accept output 3ae9c6b Set MAKEFLAGS= in recursive make call on make fast base0 was failing because of the extra noise make was generating. 35aa771 countReaders001 is broken - trac #629 1db36ed accept output fef7a82 ds060 and ds061 are broken: trac #322, #851 7287ee1 Accept output 8fcc6d6 Accept output; we now get info for both type and constructor 18ed82f ghci016 is broken: trac #552 837aafa tc175 / trac #179 fixed cafa080 Fix braino 49ca979 mod174/mod175 are broken: trac bugs #414 and #437 1a331fb Accept output eda8afd More infrastructure for 'broken' b656db3 prof001 and prof002 are broken (trac #249) 63ca28c read032 is broken: trac #314 c4068e4 simplrun006 is broken: trac #149 70c0f9e Accept output 912694f tc215 is broken: trac #366 d57061e Simple2 randomly passes or fails; mark broken so we know which bug it is 207d82b Mark tests in trac #1054 as broken 77e5883 Add a composes function to the driver 54d7da3 cg057 broken: trac #948. Also fix whitespace. 6480bfb indexed types: adding missing files ebd5a96 GHCi.debugger tests 1a91b0d Some more tests for the ghci.debugger 6d257bb Advances in the test suite 9fd67c2 accept output 4dee8ee Accepted output 00daf77 Test type reconstruction in presence of newtypes 143f7ee Accept output b358d0f More tests for the closure viewer e954c4d Added more tests with newtypes 2cb31a6 Improved a test 2e73efa Accept output f9e52b8 Fix mdo test c834fac Go back to using $(PYTHON) rather than hardcoding python2.5 498ef5f Fix a ghci.debugger test 9ff45cc Update a readme file dcdf594 indexed types: deriving test 74cb60c Remove skip of ffi003 on alpha-dec-osf3 (no reason given) f0a9701 Stop skipping tests that work 4a67f94 fail -> broken 4847d9f indexed type: deriving indexed newtypes b3e2173 fail -> broken cc1f933 fail -> broken 9c0374b whitespace change only 6e093a1 fail -> broken f82c9ea fail -> broken 3b2bb06 Add test for trac #455 0523c04 Fix conc063 0cc4003 Add a test for returning Int64s through the FFI a7d7846 Add test TH_dataD1 for trac #1065 0254359 Add test for trac #1051 92de8d0 Add test for deriving Typeable ab87e6a Add stand-alone deriving test 9774270 Update expected output 7dbce82 Fix sundry test failures (some of Trac #1054) 3ffe92d More test-suite updates dc689cd No pattern matching on GADTs except if type is rigid 1de8a03 Add more GADT tests, this time concerning contexts in data constructors 2861756 Fixed TH problem 08dc2bd Add test for floating strict bindings 90e3aa0 Add a fundep test, due to Yitzchak Gale a81e806 indexed types: extend Deriving to cover standalone derive 8d22bc7 indexed types: fixed expected fails for should_compile abeb3ff indexed types, should_fail: added missing .stderrs and adapted to new error messages 19a40cd add test for #1067 8a74109 ignore_output should be a test option d0d2945 tests for #1047 11b3d0b oops, fix bogosity in "ignore_output should be a test option" e74523b Add GADT terminating-lambda test (due to Jim Apple) 0c1f170 Add another GADT test d814e8f Add a test for associated types and interface files 1abfb88 Test for tabs warning dcdd1eb Add test for Trac #1092 90f39e8 Add a test for trac #1042 df0bd82 Remove unused import f81e055 fixes to the ignore-output patch 9e89402 Accept output a0ae7e2 Remove an obsolete test cae94f2 Add a test case for overloaded strings. 13fb853 Add the overloaded string test case to the list. d70bb6d now that -O implies -fasm, not -fvia-C, we must explicitly test -fvia-C acf62bd Check flags in OPTIONS_GHC pragma only apply to the module they're in dbf3b55 Add a test for trac #1012: Problems with TH and recursive module imports 8859bf9 Add a hugs import bug to the testsuite From http://www.haskell.org/pipermail/hugs-bugs/2007-January/001686.html 72aefc2 add a test for #896 22c7c5f accept output bb6e9cd add test for bug #036 f35369c Add test for infix type constructor bf516c4 Test for debugging code with unlifted values around 29406aa Ignore output when told to in the ghci way 48fc4de Add a test from #418 cd7d465 Accept output be50e83 Don't put double-quotes around the command when passing it to timeout Fixes the testsuite on Cygwin/MSYS using Cygwin Python. I hope it hasn't broken it using the native Python... if it has, we'll need to revisit. I can't see a good reason for the quotes, anyway. 568e6eb Add tests for the Haddock extension 4d12bf8 Option to skip ways when running the testsuite d5c903e Expect tests to fail if we don't have libraries that they use f0022b7 Add test for Trac #1128 42c6a53 Add tests for impredicativity 5611dc5 Accept output b99a822 update way names (fix breakage in previous patch to this file) 1044bd1 add test for bug #1010 8554432 only do win32002 on Windows ec890cb accept output d7515c6 Accept output 7109d1e Update test dynbk001 due to new functionality in :break add 5806d7e Add test for type refinement with :print in GHCi 6c3032f rename GHC_PKG -> LOCAL_GHC_PKG to avoid clash with mk/test.mk d9b9ede make this test slightly more robust (fix occasional failure with threaded2) f076ac8 we should really exit(0) at the end of main() 499f2f2 add Windows output 7f12c18 added new tests to esc 0e224c0 modified all.T dae3248 minor change 0e20989 Add test for Trac #1153 60ce42c Test for Trac #1128 06e782c use HsInt64 instead of int64_t, fixes this test on Windows (and is more correct) 05f4af5 conc058 is not an expected failure any more on Windows 4feb38f make this test deterministic on a multiprocessor 2cec548 temp: omit conc063 on Windows to avoid hanging the build 5552932 Look for .T files in packages too This means we can put package-specific tests in the repository for the package, rather than putting them in the testsuite. There should be a .T file to go with the tests, in the same way as for other tests in the testsuite (but this could be in addition to a standalone test driver that works with Cabal's 'setup test'). fd0f8f8 remove network tests, they're moving to the network package 9570d86 Add a test for :quit and breakpoints in code with exception handlers f06d270 Tests for Trac #1154 bbdacb8 Test for derivign 168c6b2 Add testcase from trac #1171 as cg059 24cb5d2 Windows: the .ps file is .exe.ps b814222 prof001 & prof002 are not broken now cdd2c62 Add tests for -keep-s-file with and without --make One of these fails with 6.6 cd565b2 Add pretty-print test bb14a4e TH_dataD1 is currently broken f0388fa Increase the stack size for conc030 as the profiling way was failing c067f00 drvfail006 and drvfail008 need mtl 44548c3 Make ghcpkg01 not depend on haskell-src 967c3aa Make ghcpkg03 not depend on haskell-src 4d19e3a mod133 needs mtl e5bb47a Make mod144/mod146 work in CLEANUP mode f872dca Decouple mod158 from mod157 so it works in CLEANUP mode 328004a Tweaks 3458292 More tweaks a7cb6a1 Decouple more tests from each other so CLEANUP mode works a7c308e pkg02_b requires network ac87735 reify requires mtl afb0034 Print something to stderr when a timeout happens Also fixes whitespace. 7ace755 tc183 depends on mtl fa9ee21 tcfail126 requires mtl 12c0d7b tree requires mtl 8f14bd6 Posix tests moved to the unix package 25bd5de MERGED: Add req_profiling to the driver 0f8fd3a TH_spliceE5_prof needs profiling bb318da cabal01 is broken on Windows; trac #1196 941da28 cabal02 is broken on Windows; trac #1196 c5d3105 ghci014 needs QuickCheck 75bfde1 newtype, prof001, prof002 require profiling 9e7c014 Don't hide what the Makefile is doing in prog006 f193f3a Test ghci018 for ghci running splices multiple times (trac #1201) d07dcb8 Add a test (TH_reifyDecl2) for trac #1199 889407d add test for #986 d3fb985 on Windows, use the .bat versions of the inplace scripts This will help the Cabal tests to work (although there are still more issues to fix). b28f70b added contract synonym test case 671cdba added contract synonym test case again 4b426f5 Don't hide the Makefile commands The testsuite uses -s to hide them, and this way we can see what's happening when running make by hand. fc19d4a Add a test gadt23 from Christophe Poucet f854a51 Fix gadt23 test f47c4b5 Add a renamer test (nhc98 used to fail it) 3c0fb23 Another renamer test that nhc98 used to fail on 8009462 Add another renamer test nhc98 used to fail eba954f Add test for Trac #1221 4c401cf Test for Trac #1031 9e12031 TH_dataD1/1193 is no longer broken, but is meant to fail d30f343 add test for #1219 afce490 added more examples 377c1bc Use unified, rather than context, diffs 4203535 Add rnfail047, test for trac #924 6d82c8e There is no opt way any more 02a381c Test for RULES type-matching 1b16440 Update test output 98d4156 Make our own pwd, so we don't get confused by paths on cygwin f80fdc5 Time how long is spent on each .T file 9951189 On failure, diff the normalised test outputs b98cbe7 Check stderr output before stdout output 7b5eb2c Accept output 6f76bf1 Add some -v0s to cabal01; cabal still isn't being quiet enough, though 6b25046 Consistent output for tests 1164ff2 Update output with new, friendlier error 8f73500 Update rnfail040 output b8d5496 Remove generated file ffa11a3 tc217/220/223 need mtl a28a4dd IsString and fromString are in Data.String now b689895 Accept test output 737968a ghci015 should ignore output (see comment) 0973c32 MERGE: Another attempt to make mod{144,146,158,160,165} generate consistent output On some platforms $MAKE == "gmake", so the error messages still didn't match. I made it so that these tests now don't fail in make, but the exit code from GHC is emitted to stderr so we can test it. 6ef11e5 Add a test that checks pretty-printed TH output looks right c45c86f Calibrate the testsuite timeout if a value of -1 is given e47895a Check float values are within a small tolerance inside barton-mangler Saves the test from failing due to small FP differences. 24347f3 barton-mangler-bug shouldn't have FP difference problems any more 6d5118e Remove redundant Main.hs (there's a Main.lhs too) 1d8fe7b Avoid FP differences with cholewo-eval c861ac0 Use $(PYTHON) to run calibrate, rather than relying on it finding python itself ca1ec90 Calibrate == calibrate on Windows... f8e0d7d Increase the FP fudge factor (0.000001 -> 0.00001) 6b7c794 More ppr tests The name +_0 is a bit dubious. 18713b3 added TestList TestImport f64ae3a Add tests for OPTIONS pragmas applying to the wrong files 01dc78d Print stdout/stderr when we get a bad result 5d0f864 Give more output while running conc068 9642062 Give an ASCII representation of the PPM output We will need to do some sort of similarity test to cope with FP differences, but this will at least let us see what differences we need to accommodate. 0a56183 Except some output changes ce1b1c0 added a few more examples 5f89711 add one more example 67a1528 break1 and break4 are broken due to trac #1275 a63312d Allow tests to be skipped based on whether or not the compiler has a tag When working on a new foo extension, you can now put your tests in the testsuite, set ProjectTags=-foo in mk/build.mk and skip_unless_tag('foo') in the tests. c597819 Set some esc tests to skip_unless_tag('esc') 7e90d81 conc063 should exit(0) now 0c80923 MERGE: Make conc056 independent of the network package Should make the test more robust, we were seeing failures in the nightly builds. c839fe8 cabal01 needs profiling 4dca714 Close 2 files that we open so we know that the writes have actually happened 3f97578 Generate conc068 input in a more portable manner The earlier method with 'yes .. | head ..' does not work on PPC Mac OS X. 8ec7b43 Use $(PYTHON) rather than assuming python will find it 6f14d73 Differentiate between use of fail and failure of code (i.e., an exception is thrown) 83804a0 Add a test for use of fail for trac #1265 2badfcf Update output 6810dd6 Add test suggested by Doaitse Swierestra acc7c04 Accept output f3ab9c6 Adapt commands to the new ghci debugger command-set 2e38ba0 add dynbrk tests, and a few more breakpoint tests ba424a2 move some dynbrk tests into the scripts/ directory 27abdf4 New test covering bug discovered by Nicolas Frisby in TcUnify.boxySplitTyConApp 60711be this test requires an extra :step now 1629422 add test for a new bug 8704571 add some :show bindings 12d4d65 Accept output 30b86ad Disable the monomorphism restriction warnings in all tests 6f51a11 Added a :break test bd170ed Fix the test I just added 4ab66c8 add another test, and accept some output cb0242d modify test to reproduce a new bug 8419653 add test for a new assertion failure 81fb385 Adapt some breakpoint tests to the new command syntax c24af719 Accept output db59dd6 Add test for records and type families 8b03d8f Add test for Trac #1255 f063311 add correct output now this test is fixed 4cbca0d accept output 84e1d6d add a test to demonstrate a new bug 483ff63 add a :list test 7a68d35 add a history test be97924 update: we give a diagnostic for an incorrect number in :delete now 021fd58 Accept output 2a01943 Remove redundant arch-specific test files 8967183 Use letters to allow output to be matched up with the code more easily e14e1d5 Revert mistaken change to all.T da51986 Add test for Trac #1323 970e190 Test for Trac #1251 16f1681 cg025 requires regex-compat, which is now an extralib 5527af9 Accept output for tcfail005 2edf6ac Don't hardcode the version of base in the tests d22d754 skip cabal02 (cabal-setup isn't in the GHC tree any more) 9aa717e Fix comment a74dff0 regex tests need regex-posix, which is no longer a corelib cd36760 maessen_hashtab needs QuickCheck c213a02 Accept output acd6afc Accept output d8127ca Fix spec001 test e2dd02c Don't dump stderr/stdout before we've split the ghci output Fixes some framework failures. 4772e3d stm is no longer a corelib, so needs to be reqlib'ed now 3f38fee Track ... pretty-printer changes 9b25236 Accept output for tcfail004 1395240 Accept output de73ac3 Partially accept output 168d668 Accept output 67fd784 Add output cdc54cd Accept output 7cb470d Accept output 11c46be Accept output 11ab159 Church2 is broken; trac #1330 49d9704 Accept output (mdofail004) ad63612 Various indexed types tests fail due to trac #1331 77e9b9e tc224 (overloaded strings) is broken; trac #1332 6fdf22c dsrun014 is broken (trac #1257, Bytecode generator can't handle unboxed tuples) fa27030 sed-o in the testsuite driver 7fbad1c Arrow tests are failing core lint; trac #1333 82a9442 Add a test that 'ghc -e "return ()"' returns successfully 30aa5b6 platform-specific output no longer required 52aa5af add basic concurrency/IO test: tests that stdin is non-blocking 3de2c0d add test for #1091 41c51af add test for #1253 d9edc9b add test for #1227 f4211a0 FIX #1159: This test needs to run in a subthread (see comments) 826d6c9 accept output 56eef3f Add test for full laziness f227b8e add test for unicode constructor names in :print cf265a3 add a couple more tests 83d5ba1 Add tests for -fwarn-implicit-prelude (and -fwarn-unused-imports along with it) (trac #1317) ac9c242 Various indexed types tests fail due to trac #1331 15a00f7 Adapt indexed type tests to removal of newtype families 046118a add test for #1277 ed94ae7 -findexed-types -> -ftype-families fd86b09 accept output and add a few more tests b83eab4 add missing source files for tests 83c62cb add missing source file 3e047a4 move break1 to scripts/break012 50efef9 move the break* tests into scripts/, and update as necessary 7206a1b add another exception test 7773a6b add missing files 4a58d1e make this test work a bit more reliably df91a0f move STM-specific tests to the stm package 5543d42 move dynbk tests into scripts/ and update them f77cad7 Accept output (source spans) c5cbc37 bio001 needs profiling fd5fb58 Accept output (src span) 75f99c4 arith011 is no longer broken on x86-64 Linux 0a66f56 add a test for printing unboxed fields 3e3e73c Accept output (... doesn't replace a constructor any more) 1c2bf47 Accept output (source spans) a4aa236 ignore the .ghci file if present in the ghci debugger tests 77641d8 Accept output 51bd410 remove unreg "way"; unreg is now all-or-nothing 9295387 Accept output (source spans) c61f1ba par001 requires the parallel library c67607f Accept output (missing-main error has changed) 36538da Accept output (missing-main error has changed) ed3903d Use -v0 when doing test rnfail043 This avoids version numbers of packages being in the output. 670b355 Use -v0 in TH tests to avoid package versions getting into stderr 1d996c7 1332 is now fixed, so tc224 is passing again 2d9f752 Accept output (missing-main error changed) c25034e Update (incorrect) test output with '....'s 6d428c5 Add parser/should_run f83f022 #1318: pre-emptively add test for Haskell98 treatment of operator "-" 295263e add negative-prim-literal tests the first for behavior common between their new and old parsings (passes both), the second to test the new behavior (fails before, passes after) 55052a8 Test for Trac #1382 da8079a Test for Trac #1396 315f76c Add comments about runCmd 12df776 Add test for #1385 564f22d arith008 fails for some more ways now that the NCG is used by default 1eae04d accept output e689740 more expected failures for arith012 7bd1230 fix this test 2a79846 Split newtype deriving test from other deriving tests de7503c expect more failures for ffi009 on x86 35e4e17 fix this test f9b1f95 add more profiling ways, to test different kinds of heap profile c08032e add extra_ways, for adding running a test in more ways d4afe40 test various kinds of heap profile 1756749 Test 11 double arguments instead of 6 (see #1424) 5923798 add 32-bit output for num012 1dc091e move par tests to the parallel package da4ed8a accept output 0ae8665 Accept output for TH_exn2 6fb64c1 Accept output reorderings in ghci debugger tests 0eae27e ghci debugger output reordering 72eeb32 Accept prog003 output Also added some extra prints to make it clearer what's happening c9e0e60 tcfail177 is expected to fail; trac #1176 5a6f839 We expect getC to be broken: trac #1430 179a39c rnfail028 is currently broken; trac #1384 46e4d8d tcfail046,tcfail169,tcfail118 are broken; trac #1432 fc03534 Update ghci debugger output order 4283c7d Two tests for newtypes & :print added 2adb5a0 Output reordering in debugger tests 65c6c99 Test for Trac #1430 9d67a2d no .bat scripts any more 0832eef Remove tcfail105.stderr; tcfail105 is now an expected pass! a2ec087 tcrun032 was using an un-documented (and now not implemented) feature of 'deriving' 88fa1f9 Update expected output (mostly concerning deriving) a49696a Test for Trac #1386 35e4e16 Fix flaggery ab009a9 Test for Trac #1402 8278008 Mark ghci debugger tests broken ea4e0bf getC now works (trac 1430 is fixed) 3c5d589 Accept output (read008) edf235a Accept output (tcfail145) fa52a8c Allow the "< /dev/null" when running tests to be disabled The user001 test in the unix package can fail when stdin comes from a file. ed0cfb8 Add a test for trac #1287: SPECIALIZE causes panic f625711 Add a test (tc229) for trac #1406 333f2a9 make this test a bit more robust (hopefully) aa0e74e Type families: add test case for deriving of assoc data families e0eaa7f Types families: test that the right coercion names go into ifaces 89f0cdd Add test for Trac #1445 7190004 Type families: tests for overlap check of type families 9ae96c0 Type families: test for tau typeness of rhs of type instances 0349d0b Type families: tests excluding type families in left hand sides 4afef64 Type families: test type family with higher kinded parameters 34366e9 Type families: more overlap checks c357d33 Add test for Trac #1465 a4c0b2d Update output 5f8147a accept output 3665022 accept output b1defde don't reset MAKEFLAGS in recursive make in 'make fast' It breaks some tests on Windows, because the stage=2 setting is lost in the recursive call. I don't understand why these variables are passed in MAKEFLAGS on Windows (cygwin) but not on Unix, something to do with environment variables presumably. cb8ee07 Test for Trac #1456 a22d846 add test for #1131 1706e77 gadt23: $MAKE needs --no-print-directory a1128bf accept output 0213c87 fix testblockalloc for THREADS=2 018d089 Add test for Trac #1494 e7aedd5 ffi-deriv1 is broken(736) 8aeb1c9 tcfail140 is expect_broken(451) 477fba6 Added tests for Cmm and CPS (they are currently skipped) Also the test driver doesn't understand 'cmm' files so something will have to be written before these tests can even run. ce9b634 tcfail093 should succeed 776e62b drv015 should fial e5b60c9 Use subprocess.call rather than os.spawnv in the testsuite driver os.spawnv is broken on non-cygwin Windows (looks like it goes via a shell). 287691a tc232 requires mtl 30376b8 tcfail093 now succeeds, so has no stderr 8adac5d Add a test for -fdisambiguate-record-fields (trac #1401) 1a1798c make prof001 and prof002 into compile_and_run tests, to test #1472 0dc8518 add the profiling ways to config.other_ways 4b87abf clean up the extra_ways machinery fda4526 add prof_hb way a3600a3 Fall back to os.spawnv is we don't have the subprocess module 254f218 Fix calibrate python script for non-UNIX machines 6242ced Add tests for magic hashes (trac #1297) a1f14d6 Tests for EmptyDataDecls extension 0686017 Tests for KindSignatures ff65996 Add tests for -XMultiParamTypeClasses 2cd7f40 Add tests for -XParallelListComp 9d8cfd8 Tests for -XGeneralizedNewtypeDeriving 87f765b Add tests for -XRecursiveDo 29ebce2 Tests for -XFunctionalDependencies 4d49c9f Accept output (following error message changes) 828901d reqlib now uses subprocess (when it's available) Fixes a problem where /dev/null doesn't exist on mingw. a4af485 readwrite002 is expect_broken_if_platform(1198,'i386-unknown-mingw32') 8b4da92 Add tests for -XPolymorphicComponents 7ce92ca Accept output (more flag name changes) 4e9a98b Fix this test to work with shells that don't have {..} globbing e.g. the /bin/sh on my Ubuntu 7.04 system 82331d6 add test for #1505 35c5ea6 Add a test for -XPartiallyAppliedClosedTypeSynonyms 024d7a3 Tweak tcfail098; we aren't interested in the undecidability error ef9332f Remove tcfail111; duplicate of tcfail098 5cfe193 Follow error message changes 32cd47e concio001: account for constant overhead of threadDelay on MacOS - See also #1523 d9f824e ffi012: stdcall doesn't work on MacOS #1524 e4da239 Unfail some :print tests 3215786 Accept output 3ca28ff concio001: give the process a tiny little bit more time in the Makefile - Although the test passed when run by itself, it did sometimes fail with validate as the timing just didn't work out on a loaded machine. 72b2e35 remove an obsolete test 412e49a break014: accept output and unfail 6c69c6b dynbrk005: update with expected output 902c6b3 Add a test for bug 1533 (currently broken) e0ef74c Accept output 2aa5a5b Skip break017 if fast (bit of a hack; just to make the validate script work) c914229 Bump the delay for concio from 0.45 to 1s It wasn't long enough on thorkil's Mac. Should really do something based on the calibration value or something, I guess. b8e449a Skip the concio tests when fast, as we don't really want to hang around for 2s ed0a84e Update drvfail008 output (flag name change) adcee39 Adding compile_and_run_with_prefix and multimod_compile_and_run_with_prefix as test-fns. 5ca9e65 Skip the GHCi debugger tests when unregisterised (trac #1545) 9c80aed maessen_hashtab is broken (trac #1546) ac121a7 Fix the haddock tests when going via C We need to have a header which claims the foreign imports we do are for entities that actually exist. Otherwise the C compiler complains. c631662 Add a test for trac #1322 (ghc --make recompiles hs-boot files unnecessarily) d1ffdb8 Really remove an obsolete test (print015) 5882c76 Make a non-profiling version of test cabal01 6a28cc1 Share the pwd program between tests 957f390 Fix cabal01 to work on Windows 32b0f9d Tell the testsuite what exeext is dfd54ce Add a test for copyFile 83d34b4 skip read023 (see #1215 and comment in all.T) c49f83a The galois_raytrace test requires the parsec package 8f2f4e8 Add test for Trac #1564 cf1ab09 Update expected output 404e5aa Update (previously buggy) output f0d1027 Add test for record wildcards b56798c Testsuite driver doc updates e448217 Add "composes" to the driver docs 62d7929 Define and use rawSystem in the testsuite driver and the driver tests spawnlp doesn't exist in Windows, so this avoids using it. 83616fb cabal01: we need --with-ld=$(LD) for Windows e3931f3 Docs have moved to the wiki 7f4585e Add exit_code_if_platform functions to the testlib 3bc60be Add tests for catching exceptions on Windows caff4e5 Follow flag changes 6562dc3 Use -XGADTs rather than -X=GADTs 08079dc Test for Trac #1581 127d06b Test for Trac #1037 f6daa8a Trac #736 is fixed 6420763 FIX ghci019 4e4d35b Tests for indexed type synonyms f656d8a Another indexed type families test 29c623e Test Trac #1606 f029d2d Accept changes (mostly paren removal) d0f9766 Update standalone deriving test, and add a failure test 20536c4 Update the bytestring tests for the bytestring package d00ef04 Follow the base split 0a19231 Document and fix expected failure code for derefnull and divbyzero 80a2586 Another indexed types testcase 9abbf47 Added a new :print test 660e7b0 Aad test break020 for :stepover 38d17ef Accept output due to changes in :history c8c702e Synonym family problem with higher-kinded families 8f242dd Types families: Refl suceeds without tyfam patch 5831465 Two more indexed types tests cac4ba7 Add a test ghci020 for trac #1587 4d00739 Add a test ghci021 for trac #1565 bdff7d3 Type families: "Kind" is now working c18d36f Another type families test d10e59b Type families: Infix works now f464a83 Type families: adapt to improved error messages 6f82033 Another type families/gadt test 92bc422 A couple more GADT/type families tests a65df58 Stop the timeout calibration ever returning 0 bfaba00 getDirContents001 needs -fno-gen-manifest dd22532 Windows-specific output no longer required a39ea8d count a syntax error in a .T file as a framework failure 57cbb7b fix syntax errors 7cd3811 add test for part of #1372 562d2bb Fix the expected output for derefnull and divbyzero on Windows e0f0e41 Update tests now that #1384 is fixed #1384 = Exporting a module that isn't imported doesn't fail cabc575 Update array test output Unfortunately safeIndex is too polymorphic to be able to show the index or the bounds when we have a bad index. 4195c04 conc057 needs the parallel library 078afe1 conc068 needs parallel 568a7a6 dynamic002 needs -package packedstring now aab48bd tcrun021 needs -package containers ac43e33 Revert a hack now that the buildds will make a gcc-lib directory on Windows 0462e1e Changes necessary for type family patch - Mostly changed error messages - 'while' needs another type annotation due to changed rules as to what annotations are required for GADTs. 55abde4 TypeFamilies: check arity of type instances d258ca3 cc013 works now 29beb7a add test for #1593 8b313b0 Aad test break020 for :stepover 2f25c64 Accept output 41ec0c1 Added tests for :steplocal and :stepmodule b2936b9 fix this test on Windows 6607849 Remove an old readme-like file 81a1590 adjust some tests 134d80e Accept slightly different output in some breakXYZ tests 0d3f02d Add a test for #1375 (ByteString?s ?lines? eats empty lines) 1e8d4f8 Adapting some breakXYZ tests to sorted output a050a0f Add two new tests for the debuggger involving .boot modules aaa3578 Marked as expected failures for now 4a5d485 Add a new RTTI test 9614fee TypeFamilies: test for decidable tyfam instances fd9e77c TypeFamilies: accept some slightly improved error messages d2ffc49 skip readwrite002 on Windows, it now hangs following fix to inputReady.c 8137819 add test for out-of-memory c84c795 Fix outofmem on MacOS 186a2ab TypeFamilies: Numerals test 1c2badd Tom Schrijvers' type family tests fdbf503 Add a failing type families test f89d2ba Failing type families/GADT test 0d16bd1 Test for type families related panic 4bd84f7 add 64-bit output 700a20d don't try to run hp2ps if the program failed with exit(>127) 40e5bab add test for #1648 a0ecdca arrowcase1 is now fixed By: Mon Sep 3 07:10:44 PDT 2007 Ross Paterson * FIX for #1080 4d6db40 equality constraint encoding of functional dependency where the FD's LHS is empty: 77310ab add missing file a65554d Add a test num014 for #1658: CSE [of Doubles] changes semantics cd63e58 equational class context expect_fail is now normal because of bug fix 509d49b recursive equational class context e0a2fc2 tests for type family completion algorithm and higher order types 4936baa Add dummy stderr file for panic test e09d888 Another failing type families test 04154b6 Yet another failing type families test 73678c7 And another failing type families test b0568a3 A further failing type families test 4335297 Track changes in deriving 7120aa2 Adapt test to new restrictions on type families f02843f make config.top an absolute path c6abb42 omit tcrun022(ghci), since it relies on optimisation 88d8f95 conc057 and conc068 have moved to the parallel package 696a7d2 Test now works cf9420c this test works now 2a010c6 add test for qualified name printing b707da5 test for bug #1465 (12 files, phew) 37c5525 accept output 079efcc TypeFamilies: GADT8 is fixed 2dddfbb Set os.environ['TERM'] = 'vt100' before running tests Readline sometimes spews out ANSI escapes for some values of TERM, which result in test failures. afbb581 Fixup bytestring tests to work with current QuickCheck and bytestring Sadly requires that the internal Fusion module be exported from the bytestring package which is bad because that's not supposed to be part of the public api as we're just about to replace all the fusion internals. f8faca5 Accept some output d188ac3 break020 and break021 underline things in the wrong place; trac #1669 19d86cb this test should unregister the test packages afterward (fixes driver063) df991a2 TypeFamilies: fixed Simple14 and added Simple15 f09a855 Simple9 is fixed 4a4fad3 Accept improved error messages for some tcfail tests eebaab5 Two more failing type families tests b39011e Yet another failing type families test 4f73eb8 And another failing tyfam test 4942391 accept output 2bf3853 Only run the tests from libraries that we have built Fixes failures when you have unbuilt libraries in your validate tree. 2419689 #1669, these tests work now 2c37458 TypeFamilies: change of error messages due to changed traversal order - Just the usual indeterminism in HM. The messages are neither better nor worse. d47e0ec add test for #1677 406f2f2 Added tests break024 and break025 for -fbreak-on-error and -fbreak-on-exception a4673c3 Simplified break025 to better illustrate the problem, and marked it as failing under ticket #1681 cbc623a Accept output 644bbab Accept output for break024 b525f51 TypeFamilies: added test exercising skolemOccurs 40abe56 Avoid Dyn exceptions in break024 c5da124 comments e598cb5 a test to show that multiple calls correctly share a return address to see the optimization at work, compile cps027.cmm with -fconvert-to-zipper-and-back -frun-cps 82edc42 Test case for #1689 (openTempFile naming) ceb239c in test case for #1689, close files, just in case 224fbf6 GHCi debugger: add a test exercising -fprint-evld-with-show b4ed822 Accept output due to :print not using Show instances anymore 04bf640 Add failing TypeFamilies test c368d68 i386/Linux output 02f657a remove ordering dependency for ffi018 a91c1b1 remove read001 -fglasgow-extss, it messed up THREADS=N and -fglasgow-exts is deprecated anyway 69d9ed0 remove ordering dependency f7434a7 Allow files-to-cleanup to be attached to a test using extra_clean(files) This is better than a top-level clean() when using threads a0f3347 remove ordering dependencies (see bug #158) be1c1d8 remove one more ordering dependency 08d7e92 eliminate ordering constraints 4b7981e Test display of types in GHCi 64b0862 Test nested forall types (thanks to Claus) 84faed9 InstEqContext2 fails now - This test fails with the overhauled rewrite rules. This is (judging from -ddump-tc-trace) not because the new rules implementation goes wrong, but because the old implementation left out some improvement and hence passed this test by accident. 7997293 Changed error message f6202dd TypeFamilies: fixed Simple12 deea7da Different output expected for this test on x86_64-unknown-openbsd 1803c98 some expected outputs on openbsd 5004052 Yet another failing TypeFamilies test 3dd6650 TyepFamilies: should_compile/Simple16 (#1713) a120c43 Typechecker: tc237 (#1688) 14ed376 Enhance tc236 slightly 4b9f108 Rename flag 15a1db3 Add test for exponential behaviour of type synonyms 4a20379 Add comment 4657d09 Tests for Trac #1627 and #1718 05a57ac Failing tyfam test 1cf5645 Various testsuite helper functions like expect_broken_if_compiler_ge 86ffb85 Fix ffi018(ghci) when running from a different directory to the test 91accb6 tc236 fails for 6.8 d09b9d3 Add a test for changes to C files causing relinking 5bbe00b expect success for arith008(profasm) on x86 605e6d0 FIX #1254: avoid calling truncate when the result does not fit in the target type c70161b GMapAssoc, GMapTop: expect failures on the 6.8 branch 79a391f GADT3: expect success for profc/profasm on the 6.8 branch 275efd6 Simple12: expect failure on the 6.8 branch 5be5ab9 ind2: expect fail for profc/profasm on the 6.8 branch 2e96684 Add a test (pragma001) for #1736 a4d9e1d expect failure when using the NCG on x86 due to floating point differences a353e48 add test for #1734 a7cc3da fix framework failures 65cc94c add expect_fail_ways_if_compiler_lt() somehow I forgot to add this yesterday, I'm mystified about where it went.. a6dd57f getTestDir() is slightly better than in_testdir('') 07c3828 GADT3: expect failure on the HEAD too (and add a ticket) 059b7e1 Pass -ignore-dot-ghci to GHCi fd00a21 driver027/driver028 need to use -fvia-C to expose a bug in -stubdir ef5fd52 updates to hReady001 (see comments in all.T) 16ef48a TypeFamilies: test boxy splitters d80e23f Test for Trac #1746 1b7f854 TypeFamilies: should_compile/Simple19 (from #1729) 569de64 TypeFamilies: should_compile/Simple20 2dc254e TypeFamilies: should_compile/GADT3 fixed 0860284 test case for #1743 201a4d1 I committed simpl019 too early; it's expected broken until I commit the patch 5d41441 add tests for #1748 ef9048d break026 now works (#1743) 5857808 break025 now works (also, the test itself was broken) 6129c42 Add test for Trac #1678, and update output for TH_exn2 7c94185 Test for Trac #1759 c629131 simpl019 now passes 280ed38 Update output a9f6957 Test for Trac #1680 3c2302a ccfail002: line number in error message changed bafd0e2 Test case for #1537 c3ec0a3 Clean bug 1465 better 5fb860d TypeFamilies: should_compile/Simple20 fixed ef3ccc5 Changes to the testsuite for the new renamer The rationale for these new behaviors is as follows: fd7d8cd Update output 54f5a94 Update output from constraint simplifier 1a411cb Add exotic functional-dependency test b93c120 TypeFamilies: should_compile/Simple22 * Demonstrates a bug in TcUnify.tcSubFun found by Andrew Appleyard c47aa37 TypeFamilies: exercise deferring on tyvars in TcUnify.subFunTys c8ddf27 tcfail175: error message changed * The error message has become less informative, but I don't see how to avoid this easily. * The error message is now also different to that of 6.8. I am not sure how to handle this case. Can we have different stderr files for different compiler versions? Or shall we simply merge the corresponding changes into 6.8? 6b83caf skip the non-threaded ways for conc023 on Windows, see #1197 53ebe72 the GHCi debugger now works with an unregisterised GHCi dd20805 these tests moved to the directory package 193348e Update output for TH_exn1 927fe3b add test for #1468 e1674ac TypeFamilies: should_compile/Simple21 * Code of #1776 from aslatter at gmail.com b1b9bce TypeFamilies: for additional tests fixed by properly zonking EqInsts aee6f58 tcfail174: minor improvement of error message de51abf tcfail175: improved error message slightly 39c6c73 Add namebase_if_compiler_lt to the testsuite driver Allows us to use a different name base for foo.stderr for old compilers, e.g. test('tc141', namebase_if_compiler_lt('ghc', '6.9', 'tc141-6.8'), compile_fail, ['']) 5951c53 Fix various tests for the 6.8 branch 5ba7aba Add space after -ignore-dot-ghci pointed out by Claus Reinke aaab2ac use -ignore-dot-ghci Suggested by Claus Reinke 5521d34 add test for #1791 f121012 this test works now, apparently a59f5db GMapAssoc, GMapTop now apparently work on the 6.8 branch 03f88cd ind2 apparently works on the 6.8 branch 813a2b9 arrowrun004 is now apparently passing on both 6.8 and 6.9 4cfe25d update expected failures for the 6.8 branch a0b41e7 add 6.8 output eee8899 Update test results in the 6.8 branch bf9817e outofmem2 doesn't pass in the 6.8 branch bdc2e98 Tests for functional dependencies and loops in TcSimplify fcdadfa Update tc141 expected output 1d2b2b8 correct code for typecheck/should_compile/tc192.hs c86f038 Update output (comments added to source file) 3424aa4 add output for the 6.8 branch 7d0200a fix this test on the 6.8 branch 8246d4a Add test for GADTs and scoped type variables 4d238db Update type checker errors b91c2ce Test for #1662 bd0625f Fix test outofmem for powerpc_apple_darwin 5acd938 Add test for Trac #1072 8f5834c adapt tests to new Category superclass of Arrow d809081 add extra_hc_opts for ghci_script 130883c Test for Trac #1814 6a34410 Test for Trac #1814 f983a21 Test for Trac #1608 efb6ce6 tests for :browse!, :{:}, :set, :show languages/packages 07f2742 update test for #1765, #1766 9c5c45d update test output c4113b3 accept output following #1561 b9252d4 add test for #1561 df1993d test for #1617 bc9c8b4 skip arrow for ghc < 6.9 (Control.Category doesn't exist) 185965f Skip arrowrun003 for ghc < 6.9 (Control.Category doesn't exist) d2c7633 Add a test for trac #1588: unrequested generalized newtype deriving? Test is drvfail013 36fbd8e Update output 15297b5 add test for #1852 7018f10 add test for #1603 cfedbe4 FIX ghci024 for unregisterised, powerpc_apple_darwin, and ghc-6.8 97cfaff Accept output d80afd9 Remove some tabs in break020.hs 4e568f8 Add a test for #1827 (:print panicswith overloaded values)) 70f39d1 Test for Trac #1888 1d01ed5 Test for Trac #1662 0432847 Add test for #782 69aad50 simplify ghci024.py, fix -fprint-bind-result, -fno-ignore-breakpoints, -fprint-bind-contents d09518c Adapt output to improvements in the TTerm pretty printer a1d4514 Add test for #1892 - :info of a bkpt binding panics 40ac852 Accept output a159d2d FIX #1840: outofmem and outofmem2 need ulimit settings to avoid filling up swap 6d6e848 add test for #1679 fb16aaf outofmem2 passes on the stable branch b996c45 1603 depends on the gcc version, which we can't easily account for, so skip 8750fd9 fix this test for case sensitive filenames 5a3ba0c small tidyups to thie Makefile b599808 Add -XExistentialQuantification flag (should have been there all along) 06d253c update to test #1873, #1360 2cb2c7b Test for Trac #1806 86e50eb Test for Trac #959 f9b1bfe augment ghci025 to cover #1847 827f8ce Tests for Trac #1825 61c1f54 test repeated open/close of 1000 files d6030d4 countReaders001 now passes a718f4a Test for Trac #1913 3658339 Update for rebindable changes (Trac #1537) 7aa2a86 Update test output d00b006 Update output 5a361f1 Update output (slight improvements on the whole) d1270a0 add test for #1753 d9c8221 remove the _with_prefix forms of compile_and_run, add cmd_prefix() config instead 26aae27 openFile008: do "ulimit -n 1024" first Hopefully fixes this on MacOS where the limit is 256 by default 58085a0 Simple{20,22,23} now pass in the 6.8 branch 4084c62 Make Church2 fail as it (currently) should 80c1930 Be more consistent in printing about framework failures 4679353 fix this test when CLEANUP is not done cab326a add test for #1916 b7d8057 Test for Trac #1935 f88463d Update output for change to deriving (Trac #1935) 742044e add test for #1744 db260a4 add test for #1914 6afeed0 Add expected output for 1744 de6e63d fromdos test FD1 073df30 FD1 now behaves the same in 6.8 and HEAD ec21a85 rebindable8 is still broken in GHC 6.8 f58ee9c Add 6.8-branch output for rw edd5267 Give GHC 6.8 output for tcfail168 217f695 tcfail175 output is now the same in 6.8 and HEAD 69d56c2 Add 6.8-branch output for tcfail178 788d940 Add tcfail187 output for the 6.8 branch a081045 Update ghci024 output for the 6.8 branch ecc7374 6.8 branch no longer needs special output for ghci026 e8bf33e Add 6.8 branch output for break003 f38572d Add 6.8 branch output for break021 85637e3 countReaders001 now passes in the 6.8 branch 4d18140 Skip arrowrun002 for the 6.8 branch 45d3e87 Skip arrowrun004 in the 6.8 branch 5280b38 GADT9 passes now that we have fixed #1919 20948b3 Added test for :print of a reference c5cbe3f add test for #1048 4d11ac3 add test for #1959 31a49e1 test now passes 113a88c Test for Trac #1370 4da65e7 Fixed by correcting normalisation of dicts 84c8d1d Fixed by removing GADT refinements in favour of equalities 6c94991 type families: Temporary fail - GADT3 fails with equalities instead of GADT refinement due to a known bug 5e5ed24 gadt: slighly changed error msg with equalities 8245208 Remaining regression of change from GADT refinement to equalities * gadt/lazypatok fails * tcfail167's error message gets worse; ie, no more "Inaccessible case alternative: Can't match types `Char' and `Float'" 6b373c5 Adapt to changes in :print (contents of references) 6a5f304 fix this test on windows (avoid non-portable use of :!) c1ccd0b countReaders001 doesn't work on Windows c0dc495 add 6.8 output 4e0d8dc accept output 3fb5d60 Test from #1815 4945a1a Test for #1722 fec5162 Test for #1723 a82c997 Make GADT tests work with 6.8 again 9254d56 More 6.8 fixes e0e5690 Update tests for Trac #1972 8eeb9b4 add 6.8 output 33d63cc Simplify the testsuite driver Now instead of saying, e.g. namebase_if_compiler_lt('ghc','6.9', 'foo-6.8') you say if_compiler_lt('ghc','6.9', namebase('foo-6.8')) 805d6a4 6.8 updates aa2c520 Fix outofmem for other 32-bit Linux platforms 9b4ee31 add test for #1980 4e21a08 Unsoundness in the RTTI scheme acd4730 Give a ticket # to expect_broken 33b21f5 Tests for generalised list comprehensions f0cd5ac Replace mentions of way 'opt' by the new 'optc' (often adding optasm too) 82711cb Add test for Trac 1981 2d27d0f Test for Trac 1495 adabec5 Test for Trac 1988 6fa9ed6 Enable an old test for Trac 323 2497337 Accept output for gadt13, gadt7 d35d2a4 Accept output for tcfail172, too 06ef755 add test for prefix unboxed tuples 4a9f71e add test for curried unboxed-tuple constructors 0ba992f ghci can't run unboxed tuples currently 052aa3d Skip TransformListComp tests for GHC < 6.9 f101413 Skip more tests if using GHC < 6.9 b3f489f Remove bogus constructor from test cf86eba Add tests for type signature validity (cf Trac 2019) 0fbdefa Test for Trac #2017 d499864 Update output for new -XImpredicativeTypes flag c82ee5a Tests for Trac 2030 ac6a6e7 Test for Trac 2018 7be427b Mark some bugs as broken in the HEAD due to FilePath bug #2034 9b76013 bug1677 is also broken by #2034 (FilePath bug) 9228ed4 Add a test for trac #2033: view pattern where expression expected 00ecd81 Testsuite fixes for GHC 6.8 cd3b57c Update output 3ef22a2 Test for duplicate decls 090fb7b Add test for Trac #2024 9764c72 Tests for quasi-quotation 1351580 Add a test for trac #1821 897c7a6 Add a test for :main and :run 2289264 Add a test that we get an error if conflicting mode flags are given e5c24de Test for ghc -e ":main" 4ae9de8 Add a test for multiple -e flags 51e76b4 Fix #1599: Improve timeout on Windows We now run programs in a Job, which means that we can kill a process and all of its children when a timeout happens. 932a608 Add WinCBindings.hsc, not WinCBindings.hs! a3440b7 Add a test for exitWith and ghc -e 9a332e3 Add another ghc -e / runghc test 79ae17f Mark some bugs as broken in the HEAD due to FilePath bug #2034 a21f10f bug1677 is also broken by #2034 (FilePath bug) 794320b Test for Trac 2055 630fabf fix intermittent failure with ghci025 0e746bc allow extra normalisation to be applied to the output on a per-test basis 758f77d normalise '\' to '/' in the output, to fix Windows failures 11cce0f remove now-unnecessary #1545 skips 7b38abe update to test for #2049 eafa561 Don't hide output 9a517c5 Avoid some escaping in a commandline 687a3f6 Normalise some slashes 94aed1f add test for #1750 89d1867 accept output (change to default exception handler in Control.Exeption) 1f5ad28 accept output. The column number is different, and still wrong. cc1a561 accept output. The order of compilation has changed, for some reason. 34b9c75 Add a new test for #1537 946ab64 accept output (no newline after uncaught exception) 3b7c09f accept output (no newline after uncaught exception) e812749 add test for #2047 4591261 If the "setup" argument to test is a list, treat it as a list of functions Avoids the need to write composes() 8b03f03 skip if GHC < 6.9 d4da119 6.8-specific output. The remaining validation test failures on the stable branch will be fixed by pending merged. 3bc99c3 Find compiler version-specific output files automatically Also, clean up the way we find the output file. From the comment: 5f13d9d Add tests for parameterised monads from Oleg 4851699 rebindable5,6 are expected failures (see Trac #1537) 9fc058b Add a new category of "eyeball" tests 075e90e Add another eyeball test a0c768b add test for #2080 6170ff6 DoParamM depends on mtl 4c09546 Follow change in error message wording 978e4ad Cache the results of looking to see if we have a library or not When handling a test says reqlib('mtl') we cache the result, so we only need to run ghc-pkg once no matter how many tests say it. This makes quite a difference, especially on Windows. dbbbd70 Apply cmd_prefix also to the ghci way 2f6dbb3 remove now-superfluous 6.8 output 65a0fb1 fix #1750 in the stable branch 7db13e4 Give 6.8-branch output for TH_fail 4c6c47d Add a slightly more robust concurrent I/O test also disable concio001, which is too unreliable 8b8a0d2 Add 'dyn' as WAY (different from 'normal' only by -dynamic) dc016c3 Add a test for #2082 02f9516 Actually run test ghci030 314838f ghci030 is currently broken: trac #2082 6b88596 Track error message changes eadd1be Add fundep to rebindable5, which makes it work again 5c006ef Tests for Trac #2114 18c8543 Test Trac 2126 b42446d Type families: tests for SkolemOccurs loop - Two tricky tests by Tom Schrijvers and Martin Sulzmann a8ccf50 Test for Trac #1899 7c837ea Test for Trac #2111 a024cd9 Track error message changes 03cb3d7 Track changes in error messages 561d44c add test for #2122 8a0a865 add "profthreaded" as a run way d844cf0 Update 6.8-specific output 42f8287 enable profthreaded only for GHC 6.9+ 90cfe11 expect failure for profthreaded (NCG floating pt differences) 30c8fb4 Add some tests ea100f5 Add a SpecConstr test 01bce2a Fix expected output d8ba966 rename ccall to ffi dfbba23 run ffi009(ghci) b446101 skip ffi012 unless running on Windows 9762129 add i386/Linux output This might as well be the default output, so we at least have a chance of this test working on other platforms. e8d8c2e Type families: Roman's test for normalisation of reduced dicts 1e4335a typecheck/FD3: revert to error msg of previous version ofthe compiler 1df9779 add test for unsafePerformIO/stack overflow 753c883 Add 6.8 output for FD3 a453821 Add a test rn065 for trac #1578 70ef4d8 Update output for bug1465 92bca1a Ooops, rn065 is for #1491, not #1578 1f9e374 Update output e3832db Add a new test for :list 9dac95e Update ghci025 output be5ac1e Update output for ghci024 231bd36 Update base01 172b7fe Update tc231 output b4e7f25 Update output for tc168 ef96789 Make stableptr003 give more useful output 1ea8c07 print002 is broken (trac #2174) aad83cd stableptr003 is broken; trac #2175 abb9e34 Tweak #2174, which we now expect to pass again 27e2c4b Add a test for trac #2158 33c70ee Add a test TH_scope for trac#2188 4cc9b39 Add a test simplrun010 for trac #1947 556eb0c Another eyeball test for the inliner f1fd6aa rn063 and rn064 are expected passes now, bugs fixed f7beb4f Test path virtualization in GHCi 9ed556b Test 'list002' should be passing now 99e0697 Re-jig test for Trac 2188 c257c08 Accept output for read029 4245e08 Accept output for bug1677, mod178 28fcbe4 update output 24c800c add -v0 to Over, we don't care in which order the modules are loaded 8aee8b4 Test for Trac 2205 f038d22 Follow minor spacing change in typechecker output a2ce260 Test for GADT escape (I forget which Trac bug this is for, if any) bbb8c9b Slightly less nice output, but the previous version was largely accidental e322b29 Track error message changes b4f2750 Add test for Note [transferPolyIdInfo] in Id.lhs 39076a2 Track the addition of the Static Arg Transformation ac0e764 Add a missing file for test print029 fce1e8c Add a test for #2044 (:printing impredicatively typed values) e5d157f Update output for arith011 on 32bit machines 8f4ee52 Add if_platform and remove *_if_platform This removes some duplication from the testsuite driver db49cc0 Add if_os, and change derefnull/divbyzero to use it I think different Linux setups generate different output for these tests, so we just ignore the output on Linux now. 1278374 Test print033 passes now dddac3e Skip test base01 if GHC < 6.9 as it now assumes the ghc-prim package exists cc1d61b Add GHC 6.8 output for print002 14c2d4c Add a test rnfail054 for trac #2141 0e1b201 Add a test tcfail199 for trac #2179 a0c0c8d Add Word# literals to some tests cd9221a Add a bits test for Integer c31ae89 Add a test for Integer conversions 1b651a8 Comment out some unused code in test 2122 This was causing the test to fail on Windows, as the unused code used System.Posix.IO. 88b5819 Remove derefnull.stderr We ignore it on Linux, and it's wrong for Windows (which caused the test to fail). a8eb6fa Remove divbyzero.stderr We ignore it on Linux, and it's wrong for Windows (which caused the test to fail). 8632e56 Add a test for showing Doubles In particular, show (Just (-0/1)) should put parens around the -0.0 in Just (-0.0); trac #2036. d2ece6b Add a test for spaces in SCCs (trac #2036) 5c485c5 Skip TH_repPrim and TH_repPrimOutput for GHC 6.8 They now use Word literals, which 6.8 doesn't support. 0d46e31 Add output for break019 and GHC 6.8 1d13114 Skip print022 with GHC 6.8 (it uses Word literals) 304b058 Test for Trac #2238 cf0e2b7 move these tests to the process package da3f49f We expect T2238 to fail with GHC 6.8 fab86ad accept output after changes to overloaded literal desugaring 94d386b skip ffi004, which calls a varargs function via the FFI db8863c add test for #1861 7b00496 added a test for eliminating dead assignment i++ in loop 09cff8f Don't bother testing ghostscript if we have no profiling libraries acdb4e6 make this .T file more multi-thread-friendly use extra_clean, and avoid top-level runCmd cd10aa4 add test for #1288 677872f add test for #2276 e82fcf29 Add a test for trac #2059 951770f Fix a framework error in ffi018 e651506 add test for #2014 0b391b8 Accept -fmethod-sharing f97bb92 fix ghci024 (for HEAD, at least) 46868ce following the fix for #1955, the .ps file is now in foo.ps, not foo.exe.ps on Windows 17506a0 Test for unboxed values in tuples 10d7b2e Update tests to improvements in renamer error reporting (duplicate decls and misplaced sigs) ef76ff8 tc199 is now expect-pass 583d44b Update output for GHC 6.8 57a85ee Omit the ghci way for TH_spliceE5_prof We don't support --interactive -prof 191bcb6 Add boilerplate to Makefile 31dcba3 add missing file 2d23089 tc199 is expected to fail on GHC 6.8 (#1061) 3d8eccb update expected output b6c8842 add test for hs-boot consistency checking 7f02e7f add test for a bug in 6.8.2's handling of orphan modules 367afdf skip rnfail055 for 6.8 55a206a add test for #1372 82b886b Wibble the num009 test ca1ce21 Omit cg060(profasm,profc) for the 6.8 branch 0c15419 Omit xmlish(profasm,profc) for the 6.8 branch cfa1651 Omit conc064(threaded2) on the 6.8 branch 353b33c Wibble the conc035 test Fixes its output when running the ghci way d4ab8c8 Skip ghcpkg01 in the 6.8 branch "ghc-pkg describe testpkg-*" wasn't matching anything; looks like it looks at the package name in isolation, rather than considering the package name and version together. 208586f Skip barton-mangler-bug(profc) in the 6.8 branch It was hitting the timeout limit 28f6a95 cg057 passes in the 6.8 branch 846a88c ffi018(ghci) is failing in an unregisterised 6.8 branch compiler, so skip it (in the 6.8 branch only) c39588a Skip 1372 in the 6.8 branch 38a39cb ghci030 is fixed now (bug #2082) 6f13e97 Skip the DoParamM test in the 6.8 branch 929ef03 Skip recomp005 in the 6.8 branch The output looks OK to me, although I'm not sure why it differs to the HEAD. 63c4d23 Skip maessen_hashtab in the 6.8 branch 6.8.2 and soon-to-be-6.8.3 fail it the normal,ghci,threaded1 ways. 59f9991 hs_add_root() is necessary before calling any Haskell code d8c144e Skip print026 in the 6.8 branch It fails for me, but not consistently - possibly only with a validate build. Seems plausible that the problem is something like library build flags. 2debd59 use stage2 by default f795cf4 Pass -dno-debug-output to GHC>=6.9 Allow the testsuite to be run with a DEBUG compiler b996a45 FIX #2175: evaluate the list first 1c8d7a2 fix up this test following the header-file changes in the C backend 649b68f add test for #2334 0b8b737 Test for T2339 6704972 rebindable9 works now that Trac #1537 is fixed 7d3ceb3 Test for Trac #2310 b5b9d5e Stop rebindable9 relying on Control.Monad.Identity 7d5f803 Test Trac #2045 e9cb5fe Test for Trac #2334 af3a8ab Update test output 2cc1011 Test Trac #1624 6a137ef Break expect_fail_if_compiler_type and expect_broken_if_compiler_type down into their component parts if_compiler_type expect_fail expect_broken e8d2050 Pass --threads rather than --thread f6227dd Refuse to use threads unless python version >= 2.5.2 According to trac #1558, 2.5.2 should work. It's possible a lower bound, e.g. 2.5, would suffice. b1ed042 Fix Cpr001 to work when we run with multiple threads 4a9e2b5 Remove a duplicate all.T entry for conc051 2e848a5 Simplify, and correct, the code for determining whether we should use threads e0248bf Update unicode002 output for unicode 5.1.0 7dc9732 Add a test for Integer-Float/Double conversions 73c168c Use -fforce-recomp instead of -no-recomp 7883b14 Use -fforce-recomp rather than -no-recomp 15b0f99 Use -fforce-recomp rather than -no-recomp ee414c0 Avoid using deprecated flags 46ec5a8 Avoid using deprecated flags in the testsuite tests 0ef5288 Make tcfail071 work when -fglasgow-exts is given 815f0cf Update output in tcfail071 bf082a0 2310 is not fixed on the 6.8 branch (yet) 93d08cd T2334 is an expected failure in 6.8 8b8ece1 TH_reifyMkName (#2339): fix wasn't merged 819fc1b add 6.8 output d68cde2 rebindable9 is expect_broken(1537) de4ebe4 add 6.8 output 165a98b update output 6756184 add test from #2185 29797e3 Update output 0ffea46 Update rn.prog006 following Cabal changes 98462c0 Fix ghci024's test stanza We need to talk about the powerpc-apple-darwin platform rather than the powerpc_apple_darwin platform. Spotted by Claus / Thorkil. 188e282 .darcs-boring updates 93b549f Testsuite cleaning fixes 7af0003 Update .darcs-boring 146d84b More testsuite cleaning edec627 Clean empty directories as well as files bf6eb67 Tweak some tests: tell make to be quiet rather than ignoring all output aaffd29 Use extra_clean rather than clean This makes things more robust when running with threads 2bef773 Clean .std{out,err}.normalised e4569be Tweak whitespace 3c755c7 Fix ghcpkg04 9d484f7 Remove uses of clean_o_hi This makes the testsuite more resilient when using threads cbce68b More cleanup fixes 1db5bb2 Add a test that apparently made the typechecker loop (around Feb 08) 95e199e Test for Trac #2358 d8baa23 Update output aad2d3c Test for Trac 2378 ab9d5ab Test for Trac #2409 e164c37 Test Trac #2307 6eb9db8 Add a test tcfail202 for trac #2307 74106f1 Update outputs 8346d8f add test from #2317 aa96c28 add -ignore-dot-ghci fdbc137 Test for Trac #2414 0d31281 Test for Trac #2386 b1877b6 add another test for #1736, and mark pragma001/pragma002 as fixed in 6.9 e182cdb FIX BUILD f2f9067 Type families: clean up - RankN1 was a bogus test. There error didn't have anything to do with rank-n types, but was just due to an ambiguous signature. 85fcdd8 Types families: clean up, part 2 e86a1a4 Test cases for #1900 & #1999 3d451f4 remove .o and .hi files beforehand c1d3ccd add test for #1357 596927d add test for #1103 4c96813 update; *sigh* this test is so fragile af45af6 add tests for #1048 fa25624 fixes to this test da6cae4 add test for threadStatus 6bc071e update output c63d2de FIX boottestsuite build failure cd93166 Update ghci024 for PostfixOperators 80dfbe8 update output (line-length changes in pretty printer) 0eaa66e add test for #2302 415fe63 Type families: T2157 d4b09ea Type families: test for 1st half of #2203 efe5934 Type families: GADT instances for data families (#1968) 905cc55 Follow changes in GHC's build system 497e9f5 The hs-boot output has improved (although I'm not actually sure why) 0e69b83 Use the right ghc-pkg program 9b09753 Update output 06f2a00 Add a test for the WARNING pragma 30d1066 Update the driver200 test to use the new -opt-dep flag replacements ed52e56 Update output 89792c2 Add a test for unrecognised pragmas aec015c Build the timeout program with Cabal 1174775 We need to tell Cabal that WinCBindings is a module of the timeout program 72f3913 add tests for #2248 4ced8c7 use absolute path to ghc-pkg 0d6b8de windows-specific output for this test d5dd387 fix some tests on Windows 16ece0c fixes required after changes in #1205 ":load M" now complains if M.hs doesn't contain module M, but ':load M.hs' does not. This seems reasonable to me, but there's potential for confusion. I'm not sure how to improve the situation though. 0615141 Don't fail when cleaning if cabal-bin doesn't exist 86666c3 add test for #2388 68f9d22 Follow extensible exception changes 0b5f231 Update TH_runIO output f590043 Update output for break025 7b967ed Update ghci007 output 6e1b38c Make the exception tests use OldException, as that's what they test b9c1ef5 Give a type signature in the break024 test Avoids an ambiguous type variable with extensible extensions c8ebd6c Expect break011 and break024 to fail due to trac #2475 'debugger gives "Can't unify" when stopped at an exception' 99b6d94 Update TH_runIO output a52dd8d Change the timeout program to use exceptions properly We now don't eat any type of exception, e.g. the user pressing ^C fff26d8 Fix the arith011 test now that catchAny is gone c86fbff Update TH_runIO output (again) c4ff41d Test for Trac #2478 a47b664 Test Trac 2433 b8c4494 Test for Trac #1930 e88d44b Update ghci011 output b985cce Update output following the move of the Char definition 5417ce7 add test for #2452 5aea157 update output (-fimplicit-import-qualified) 939f87c Update output d1721c8 Line number information change only 1199146 Make the gadt-records test work even during fast validate 03e8e23 Test Trac #2486 8530988 Test Trac #2506 c9e7866 Test Trac #2494 abc0aac Add test for empty cases; update output for braces in HsCase printing 5e191ae Update output 15f4d15 Update output 04edc17 Add test for Trac #2490, follow output changes 76ae89a fix this test on Windows 273873d update these tests 09a57ff add test for #2491 5c95f54 add test for #2441, and stacking of package.confs 52d34f1 update f2c9b65 Add an Exceptions test from trac #2508 38dee26 Add a test for trac #2412 d036e96 Add a test for trac #2449 5ba2000 Add ghcpkg05 output 6386240 Skip ghci024 when fast This test is very fragile, and updating it is fiddly due to the auto-generation, so skip it when fast (and thus when validating). 052d05a countReaders001 now works on Windows 363e34d openFile005, openFile007, readFile001 now pass on Windows be256d0 Update Windows output for cabal01 018066e Fix the hReady001 test now that GHC's hReady behaves correctly 4256148 Don't skip readwrite002 on Windows any more We used to skip it because of trac #1198, but that is now fixed ee93e6e Skip num009 if fast, as it gives the wrong answer on some platforms bf9f384 Fix 1288 and 2276 Windows-only tests ca8f0ea add test for leakage of Control.Monad.Instances into Haskell 98 modules 904cef7 add test for #2330 26d2330 add Makefile for haskell98 test 7277a81 follow exception library changes 977497f Update output of explicit-forall failure 163365f Follow error messages for explicit-forall syntax 6b918b1 Simplify the driver a bit: Break skip_{if,unless}_tag down into smaller parts b30149e Remove GHC 6.8-only stuff from the testsuite cb59c5b Fix typos in the testsuite 4bcd936 Ooops, T1972 should be normal, not expect_fail e7ce4ce Fix conc036 0e55ad0 Fix test 1980 bf0e801 Make conc015(ghci) a bit slower, so that it works in ghci b34e57c Fix conc034 d281e54 omit profthreaded for conc039 (for the same reason we already omit threaded1 and threaded2) 417ecb1 Fix dynamic002 f8d87f2 fix enum01 4ca708b fix enum02 1824cbf Fix enum03 f61ba70 Fix list001 bb555e8 Fix num013 56e0bd2 qq005 and qq006 require parsec aced5e0 Fix recomp005 b002990 Update output for typecheck.prog001 56fe332 break017 is broken (trac #2475) 312c034 Fix tests following the st split-off frmo base 57c674a We now depend on concurrent (split off from base) b0f8f4f Fix some parallel testsuite problems 9d1f045 Fix tc170 in the parallel testsuite 87061e9 Fix rn043/rn044 problem with parallel testsuite 18cb779 Remove no_clean from the driver We don't use it any more, and it shouldn't be used as it effectively means that the test won't work in the parallel testsuite. 2c5e456 Fix TH_spliceE5 in the parallel testsuite 7a00383 Fix some tests: T2310, T2486, FD2 c48cc5e Add a test for "bad flag" errors a247dd6 add test for #2542, #1205 3f58cbc update output 47f9fbb Add test for Trac #2497, #2213, #2494 cb3a1f9 Test for Trac #2520 f6ef929 Test Trac #2538 ec68002 Track error message changes 7ae96d5 Update output to follow comments 38b973c Test for Trac #2529 77330f2 Fix the records test when running the testsuite in parallel mode a21e58f Fix mod127 in the parallel testsuite 4341431 Fix mod125 for the parallel testsuite acc6801 Make mod127 clean the right files 7a116d7 Add Ganesh's test for T1999 a678631 Follow error message changes 0aa0811 T1999 passes now (acccidentally I think), but T1999a still fails 04e03f8 follow library changes 009e563 Comment only b4aaf57 Replace 'pure' by 'arr' b9449db Test for Trac #470 aca31a1 Follow error messsage changes fb88dc5 Add rn067 test f37188d Fix a syntax error in an all.T file dc511e1 Add tests for hugs trac #46 and #48 bugs 26a7b15 2185 is broken in 2 ways: #2185, #2570 d27a67c Add a boilerplate Makefile 69f1070 reify is broken (trac #2572) 1e8e197 tcrun007 is broken (trac #2573) 45f1822 2317(threaded2) is broken (trac #2574). 25a3905 fromdos ghci024.py 2fc9b50 Update ghci024 output a80b936 fromdos ghci024.script 28bbdbb Make ghci024 a lot less fragile Now we grep for representative output, rather than trying to match all of it. bd0c96b Update dynamic002 output e25b5ce heapprof001(prof_hc_hb,prof_hr) is broken (trac #2576) d3b862d import Control.Monad.Instances in bytestring00{1,4,5} They need the Functor ((->) r) instance ba419b3 Rename an hGetBuf001 to avoid a name clash fee2872 Test T1470 is still broken aa6f6cd tc176 works now 6588cdc Test Trac 2572 a8901d3 Follow error message wibbles 653a711 T2572 needs RankNTypes e8edad9 Test Trac #2573 986c5e5 Eyeball test for Trac #2581 7de94fe Fix typo in T2573 c4b8670 #2533: Generic functions that take integral arguments should work the same way as their prelude counterparts 5f6e0eb Add a test for trac #1709 5030ab0 not broken any more 226402d heapprof001(prof_hc_hb,prof_hr) are now fixed (#2576) dfe9733 ghci024: add -ignore-dot-ghci 6a83fcc reify and tcrun007 have been fixed 6fc5cb0 test for #2469 cfa8489 test for #1548 97c77e7 Type families: Simple20: warning about loopy equality 5b6f72c Type families: harmless changes of error messages by new algo 92193af Type families: output wibble 9b9cd59 Type families & GADTs: fixed tests 4b7102f Type families: don't bleat about regressions with new solver 7863f4e Type families: fixed 4 regressions 67d50a4 remove spurious -fasm (causing failure for the unreg build) 38cf442 fix TH_spliceE5_prof b73f920 Type families: fixed many regressions of new solver 8901f37 update output b0a50e9 Test Trac #2604 0f6b7d5 Follow error message changes (Trac #2604) 254e7f2 remove some calls to the old 'breakpoint' combinator ae24120 Add a new test e19919e Accept output 1201388 Tickets #1995, #2475 are now fixed 868f36d print022 is failing atm, I don't know exactly why 0bf6738 T1470 now passes 0f743ee Give a bug number for the print022 failure, fixing a testsuite failure 701ad5f tcfail138 now works 001fd55 Fix test regex001 Needed to restrict the type of 'try' now that we have extensible exceptions e148167 Test Trac #2587 5592baa Add tests for Trac #2597 4fa6a8c Minor change in error message a94d60a add test for #2228 12e7ab8 make this test THREADS friendly e4f3af1 add tests for -XNewQualifiedOperators fca2709 add test for #2566, also enable driver100 which wasn't being run f575e92 accept output (Show Ratio changes, #1920) 5435175 add test for #2499 (package flags in OPTIONS pragmas) f24ff99 Update the ws-64 output for the arith011 test e2444f6 Fix the driver100 test 79d4646 Skip the new qualified operator syntax tests in 6.10 571a5b2 Add a test for ":i thisIsNotDefined" It used to make ghci exit 514276b Type families: test for decomposition problem 63731b1 Update ghci025 output 0c2d897 Add a test that the --help and --version flags behave properly 3677fe4 Fix conflicting_flags output f59cbaf Test Trac #303 4adfec7 Type families: another small tricky example of SPJ c7092e3 Improve the mode001 test 242af23 oops, we haven't been running tests from packages for goodness knows how long 20ed32a add test for #2295 (-outputdir) d407bd6 Fix the mode001 test on OS X 7738a0a we can observe the exception again in break011 f18c711 GADTs: T2040 8b05448 Type families: T2219 a45b302 Type families: fixed GivenCheckDecomp 2f5cacd Type families: T2627 056dabe Type families: Tricky GADT/RankN/TF example e911453 Type families: T2627b 80349a8 add test for #2594 3101e9e GADTs/TFs: Added T2151 & TF's Simple14 passes 0d3f062 TFs: Fixed InstContextNorm faf8601 add test for #2410 b970a26 Print out exceptions when cleaning tests c24feb8 TFs: Proper error message for GADT12 6b3d367 TFs: T2448 4d014cd tcfail145 error message improved, too d7cfe1f accept break017 output (seems to be correct), and enable it in validate 373460d add an extra delay to make this test a bit more robust 29e224e accept output (Show Ratio changes) 741a8f4 add IOList optimisation example 591d2e3 accept output, and enable cg026 in validate 21607c1 omit ways that run out of time 5bbdbfa TFs: T2291 a589f82 TFs: Test for repeated tvs in left-hand sides of instances ab724ea Tweak break017 db8f08c Add test for Trac #2632 f8d0b06 Comments only 5e36a28 TFs: Examples for Relaxed Conditions 86f1557 TFs: T2639 f44573e update output (Show Ratio changes) 0233f2a make this test more reliable, and enable threaded2 527d61b add test for #2589 3ab6cf6 add test for #2636 1f170c8 add test for #2685 573b215 Update test output 94ddca4 Wibble to output 4bf46ec Skip 2228 on Windows f051b21 T2688 f4b72c6 T2693 c9ad5dd Add test for data instances that are GADTs 1b37d96 Track error message change in deriving cff7590 Improved error message on data constructor return types 756b618 TFs: 7 tests fail as they used unsupported superclass equalities 881b85f Test Trac #2714 ddb2a3d skip conc069/conc070(ghci) if we have no threaded RTS c3c42c3 Test Trac #2700 259533d Test Trac #2701 259e668 Update output to follow improved error messages for fixity decls 5e4fb4f Test Trac #2713 fe5776b Test Trac #2723 5512c72 Test for existential record update (cf Trac #2595) ee2071f Skip bytestring00{1,4,5} (designed for an earlier version of bytestring) c9e3be7 Omit the profiling ways when running qq005 We'd need to jump through some hoops to run this test the profiling ways, due to the TH use, so for now we just omit them 46791db Skip qq005(hpc) in the 6.10 branch; trac #1779 b5e2abc Add -fno-method-sharing to eyeball/inline1.hs eb1f5f5 Track changes in naming of class dictionaries, coercions etc f419ba5 Expect T2723 to fail in 6.10 3ba4e33 TF_GADT fails in 6.10 8021669 Add 6.10 output for tests gadt11, tcfail155, tcfail176 6012478 We expect tc244 to fail in the 6.10 branch 3166a38 Add GHC 6.10 output for some tests e6166f1 Tests for Trac #2674 7ae888d Test annotations 0197184 Make ann01 not depend on linking order 1de9bc2 Follow improvements in type signatures 011e93b Test Trac #2735 975cb8e extra_clean for T2685 54bee08 extra_clean for rename.prog005 644090f Increase the requirements for the annotations tests from 6.9 to 6.11 d25ec98 Add some 6.10-specific test outputs d33dc99 add a DLL building test (#2745) 1223c38 Add a test that $( (\b -> [| b |]) True ) works 8ec61cd make it so that WAY=profthreaded works 3fff1f0 -package syb is required when linking now that array doesn't depend on syb 0af014d make this test a bit more robust 4bcebea add test for #2783 114a4e1 Follow changes in pragma error reporting. 83eafc4 Add a space leak test, and some infrastructure for checking space usage 1c3974e Don't show whitespace differences when diffing test results d558fdb Add some 6.10-specific output 94bdcb8 small fix to the space-leak testing framework 28c0fcf Test Trac #2799 9eef6f3 add test for #2740 aa54a46 Test Trac #2766 ffe6ae0 Update output to follow :t output formatting change 404c727 Test Trac #2756 709f9d6 Test Trac #2817 c66f537 Simple17 passes 29b0f4e Follow improved error message a4585b2 Clean .exe.manifest files 9a4ffa1 Remove INLINE for recursive function cc1a719 Mark break018 broken (#2845) 83ffee0 Add a test for trac #2847: Parsing OPTIONS_NO_SUCH_PRAGMA pragma 6a3cb69 Add a test that we ignore OPTIONS_HUGS pragmas b3b52ea add test for #2838 9052b85 FIX #1364: added tests for C finalizers. bd40af6 check for valid .prof files when profiling dafa937 test for #2592 51f05d5 Fix this test: it was using a C finalizer that called back into Haskell Which isn't allowed using the ordinary newForeignPtr any more, it has to be done with Foreign.Concurrent.newForeignPtr. a0f8b23 Make the testsuite work with the new build system b9e5a99 break018 is expected to pass again after the INLINE patch rollback 29a8632 fix typo 8647288 Add first test for GHC API features. 3a262a7 Test Trac #2901 14b6090 Track new quotes in error message ebccce1 Test Trac #2851, and update error message for other tests 15bb779 Test for empty type indices (Trac #2888) 151d911 Test Trac #2856 f793789 Use -XImpredicativeTypes instead of -fglasgow-exts 01c01d6 Track error message changes 3de678a Test Trac #2721 897361e Change in error messages 5e7a73c Add comments to a very tricky test 4248971 Test Trac #2756 03440ae add test for #2910; move #1980 into validate 45d6c04 Test Trac #2914 15a27e5 Consistently use GHC_PKG instead of GHC_PKG_INPLACE a2ab554 Remove uses of pwd in favour of abspath e6fc6a9 Remove uses of MKDIRHIER in favour of mkdir 2117cc2 Disentangle the testsuite from the compiler's build system d53431b Better error messages ce40b0d Actually define TEST_HC for the new build system 8b9081b Put the endif's in the right places 5c7ae61 Don't insist on python being in /usr/bin 476e8ef Check that make supports eval 13fef46 When checking programs exists, check prog.exe too b964175 Wibble error message to not confused vim's syntax highlighting 59b5ac4 Add a "show" target f192a25 Look for .exe when looking for the compiler, too cf21985 Fix timeout's clean target b4b5a57 Remove otu-of-date comments 3dc46ba Add clean and distclean targets 07008f0 Remove redundant CLEAN_FILES be7075b Remove target.mk 1207215 Tidy up the Makefile a024c99 Fix hGetLine001 a3b41b7 Fix hGetPosn001 on Windows 8c9ede9 Fix hIsEOF002 on Windows b78e008 Fix hReady001 on Windows 259224e Fix hSeek002 on Windows eed47c2 Fix hSeek003 on Windows 1366b7e Fix ioeGetErrorString001 on Windows c577cdf Fix ioeGetFileName001 on Windows 1a11db6 Fix ioeGetHandle001 on Windows 1751d7b Fix readwrite00[12] on Windows 2ddc5df Make ghciprog004 not rely on $(CC) being correctly defined 34b9c1c Fix rn.prog006 on Windows 9260ce1 Update tests following change to pretty printing Haddock comments 366f6e5 Fix test 2566 in the new build system b0edf85 Add a boot target, and tidy up the Makefile a bit 40d7f27 add boot target to the top-level Makefile; fix boot target in test.mk 87ffd67 mk/test.mk wibble 3e63f64 Tweak top-level Makefile 7c79231 Test Trac #2931 ffdda43 Follow error message change cfaecbd Test Trac #2944 0bb2b53 Don't fail "make clean" becaues GHC etc can't be found 080376c Move the Makefile changes around so they don't cause test failures Our "make clean" detection was causing problems for tests which had their own local clean target. e87b83a update output after changes to ghc-pkg a56435d Canonicalise paths in the testsuite 82de8ca Also canonicalise the install prefix for the timeout program 835cd33 Hack to find gcc for an in-place ghc 0eb5757 Add a GCC hack for the new build system too 293f8b6 Canonicalise the prefix used by test cabal01 6b267cc Normalises slashes in the ghcpkg03 and ghcpkg05 tests be6233f Fix setting the value of config.top 9c9e249 In older compilers, only try to remove the profthreaded way if it exists Otherwise the testsuite driver fails. c6b18fe Add a test for trac #2968: C trigraphs a8152ea Add a test TH_sections for trac #2956 b660643 A better test for whether we have profiling Sigh, another shell command. 1090738 T2723 now passes in the 6.10 branch 23a9002 Test Trac #2985 d0754c9 Add a test for trac #2937 80de94c Add a test for trac #2913 OldException's catch etc should treat new Exception types as DynException's b6a5e94 Tests for DeriveFunctor b75cabf Added tests for Foldable and Traversable deriving 144406f Track precedence parsing error messages a20c22b Test Trac #2993 326e8dd Follow error message changes 15c103f try to make this test more robust 7562713 Do not use System.Process on Posix systems We were using System.Process.Internals, which isn't safe in general. Also, when the child process dies with a signal, we now raise the same signal ourselves. 0694fc7 Add test for Trac #2994 e0de482 Update test results for the 6.10 branch 3b987be update expect_brokens to point to the right tickets 41a173c further fixes to this test 3a9f519 add LANGUAGE c51d6b9 hack to make this test work more often 57eae27 remove -debug; we already have debug and non-debug ways a5c9709 test the work-stealing deque implementation (rts/parallel/WSDeque.c) adb314c Test Trac #3017 1249a89 fix conc018(ghci) 3a49158 Accept saturating Float to Int conversion On SPARC and PPC, double2Int (2^33) does a saturating conversion which results in 2147483647. On i386 it gives -2147483648, but I'm declaring that broken. 1d6db5b Add a test for #3001 4830921 Add another test for trac #3001 2274041 add test for pointer alignment f1dff85 Accept output for changes due to "Do not print anything to stdout when stopping at a breakpoint with custom code" 785c2ea skip testwsdeque if ghc < 6.11 7074a4b Adapt test to use CharRep instead of StringRep deb0083 update output 9e84eb5 Test Trac #3057 681c11d Test Trac #3066 d682411 Add test for #3067: GHCi panics with 'initTc:LIE' while :stepping on code with funny types 7f53870 Fix a framework failure 5d85998 Add a test for trac #2962 080aad2 Add a test for trac #3066 3ec26f9 test alignment guarantees of Foreign.alloca de94089 add test for #2976 c1576eb add test for #2816 48f5fb3 3017 and 3057 fail in the 6.10 branch 723de8b add 'set -e' to catch errors properly f37ce42 unbreak ghcpkg02 d28fa12 enable ghcpkg02 in validate f17d238 Test Trac #3087 c4e36ba Add a test read068 for trac #3079 98b5f02 3087 is expected to fail in the 6.10 branch 5524bc6 Add test for Trac #3092; and follow error message change 51504db Test #3101 and track error message changes 27fe87a Test Trac #3095 0cb80c8 add test018a, a test for #3093 03e02fb Update expected output 83d5669 Enable all these tests for validate 57fca84 Template Haskell: two tests for type families fa0e334 Fix this test (myghc ==> ./myghc) cc4f1a9 Template Haskell: test for equality constraints 4264234 Avoid error message from some shells when cygpath does not exist 15ac71a Don't hardcode sh as the shell, use $(SHELL) instead 487573b Fix trac #3091: the driver was choking on python versions containing letters 9f2a36c Fix a Makefile 92852c7 Output of bits is different in the 6.10 branch In the 6.10 branch, show (toConstr 'A') == "A" while in the HEAD it is "'A'". c5102ac Add a Makefile 10129fe Expect genUpTo to fail in the 6.10 branch 562f339 length001 fails in the 6.10 branch b6ad9d7 Recent TH tests fail in the 6.10 branch f5b87c5 Add 6.10 branch output for rnfail048 efdc6da Fix a framework failure 9d720fb Fix apirecomp001 to work outside a GHC tree b932863 TH: test for pragma support 5334fa6 Template Haskell: Using kinds 4e3058d fix openFile003 on i386/solaris2 by providing appropriate stdout file e94c75a Add tests for Trac #246 and #3126 ac5afe0 Fix num012 on 32-bit platforms round and truncate are undefined if the result would be outside the range of the target type (#1254). 61292cb clean .eventlog files 7973f49 Disable these tests when profilng they would need extra magic, like the TH tests bf81cb8 TH_pragma fails in 6.10 6a0aeca Test Trac #3118 3d7512e Eyeball test for Trac #3116 248918e Test Trac #3106 bbde26b Define and use opts in simple_run in the driver b703efc Re-indent simple_run in the driver abf5514 Rewrite the result testing logic in simple_run 6ed0203 Improve the testsuite driver support for -t stats, and enhance space_leak_001 f432685 Define if_wordsize in the driver 2961830 Define if_not_platform d5999e7 Expand the space_leak expected results to work on more platforms 3836739 Add support for compiler -t stats b3335eb Add a compiler space usage test for trac #1969 a5fa38b Relax the peak_megabytes_allocated requirements for T1969 bc64f55 Update error messages 3eb5711 Test Trac #3155 f673f9c Tell Cabal where hsc2hs; fixes trac #3147 Patch from gwright. b3c9796 print022 does not fail anymore 78d4de7 Make test print022 a bit stronger f2392c6 add test for #3153 a6f45c4 accept output a730391 accept output (#2500 is fixed) b31adce accept output (#2500 is fixed) adb67b4 accept output 7492512 add test for #3166 e9b2dc5 Test Trac #3176 d1bc75c Use a bang pattern when we where/let-bind values with unlifted types 27bf63e Add a test for the first part of #2806 5dc393d Also test the other part of #2806 in tcfail203 89dab97 Tweak the driver so that 2566 passes in teh new build system b03663b Update ghcpkg02 for the new build system 6b920fb add test for 3171 (a test for Ctrl-C!) b917662 add some testing code for HEAP_ALLOCED(), so I don't lose it 8e2b588 add sample output 5fd289c Add an HPC variable, for the location of hpc a690b73 Tell the testsuite driver where hpc is 305292e Update test output, add NoMatchErr 0f727b7 Test Trac #3219 b861c92 Test Trac #1633 f814b72 Follow improvements in kind error messages 72c6f3d make maintainer-clean work 75f721d Add stderr for T1633 877f9c7 add test for #3207 bb1ba4a add test for #3236 66025ff add reqlib('packedstring') 7506f0d bump max bound for 64-bit 462e70c fix skipping of 3171 6ecb912 Fix copy/paste-o 27f97f9 Test Trac #3163 9a7d730 Test Trac #3221 6fcd889 Test Trac #3177 779dda9 Update output 8c4a11c Add a test that -Werror and defaulting warnings work properly e069de6 Add eye-ball test for eta expansion and state hack 6acba8a Test Trac #3013 1c37f73 Add -XDeriveFoldable, -XDeriveTraversable where necessary 5f2dc6e tcfail204 fails (#3261) b789b44 Track error message changes c3b0415 Track improvements in -ddump-splices 9795b63 tcfail204 works now that T3261 is fixed 4aa7d87 Comment only 21bfb8d Track error message changes e2c0678 add test for #3156 943716e Test Trac #3265 ee7de20 bump the threshold for T1969 on x86_64 again 8c86617 Add a test for trac #2806 507517f Update cabal01 output 227075c Use +RTS -V0 when looking at timing information This should make things more deterministic 943cd5c Only run T1969 the 'normal' way 1562b00 Add a test for foreign importing 'gamma' 7e39a73 Remove a comment that GHC_OPTIONS doesn't work in the unicode/1103 test and use OPTIONS_GHC instead of OPTIONS. 05a6511 Try and find a utf8 locale to use In other locales we get some test failures for some ghci unicode tests d4809bd recomp005: update output Two of the modules now get compiled in the opposite order 92f9e98 Add TypeOperators pragma to recomp006 modules 1b856da Look at whether we already have a UTF8 locale, before trying to find one This works around a problem on (old?) Fedora systems, where "locale -a" lists every locale that /might/ exist, rather than only those that /do/ exist. aca63cc Switch from foreign import ccall threadsafe to just safe The 'threadsafe' one is now deprecated. d55028c add test for pretty-printing of [x..y] f19331f Update and add new tests for the Unicode IO library 4bea5bb Add test for #2678 it's a generic test, so I named it after the operation rather than the ticket e8db2e4 add test for #3128 d4528e7 Adjust tcfail141 so it does not import int2Integer# from GHC.Prim Since we're about to remove that primop. Define a version locally (using undefined). It does not have to work since we only need it for its type. 27dd2c4 add test for #3279 and #3288 5d160bb add test for #3132 2095aa1 Don't hide the recomp002 commands when running the test by hand b6711b4 Handle Windows line endings in mk/boilerplate.mk 75e52f5 Handle end-of-line in a way that is also OSX-friendly d6f8abc Adjust for the changed location of gcdInt 1581746 update Windows output 7e8980c hTell001 and hTell002 now pass on Windows 078d4f8 Follow Integer library changes db3dbef make this test less sensitive to file descriptor numbers 66660a5 Test Trac #3262 674f39d Test Trac #3323 3dd7d37 Update output 73fad54 Add test for the new magic treatment of 'seq' in RULES 78c9130 add test for #3319 9437ddf accept output after fixes to FFI declaration pretty-printing be63ee3 Remove hacky GCC setting It isn't necessary now that Cabal can find gcc in the new layout, and it was taking a long time (2.5s on Windows every time you start up make in the testsuite) ef90a1d add readwrite003 (from bug #679) 79b7a9c TFs: nullary families are ok 376902e Track change in record syntax for GADTs 1055776 NonLinearSigErr is actually OK 7bacfb3 Track error message change ebd1736 Test Trac #3342 d09b00a Support for -fwarn-unused-do-bind and -fwarn-wrong-do-bind, as per #3263 dea6db8 Make changes to -fwarn-unused-do-bind and -fwarn-wrong-do-bind suggested by SPJ e7d536d Update cabal01 test for Cabal change 33ea1e2 TFs: T2677 996b809 Tests for unused imports 7703adb disable T3016(profc), gcc takes ages 411ee0e T3016: skip_if_fast, and omit optc too. 39428d8 TFs: fixed should_compile/Simple8 & wibbles 4a2bedf TFs: Added T2203b b29901d Add a test for #1792 333d197 Add a test for #1074 df3adad Test derived Foldable instance f7ad439 add utf8_bom codec f915d8c Update mode001 The earlier of --help and --version now determines the behaviour 835e060 accept output after changes to dfun naming da98c42 Add test for Trac #3346 623f3b7 Add a test for #3055 2723f3c Add a test for #1647 55976aa Test for Trac #3382 9bb8581 Test pattern-match overlap checking for GADTs f1beb47 tc215 works now that Trac #366 is done 94b85f4 Give us some more breathing room in T1969. 7ec428b accept output 03bb465 Follow Integer changes 059783d Use /usr/bin/env to find Python 5e8ff84 Tests for basic TupleSections 1a19250 Tests for unboxed tuple sections f7765c4 Tweak tests for unboxed tuple sections d31d495 Test standalone deriving for GADTs a9c1f57 Follow output f86adf0 fix broken test on Windows 6b871ea Follow output changes (braces in do-notation) 17cba8f Test Trac #3391 8ba8aee add -no-user-package-conf to GHC command lines 261a315 add --no-user-package-conf for ghc-pkg tests 87968d9 Test for make supporting abspath, and fail if it doesn't This fixes problems using GNU make 3.80. 401236e bump limits for T1969 again (it was failing on Windows) fb0080e 2816 is if_platform('i386-unknown-mingw32',expect_broken(3398)) 429e8b9 add test for atomic_inc()/atomic_dec() 91ec889 Update array test outputs 2c38552 Add a test for trac #789 6f54cb9 Remove the DiffArray tests They're now in the diffarray package 1e26522 fix tests after RTS tidyup 9b69276 remove deprecated -#include flag 9964748 Regression test for Trac #2395 d080e4a Test for group being a special_id when TransformListComp is on e44d60e Test Trac #2395 20bcf3d Test Trac #3395 e102f3a Trac change in Template Haskell errors bf510aa Add a test for #3303: multiline deprecated warnings 6129e89 Test Trac #3409 cb36d7d Add a test for #3007 403c8c2 add test for #3429 200e576 Add a test for trac #3286 bd69019 the remaining part of #1548 is now fixed 2663204 add test for an illegal C finalizer callback cefcb84 TFs: test cases for #2767 & #3208 482b6a9 TFs: T3418 6fb20da add threaded2_qw way, which is threaded2 with +RTS -qw 771ae24 accept output dacefa0 Update output 824b080 accept output 1b74da3 follow changes in the base package 17567c3 add the test from #3424 35c85b3 Track wording changes in error messages 337ccb6 Test Trac #3437 75a981a Test Trac #3371 a35144b Add a dynamic hello world test, that gets run during validate 88e3668 Use the dynamic way if we have a dynamic RTS 3adf1c5 Test Trac #3423 19054d3 Test Trac #2850 40abae8 TFs: T3220 6b33ba4 TFs: T3423 was missing -XFlexibleInstances 82d6d5b add extra_clean for T3286 d043132 Test Trac #3406 aea3f4d follow change in Cabal: package -> sourcePackageId bcd2e98 update ghc-pkg tests following the addition of installedPackageId 4f88d70 fix a bug: the sequence was incorrect, rather than incomplete 7924cfb follow changes from #3310 e3aed8a T3391: omit profc, profasm 0c2b9c0 Use a stable ordering of the export list 84e2e87 omit prof ways for ffi020 df8254d accept output 5e55ba3 omit various non-optimised ways for space_leak_001 f023ba3 tweak the values on x86-64/Linux (max_bytes_used improved) 43e7238 Test Trac #3468 d93e635 Test Trac #3403 e9925be add a test for package shadowing c0b7835 accept output 7893fd9 expect_broken(3498): unicode output doesn't work on Windows (yet) 69e6b24 Make this test a little more stable 38cfe22 update tests following package-related changes in GHC/ghc-pkg 0072a61 Add output for T3403 6bd6c19 Test Trac #3467 47a09b8 Add test for empty data declarations 0734672 Update output ad4e1fd Track changes in error message format (TH related) 8d571cb Follow TH changes 86fbc4a Test nested splices: TH_NestedSplices 80422a3 accept output 74ee94e make this test more robust, don't depend on the format of package.conf 053ac30 Update tests to not rely on -fglasgow-exts c3fbb44 Use +RTS -I0.1 -RTS for ghci tests Now that GHCi has a longer default idle GC time 79c292c remove -fglasgow-exts 5268346 update to not require -fglasgow-exts 0ea8608 add a test for the NCG space leak I found while looking at #3294 9326712 use "ghc-pkg init" to create databases, and update test output da0dd2b accept output 341de4f Fix runtests.py for Python 2.6.1 - This is the version of Python that comes with Snow Leopard 9e75b25 expand the test for shadowing to include overriding with -package-id 18781c8 add test for #2881 7363d20 arith008(dyn) and arith012(dyn) are expected failures on x86 ecbfc39 Tweak T2378 to not need syb 7152f59 Tweak T2394 to not need syb 444e35d Tweak T2573 to not need syb 3a50f4a T3087 need syb 6c97609 Move syb tests from the testsuite repo to the syb repo 65acd64 Tweak deriving-1935 to not need syb 8348016 drvrun022 needs syb 4d842e7 Tweak ds055 to not need syb 357b534 tc191 and tc220 need syb 9a0de32 Tweak tcfail163 to not need syb f851958 tweak acceptable limits for T3294 5159d0e wibbles to setting LC_ALL, trying to fix buildbot test failures c2dccc2 tweak the boundaries for T1969 (we got better) 9f357f3 Test Trac #3540 5891a00 Track error message changes 2548040 Update tests; ghc is a bit more consistent about flags 68b297b Tweak tcrun007 to not depend on syb 1f18c17 Fix #3551: conc0{69,70} should be skipped when -threaded is not available 7ef873b the threaded2 way tests event logging too 04edf89 Add a test for shadowing/overlapping packages with Cabal 1a74182 tidy up aca9884 Test -XExplicitForALl 1e358e5 tweak T1969 values on x86-64 14a2201 Remove old build system support from the testsuite makefiles 05867fa Drop "NEW_BUILD_SYSTEM_" prefix on Makefile variable names a8c6f7a Tell the testsuite driver about the bindisttest GHC location e93c500 T1074 needs mtl 94b2161 Fix the Windows detection in the testsuite Makefiles We need to look at "ghc +RTS --info", not "ghc --info". 7b96dcf ghc is "ghc.exe", not "ghc", on Windows 4144207 Fixes for paths containing spaces 47f234c Fixes for spaces in paths 04a8806 Switch back to a BIN_ROOT definition that works on all platforms provided there are no spaces in the path 52f1b64 Add some diagnostics to timeout b3c27bc Fix the config.timeout setting 501d458 Define BIN_ROOT in a way that works if the path contains spaces dd5802c Fix quoting in the testsuite timeout program's Makefile ca5006e add test program from #3561 3276f6f add test for #3579 6491132 might as well make the finalizer do a callback to make the test more interesting 0e6382a add a test for foreign import '&foo' with GHCi 77bd4d3 re-enable ffi005 with the non-portable bits removed 20bc50b Test Trac #3572 9cd66e6 Test Trac #3263 66dfea9 tcfail188 compiles fine, now that Trac #959 is fixed 365105d add classes of ways: prof_ways and threaded_ways 9c1047a omit prof ways for ffi005 b088f0f Test Trac #3600 b1e291d Adapt test to avoid uniquies 1e29f07 renamed prof_ways -> extra_prof_ways to avoid clash 4fb93d6 Test Trac #3591 bf79026 Add more quoting for paths with spaces 3bdc27c Fix more path quoting bcdf3c5 Quoting fix 3d3a306 Always use / to join paths; stops "make -C .\ clean" being misparsed 34c8493 Quoting fixes fa94d46 Normalise slashes 910fa59 Quoting fixes f4cf5ca More quoting fixes a138c04 Complete timeout.py's unix support 9967407 Always use the python timeout program on non-Windows Use a python timeout program, so that we don't have to worry about whether or not the compiler we're testing has built the timeout program correctly c6528f5 Test Trac #3590 5fb7e9e Update test so it does not use Control.Monad.Reader 40c0db6 Add missing stdout file for T3591 e743ac3 Update tests following deprecating mdo 2ef7693 Add test for 'rec' in do blocks 5a7ebf2 Track changes arising from improved location info in list comprehensions 28c7e2c Test Trac #3613, and track error message change e9b3d6c Don't use threads on Windows It seems to cause some sort of deadlock 959c5d4 Add undecidable instance test 6b8a32d Add stderr files for depreceated-mdo warnings d6cd3f2 Update tests for INLINE patch d859bd8 Add test for Trac #3621 457a780 Add -fno-warn-deprecated-flags to tests involving -XImpredicativeTypes 4cfd5f2 Track change in how LANGUAGE-pragma errors are reported c7756ea Only run T3294 if we have an NCG (#3548) 6dde0b3 add a test for single-stepping over getArgs 34341b5 add config.have_shared_libs 51f8bbe add test for #3604 (template-haskell + -dynamic) 8ef5a4f Add test for Trac #1735 3e8a6a2 Test Trac #3234 (foldr/single rule) dad7ae6 Add source file for T3234 88c8801 The bindisttest GHC is now always in the same directory We therefore don't have to try to work out if we are on Windows or not in order to find it. 7e2609cf Fix the code to append .exe to program paths 1514856 Fix quoting in the 3171 test 3fdf676 Track changes in duplicate/shadowed errors 8ddad5b Add test for Trac #3640 ee6fc80 Fix finding GHC on cygwin f0926d7 Track trace output b90ca73 add test for #3624 36a7d3e Fix setting of utf8 locale on Mac OS X 9704ea8 Add coercion test for PushC rule d8dd521 Rearrange perf-related tests 9791a7e add test for #3586 (newArray performance) fb845aa fix framework failure be052a2 Test for higher rank rules b0271b1 Accept wobbles in error messages c5374d2 Bump the ulimits for outofmem/outofmem2 They just started failing on x86-64/Linux here, no idea why. 58443a8 add missing files bbdeaf3 accept output a359e3b make this test do what it was supposed to do 1d792d0 accept output (for the time being) the test output has changed due to differences in the compiled code for GHC.IO.Exception.ioError. 0c5ca7c add a test for #3633 ee961e5 Tweak testsuite results for 6.12 branch 94d8c6d Make test 1959 tell us what's going on 50914a3 Fix test 1959 e337ffd Make test 1959 even more informative when run by hand 98ec6b9 Follow changes in ghci011 0fb72c5 Follow changes in tcfail073 90e9934 grab the target architecture from GHC, and add an if_arch() test 05a2f49 ffi005: run only the via-C way on x86 platforms due to 80-bit vs. 64-bit precision leading to floating point differences when using the native code generator. -fvia-C uses the -ffloat-store gcc sledgehammer to avoid this. a619390 add 32-bit output 2a11cb6 rtsflags001: run only the normal way ee0ed3e Follow column number changes in tcfail 67b07e7 Follow column number changes in parser/should_fail 0ec5c97 Follow column number changes in rename/should_fail 559d51c Follow column number changes in module 1c91021 Follow column number changes in deriving/should_fail ed1eba1 Follow column number changes in indexed-types/should_fail ad0eb81 Follow column number changes 8788566 Accept changes in break016 and break020 5f72509 Follow column number changes in the break016 script 59d18c3 Quoting fixes be0b079 Remove some @s from a Makefile 270545d Follow column number changes e85a253 Add some tests for error positions ecea053 Follow column number changes now that SrcLoc knows how tabs work 4549b9c Gather all tests at once, rather than doing them directory by directory This increases the parallelism possible, and allows us to track what progress we are making. ca10316 Print out how many tests we have done and the total when we run a test This isn't perfect, as it doesn't account for tests that will be skipped in the total. But that's hard to work out, as we might skip a test in only some ways and we currently don't work out which ways to run it until later, so I think this is good enough for now. cfe12f5 Make the driver/ tests declare themselves 'alone' individually This way we can fix them one by one 9ded076 Make driver011 parallelisable c5b9f68 Make driver012 parallelisable 0872866 Make driver013 parallelisable 7a7891e Make driver014 and driver015 parallelisable d3569a4 Make driver016 parallelisable 8acba77 Make driver017 parallelisable 82a0f95 Make driver018* parallelisable 441fda2 Make driver019 parallelisable 747d3c3 Make driver024 parallelisable bffaef9 Make driver021 parallelisable 725b0d7 Make driver022 and driver023 parallelisable 53e9fa3 Make driver024a parallelisable e2d56f8 Make driver025 parallelisable c7ea836 Make driver026 parallelisable db1b570 Make driver027 parallelisable 15a12a3 Make driver028 parallelisable bbc3331 Make driver031 parallelisable 6c5887a Make driver032 and driver033 parallelisable 20b46ed Make driver034 parallelisable f7088fc Make driver035 parallelisable 09bf0dd Make driver041 parallelisable bd41e1a Add some extra cleaning for driver033 ccff779 Make driver042 parallelisable c4fcb8d Make driver043 parallelisable 914ab5c Make driver044 parallelisable fd737a7 Make driver045 parallelisable 19b034b Make driver051 parallelisable f61f7eb Make driver052 parallelisable 568195a Make driver053 parallelisable f04a8f6 Make driver060 parallelisable c504e84 Make driver061* parallelisable 96c2a6a Make driver062* parallelisable 5601d78 Remove some unnecessary 'alone' calls 8f7adf7 Make more driver tests parallelisable dbe214a Make driver063 parallelisable 2717e12 Make driver080 parallelisable e385513 driver100 doesn't need to be run alone af52dc7 Make driver081* parallelisable 9e4e1e2 Remove now-unused cleanall function 3e683be Make 2566 parallelisable da386d2 Make driver200 parallelisable 73557b0 Make bug1465 use a local package.conf Eliminates random failures when it runs in parallel with other tests 6ba2f7a Make 1372 use a local package database Eliminates random failures when it's run in parallel with other tests f355745 Make more cabal tests run 'alone' 5d77309 ghcpkg01: Follow Cabal changes e0a6b89 Refactor the cabal03 test 85f014b Add a missing package-db flag from cabal03 3cb583d Tweak cabal03 test 0d9fc0a In cabal03, don't register --inplace This means it ignores the package database we tell it to use. Instead, do a normal register, but pass --force so it doesn't fail due to missing files. 657d5b5 Fix cabal03 46d7964 add a test for #3677 8029440 add a test for #414 b7cbd55 fix driver033 0125c53 Test Trac #3100 5d1f042 Add test for a loop in the simplifier c4a8f62 Accept output for break020 It now gets the columns right for the highlighting 4b1b243 Accept column change output in break021 44147c7 Add a test for the difference between the H98 and the alternative layout rules d110b0e Add another layout test 9e12080 Add another layout rule test 9fcf729 Add another layout test d9544b6 Add another layout test 44e336d Add another layout test 8282528 Test Trac #3012 b40cb71 Track error message changes for deriving edaee9f Add output for T3102 bd7a1a1 accept output 3354a33 accept output (column numbers) 2a6e1e0 Fix typos 3241528 Fix quoting, and add some sanity checking 67885b3 update expected value comments 6b0b198 add test for #3741 2f0432d add test for #3742 67a9cc8 use a smaller stack limit for conc012(ghci) 8b733de Decouple ghcpkg02 from the GHC build tree 3cca461 Tweak rule2 test and accept output The test now suppresses uniques to avoid spurious changes in the output 1776ed4 Accept output for T2486 51a66fc Tweak T3234 test and accept output The test now suppresses uniques to avoid spurious changes in the output fb17b35 Add test for type families, discovered by Roman 20c9800 Test Trac #3717 91abb98 Add test for applying specialisations inside InlineRules 0219870 Update output 3688af8 Remove a test for GHC < 6.11 d5d04c8 Allow tests to behave differently depending on whether the compiler is in-tree And skip testwsdeque if it is not in-tree, as we rely on some headers from the build tree. 0902adc Fix driver016,driver019,driver028 5a03565 Remove no-longer-used files e7841b8 Add pre-command support to the testsuite, and fix annrun01 by using it cc4a5ce Fix cleaning annrun01 1da0248 Remove debugging print d48cf60 Add clean_cmd to the testsuite, and use it in bug1465 8a7aa2f Remove unused clean_o_hi function db3898d Refactor the cleaning code c7b4f36 Add some more clean_cmd's 6436bdd Add you more clean_cmd's 3bd037a Fix broken python syntax af30b58 add test for #3751 4a23292 accept output (better SrcLocs for lexer errors) f2e474e Add test for Trac #3245 60cdd53 Test Trac #3776 942b156 Check for duplicate test names, and report them as framework failures 8ab1e20 Give more info in the testsuite output 93f98d2 Fix some test name collisions 017d8c7 Fix some test name collisions e2c5f15 Fix some test name collisions 645992e Fix some test naem collisions 58e9801 Fix some test name collisions 74a9a39 Fix some test name collisions 7ce623c typo 22a250d Fix a test name collision 49b5792 Fix some test name collisions 4abd32a Fix some test name collisions d79cce0 Fix quoting for the apirecomp001 test 7f09f0f Add some hsc2hs tests 5ddb795 T1969: drop lower bound for max_bytes_used on x86/Linux 698110d Add test for Trac #3772 808495a Accept output 4ca70ce Add test Trac #3731 e494e87 Complete test Trac #3772 a43304f Accept specialised function argument order change 511dd7d Test Trac #3792 c3d8979 Use "test -x" rather than "test -e"; fixes trac #3778 Solaris doesn't support -e 059a8ce Follow more-accurate spans in error messages 99307f8 Improved "Invalid type signature" message 28c78c6 Change debug print format eb38dc6 Add missing T3772_A.hs 0928752 Always define IN_TREE_COMPILER in mk/boilerplate.mk There was one path in which it was not being set. 0a71f99 Improve the handling of TEST_HC We now accept TEST_HC=ghc as well as TEST_HC=/usr/bin/ghc The code is also a little more correct, as it will now actually canonicalise the value of TEST_HC if it is given on the commandline. 8f2e6d2 fix cleaning in cabal03/cabal04 cec3a49 Add a layout rule test aea6134 Add a layout test fbf9318 Track error message change 25414b7 FIX #2615 (linker scripts in .so files) This is the regression test for FIX #2615 (linker scripts in .so files). 94c4723 Tweak the T2615 test 3cdc7ab OS X doesn't seem to support linker scripts 6ed70ce add test for #3832 b80c6b7 Add a test for #3823 0ebe481 Expect T3823 to fail to compile f565ffd Update column numbers for the HEAD 5ac3989 add test for #2464 41f0120 add test for #3674 58d1d3a Add tests for trac #3833 and #3834 3b4037c Update column numbers for the HEAD 10323c4 Add a test for trac #3813 07a7606 Test Trac #3831: SpecConstr blowup 547bbb8 accept output (#3848) cbf875e Fix test T3831, and change to Unix coding 6043629 Add quasi-quote test for declaration and type quotes ec07e1f New syntax for quasi-quotes, and record field names for QuasiQuoter type 1df10fb Fewer parens when printing HsPat 4ca2102 Test Trac #3845 6af7396 add test for #3676 adcdda6 add a test for a bug in noDuplicate# 04c3e51 enable the asm ways for ffi009 on i386 if -msse2 is available 178fb5e Add a test for recompilation when a package version changes 8628318 omit profilng ways 8ccbf64 omit via-C ways for this test, gcc takes too long 05965f6 disable annrun01(dyn) (see comments) 54901b8 expect_broken(3676) 34822e0 Add DPH quickhull test d69fc62 Add quickhull test output ed89767 arith012, arith008: use -msse2 on i386 if available f44926c Add DPH dotp test be68165 Prefix dph tests with 'dph-' to avoid name conflicts 4aa4c53 In dph-dotp, compare with result computed via regular list fns. 40c8c75 Add DPH primes test b7dbdfa Add DPH smvm test 3ac88b9 Add missing Makefiles 2e5fb1a Add DPH solution for 1st Euler problem 6f29f2e add test for GHC.Exts.traceEvent (#3874) 409e4d9 Add a test for #2578 53c283e Add DPH solution for 108th Euler problem 6e261fc Add x86_64 specific version of smvm test data 2e9ec62 Add sparc specific version of smvm test data 5756824 Track changes in pretty-printing of IfacePrag 5c8d037 Track extra suggestion in newtype deriving (cf Trac #3888) 942f9df omit profiling ways for traceEvent 53bed04 A missing change from the InlinePrag pretty-print change 8f8065d Add a layout test 564bc41 Update layout tests b8cad05 Add test for Trac #3901 9c0646e Add test for Trac #3899 a9e79fe Track change in -dsuppress-unique printing for TH a7900cf Track improvements in pretty-printing for group-by, order-by 192b291 Fix detection of whether we have profiling libs It broke when the installation path contained a space 27c239a Fix running hp2ps in a directory containing spaces e52a76d Add test for Trac #1954 286dc0a Track change in printing of Activations 5010397 Add some tortuous throwTo tests 8778f53 do the throwto tests in a validate run b75b809 Add a test for en/disabling RTS options 1046b79 Add a test for -with-rtsopts d1b4607 Always use -rtsopts when compiling things with GHC dfd88b8 Update the rtsOpts test now that RTS options are off by default 51a49ae Use -rtsopts for the outofmem2 test 62d5a1f Update rtsOpts output b30df6e Add dph-words test I've only set this to run with the "normal" way atm because it takes about 1.5 min to compile on my machine. SpecConstr blows out the size of the core program to about 400k, which is probably a good enough reason to have it in the testsuite. 21271c6 Add test for Trac #3920 4994bdf Accept change in inline pragma format 3b1aa30 The T2267 test needs utf8-string 7222ae7 Mark hsc2hs001 and hsc2hs002 broken on Windows (#3929) 9bf0034 Use the UTF8 codepage when running on Windows Fixes openTempFile001 for some system codepages, most notably 437 (US). 37a4380 2302 now passes on Windows, presumably due to the codepage change a464591 2816 now passes on Windows, presumably due to the codepage change 60fe941 Fix the cabal04 test on Windows 4a243ef dynHelloWorld currently fails on Windows; trac #3861 a18dec3 print021 now passes on Windows, presumably due to the codepage change 227af63 we should be testing $(TEST_HC), not simply 'ghc' c28bd0f update to work with parallel-2 bc6f62f not broken any more: the new Strategies library fixed it e2c3c22 Run this test the threaded2 way only It seems to be scheduling sensitive, and sometimes diverges when given only one core. 729c996 Fix running the testsuite on msys I'm not entirely sure if the cygwin code is actually right (i.e. I'm not sure what calling convention it uses), but it seems to work. c3b2f66 Use ${PYTHON} instead of relying on #!/usr/bin/env python 6fc2d9d Fix quoting in Makefile 52615c0 Tests for spelling correction for LANGUAGE pragmas 129c4bd Add test for Trac #3950 e6fd476 Add test for Trac #3943 12ba411 avoid spurious extra output bb9eb7f Remove -fno-code in various places These tests were relying on the old behaviour of -fno-code, and work just fine without it. b19322b TH_pragma: remove superfluous -S, which now breaks the test e40bba0 ffi002: work around dependence on old cmd line semantics f1fb386 Fix the ffi002 test fa6d8ee Make the dynlib tests work on Windows 690dd9b Fix the shared001 test 2532b9e Fix running dyn tests on OS X 829aed1 Updating expected output of spec-inline test. 4a57a00 Fix creation of Config.hs in annrun01; fixes #4033 4cdd699 test hGetBufSome 7971933 add test for #4030 5b93bb2 fix conc059 7f256c4 add a test for #3890 877d882 Test Trac #3955 068529d Tidy up tcfail145 a little 007a284 Accept output e7e3026 Modify test slightly 9a39fb5 Test Trac #4042 4e4f631 Modify test slightly fefe9f9 Fix quoting in mod175 27d71dc Make tc212 actually need a specialize pragma 39a6be6 add sample output 19b95dd Remove invalid UNPACK pragma f24c4ba add test for #4051 be4e8de add test for #4066 7e774f0 Add a test for #4059 8642827 Add a test for #4003 38c12b7 Add stderr file for T3953 54e9d20 Test Trac #3955 37a94b7 Test Trac #3965 b9779d2 Test Trac #3964 76230cf Add test for trac '3953 c43d15c add test for #4078 586fd40 update expected values for x86/Windows 3671bf3 update expected values for x86_64/Linux e1820f3 Move the ctypes import in the driver The import is failing on sparky, and we only use it on Windows anyway, so move it inside an "if windows". 1898f71 Fix the pkg02 test to not depend on the network package 4d6aba8 expand the shadow test a bit to cover #4072 310e46e Test Trac #3966 a0dafb9 Test Trac #4087 ed0350e Test Trac #4056 b8d3178 Test Trac #4015 c9a3f1a Accept output 2fb8e8c Add an indexed types performance test 335bc71 Remove duplicate T3955 test 01ca9e2 hGetBufSome comes from System.IO now. bf8c6c7 ffi005 is broken on OSX (#4105) c34aea9 Add a test for #3911 312c6d5 Update error messages for printing singleton contexts 904a077 Follow change in random library 15c61e0 Follow changes in ghc-pkg output 81854cf Fix apirecomp001 on cygwin f3ad3d5 Fix recomp007 on Windows f3c2c54 Fix quoting in recomp007 39fa440 Add a test for #4113 4761aff Fix T4113 on Windows ec93a15 Track changes to type error messages 21e1202 Test Trac #4127 a459e66 Use -fno-warn-deprecated-flags in the optc and profc ways as they use the -fvia-C flag, which is deprecated 27818a9 Add -fno-warn-deprecated-flags to tests that use -fvia-C / -C 5105596 Update following fixes for #4104 and #4134 504e4c0 add test for #4038 6fd4c3b Add a test for #3822 583faf7 trac #1789 (tests for missing import lists) 1f65432 More #1789 tests 9cc4bee Add new llvm ways (llvm, optllvm) to testsuite 5d6014f Fix quoting in TH_recompile 934a3a2 Add Windows output for ghcpkg03 5104d7d Add Windows output for ghcpkg05 e5f10d9 Fix 4038 test on Windows; it needs a larger C stack b4e91eb Add a test for #3389 17298c1 T3389 is broken fad0ed0 Add a test for #3449 2874642 For #3389, use -optP -C manually c2541cd Add a test for #3364 085798c Expect length001 to fail for llvm way. e73604d Omit optllvm way for derefnull test d809e13 add a test for #4144 35d96ef Skip some tests the optc/profc ways Rather than tweaking the GHC flags to get the test to pass, just skip them for the deprecated ways. This'll also make it easier to discover the workarounds and remove them once the ways are removed. 5489321 hReady002: omit ghci way f5c10be ghci script for trac #2362 1cd0ad3 cg003: remove -fvia-C 4f6d4e7 T1969, T3294: widen the limits on Windows e488e6b add/modify tests for new async exceptions API f6dd83c Test the second bug reported in Trac #4127 f6b121a Add a RelaxedPolyRec test 4f105dc Improve test 18fc100 Add test for Trac #4136 685565b Retab the dph .T files 0f427aa Run the dph tests alone They use a lot of RAM 5fe92ca lower bound for T3294 on x86_64/Linux 51e63f5 move to parallel package c6d49db add test for numSparks 9b08e17 Update error output 00f202f Add test for Trac #4188 b889b51 Add read065 stderr now that NewQualifiedOperators is deprecated 94a4fd1 fromdos ghci023.script 0fe295d Skip the dph tests when running the fast testsuite These 7 tests were taking almost half the testsuite time f28d39e tcfail126: accept output a505ee5 tcfail144 only fails in H98 mode f2d5eae Add a test for #4150 9c3988a Fix some tests now H2010 is the default a1e0ee6 The rebindable tests use NPlusKPatterns fbfbb2b Remove n+k pattern from readFail001 24a54db readFail035 assumes Haskell98 7d16f27 Remove n+k pattern from cgrun058 d7f3d04 ds020 uses NPlusKPatterns ec5aec4 Fix ds tests that use NPlusKPatterns ca2a198 Fix a couple more tests now H2010 is the default d691ed5 Fix the apirecomp001 test; it needs to flatten the flags now 033a505 Skip the via-C ways for read065 We get spurious failures due to deprecation messages ac0c554 Fix more tests now H2010 is default d390003 Tests for trac#1344 1087a6b Add a test for trac #4233 51b7e92 Add a test for #4239 cbff4bc Add a test for #4240 ce62d56 Update rtsOpts test 76e8805 Update output now ghci module-loading output goes to stdout 27d3d60 Remove some errmsg normalisation (removing paths from filenames) This wasn't needed, but was breaking "data/newtype" in an error message 4db47d8 Add a couple of tests for #3811 629c7c9 Add DoAndIfThenElse tests 6c9d25b Update output for error message changes 891b5aa update test output (compilation messages now go to stdout) e165d82 add test for #4221 96a5e89 Update output following parser error improvements b8260af Add more parse error tests for #3811 d452fed remove a non-deterministic part of the output 38ad732 add missing output files 2b9b807 T3822(ghci) is broken due to #1333 58f915d update output (Windows) 3c5d78b fix expected values (Windows) c24ca8c expect conc016(threaded2) to fail e2ce037 missed part of the patch to add #4221 test a68150b Test Trac #4220 d6260b6 Test Trac #4203 cc6fc94 Modify Trac #4233 tests 5b2aab2 Test Trac #469 d1e0ccc Add test for Trac #4099 ce0d148 Fix cabal01 so that it works even if your local package database is faulty 2ad9cc9 Accept output 6f3fc74 Test Trac #4120 2baf8aa Test Trac #3983 ccf2650 Test Trac #3959 60e4554 update output 34eb1bf make this test a little more robust e3d2e73 Add a test for #3807: shared library generation 42c675f T3807 can't be run on Windows, and fails on OS X (#4264) f454070 another attempt to make the test more robust ca9b704 Enable the optllvm way if llvmc is found f237fe9 Fix "/bin/sh: llvmc: command not found" noise when running testsuite This also made the "run_command $MAKE" tests fail, as they were also sending this to stderr. a229e80 Make a "fast" way for the dph tests so we can still run them during validate Setting -fno-rewrite-rules means we still test out the vectoriser, but don't spend ages optimising the generated core code. 6c0be53 update test for containers-0.4 e6585ca fix enum04 - it is no longer an expected failure 02e5168 remove enum04 06d42f0 add a test to catch over-allocation in lazy bytestrings 4aad487 Update output c40809d Add test from ghc-users mailing list about GADTs 61fef43 Update error messages for new typechecker e60303b Make tc159 (generalised newtype deriving) into a runnable test 6ed8697 Add a type signature in the test 3888ddc Add type signature for top-level error c774968 Comments only e3dc5c6 test wibbles cc76525 Add test for Trac #4235 035d2a9 Accept output 316afaf Update deriving test for type families/gadts 6a4eb29 More update to deriving a897ab8 Accept output d88b0b6 Accept changes 2bc6455 Comments 7b207cb More wibbles 109c5c0 GADT12 passes now 1897f97 Impredicative breakage 81c20b8 Cant unify under an implication 705152f Two expected breakages edf395e Can't do type-function equalities under forall bdb48a6 Comments only 95a2753 Accept error message change a8ad539 Expected breakages 46394ae Impredicative breakage 8bae12e tc216 fails now (fundep divergence) 83c60bb Accept output 762c286 simpl017 should fail (impredicative) d07507d Accept output 40f9546 Monster patch of testsuite changes with the new typechecker 80685f8 Update output c50f456 Add missing simpl017.stderr 7b5674c Add test for Trac #4302 26159e9 Test Trac #4306 322885c Accept changes (some tests now work) 636c986 Error message wibbles 9868542 Add comment c8bbc83 Add a syb-like test ce40c02 Add test for Trac #4246 1e920ad speedup testsuite driver startup on Windows/OSX Instead of calling "ghc-pkg list" and "ghc-pkg field" for each package, call "ghc-pkg dump" and grep the output. Saves a few seconds on Windows for 'make TEST=foo'. 51da30f Accept error message changes 131987a Test instance reification (Trac #1835) 9ca9712 Update for TH instance reification 3372095 Test for Trac #4240 works now 0cb1b0e Test Trac #4201 (eta reduction) 40b606f Test Trac #4093 bf66c30 Test Trac #3787 b953920 Test Trac #2683 96833f5 T3787 should pass df8ed7e Add tests for T3330 48d5e11 Add test for Trac #4160 168b8f1 Make these typechecker tests run in the optimised way too 1363ab4 Accept error message changes 625cb2e Add two implicit-parameter tests f658f05 Remove spurious "rm -f"s 081d7ce Add a test for #3972 bfe332e Add a test for #4325 f51d12b Trac #4235 works now ea7c3e2 Test Trac #3826 cb76676 Accept improved error message 0cd2b1d Add tests for Trac 4179, 4254 6042fbb Change in error message wording ed7913d Changed error message wording db327f6 Add test for Trac #3696 489f296 Test Trac #1123 5e9a571 Add tests for Trac #3851, 4200, 3692, 3500 e507a75 Tests for Trac #700, 2239 5520f79 when calling ghc-pkg for reqlib(), add --no-user-package-conf 3870919 Test Trac #4178 454f6d4 Accept test output 9b83aec Add four tests aed96e5 fix hClose002 test output on i386-solaris2 platform 25d812a Remove some handling for GHC < 6.9 82aa866 Remove a GHC < 6.11 test 27df8a6 Add an if_compiler_profiled helper and use it to skip the th, ghci and debugger tests when GHC is profiled. a5adc77 Remove a GHC < 6.11 test 0ff83b1 Remove a GHC < 6.11 test 71c1833 Remove a GHC < 6.11 test 9fd203a Skip some more tests when the compiler is profiled d1a5be8 Add a test for #4255: can't use TH with a profiled compiler 070a7cd Fix a couple of framework errors 76976e3 Test Trac #2193 3281a6d Impredicative types no longer deprecated 3587fff Update output: OPTIONS -> OPTIONS_GHC 75f975b Accept (better) output e43f7ed simplrun006, which is a CSE test is broken again 33c1db1 Add a test for #4321 26584c3 Fix reading the --info outputs on Windows 0acf7d1 add test for #4274 8b4be55 comment including ticket no. for #4274 test 0eff684 Pass OUTPUT_SUMMARY on to the testsuite driver 03985b3 run stdcall tests on non-Windows platforms too (#3336) 950116d accept output (:show packages) f8935df T4321: use -msse2 to get reproducible floating-point results on x86 6234e1d update output (-fwarn-tabs) 9994dad Test Trac #4371 b45feda Accept changes 08e0fa5 Accept error message changes b8e1444 Accept output 4355297 Add tests for Trac #4345 and #4361 b6c2bfe Accept output b66f64f Test Trac #4355 c54b384 Add mtl dependency for T4355 811690f Test Trac #4358 22535fa Update tests now -fglasgow-exts is deprecated 1ecb52f Remove more -fglasgow-exts uses from tests 27dc436 Add a MAkefile 7e19c45 Remove more -fglasgow-exts uses from tests bd5fdf0 Tweak tests 877b420 Fix cc004 93c94f6 Add -ignore-dot-ghci to a ghci test 41b7552 Add tests for interruptible FFI annotation d58ee91 fix expected output 5a1f810 add test for #4381 eabdad3 omit conc068(threaded2), it is non-deterministic 9b9226d need MagicHash 0e04e0b gadt2 needs ExplicitForall 5f0fb8f Nilsson needs ScopedTypeVariables a7bd8df accept output (InlPrag no longer has sat-args for NOINLINE) 5fa0704 Test Trac #1634 4bfa371 Add a test for -fno-ghci-sandbox 9268e0b Add a test for #4401 12bf683 Add a test for #4404 458c134 Add a test for #3651 4bb4c08 Replace the test for #3731 The old test was broken. The new one is from teh ticket, merged into one file and cut down. 4214797 FIX #4409 Now needs the NPlusKPatterns extension. f4f61e4 Fix dph-smvm, follows move to Data.Vector c749fcc Add a test for SCCs being correctly generated eb751c0 scc001 is broken (#4414) 654bac4 Test Trac #3023 2661597 Roll back bogus changes to debugger output d1a9147 Trac 3651 works c1eb4b0 Debugger improvements 3be5704 Test Trac #3023 and 4358 ee9fe3d Accept changes dcbba88 add HasKey test eb07a21 Accept output c2b61cd Accept output 306dd0d GHC 7.0 now rejects superclass equalities (rather than behaving inconsistently) a41da5a T3651 isn't in this directory! It's in gadt/ 73f2464 Update output f1564fa Add test for Trac #4418 b275026 add test for #4334 (space leak in Data.List.lines) 01d525a Add tests for view patterns in template haskell (Trac #2399) 27ec50d Test Trac #4398 eb699fb Follow warning message change 644e5d9 Add test for Trac #4356 34d3bca trac #836 tests 0d8e310 Use the RebindableSyntax flag, not NoImplicitPrelude 94651af Follow test output changes ede3466 Add a performance test for #3736 ee75b9e Add a performance test for #3738 b8dc00a Follow GHC.Bool/GHC.Types merge e7eda10 Add a performance test for #3064 585643f T3064 allocates less in the stable branch 2859077 Give break007 its own copy of Test3.hs It compiles it, so it can cause problems with other tests if it shares the same source, as they get confused by object files appearing and disappearing. 2470c32 Test Trac #3638 ac3877c Add tests for Trac #4436, #4439 7fc1604 Add a test for #4437 (check all the GHC extensions are registered with Cabal) 22c2038 add test for #1666 b1f70eb accept output (more warnings) c833fdc accept output (some re-ordering in error messages) e53cf24 Add method-sharing test fc898b0 Add a test for trac #4444 323c292 Add a test for #2846 9351cdf Follow change in typechecker error messages d7304d8 Comments only 845aff2 Add test for Trac #3440 2b6b2a7 Add a test for returning memory to the OS 5695c1a Add 'unless_os' testlib helper 5bbc839 Add a test for #4464: -rtsopts and dynamic libraries 15353f8 Add test for Trac #4492 a4d9a40 Test Trac #4484 be72302 Test "frozen" type errors 42a4a85 Follow error message changes with new typechecker cd9e8ad More LANGUAGE BangPatterns db74f97 Lower the bounds for T3064 GHC is now more efficient; hurrah! 71de40c Update 32-bit memory usage for T3064, following GHC space improvement f911d4b Add 32-bit memory usage figures for MethSharing 02ed46a Add 32-bit memory usage numbers for T3738 7d9eae0 Add a framework test for the package cache file being modified Tests shouldn't touch the compiler's package database 582f85a Use a local database for cabal01 b8033cc Test Trac #4494 ce026bc Add test for Trac #4485 e1d9ee1 Test Snoyman's emailed data family deriving program d6bc56c Test Trac #4174 4cba029 Add tests for deriving Typable on data families 850e09e Test Trac #4489 f53b2d9 Test Trac #4488 9497869 -fwarn-identities doesn't test for fromInteger and fromRational 5a37330 Improved warning 55fe19b Reworded error message, and slightly fewer -fwarn-lazy-unlifted-bindings warnings 1a3364b Test Trac #4498 a9535df Test Trac #4497 285414f Follow error message change (Trac #4499) 9a1b350 Fix 7.0-branch testsuite behaviour f93b31d Remove special results for old GHC versions 0b0e489 Remove old stdout/stderr files for old GHCs fc8ecf8 de-tab readFail027, and remove trailing whitespace 2a748a0 Add RelaxedLayout to T4437 ea89b3c Accept output for hist001 (#3165) 0d3d7bd update expected values c13ab31 Accept output 33d795c Allow a lower peak_megabytes_allocated value 808d4a1 NondecreasingIndentation tests 263e0f5 And and update RelaxedLayout tests d26caff add some Unicdoe to the hSeek/hTell test acf9517 update expected values ae959ec Add a test for reliable encoding errors 10f7cee add test for #4262 2538823 skip #4262, it doesn't give reliable results 998831a add test for #4373 4181ff3 Test Trac #4524 1a8269a Remove NewQualifiedOperators tests (extension no longer supported) f920dbf -XPArr is now -XParallelArrays 6acbb8a Test Trac #4814 014c745 Add a smaller test for recursive superclasses (T3731 simplified) 2919d9a add test for #4808 4313fb5 add a test for #4469 f8b27ad add test for #4813 9d677ee cope if the compiler doesn't tell us the "Global Package DB" ed49bfd add test for #4811 3b35693 Add some more files to be cleaned 8756fa1 Add a test for deprecated [$foo| ... |] quaosquote syntax 5ad66cf Add a test for #4478 f0517ea Add a test for Read/Show of Data.Fixed 11faa45 Update hist001: The GHCi debugger gives us better locations again 4d86087 -XPArr is now -XParallelArrays 79618a6 Add a test for #4007 00f7285 add test for #4383 bfa3ddf update results following fix in #4383 e80d269 Accept core ppr wibble f592af1 add a 'threaded1_ls' way, like threaded1 but with +RTS -ls 2623cba Add Test for Trac #4830 d742618 Test Trac #4534 bea95e3 4262 fails in the 7.0 branch 4b8bfc5 T4478 fails in the 7.0 branch 4a41098 Another, simple, superclass loop test 4907d7d Test Trac 4809 bdb71d4 Error message wibbles 7a46b8b Comments only 7e208ce HsExpr must be an instance of Typeable1 475e4b9 Add FlexibleInstances to tests that need it e89c96b Test Trac #4528, twice 4bc936e Wibbles to error message wording d9cb7a3 Test Trac #4816 06a820f Simplify test case a bit, and add comments 99e6b7b Widen the boundaries for T3064 The limits were very tight; my validate build went just over the allocs limit, while the nightly builds were falling under the lower bounds for peak memory use and residency. 2f94623 Test Trac #3484 ea3df4d Test Trac #3460 ce286f4 T3208b rightly rejects the program 520746f Test Trac #2664 3e23348 4813: remove -debug, it might not be available with certain ways (e.g. prof) 2916e39 add a test for -rtsopts=some (#3910) b1e58e2 add test for stack overflow/underflow with unboxed tuples 492f6ea Remove some redundant CPP checks 645388b Add the stderr for T3208b 8af0c1d Add GADTSyntax tests c9f4191 Cabal tests no longer need to be run 'alone' d49925d Add test for #4850 I couldn't reproduce the bug reliably, but I made a test that demonstrated the problem by creating more OS threads than it should have. ddd5e11 Update bytes allocated for space_leak_001 RTS was changed to calculate allocations more accurately 0489725 Update bytes allocated for T3738 RTS was changed to calculate allocations more accurately b543948 add test for #3837 ad56777 add an old ForeignPtr stress test I found in my tree d28cea1 mdofail004 now compiles c6a15cf Track changes in fuzzy-matching in error messages a60b0f8 Add FlexibleInstances 112cafa Track error message changes 1f23f5d Comments only 7d1e7d2 update values for T3738 on 32-bit 896b448 T4321: on x86, optc and profc are giving slightly different results c506729 update results following fix in #4383 1036d45 fix apirecomp001 following GHC API changes adb2c74 bump stack size for ioref001 0b6b9fb add a test for multiline do, GHCi #4316 38643f3 multiline command tests #4316 5c1bad1 add test for #4876 0cfcb53 Update test mod90 with the new error message. 0b7702d Test Trac #4875 2961f32 Test Trac #4870 a740ece Follow change in out-of-scope variable suggestions b1a7054 Follow improvement in kind-error message 2274617 Follow wibbles in conflicting-instance error messages 3f01f3b Test Trac #4801 ca15920 Test Trac #2722 0b00c6a Massive bunch of changes to track my massive refactoring to the typechecker 4ea571a Add a missing change 2d96883 Test Trac #2544 b704f0a Track changes to the finder's error messages 3b5c38f Track recent changes in error messages 6ccd658 add test for #4895 b03d50d T4488 fails in the 7.0 branch 0346540 Accept GHC 7.0 break024 output b63366f Add some 7.0 stderr's 1ffd496 Add 7.0 output for mdofail00* tests 82c8c4d DPH: update command line options of DPH tests 3a33a98 Test Trac #4917 73df3b6 Redundant case is now eliminated 698f822 Test Trac #4912 b8688dc Test Trac #4903 eb4c7e4 Test Trac #4918 6b18393 adjust values for 32-bit 5871d81 Better simlifier output following SpecConstr fix ea6cd21 Follow changes to optimised code after fixing Trac #4908 cec6e4d Fix bogus error message 20363fe Test Trac #4908 0491ff9 Test Trac #4930 df5a486 Test Trac #3169 cd30705 Test for strictness loss in FloatOut 3df4b6f 7.0 branch updates 68c06eb expect pass for length001(ghci) aa184f0 Update some renamer tests to not use the haskell98 package 96b4ce9 Remove the haskell98 dependency from some ghci tests 32bdc52 Remove the haskell98 dependency from some renamer fail tests d421a68 Remove the haskell98 dependency from the lib/IO tests 9ef0f42 Remove the haskell98 dependency of the module tests 8357812 Remove the haskell98 dependency from the deSugar/should_run tests 1e77e5b Remove the haskell98 dependency from the codeGen/should_run tests 3d7189f Remove the haskell98 dependency from the typecheck/should_fail tests 1cfe243 Remove haskell98 dependency from parser tests e17c468 Remove the haskell98 dependency from typecheck/should_compile tests 57ad42e Remove the haskell98 dependency from some lib tests d470a4c Fix the haskell98 test a7461b4 Remove the haskell98 dep from more lib tests f4738c9 Remove the haskell98 dependency from various tests 965ad7d Remove the haskell98 dependency from more tests fc6f449 #1333 is fixed now 9afb4d7 Remove the haskell98 dependency from the array tests f334a97 Remove concprog003's haskell98 dependency, and remove some unused imports b5c2c31 Remove the haskell98 dependency from full-testsuite tests 5a3b96a Test Trac #4935 2f2ebd3 Test Trac #4949 486294b Add tests for quasi-quoting unboxed values 83b1dbc Add a test for TH and unboxed tuples f8cd1a4 Add test for sizeofArray# and sizeofMutableArray# 6335532 accept output (unicode tables updated) c233512 Test Trac #4935 af6ebe5 Test Trac #4957 c872772 Fix testsuite on 7.0 branch ddb23e1 Test Trac #4966 5ea6c19 Follow error message wibbles db79f82 Error msg wibbles due to VECTORISE patch fec5524 Test Trac #4952 74497b2 Test Trac #4969 f94f4d9 Remove heapprof001's dependency on haskell98 0a57d44 tests for :script #1363 9ab6e6b Add a Makefile to ghci/prog011 3ceae5a Update T1789 output c5d2cbf Fix #5003, test 4038 (ghci) fails on OS X 64 bit. db5d6c7 Correct expected exit code on OS X 64; fixes #5046 35cf5ab Test 4808: Follow change in GHC.IO.FD.openFile definition e59c82b Remove the optc and profc ways -fvia-c is now a no-op e2a0f2a add test for GHC.Conc.allowInterrupt e65cb19 add test for #4441 28ee57c add tests for forkOn and threadCapability 2440c2d 1288, 2276 and 2276_ghci are broken on i386-apple-darwin (#5052) 054f6ed Mark some dph tests as broken (#5065) 41473ca Remove spaces from wc output in test 4850 Fixes the test on OS X 6bf44c4 Fix driver024a in git d42e6cb Fix driver062d in git f7af4f5 Fix driver062e in git bedeada Fix recomp003 in git 096e192 Unmark 1288, 2276 and 2286_ghc as broken now that #5052 is closed 30e4529 Add .gitignore file for testsuite dc34ea9 Remove any mention of optc/profc from all.T files b0deb74 Follow Cabal changes in ghcpkg01 4926f93 Merge branch 'master' of http://darcs.haskell.org/testsuite 0309610 Ticket #4404 is now fixed: update test f3f033b Add a test for #4891 3326f68 Add test for #4832 30e6a44 Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 692bfea Tests for trac #5025. 1729728 cope with multi-digit file descriptors (#5066) Thanks to altaic for the patch. 455b59b avoid undefined behaviour in arith005 f0411b5 T3064: lower the minimum peak_megabytes_allocated to 8 for 32-bit (currently 9) b788acf Remove -fvia-c tests c3a53d1 fix tests following changes to stub-file generation 02bd5ea Test that hPutArray/hGetArray use count argument: #4827 d0b0116 Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 63c13a7 Add a "sleep 1" (should fix #5080) 7404081 add some debugging traces 3cf2abc Merge branch 'trac_5025' of https://github.com/thoughtpolice/testsuite d364200 2228 no longer fails on MinGW due to isatty patch. d7f3038 Test case for CmmOpt inliner on non-single assignment code from new codegen. badbad3 Test for getProgName. 353e4db Merge remote branch 'origin/patch-4404' 54b357c Merge branch 'master' of http://darcs.haskell.org/testsuite 85e796a fix stub tests be09626 Add cgrun067, which can tickle premature stack slot reloading bugs. 5dcfb59 Fix T4891: Don't hardcode the patch to GHC 2efd47b add a test for #706 163a7ee Fix cgrun067 c36ee3d Add a boilerplate Makefile f0ff84d objc-hi is broken on 32bit OSX (#5106) 947f028 T4801: reduce memory use thresholds 8e8c3d5 RtsFlags.h has gone away (it was deprecated) 2f55ea0 objc-hi now passes on i386 Darwin 00440b5 test for #5114 8d151e1 Fix ffi022 on Windows 32507af Fix readFile001 on Windows ca3b93b Fix T4809 (depends on mtl); fixes #5121 db673d4 Add JMP_TBL fixup test. 8792fd6 Add a performance test for #2762 67b2af0 Add a test for #2902 4c1bca1 Replace simplrun006 with a less fragile perf test T149 e66ff25 Fix recomp008 when $(TEST_HC) contains spaces 440dddf Fix imports in HappyTest.hs 9f096bd Make T706 use -ignore-dot-ghci. fd44046 Test Trac #5041 7a6a7a3 Run GADT tests in optimisation mode too b534b27 Test Trac #5045 9ce49f6 Test Trac #5038 c958de1 Test Trac #5130 16fb7ae Test Trac #5126 6c32ee8 Add TEST_HC_OPTS to every Makefile invocation of TEST_HC cdd6afc skip T2615 on Solaris which does not support GNUish linker scripts 81525f9 Merge branch 'master' of http://darcs.haskell.org/testsuite dad1bf2 Test Trac #5113 27e2c65 Test Trac #5084 e54809c Adding test for #5120 6784081 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics d6b517d Add some pre-test-cleaning to rn.prog006 a07c8a4 Adapting the testsuite for the new generic deriving mechanism. f0f582e monad comprehensions: test suite 9544858 Pass TEST_HC_OPTS to Cabal tests 49f1874 Add print007.stderr 2ec3ee9 Accept error message output changes 30724a0 Modify tests, mostly adding -XTranformListComp 69cc9a5 Add some tests for the new generic deriving mechanism. 156cd39 Merge branch 'master' of http://darcs.haskell.org/testsuite 857405e Revert commits 53b30fac9fc30d9d85cc... and c8244f5cd31774de2e39... as they were not intended for master. 4163d2c Revert "Revert commits 53b30fac9fc30d9d85cc... and c8244f5cd31774de2e39... as they were not intended for master." dc4b013 Add expected output for these tests. 2288d81 Adapt outputs for the fact that the hasGenerics field is gone. 92af817 More tests for the new generic deriving mechanism. 8e967dc Add test for too many/few args in higher order situation 26ea1e8 Adapt the testsuite to the recent ghc-generics changes. 41ab7dc More adaptation of the testsuite to the ghc-generics changes. 56db641 Test Trac #5117 fd25485 Ignore more things in the testsuite ca32a1e Merge into monad-comp branch 9107d82 Follow error message changes d02b4bf Skip jmp_tbl test for llvm when -fPIC is unsupported. 26af053 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 26c4300 Merge branch 'master' of http://darcs.haskell.org/testsuite 0ad3cf3 Test Trac #4851 dabffee Test Trac #5168 4dae41e Track error message changes 77a7a22 Merge remote branch 'origin/master' into ghc-new-co 30f7ddb One more error message 412c310 Move tests out of h98; directory now removed f2ff83c Moved tests out of tests/libraries 2f5b50e Adapt the testsuite to the renaming of `Representable0` to `Generic`. 2672cde Rename the generics tests. Add a test for the deprecation of -XGenerics. 177ba82 add a test for #5149 2bc8e1a handle spaces in $(TEST_HC) properly 4a48544 update some 32-bit results (we got better!) c5cf3b3 Adapt to the improved error output. d779ff3 Track monad-comp error message changes 098aa6c Merge branch 'master' of http://darcs.haskell.org/testsuite c61d9a1 New coercion rep breaks 'T1999a' and 'termination' 8c37bcb Compiler is faster on T3064 5c166dd Fix comments in test a785d57 Merge branch 'ghc-new-co' 10810a9 Adapt testsuite output to the new deriving error messages. f15db4b Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics a2380e7 Add StandaloneDeriving d5b7764 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 32a173d Add -XDeriveDataTypeable 698c122 test Float properties too (#5178) aa78954 accept output 0a2730e Accept output for dynamic001 10ccac8 Fix annrun01; follow changes in GHC API c52ac8e - remove threaded2_qw way, the -qw flag has been a no-op for a while - add the threaded2_hT way, for testing +RTS -N -hT (#5127) - enable threaded2_hT for concprog002, to test for #5127 56215d5 Update syntax for records in GADT syntax 90dad59 Remove control-M 67417c3 Merge branch 'master' of http://darcs.haskell.org/testsuite 854f437 Small diagnostic print changes 40ea804 Trac #4370 is fixed, so all these work now 96780d4 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics e123a07 dos2unix on these two files. 45021cd Another test case to tickle a new codegen bug. d248787 massive_array: -dynamic not necessary. 9b48454 Tests for the PEP383 functionality and bugs it fixes aa404a6 Test #2245 e668209 Expanded .gitignore 2ad0384 Accept improved error message for ds022, following FloatingLit change 0edad9b Ignore files generated while running tests 71688f1 Mark num009 as expect_broken on OS X eeb5304 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 632d0a5 Update encoding002 given that we use private-use characters and //ROUNDTRIP 2e0e320 Avoid roundtripping characters in encoding001 ee549c6 More tests and wibbles in existing tests. 34480fe Merge branch 'master' of http://darcs.haskell.org/testsuite 9045999 Change to the 0xEF80..0xEFFF private-use range for //ROUNDTRIP 225af9b Adding -fcontext-stack flag option to SlowComp. Compiles in under a second now (fixes #5030) but needs large context stack. 971a81e Merge branch 'master' of http://darcs.haskell.org/testsuite 7896bd5 Add test for array copy/clone primops ab00ea4 Add stress test for array copy/clone primops 9027efb SlowComp needs a reqlib('mtl') 031d583 Merge branch 'master' of http://darcs.haskell.org/testsuite into ghc-generics 4dac997 Add a new test to test for a strange error when missing FlexibleContexts. 54241a3 test +RTS -G1 for the codeGen/should_run tests 6fd09bc Add "LANGUAGE DatatypeContexts" pragmas to some tcfail tests ee66f7e Add "LANGUAGE DatatypeContexts" pragmas to some tests 53a780b Remove datatype contexts from readFail001 2f1a43b Add "LANGUAGE DatatypeContexts" pragmas to some tests f7b96c0 ghci008: accept output: types no longer have datatype contexts 17d4776 Accept changed output for a couple ghc-pkg tests 539ddc1 add tibbe's perf regression test for #4978 569830c fix test following changes to inlining heuristics 150277e accept output 6141d75 Add filtering and accept output for ghcpkg01 ca81f39 Don't hide test commands when running make by hand 44f1597 Fix 3307 for people who don't have the en_US.UTF-8 locale 68999f6 Fix 3307 and environment001 35baa54 Merge remote branch 'origin/master' into ghc-generics 19f1816 Update tests for generics e266b3b Mark T3064, IndTypesPerf, and T4801 as expected-broken pending attention to Trac #5224 807f9c8 GShow fails for now (#5227) 58160c6 Always run cgrun068 e1448b9 Add test for new ghc mem* prim ops ba16431 fix cleanup for T4903 de57e6f IndTypesPerf and T4801 are temporarily unbroken (#5227) b81541b Remove an out-of-date comment 24f117b adjust values for T4801 on 32-bit a094f78 T4978 seems to allocate about as much on 32-bit as on 64-bit, so update the values. I'm not sure why this is - perhaps all the allocation is ByteArray# or something? I checked the Core and it looks reasonable. ad78df6 Adding test T5236 from Trac 3740b0a Mark GShow1 as "normal", since #5227 has been fixed. dc03ce4 Merge branch 'master' of http://darcs.haskell.org/testsuite c5734be Test Trac #5246 39f4bc6 Tweak test 3307 93d4133 Add some ASCII output to 3307 f20a7a2 3307 is broken on Windows (#5253) 2c4821b Ignore .tix files f5412ce Test Trac #5252 a0e01c6 Test Trac #2436 1d030fb Less UNPACKing in GHCi (Trac #5252) e6a4fb5 Ignore .stackdump files ba50519 Part of test for Trac #5252 cce849c Tweak UNPACK pramgma test aeaf958 Merge branch 'master' of http://darcs.haskell.org/testsuite 1ea5228 Test Trac #5211 b47643f Test Trac #5217 d19d3d4 Test case for canonicalization bug. 48757c1 Merge branch 'master' of http://darcs.haskell.org/testsuite 03e402f Add test for unrolling memcpy/memset in the x86 backend b23ecc8 Fix bug in mutlisrc compile not picking up compilation errors. 8428e08 Merge branch 'master' of http://darcs.haskell.org/testsuite bc0ab18 Show directories in testsuite summary; partially fixes #5024 a0799f1 Follow DatatypeContexts deprecation 993cfba Remove the tcrun007 test c22dc03 Update output for recomp007 eb6f5d3 Test 'gadt/termination' passes# f9d25f5 Test Trac #5037 0f97bbe When tests return 'fail', return a 'reason' too 0cebaf8 Print the reason tests fail in the testsuite summary (#5024) fcb48a1 Add a simple test for ticket #1595. 67eb92f Merge branch 'master' of http://darcs.haskell.org/testsuite 612c3b7 Merge branch 'master' of http://darcs.haskell.org/testsuite 075655b Add test for byte array copy primops 7c4d3ad Adapt DPH tests to recent changes in the DPH libraries. 8fefa25 Accidentally tracked some binaries. Now added them to '.gitignore. 6826e08 Fix up testsuite for SafeHaskell 5b2940f Test Trac #5051 81b8459 Comments, plus Unix file conventions ffcaf21 Accept error message changes after removal of silent superclass parameters 1409f85 Add tests for superclass equalities 11c398d InstEqContext and InstEqContext3 both pass now (superclass equalities work) f50237c Test Trac #3018 0da9cdb Semi-fix 4006 on msys cbc8f10 Expect 4006 to fail on msys 136cbdd Improve a comment f2a3fac Update Windows output for ghcpkg0[35] 53f7e4a Merge branch 'master' of dippy:c:/msys/1.0/home/ian/ghc/testsuite 8a1d083 Tweak environment001 1891f1f Fix dph-words. sliceP no wants its second argument to be the slice length. 8e1bed9 Merge branch 'master' of http://darcs.haskell.org/testsuite 3167d74 Merge branch 'master' of http://darcs.haskell.org/testsuite 5505d87 Fix 3307 on Windows 93f0a15 Turn the #5030 test into a performance test db26a24 Add a perf test for #5205 7efb2f6 Remove a commented out import af8a5a6 Fix tcrun006 and tcrun029 (they need DatatypeContexts) 78dd7f5 slightly reduce the lower bound for peak_megabytes_allocated for T4801, I saw one failure here. 1053d72 omit conc016(threaded2), it gives nondeterministic results 06d0dda Fix spurious failure in ghcpkg05 in the nightly build 5e5fa7a remove datatype context 3d99ee1 T3064 is no longer expected_broken(5224), and adjust the ranges (downwards) ed6f0d6 Another variant of hashStr, this one caught a Hoopl bug. 7040713 T3064, T3294: update 32-bit values (downwards) 116672b add a test for stack pointer alignment (see #5250) 075af95 Add .gitignore ee47972 Plugin tests fd12968 Add another test of home-package plugins 08b9bcc Add another home-package-plugin test 7d67222 Add expected-fail test showing plugin linking is faulty 5aab5ca Test Trac #5283 aac4335 Trac change in ids assigned by specialiser 3780ba1 Test Trac #1595 aa22ff2 Fix validate failures with more quoting d01c1c8 plugins01 fixes b56af6e Remove GenDeprecated test 95a3a25 Skip optllvm 44fcc0a remove optllvm from other_ways (it is already automatically added to run_ways, having it in other_ways just causes strange effects) 3a17ede Add test for #5129 a63069e Improvements to testsuite to allow more complex tests 5faed3b Add tests for Safe Haskell 0fbb62e Pass defaultLogAction to defaultErrorHandler in annrun01 895dc2f Rename T1595 because there is T1595 in typecheck/should_fail already 3e9cc50 Fix some issues with safe haskell tests 6cd7909 Clean .comp.stats files 85001ae Mark tests which depend on random afe452c Accept output for a few dph tests 8564b05 Update tests for new InterruptibleFFI extension 0f15c50 Add some more safe haskell tests ee7949b fix up existing Dynamic/Typeable tests and add a few more 53a6cc8 update following changes to tyConString c7dd6db add test for #5243 1dbfdf4 Fixes to safe haskell tests when run with THREAD 32d9610 Update safe haskell tests after removal of SafeLanguage f4ce3b2 Formatting wibble 948c82d More THREAD fixes to safe haskell tests e182041 Handle missing stderr files 0480136 TH doesn't work in a stage 1 compiler af63209 Make and use a req_interp helper d7b647a Remove used of python 2.5 feature 7f6a5a6 test for #5313 db53da3 Fix some (significant!) white space 10d09ea T3064 sometimes uses a little less memory 6da0343 Test Trac #5315 2d0540a Stop CheckA and CheckB sharing a source file c9d1b37 Test Trac #5300 3101c49 Accept wibble in core-syntax printing baf3b51 Merge branch 'master' of http://darcs.haskell.org/testsuite cc08997 Test Trac #5329 487c80b Fix a driver problem with older versions of python d6b1a57 Add a test for #5332 (unboxed singleton tuples and TH) 3019b1e When the output files differ, present the diffs between the *actual* output, not the normalised output. The latter may have newlines removed, making the diff unreadable. I broke this recently, but it was only working by accident, now it is working by design (and is commented, to boot). 6594600 fix 5313(threaded2) d1ae79f Add a test for #481 cc4d1ff fix 5313 when BINDIST=YES (need some quoting) fda1f8a Test Trac #5334, #5331 ae6129e Merge branch 'master' of http://darcs.haskell.org/testsuite 5296caf add test for #5314 ebd422a fix a bug in displaying diffs when there is no expected output 16514f2 Move tests from tests/ghc-regress/* to just tests/* 1b292eb Update some more files for ghc-regress removal 96de88d Remove old darcs file fd4250b Add tests for Safe Haskell Typeable instances feature 7f69762 Use mutlimod not '--make' in all.T 742978f Follow output wibbles de0fbd1 Add InterruptibleFFI extension 19ecb95 accept output bf4b825 T3064: widen the expected results again. 3cd7b40 Test Trac #5290 e499561 Fix dph-diophantine (#5065) 1c40062 Test Trac #5303 b4c7862 Monir tweaks to annrun01 da1938c dph-diophantine-opt fails for the same reason as dph-diophantine-fast (#5065) 8b7e253 Accept plugins04 output 8b9fffb Test Trac #5287 e5cda42 Merge branch 'master' of http://darcs.haskell.org/testsuite 1bcd34c Improved error report 53bccbb Ooops, I messed up the stderr file for T5287; this fixes it 4f52ee4 Add a test for Integer constant folding d8b3d62 Accept EvalTest output (change of whitespace) f42770d Merge branch 'master' of http://darcs.haskell.org/testsuite fcaa1f5 Test unresolved infix expressions and patterns 006e534 Slightly reduced compiler allocation in T3294 c25980f Different order of -ddump-simpl definitions 9d79948 Simplify TH_unresolvedInfix2 cb692c5 Test Trac #5342 55271bc Track error changes resulting from fix to #5281 31675c9 Test Trac #5281 171846e Tiny increase in compiler allocation 04a19ff Error message wibbles b01ecfd Mark plugins06 as passing (using reinitiliazeGlobals) 2752726 Error message wibble (fixes #5351) f79861d Merge branch 'master' of http://darcs.haskell.org/testsuite b65f16d Fix integerConstantFolding on 32bit platforms 4e05b61 Whitespace only 87a5ef5 Error message changes due to pretty-printing of provenances 1aa636c Error message wibbles due to reordering constraints (the DPH problem) c99860f Simplified API for GHC.setContext 3c63183 Merge branch 'master' of http://darcs.haskell.org/testsuite c10e3ff Improved error message 41e5e78 Tiny increase in allocation for T3064 3eb85d3 Test Trac #5359 619d8d8 Test Trac #5358 8632b53 Test Trac #5306 6dee925 Test Trac #5362 132f398 Merge branch 'master' of http://darcs.haskell.org/testsuite 299e4d0 Spelling suggestion has changed cb37643 Unique-name wibbles in SpecConstr 085a89b Different order in generated export list 53e07d8 Test Trac #5147 2059d2d Add a test for #481 8b5a1b8 support globbing in extra_clean([...]) 24f1eaa add a test for #5289, and various other GHCi linking scenarios 81c3aea Fix a framework failure on Windows when accepting output, and allow accepting output when the output file does not exist (it is now created). 42b2df8 bump alloc limit for T3064 6e86ac1 Dot-ghci needs to be ignored. d7bc712 Remove recomp009 from tests/ghc-regress/driver, it's now in tests/driver d6a1379 We now need DebuggerUtils for dataConInfoPtrToName 9cdff2b Test Trac #5372 b6d68d1 Merge branch 'master' of http://darcs.haskell.org/testsuite 6339c4d Test Trac #5095 25d4863 fix an unexpected pass a55eca9 add some more reqlib('random')s 39828a2 Test 5250 is an expected failure for optllvm due to #4211 5042c0c Don't specify -fasm in massive_array.hs 7a2c3db Fix test 5149 on an unreg compiler a7ae775 Disable outofmem for OS X 995b512 Fix remaining test failures on OS X/x86_64 8e76f04 add a perf test for the parser/lexer 84a7666 Bump 32-bit allocation limit for T3064 b1b2433 Accept error message changes f53c388 Merge branch 'master' of http://darcs.haskell.org/testsuite fa3fb70 Test Trac #5379 e252030 Accept output (one more for #5379) 5b5294f Testcase for objective-c++ compilation (trac #5150) 6f663a6 Move objcpp-hi files out of ghc-regress/ 7b04db1 Add extra cleaning a57f8a3 Rename files and fix cleaning for GEq1 974c629 Add more cleaning 5f12b5e Add support for checking whether files are written by more than one test 5348e23 Test Trac #5385 1c4413d Merge branch 'master' of http://darcs.haskell.org/testsuite 424174d Accept error message wibble a012b78 remove duplicate test (driver/recomp009 is the same test, from #481) 9eac5df Fix race condition with SafeLang15 120d266 Fix silly mistake with SafeLang15 3d6dcea Use True/False rather than 1/0 for opts.alone 9d561c3 Fix up Safe Haskell tests for recent ghc changes. 3d6d967 Update ghcpkg01 for changes to safe haskell 2d7de12 Add test for #5402 8d0d8a2 adjust 32-bit stats for parsing001 b86d227 Tests for Trac #5404 and #5410 f8638de Partial fix to a test-framework crash affecting #5313 ea991e6 Merge branch 'master' of http://darcs.haskell.org/testsuite 7020145 Accept changed output (resulting from fix to #5410) 5bf960e Test Trac #1897 57e41d9 Test Trac #5032 ad68e98 tc168 is supposed to fail with an ambiguity check e5680cb Error message change 07f62bf Add some new code to T2693 abb92c1 Remove ambiguous defn (now rightly rejected) from T3346 94c2f39 Test Trac #2357 52cc4e1 Add missing stderr files 7389faf Add test for popCnt# primop 53ba351 dph/quickhull: Import vectorised Double d1dc7d4 .gitignore 3a9794b Fix Python crash caused by quoting problem in test for #5313 c6a646d Add debugllvm target d278292 Formatting fixes c667ee4 Accept output changes (related to patch for #5417) dd4e4a1 Merge branch 'master' of http://darcs.haskell.org/testsuite e8f0225 Test Trac #5417 c19deeb Wibbles to accommodate TH changes (Trac #4429, #5406) 0f02c58 Accept benign changes to stderr after removing a hack in the type checker that affects dictionary order 95de2a5 Merge /Users/benl/devel/testsuite/roldugin/testsuite f7c13b6 Merge branch 'master' of http://darcs.haskell.org/testsuite 8167ff3 Follow ghc-prim changes 1c1f2d1 accept output db73d0e Fix incorrect test 6d43f0f Accept error message wibbles b7aa8a8 Update error messages; and SimpleFail10 now passes dee226c Test #4429, #5406 b38eae1 Add a test for ":show imports" 1a7ee66 add a test for #4988 8be4a04 accept the correct output 9c1c2ef Merge branch 'master' of http://darcs.haskell.org/testsuite 8af2f36 Test Trac #5439 7ef9f22 Fix some more race issues with safe tests. 7814e7b Improve the check-files-written testsuite driver functionality d45fc36 Remove ^Ms from ghci025.script 8dd8177 Stop ghci025 sharing files with prog001 e8f1741 Tweak the outofmem and outofmem2 tests 19bb5ca Stop BadImport03 using BadImport02's sources c427e93 Check explicitly for writes to ghci_history e29b6d5 Use -fno-ghci-history when running tests d947d38 Test Trac #5434 and #5452 12c8daf Error message wibbles ef943d8 Don't use qualified names in in binding positions c5fd250 Merge branch 'master' of http://darcs.haskell.org/testsuite b4b59ca Error message wibbles 06127a2 Change test, now that imported data families don't get implicitly exported b336462 Test Trac #5424 deeceec Trailing Whitespace 2371c5b Fixed imports 32761ba Improve the check-files-written testsuite driver code 53be4ed Improve check-files-written mode 97d7cd9 Tweak the shadow test 20450f6 Fix some written-but-not-cleaned files 31afed7 Fix some more written-but-not-cleaned files 6d22763 Fix some more written-but-not-cleaned files ce76f53 Tweak openFile003 c76825a Use ReadMode in finalization001 a6bef02 Whitespace only in encoding001.hs 41adf38 Fix some more written-but-not-cleaned files cb41ea3 Test Trac #5453 9ca6350 Test Trac #5458 35d7722 Merge branch 'master' of http://darcs.haskell.org/testsuite c5aa25e Whitespace only 4346c12 Fix typo (TT5458 -> T5458) a305d0d Test Trac #5455 a6c3734 Reduce context stack max depth, to avoid validate running out of memory a6b7bb8 Wibbles for Trac #5455 test e9fab19 Fix some more written-but-not-cleaned files 04fd366 Fix some more written-but-not-cleaned files 3ff21bd Don't clean tests that we aren't running 1ba832e Fix some more written-but-not-cleaned files in driver/ 83db11b Fix some more written-but-not-cleaned files aa65815 Add a Makefile 89f34a4 Fix some more written-but-not-cleaned files 877dc99 Fix some more written-but-not-cleaned files 12850c1 Fix some more written-but-not-cleaned files 49eee08 Clean more in the plugin tests 84cf6cd Clean more stuff in the safeHaskell tests 8b5a2b4 Test the ConstraintKind extension and related changes 400842c Test abstracting over a type variable of kind Constraint f92f720 Make the test nicer, now that associated types can mention type variables not in the class faa2503 ConstraintKind -> ConstraintKinds 0074dc0 Test Trac #5441 eaf6a58 Test associated type defaults 3723ffd Merge branch 'master' of http://darcs.haskell.org/testsuite 0d963be Accept increase in T3294 allocation 9857fca Tweak tcrun043 to test constraint tuple codegen 09af1e9 Merge branch 'no-pred-ty' 02a0b7d Bump T3294 a bit higher again due to high variance 9a3d824 Test irreducible-evidence self-interactive d7114e7 Test #5481 c46faf3 Add a test for #3103 7a10aeb Add a test for #3743 0b378db Fix arith013 following integer-gmp changes 3c4cbdf Tweak EvalTest to be less sensitive to whitespace changes 40801ee Test Trac #3592 06d452d Test Trac #5478 54ced85 Accept error message change a3661c6 Improved debugger output bc0183f Test Trac #5490 1170912 Merge branch 'master' of http://darcs.haskell.org/testsuite 84f98e1 Add a test for Integer literals in interface files a6dc8a8 T4239 now passes 06d637b Update T4801 bounds eaae2a0 Add missing file cf37945 Rejig how performance test stats are stored 2a24c3c Add amd64/OS X specific stats to the T4801 test b4d3426 Merge branch 'master' of mac:ghc/git/val64/testsuite 0ce6b6c Test cases for GHCi data, class, etc. 30a698d add test for a bug with :force 52fd56a update error messages e3e2bab bump max_bytes_used for T3294 0224b80 Remove quotes from echo'd comments in GHCi script 0a9c183 Fix #5436 by using 'recover' on handle EOF 8c428d7 Revert "Remove quotes from echo'd comments in GHCi script" dddb294 Merge branch 'master' of http://darcs.haskell.org/testsuite 767c1b7 Attempt to fix decodingerror002 test for non-UTF8 locales 9f70e96 Don't use "with lock" syntax in the driver c9e94c5 Test some more Integer constant foldings 83e34c3 Fix ghci038 on Windows 8051c69 Tell python to let us use the "with X:" syntax cec1859 Update test output following change to associated type synonym default kind-checking time 7139942 Add test that caused <> before fix to associated type defaults 25d6a04 Fix decodingerror002 on Windows 11152ac Make T4437 more thorough, and update it f8e0e9e Add tests for NoTraditionalRecordSyntax 6421302 Wibbles to error messages following fix to Outputable.quotes 670796e Test Trac #5515 2f9ee36 T5481 should jolly well fail 4512ca1 Test Trac #5513 50029f6 Accept error message wibble b34aa2c Test Trac #5508 94e4202 Test Trac #5514 0cbfe0b Add test case for #5204. e54ec3b Add a test for #5430 9d11154 Add some tests for handling of FFI types 8a051fc Add a test for newtypes and the FFI 1e3708f Add another case to cc015 f1b395c Add a couple more cases to ccfail004 c9a0347 More cc015 cases 59694a7 Add a test for types of GHC FFI primitive imports a374bf9 Add a test highlighting a messy case for FFI type errors a40f26b Accept type error message changes b80cc02 Add a test for dynCompileExpr a434963 Tweak ghci032 1d39571 Driver: define config.libdir for tests to use 7f1d4e7 Run the dynCompileExpr test all ways eb9accf add a test for foreign imports in GHCi 81c3b71 Update perf bounds for OS X x86 8ae3201 Fix #4264 on OS X 809f807 Add a test for the output of -ddump-deriv. 41cfaef Add a test for #5373 (-rtsopts, dynamic libs and OSX / Windows) feacf3d add test for #5425 18a64d1 make the test fail if the sleep doesn't get interrupted (#5471) ae94844 Improve test T5373 610c0e6 Merge branch 'master' of mac:ghc/git/val32/testsuite 001455a Have multi[src,mod] test ways clean up after themselves. 57938f3 Merge branch 'master' of http://darcs.haskell.org/testsuite 6a58730 Whitespace only in cgrun044.hs 35d2c75 Fix some tests following the removal of Num's superclasses c5eed72 Reduce T4801 bounds on amd64/Linux b214e7a Fix more tests following the removal of Num's superclasses 219eee6 Merge branch 'master' of mac:ghc/git/val32/testsuite 2957cfc Follow removal of Eq and Show superclasses from Num 29caf2a update tests for safe haskell changes cca85ff Change Safe Haskell tests for new -fpackage-trust flag 67918f7 add test for #5545 d5520d6 use "-osuf p.o" instead of "-osuf p_o", to test #5554 f2f3b14 Catch any uncaught exceptions in test_common_work 2ce702e Get rid of the multisrc* test types 73ab436 generalise cmd_prefix to a general function to transform the command 9d9682f add a test for #5558 c0ac40a Merge branch 'master' of http://darcs.haskell.org/testsuite 766e211 Fix passing spaces to tests on Windows, and add a test for it c6b31a8 Simplify the 5313 test definition bf137ad add missing file 0d26f73 follow removal of RunFailed in the GHC API 4cee410 disable profilng ways (GHC cannot interpret code with profiling) e52d58c strip away quotes in the argument, hack to fix 5313(ghci) 33943b9 Merge branch 'master' of http://darcs.haskell.org/testsuite 43fe693 Revert "strip away quotes in the argument, hack to fix 5313(ghci)" 06d7440 Test for misplaced SPECIALISE instance signature e1bd906 Fix T5331; it had a misplaced signature dcd2f02 Test Trac #5533 13b8cc9 Test Trac #5557 bbb1ddc Wibble to error message 67572e2 Test Trac #5549 eb2b012 Test Trac #5570 1d81b32 Merge branch 'master' of http://darcs.haskell.org/testsuite 5830f5e Add new tests for relaxed superclass cycle check 1da8a36 Fix old tests for new superclass cycle error message 6f362e3 Test Trac #5573 ee02ab5 Test Trac #5566 0eab81b Fix spacesInArgs(ghci). trac #5575 0983386 Merge branch 'master' of http://darcs.haskell.org/testsuite 398ef53 Improved error meesage b85ba42 Accept better perf on Windows b31e49e Accept improved stats in T4801 5695b73 Add test for T5581 c38bbab test for #5564 93cd698 fix test wrapper for 5558 2eb3bf1 Add a couple of hsc2hs tests 29ac850 Test :kind and :kind! commands c7dd812 Merge branch 'master' of http://darcs.haskell.org/testsuite b3a3065 Merge branch 'master' of http://darcs.haskell.org/testsuite 4bc68c3 Merge branch 'master' of http://darcs.haskell.org/testsuite adde3f6 Update T4801 bounds for x86 (based on OS X values) f4226ea Merge branch 'master' of mac:ghc/git/val32/testsuite a4a8a28 The hsc2hs tests now pass on Windows, and 3929 is closed ed0bb9b Modify and add a bunch of new tests for Safe Haskell changes ac8c632 Add more Safe Haskell tests for new design 5c466ca More fixes to Safe Haskell test for design changes 2274cbd More updates to Safe Haskell tests 30c94d2 Remove cabal02 17956f1 Fix test T5373 for +RTS/rtsopts changes 8ece5ce Test for #5589. 41b7d05 Test Trac #5592 3cb0621 Test 5250 works on LLVM now. 8509603 Merge branch 'master' of http://darcs.haskell.org/testsuite 275a841 make cg057 compile 5a43b03 profasm does not require the NCG any more 4209133 add an unoptimised profiled way ('prof') d12a8bd code for comparing profile outputs 200325f some more profiling tests 12d9170 print032 is not broken any more 064fc4f accept (better) output fd896fd Add test for a bug in the byte code generator 9f99065 follow changes in Core: Note -> Tick ea7a161 Update GenDerivOutput output e8deec5 Add a test for #5603 07e311d Don't give normalised diff output 9caf805 Add a test for #5380 5c117b6 Add a test for #5267 00ca8c3 Add a test for TH's qAddDependentFile fd5a345 Add a test for trac #5423 5ae42c5 only add -fno-ghci-history if GHC >= 7.3 d6a5995 test for #5421 be88f02 Add missing file 5f48bc1 add test for #5594 73c8cec update to use HsFFI.h (was using the old Rts.h API) 126700c dph-diophantine-fast(normal) fails (#5613) 21bc0ef Update Mixed01 for new output cd98bd8 Follow API changes in DPH tests f09d5e2 ghci038 is expect_broken(5289) on Windows 1591f81 fix test on Windows def631c allow error message normalisation to be customised 0ac1ea3 normalise slashes in error messages 0aa7b0f mark 5250 as expect_fail on Windows fb086d3 add test for #5611 305f85c shouldn't fail the test if we are accepting output d704d6c add test for #5559 (unicode cost-centre names) 6d5e17f Add test case T4491 for #4491. 3eaeb7a Make cgrun059 code slightly clearer 798f3ec Update Safe Haskell test to include recomp checks 7472e33 Tabs -> Spaces 5d78f96 Fix dph-smvm 3029bc3 Merge ../../hack/testsuite 9c2f576 Add test for #437: recompilation bug with '-main-is' 3e0ed81 Add tests for #5054 3de85fd Be explicit about the package exposing D.A.P.Unlifted 8c9b783 For DPH tests, -fdph-* -> -package dph-* 9ab60b9 clean some extra files here c647dd8 add test for #5614 4c9b1ba Whitespace in dph/smvm/dph-smvm.T ccf8629 Add package dph-prim-par because dph-smvm needs D.A.P.Unlifted too 5e1333a New kind-polymorphic core 26c821a Expect T3330c to pass again e20ccfe Add expected failure output for tc167 b951f38 Increase allocation limit for T3064 a bit 49d2d90 Import Constraint to use it 7ec8fd6 Follow dph package name changes 3230598 push the (now correct) output 2d51594 expect failure for 'profasm' too b0e0d27 Reduce this test case further. There looks to be something suspicious going on, perhaps a general bug related to .hs-boot files, we should really look at this. d3b38da omit prof/dyn ways 536905c remove accidentally-left-in debugging output 61b56ba update results (and add an expected failure) for the ioprof test 8a931a6 cgrun057: accept output and mark as non-broken (#948) 4fe140c cleaning of testsuite a49e501 add test for #5626 5a3ddc1 Test Trac #5628 ae13660 fix up 5054 test efb1deb tweak readme 6419e5d Trac #5603 is fixed ef4b72a Merge branch 'master' of http://darcs.haskell.org/testsuite 27d4562 Accept error message wobbles ec709de Test Trac #5625 cc7041e Test Trac #5587 e6d2587 Wibble in T3234 output; this one is rather wobbly a97f82b Fix meaning of the only_ways field (fixed cgrun057(normal) in validate) bef9c72 Set -no-hs-main if the test is not Haskell code d5d71b2 enable RTS opts for GHC 7.3+ 2805bc1 add test for #5584 8affaea T5373 is now expected to pass on mingw32/darwin 5267879 add req_shared_libs and use it 0b266ac Fix T4464 for the new way of handling main() and -rtsopts 83e84e3 Error message modifications for the new constraint solver. 40d4f9f Merge branch 'master' of http://darcs.haskell.org/testsuite 797453a Add the right stderr file to T5625 6fe9d96 add test for #5238 e402b82 Merge branch 'master' of http://darcs.haskell.org/testsuite ae3b9f9 Reducing the context stack for this file, which was looping anyway, to make it fail sooner when we run the testsuite. Due to modifications in rewriting we run out or context stack more slowly than before. Perhaps something to come back to at some point. 8e0165c Merge branch 'master' of http://darcs.haskell.org/testsuite e38d7d2 Remove executable mode from some files 6c094de Add kind polymorphism tests 8c44438 Add kind annotations d874449 Update outputs f9073a7 Update outputs (error message locations) 0031457 Add Safe Haskell tests for new '-fwarn-safe', '-fwarn-unsafe' and '-fno-safe-infer' flags. ea9a94c Merge branch 'master' of http://darcs.haskell.org/testsuite b7c6166 Reduce allocation bound for T5030 6f665b9 Merge branch 'master' of http://darcs.haskell.org/testsuite 346205e New test 'dph-classes' b8aa49b Test Trac #5597 ad35781 Missed zero in tests for T5030 43e7140 Update test suite following the removal of the default grouping clause from the SQL-like comprehension notation 0cf2bde Make this test not require the stm package f519626 Add a test for #5327 89fbd3c Add missing $(TEST_HC_OPTS) in tests 3565a1b Define the GHC "compiler_always_flags" in make; fixes trac #5213 5262def test for #3589 413481c Add a test for T5198 0c8af70 Merge branch 'master' of http://darcs.haskell.org/testsuite b13a599 Filter -fforce-recomp out of TEST_HC_OPTS in the driver tests 9f9ed4d Remove duplicated options from a test f29fa0d Update encoding002 for lone-surrogates 134e325 Add tests for T4474 20d5052 Define 32bit expected values for T4474* 770b0da CPUTime001 has moved to base/tests 9dfd901 Move lib/Char tests to base/tests b9bbe38 Move testsuite/tests/lib/Data.Fixed test to base/tests 319b1cc Move testsuite/tests/lib/Show to base/tests 29fa609 Move testsuite/tests/lib/Numeric to base/tests 378c836 Fix typo 0b550dc Move hash001 to base/tests 96d6b06 Move lexNum to base/tests 9eec445 Move Data.List tests to base/tests 127b5f4 Move ix001 to base/tests 0c2c601 Move lib/System tests to base/tests e48b32f Move ioref001 to base/tests e004dbf Remove posix001 4c559a3 Enable and fix the posix* tests 9a53d8f Mostly fix posix005. Complete fix blocked on #5648. 7c1a774 Enable and fix posix006 fa902db Remove posix007 eba2c7c Remove posix008 ce1baf1 Remove old .stdout files b657214 Fix and reenalbe posix009 9a2af0b Fix and enable posix010 ec98be2 Remove posix011 28e2ccb Remove posix012 93b9ede Remove posix013 e72ea1f Fix and enable posix014 cae73c2 Remove sockets tests 09182c1 add test for #5644 6f94904 Simple test for PolyKinds inference 42967bc Update outputs after renaming the ? and ?? kinds 60d7866 accept output ("Linking" message moved from stderr to stdout) 1954033 accept output 2fb313c clean up test failures dd1a92d test SCC with omitted quotes d8e09ff add test scc004 which is expect_broken(#5654) cd90c22 Test Trac #5655 5e1de50 accept output 2f394b4 Test case for #5643 74961f7 Test for #5237 8a7e20d Test vectorisation of type classes some more e93087d fix this test (need to use reservedSignals) 8b9a506 Update output d4f962f Update outputs dbb2dde Remove GenBigTypes test 0310bd1 dph-classes wibble 9a1b288 Expect 3307 and environment001 to fail on msys; fixes trac #5599 75505d4 Error message shuffling. 4d71ddb Add CApiFFI to T4437 4e0e38e Error message shuffling. 20cc2b6 Add a test by Julien 8b6bdeb Another PolyKinds test b342348 Decrease max bytes allocated limit of T3064 e02ff2e defined prof_ways, threaded_ways and opt_ways automatically 1b29b68 simplify using prof_ways 75bdc3a T3103 is expect_broken for optllvm too 138d63f test for GHC.Exts.currentCallStack 19eaab1 callstack001 requires profiling 854abfe Follow error message changes c04b289 Merge branch 'master' of http://darcs.haskell.org/testsuite 5fa4cf3 Test Trac #5631 aab952d Test Trac #5001 4ad42be Test Trac #5625 299a992 Ignore IDLE in .prof.sample (fix spurious profthreaded failures) 9cb230c accept output e8f513d #5371 is now fixed, re-enable ghcilink{001,004} on mingw32 57412d0 Test for Debug.Trace.traceStack and GHC.Stack.whoCreated 4266f9d skip posix003 on Windows 9bd8efa posix009: omit threaded ways 458cd69 callstack001: add -fno-state-hack to get consistent output 7cf9c77 Update adding source locations to cost centres. 03365e9 Test Trac #5595 4176ca7 T4120 passes now! Hooray 0670411 Track error message changes b4d0a6f Merge branch 'master' of http://darcs.haskell.org/testsuite c743f1f Add note the T3016 also tests #5652 d77aede Merge branch 'master' of http://darcs.haskell.org/testsuite 747661f Add tests for trac #5486 and #5681. fc9a073 Fix debugllvm WAY a6ecfec Accept output for callstack002 a68d54b posix004(threaded2) and posix014(threaded2) pass now a3ed907 T5030 has improved; update boundaries 4aafa41 Tests for primtypes 'ArrayArray#' and 'MutableArrayArray#' d559300 plugins05, plugins06: expect fail for dyn and profiling ways 03ee7cd add test from #5363 35b4a34 add a perf regression test for #783 db2d096 dph: follow changes in unlifted API 5e3f60e dph: duplicate copy tests as vseg tests 87df7c6 dph: rename test file a72dd7b dph: add nbody test fe6e9e4 dph: drop optimisation level for some tests to speed up validate a113604 dph: multi-file tests must be set to alone to avoid build races 76f2fa9 Test Trac #5676, and wibble to error message on mod45 dc132ed Test Trac #5686 7083082 Test Trac #5689 3a105fd Mark dph-diophantine (#5613) as fixed 371bb05 Wibble to error message for deriving( Functor ) e93e53a Add InstanceSigs to GhcOnly flags c20f6ac accept ac499b7 add a test for #4018 ce7325c Move T4113 to libraries/directory/tests (#4480) 1f725a8 Get the value of $(AR) from ghc --info f4318b7 Merge branch 'master' of http://darcs.haskell.org/testsuite d594d84 .gitignore de8a1bf Add a test for a memory allocation bug in the RTS flag handling. abfcdc0 Tests for T5684. They won't fail necessarily in 7.2.1 because there was yet another bug (related to lazyness) but if the T5684 bug appears again in HEAD then it will be revealed by this test (because I also fixed the lazyness bug as well). 584f65a Test Trac #5691 01477fe dph: add alone flags to fix build race 0fc8eeb Testing vectorisation of superclasses 7d92019 add a test for setNumCapabilities c425b2f accept output 544a738 fix $(HAVE_PROFILING) on Windows 45a7084 add 32-bit output 0909d1b Test Trac #5657 6b90fe4 Update Safe Haskell tests e5ed689 Error change following up kind constraint solving modificatios. e08432d More Safe Haskell tests fd9bfbd Test Trac #5712 6a70b5a Test Trac #5719 7eb58c0 Minor wibbles to error messages, as a result of fiddling with the handling of default declarations 374e7b5 Adjust test to handling of unit unboxed tuple d3c9c1d Test Trac #5700 4976d0e Merge branch 'master' of http://darcs.haskell.org/testsuite 869df3c Performance test for Trac #5321 bae7a6b Test Trac #5721 9284030 Test Trac #4310 7348bb7 Error message wibbles for new CoAxiom story d72ca1b Adapt test output to reflect better -ddump-deriv output 747f2c4 add test for #5747 2ac8fe3 Count the number of tests that failed due to reqlib() e16808a setnumcapabilities001 requires the parallel package 13ce4f4 Don't add threaded2_hT unless we have threaded and SMP support d491031 Skip setnumcapabilities001 if we don't have SMP support 8111e64 widen the boundaries for space_leak_001 (fixes failure when unregisterised) 5e975ba Test Trac #5759 922bc6b Merge branch 'master' of http://darcs.haskell.org/testsuite ad0e1c9 Add quot and rem to the integerConstantFolding test 5ce0e4e add reqlib('random') 05306f4 widen max_bytes_used for T4801 2ed1fdf widen peak_megablocks_allocated for T4801 (64bit/Linux) 4c68c2f Lots of error message wibbling, following the major TcErrors refactoring d342f88 Merge branch 'master' of http://darcs.haskell.org/testsuite df587d5 Merge branch 'master' of http://darcs.haskell.org/testsuite e948d22 Test Trac #5658b ee599f6 Update .gitignore to include generated test files 3d52fa8 More .gitignore updates. f6cea70 Fix T5430, make output independent of user timezone cacd982 Update error message 63afeeb Add {double,float}FromInteger to the integerConstantFolding test 655e409 Add encodeInteger{Double,Float} to the integerConstantFolding test 0a797ea Update tests after instances are moved out of Control.Monad.Instances 5601845 Adapt 'dph-classes' to class support in dph-lifted-vseg db6d9cd Adapt DPH tests to classes in the DPH library eaae5f4 Add Defer02.stdout fcbfdfe Merge branch 'master' of http://darcs.haskell.org/testsuite 28f619e Wibble to recomp006 error 5ff65d7 Use the new flag -XDataKinds 199f388 Parse the ghc --info values using a Haskell program, and cache the results a8f94cc The LLVM backend now only works with 2.9+, don't try it if we have 2.7 cb0f98d Test Trac #5745 08413e4 Adapt test output fee30b7 Revert "The LLVM backend now only works with 2.9+, don't try it if we have 2.7" cffcc44 Test Trac #5776 d242001 Merge branch 'master' of http://darcs.haskell.org/testsuite 64b6389 Add normalise_exe for removing ".exe" extensions in output on Windows 95cb0a1 3429: We should be using +RTS -C0.001 not +RTS -i0.001 5262d70 Skip conc036 entirely (see comments) 58759ba foreignInterruptible: expect_fail on Windows 6e5aa9e Expect failure for numrun012(ghci) on Windows 90dc223 fix (non-fast) validate c752b33 Add stderr for warning (arising from Trac #5779) 209fc3e Merge branch 'master' of http://darcs.haskell.org/testsuite 0998987 Update .gitignore. ef9249e Add test for #5785. 96988cc Test Trac #5742 de90d88 Merge branch 'master' of http://darcs.haskell.org/testsuite d7bb891 Add missing stdout for T5742 def5baf accept output 898eca9 Don't read boilerplate.mk on 'make maintainer-clean' deeeacb Fix for Windows, and delete the .mk file if ghc-config fails 558fc1e Don't fail if "ar command" is not found 99a4418 Merge branch 'master' of http://darcs.haskell.org//testsuite 9e5aa33 Mark dph-diophantine-copy-opt as broken (#5817) 69017ca Add a test for the integerToInt/smallInteger rule 6453351 Generalise the integerToInt_smallInteger test (now fromToInteger) 71c3095 Add a perf test for #5536 616fbe9 Add a perf test for #5642 2555da0 mod175 now passes: #437 is fixed c90ed07 objc-hi and objcpp-hi fail the ghci way 874c337 Fix mod175: Tell make to be quiet b2e4c1e Make TH_Depends more portable 0b395e1 Tweak TH_Depends 777dff2 Make posix003 a little more portable 48ba35e Merge branch 'master' of http://darcs.haskell.org//testsuite afee003 Test Trac #5798 c397d7b dph-diophantine is fixed 087d60a Add dph-nbody test with the dph-lifted-copy library e2787de Test Trac #5792 3ff3050 Remove the Data.ByteString tests; part of #1161 ff4939e Remove the tests/lib/PrettyPrint tests; part of #1161 c8755c9 Text.Printf tests have moved to base; part of #1161 eb2261c Move lib/Time tests into the old-time package f3c7910 Remove Regex tests; part of #1161 5c18627 A couple of compiler performance tests have improved :-) 9e59ec2 Minor wibbles in error message ordering 9636898 Merge branch 'master' of http://darcs.haskell.org/testsuite c41b9a8 Add test for 'distrust-all-packages' flag 6e56fa9 Add some safe haskell test for '-trust' flag. ec735ca Don't use TOP_ABS in Makefile rules 7d556a4 Filter colons out of ghc-config-mk 152cd16 Remove some Makefile debugging code 35c3c30 Accept error message changes in response to Trac #5860 9e81663 Test Trac #5820 6b4e38a Merge branch 'master' of http://darcs.haskell.org/testsuite 8ebdadb Merge branch 'master' of http://darcs.haskell.org/testsuite 2a68da8 Add some tests for ghci under -XSafe ba88ec4 Update gitignore 23fb5aa Add stdout for T5820 8a808e4 test #5836 ab59200 Fix up safe haskell test outputs eb7aacb Make the compiler_always_flags modifiable on a per-test basis ef05085 Allow perf bounds to be specified as base + percentage deviation 71c20ca Disable -dcore-lint for compiler perf tests b32ad24 fix failure in apirecomp001 (IIModule type changed) 0290ab2 update max_bytes_used for T1969 c64c802 add req_smp 03906d4 update output cdbb35c Add a CAPI / CTYPE test (Capi_Ctype_001) 7cd5106 Add optllvm as allowed way in testsuite baf1881 Remove some out-of-date normalisation 3b4572b Add another test for CAPI / CTYPE 9919372 Update tests following OldException removal 5f3b4dd Fix Capi_Ctype_001 on case-sensitive filesystems ac780df Follow change in bindisttest install directory name f98922b Accept update 043a7c8 Accept output in ccfail004 4b78411 Follow more output changes de39a6f Remove type synonym part of Capi_Ctype_001 fdbe5f4 Update output for rnfail055 again 51fbbbb Update test outputs now the bytestring version number has changed 042461c Add a test for add-with-carry 1128d8a Add 32-bit output for add2 52037f7 Add a test for 2-word-multiply 54f69dc Add 32bit output for mul2 ab91cde Use 64bit args in mul2 9a3c874 Add a test for FFI decl parsing aedcb21 Add a test for CAPI value imports ead65bb Add a test that you can't import "value"s using ccall 70326cc Add a test for a "value" FFI import with a function type 913a3bd Move test array01 into the array package 2453e10 Test changing the -main-is function name, not just the module 36c9b79 add test for #5866 5b7328c Wibbles to error messages 05c51c0 update 32-bit results 8359158 add a test for :seti 2e02097 update ghci024 following changes to :set ac80ea2 accept output ff74e75 add missing file 7a29e7e fix test for the new TASKS stats output 64880bb Modified error output and new tests for PolyKinds commit a2cf0fd Remove unnecessary import 05b18ad Test Trac #5717 3b9c651 Merge branch 'master' of http://darcs.haskell.org//testsuite ffd72d2 Test Trac #5862 61de0db Test Trac #5912 85abd54 Test Trac #5892 98479d6 Test Trac #5881 0d049c0 Wibbles to testsuite/mk/boilerplate.mk a56ce4f Test Trac #5716 097dca2 Disable threads with python 2.7.2. 0d59d22 Fix llvm check 03a88aa Update .gitignore. 5ec8527 Accept changed debug output from Simon's changes to GHC 253d34d Update perf bounds for i386. 25017db Move base and unix tests to respective packages; part of #1161. b2fb5b9 Raft of wibbles after refactoring type-class constraint errors 9d9a897 Merge branch 'master' of http://darcs.haskell.org/testsuite 3c08377 Test Trac #5858 0534f09 Test Trac #5922 ea9ba3f Bumping allocation limit for parsing001 a little 470382e Test Trac #5915 ff0c535 Update .gitignore 08154fb Update gitignore 8fe929f Test Trac #5937 d773cf6 Merge branch 'master' of http://darcs.haskell.org//testsuite cc06a17 Test Trac #5915 3dea107 Test Trac #5937 55063d0 Add KindSignatures flag to test c4a89da Test Trac #1541 4feb0ea Test Trac #5833 a9c1ace Test Trac #5935 3582eea Test Trac #5882 9f598bb Test Trac #5886 197917e Merge branch 'master' of http://darcs.haskell.org//testsuite 9410a8d Fixes to reflect changes in behavior of -XTypeOperators. cf1ed00 Update error message: now 1 is a potentially valid type. 43034fc Update error message for malformed sub-ordinates. 210cd92 The example n this test is now valid, when TypeOperators are enabled. b473b25 Merge remote-tracking branch 'origin/master' into type-nats ea2f35b Test Trac #4135 f258092 Fix testcase for #4135. 5c31e42 Merge branch 'master' of http://darcs.haskell.org//testsuite a2487c3 5250 is expected to pass on Win64 17e45d2 Merge branch 'master' of win:c:/m64/reg4/testsuite 528aba0 Merge branch 'master' of http://darcs.haskell.org//testsuite f635846 Merge remote-tracking branch 'origin/type-nats' 4de8de2 Add new extension to the list pf GHC-only extensions. 9246be3 Update test to reflect the improved printing of data declarations. 429183f Update test to reflect printing of imported/exported type operators. 6eb9500 Merge branch 'master' of http://darcs.haskell.org//testsuite 6dc6775 Error message wibbles following TyClDecl/HsTyDefn refactoring 5f02fd0 Slashes and backslashes in filenames ada17f2 Bump limits for T1969 9734a93 Test Trac #5971 6137c0f Test Trac #5955 1a98639 TH_scopedTvs succeeds now we have scoped type variables in TH 0c8318e Test Trac #5968 6b4527a Test Trac #5951 02fb36f Add testcase for #5979 b9cc105 Add testcase for #5984 9615ede Add testcase for #5555. 47c2cb0 Add testcase for #5976. d6ff372 Add testcase for #5664. 0b3c3c8 Error message modifications following ghc-new-solver modifications 77af343 Merge branch 'master' of http://darcs.haskell.org/testsuite dde0085 Test Trac #5957 01fcb7a Add RankNTypes flag to tests that should really have it db71e3e Merge branch 'master' of http://darcs.haskell.org/testsuite d450ec4 Update safe haskell tests for change output formatting f90a4e1 Merge branch 'master' of http://darcs.haskell.org/testsuite ac8464b Test Trac #5022 17f3e90 Fix dynamic stub in tests after fix for #5664. 56de6d1 Expect failure on T3064 3a9ba4d Add (in comments) more variants to T3064 704c150 Actually test T5022! 597bbcf Accept improved error message 34138c1 Merge branch 'master' of http://darcs.haskell.org/testsuite c5e6c6d Add files for testing T5795 a312fd1 Following up from the last commit in the constraint solver. a647d30 Add testcase for #5948. 6e369fd Adding test case for polytype decomposition in the constraint solver. e8429ae Adding testcase for Trac 5934 d80aac9 Update Safe Haskell tests for changed format. 362ee5a Add test to make sure flag extensions are correctly display as a unsafe reason. 639f8a4 Fix Defer02 test for Windows. 8a1c584 Add testcases for #5975. 3ff6439 Add testcase for #6001 f9e8ebb enable the ghci way for various tests, now that GHCi detects deadlock properly 125a20f Test #5993 f98194b Merge branch 'master' of http://darcs.haskell.org/testsuite 65f10e4 Increase the size of T3064 and upgrade 64-bit numbers accordingly 6cc2d27 Test Trac #5938 7066577 Wibble to error message c1e5ca5 Merge branch 'master' of http://darcs.haskell.org//testsuite 8f2d111 Add testcase for #6011. d2e2e13 Merge branch 'master' of http://darcs.haskell.org//testsuite ae2c534 Merge branch 'master' of http://darcs.haskell.org/testsuite 1d9f491 Merge branch 'master' of http://darcs.haskell.org/testsuite 458673e Test Trac #5853 1be154d Unix line endings for T5938 1cd2e3e Test for second bug in Trac #5716 6ea9c2b Merge branch 'master' of http://darcs.haskell.org/testsuite b13a295 Add a quotRem2 test f8cc68f Test Trac #6031 48bafff Test Trac #6020 cead06e Test Trac #6022 a7bf4c0 Error message wibbles ef0d0b7 Add combined_output option. 9ff81c7 Merge nb:ghc/git/ghc/testsuite f082135 Merge branch 'master' of http://darcs.haskell.org//testsuite 1d59d3a Merge branch 'master' of http://darcs.haskell.org/testsuite 7f3a9de Test Trac #5920 3b84b0a Test Trac #6020 9ff3250 Test Trac #6025 f926399 Test Trac #6031 355b1b1 Test Trac #5997 b26282d Test Trac #6002 e4c802d Add comment to test 86403bf Test Trac #6039 f2d5b3e Merge branch 'master' of http://darcs.haskell.org//testsuite 4c0ec20 Test Trac #6035, #6036 0ad0d56 Test Trac #5867 a475fa4 Trac #6022 is broken at the moment c9bb4fa Wibble for changed pretty-printing of CoAxioms 279a594 Merge branch 'master' of http://darcs.haskell.org//testsuite 2ceaa81 Wibbles to deprecation errors 07b041b Merge branch 'master' of http://darcs.haskell.org/testsuite 579c91b Test Trac #6005 109f8bf Adjust seldom-run tests for flag changes fa48f52 Test Trac #6021 eb32f34 Test Trac #6020 again, and #6044 68c082b Follow changes in pretty printing 1565cf7 Test Trac #6005 (second bug) 66a44d6 Test Trac #5884 524043d fix bounds for T1969 on x86_64-linux 2a05a99 fix bug in stats checking 02dd86d Update some perf bounds that have improved 3ad4e94 Test Trac #5837 32b2573 Add tests for #6027. a6a3bf4 Wibbles to error messages arising from using coreBindsStats 73b97bd Add test for #6006 05f46d0 Add test for #6007 22028c1 Merge branch 'master' of http://darcs.haskell.org/testsuite d642f5c Testsuite driver tweak for Windows 79d1d3d Bump peak-megabytes-alllocated for T4801 0021043 Test Trac #6055 b71f703 Test Trac #6054 73f28aa Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 27c08af Simplify the stdout-* filename generation in the driver b4d34d4 Allow OS-specific test outputs in the driver 3e467a9 Add test for #6060 cf85b75 Don't try to run ghc-config when cleaning f205f21 remove accidentally added file 8e6b902 fix T4464 on Windows 782b5bf Fix capi_value on Windows deaa0ab add missing file 3a3d1c6 substitute for $topdir in $(AR) 4a5c6a0 Omit prof_ways for T6006 a8a0071 update 32-bit results beaf772 follow changes in the GHC API 753d59c Change how we detect whether the terminal is cygwin or msys e07d432 Merge branch 'master' of win:c:/m64/ghci2/testsuite cace35f Fix cabal tests on Win64 9d07791 Fix some more tests on Win64 b806bd2 Tweak 4038 for Win64 a511dcd Fix the way we find the path to 'ar' 0285e28 Fix ghcilink002 on Win64 a44d52b Fix other ghcilink tests on Win64 83dc4b7 Tweak plugins01 92fddec Accept output for T6006 on Windows 12dc1b6 5250(llvm) is expect_broken(4211) on i386-unknown-linux b67b943 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 95978ed Fix ghcilink00{1,4} when the path to AR contains spaces c8b715c Mark SEH tests as broken on Win64 (#6079) e9e791d dph-classes-vseg-fast is broken (#6080) a6ab229 Add Win64 output for outofmem b35ad0a Fixed #6080 07fadb7 Driver tweak 5f9c642 Some test fixes on Win64 79e56d3 3837 now passes on Windows: #3929 is fixed bb5447c More Win64 test fixes 93d853b Move win32 tests to win32 repository. 9dfd8cd Test Trac #6078 7d3a6ae Better performance for #3064, but #5030 is now expect-broken e4212c2 Wibble to simplified output 3528d0a Merge branch 'master' of http://darcs.haskell.org/testsuite af0bf03 Test Trac #6048 43e1ff2 Merge branch 'master' of http://darcs.haskell.org/testsuite 4faed34 Accept debug-print wibbles b2d98cc Test Trac #5623 3970d9a Add needed -XPolyKinds 50b41cf Test Trac #5737 6729fa6 Test Trac #6081 d93dc41 Test Trac #6015 37a2820 Add test for #6091. 24d70da Rename package-conf flags to package-db. 8b5836a Use -fobject-code for tests that use UnboxedTuples 577e98f Add -fobject-code to the numeric *2 tests 14f7be1 tc126(optasm) is broken (#6096) 3392311 tc078(hpc,optasm,profasm) are broken (#6097) 3a6f1aa 4321 is broken again 11e13be Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite ada75a8 Testsuite update for unboxed tuples in arguments accd944 Test Trac #6015 and #6068 5a502c7 Merge branch 'master' of http://darcs.haskell.org/testsuite 284a60f Add red-black tree test from github (with permission) 3539136 Applied lunaris's patch to allow promoted types and rich kinds in Template Haskell a5ce7e4 Accommodate INLINALBE pragmas in TH b70dd33 THis test does not actually use HsExplicitListTy 64f085a Fix tests to run without mtl 3e512f2 Follow the move of Word from base to ghc-prim 9a6b8e4 Accept output for mc22 1c2954c add test for #6106 ee2f63d dead code: guess_compiler_flags() 856e916 Go back to using -no-user-package-conf for a while 2118d80 Test Trac #6118 ffe4372 Fix a testsuite driver failure on cygwin 0a0087a add test for #6105 ac371fe accept output 677a3ab Merge branch 'master' of http://darcs.haskell.org/testsuite 2c363f4 Extend test for Trac #2713 (cf Trac #6120) b7892a1 Wibbles in debug output 77066ac Test Trac #6120 535ad9d Test Trac #6123, and improve an error message in T2627b 0d3c52d Merge branch 'master' of http://darcs.haskell.org//testsuite 75706a4 Go back to using 'const' in capi_value 64e32f5 Add a test for setByteArray 3d07201 Merge branch 'master' of http://darcs.haskell.org//testsuite 85c9dd9 fix 6048 (stat too good on 64-bit) ac2bc9c Update output 12e5c1e Add missing file 3ae7138 Merge branch 'master' of http://darcs.haskell.org/testsuite 08a4aa7 Test Trac #6114 808e1df Wibble in error message 64910ca Merge remote-tracking branch 'origin/unboxed-tuple-arguments2' ad4020d Fix testcase for #5971. 224b98d Merge branch 'master' of http://darcs.haskell.org//testsuite 9a767ff Add more tests to integerConstantFolding c60977e Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 208fa3a Merge branch 'master' of http://darcs.haskell.org/testsuite a001844 Merge branch 'master' of http://darcs.haskell.org//testsuite e8ec579 Error message wibbles 8491727 Test Trac #6049, #6093, #6129, #6137 9f3cf8c Test Trac #6148 91ea5b4 Test Trac #6145 1e169cf test for #6146 bb639e4 Wibble to error message 09d687b tcfail098 now passes because of UndecidableInstances (I've added comments in TcMType.checkValidInstance) 1600508 Test Trac #6134 c85a85f Test Trac #6088 29d83fe Merge branch 'master' of http://darcs.haskell.org/testsuite 751f030 Test Trac #6152 0d36d57 Testcases for floating equalities ouf of implications and for recording extra untouchable variables. 8a40940 Testing of generating Derived equalities from Given dictionaries with functional dependencies. 4f882db Testing new top-level defaulting plan. 2ed41c1 Forgotten entry. f3cb7ec Merge branch 'master' of http://darcs.haskell.org/testsuite 35073a0 Avoid using deprecated package-conf GHC flags. ba5c1e9 Add more cases to the integer constant folding test e598fd3 Update output (spelling of "inferred") c5c9026 Update test output for mdo changes (Trac #4148) eaef9e3 New tests for Trac #4148 15c2e4f Merge branch 'master' of http://darcs.haskell.org/testsuite 1716d85 tc078 and tc126 are no longer expect_broken (6096 is fixed) 6c52b64 update max_bytes_used for T4801 on 64-bit d200ba1 no need to force -O here any more (#3966) 8d41d9e Fix plugins01: Follow changes to GHC 26e1e7e Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 0c0b2bb Improved error message 2a99c19 add a test for INLINE and -fprof-auto (#6131) debfd1d Merge branch 'master' of http://darcs.haskell.org//testsuite 64cf942 Merge branch 'master' of http://darcs.haskell.org//testsuite de246aa Test Trac #7007 cd0a88a Update tests following changes in base 60ab8ea Fix the timeout program following the changes to base 6f9114e Test unencoded StringPrimL dd44a15 Add test for #5963 9d3bf7d Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 0898526 Wibbles to error messages fc68de5 Test #4361 would fail because of the removal of the UNSAVORY HACK but this change makes it work again by adding a type signature c02a823 Merge branch 'master' of http://darcs.haskell.org/testsuite 686628d Add tests for deriving Generic1 7d8b524 Add test for #5936 488f34c Add one of Reiner Pope's tests for #5936 45dc613 Merge branch 'master' of http://darcs.haskell.org/testsuite 8536690 Reduce the bounds for perf/compiler/T4801 4b21a22 Remove the deprecated concurrent modules from GoodImport03 1495dc1 Correct the inferred type (in comment) c79768d Merge branch 'master' of http://darcs.haskell.org/testsuite 09803f8 Add #6158 test case. 425434b Merge branch 'master' of http://darcs.haskell.org/testsuite 9758c36 Fix handling of optllvm way a6bacc3 Update .gitignore 87d3f54 Adapt to the re-introduction of silent superclass parameters 02a343c Add stderr for tests now (correctly) failing due to silent superclass args 1c595c0 Fix cleanup for some tests. e277797 Add test case for #5900 71bb780 Add IntegerConversionRules aa490c9 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 4ae3075 Update some limits for x86 perf tests. 478b36f Add a test for #4138 (currently failing) 8542e25 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 4c8f4f7 Adapt tests to change in a parser error message. 3195d47 Fix ds055 (redundant import of Data.HashTable removed) d0d96bc Remove Data.HashTable from GoodImport03 f0a23c0 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite c426022 add test for #7037 a5c9ed1 T5111 is an expected failure becuase of Trac #7046 9613d73 T3294 improved with the new codegen merge 8be2830 Fix test case for #4138. 10f46f4 fix syntax error 6bda872 Fix T5975a/b conflict when run in parallel 5372ff5 Adapt to removal of catch from Prelude 2d47ca4 Make numrun012 work with excess-precision.(#5856) c0b6669 Accept error wibbles 547ab6f Merge branch 'master' of http://darcs.haskell.org/testsuite 55b5468 Add tcfail209a 02af0c5 Accept error message changes 8df0337 Merge branch 'master' of http://darcs.haskell.org/testsuite 4968a28 Wibble 003fc45 Fix numrun012 on x86_64. ad859f5 Tests for Trac #7053 8197fe8 Test Trac #7019 aab80f8 Test Trac #7020 89261ca Test Trac #7022 1d51cc8 Add testcase for #7060 c64e7d5 Merge branch 'master' of http://darcs.haskell.org/testsuite 16e79b1 update T5267 for change to TypeOperators Now it breaks properly again. ce68b75 Add a couple of tests for gcdInteger d832d1f Test Trac #7023 c2cb067 test trac #7073 49703b9 Test Trac #5978 and #7010 4371e72 Follow changes in FastString b72aa2c Added LambdaCase tests. 5246de0 Added MultiWayIf tests. ffae5d4 update for MultiWayIf and LambdaCase 2c7d9ab increase range for T4801/max_bytes_used, it was failing validate sometimes 17087f4 Update bytes_allocated for T1969 51e5586 Merge with HEAD 982d970 Update the expected allocations for T1969 436630f Wibbles to error output 21e38cc Fix T4007 after changes for #7060. 410ad38 Make 5558 portable by replacing seq with python code (#5558) 3dda492 Test Trac #7082 964ea43 Add 32-bit output for gcdInteger a631a13 Improving error messages for synonyms. 577b9dc Merge branch 'master' of http://darcs.haskell.org/testsuite 0c42fb3 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 1f405ee Test Trac #2534 a55605f Merge branch 'master' of http://darcs.haskell.org/testsuite 2b5c6ba Test Trac #7085 b1ddfcf Adjust T1969's bounds again ed3c066 Fix arith013 6e199bd Remove T7041; it doesn't make sense now that we handle gcd differently 3c52a0f Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 7744195 Add error output 59a4b58 Accept error 94187d0 Merge ../../HEAD/testsuite a8072f3 Test Trac #7088 7cf9432 Test Trac #5821 afa3965 Add a type signature for a function with an ambiguous type 9cfb3c6 Add some NOINLINE pragmas to satisfy the (correct) "RULE may not fire" warning b79822c Merge branch 'master' of http://darcs.haskell.org/testsuite 8eba4f8 Test Trac #6082 rule matching warning d23aa19 Merge branch 'master' of http://darcs.haskell.org/testsuite 6f75505 Merge branch 'master' of http://darcs.haskell.org/testsuite ddbe790 Fix T6082-RULE test case 3afc015 Add test case for #7014. 822f996 Fix failures in the full testsuite 9e82dc1 add a test for #7087 3e2d0af accept output for now 4409a21 reduce max_bytes_used for T1969 d29defa bump sample for T783 cc7384d Add test case for #7126 23748ed Add test case for #7118. 2999eae don't force -O ef4140f don't include $(EXTRA_HC_OPTS) twice 31fb6f5 don't force -O0 af7c852 omit -dcmm-lint too be04536 Accept error change 42d70b5 Update T7022 to test more as per the ticket 2dba6fb Tweak some limits in performance tests. caf3f59 Add test for #7130 a706a60 Update error message in safeHaskell/ghci/p2 562b154 Fix test case 7087 for x86. f5144f5 Add test case for #7117 022dc1c Update old safehaskell test 9ffb400 Test Trac #7128 a26252c Add test for #7145 310d39d Add some haddock space usage tests 5a42050 Add 32bit expected values for the haddock perf tests 41b7f9d Adapt to extra \n in multi-line string printouts 53ffd2e Adapt to new TH pragma data types 12512e1 Merge branch 'master' of http://darcs.haskell.org/testsuite 33a75d9 Test Trac #7064 36f2ec6 Test Trac #7151 d8b5659 Add DataKinds flag to test 385058e Update stderr in p2 test case. 57a409c Test Trac #7095 1ce4253 Test Trac #7147 b17b14c Merge branch 'master' of http://darcs.haskell.org/testsuite bfbc4f8 Test Trac #6038 da71a95 Add comment 4b0b0f1 Change in line numbers 814707f Test Trac #7156 431577b Run testcase for #5205 without optimization 0e8d47c Fix T7151 test e537b4d Test Trac #7171 e6a9b96 Merge branch 'master' of http://darcs.haskell.org/testsuite 5af27e2 add the test from #7160 81712b6 drop lower bounds for haddock.base and haddock.compiler on amd64/Linux f345776 Make tc219 a bit more stringent -- require polymorphism 13dc09c Test Trac #7173 433f7a6 Accept improvement ac4bf2c lower max_bytes_used for T1969 5ea88b6 add tests for #7040 f00609d Add a test for #7163 3e88c1a add test for #7170 19b7140 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite adfedb0 Merge branch 'master' of http://darcs.haskell.org/testsuite 0faa602 Test Trac #7176 b72d673 Add more safe haskell test coverage. 2853d32 Update SafeHaskell outputs. ecababf Add test for #7172. 29070f8 fix this test not to use QSemN (which has gone) 6115c4f accept output ("RULE might not fire" warning) e8461e6 accept output ("package flags have changed" message is now suppressed) 2bc957b avoid the new -rtsopts/-shared warning d8ca9ab fix bounds for T1969 again c9e10d0 use $(MAKE) instead of make (#7180) 88c2a95 Merge ../../HEAD/testsuite d426f86 Trac #7176 is broken in HEAD at the moment 6520e57 Merge branch 'master' of http://darcs.haskell.org/testsuite 7b2b6d2 Test Trac #7101 930e93f Test Trac #7164 50d7c3b Test Trac #7090 3e7161b Test Trac #7165 a284cd9 Add regression test for dodgy import warning bug 7434b79 Add test for T7167. dcecf9d Remove rnfail038 test case a8869ba Fix 7170 for i386. cfdcf55 Test Trac #7092 dedb295 Merge ../../HEAD/testsuite 3a4d34a Merge branch 'master' of http://darcs.haskell.org/testsuite 90761a9 Test Trac #7194 1d95758 Fix all.T bug in test for #7171 3a8075f Merge ../../HEAD/testsuite 92b9bda Fewer "shadowed bindings" messages from TH (result from fix of #7092) 4976939 Test Trac #7196 c5b9219 Teat Trac #7175 7fa287a Accept error message changes 8f00033 Update performance figure 23f4463 Accept error message changes 490e006 Update 64-bit results for the new codegen a0fa6c3 Adapt tests to the removal of the MR in GHCi 6bceb07 massive_array is expect_broken(#7213) 018db07 add a test for #7215 d3c01e2 accept 547913e Add test for #7210. 575629f Fix tests after update to bytestring 0.10.1.0. 2a000a9 Fix warning in T4464. 3c4aac0 Add dynamic version of T4464 cca9cb1 Remove unnecessary hs_add_root call (#7031) 5a71292 Merge branch 'master' of https://github.com/ghc/testsuite 68fb999 Update perf test bounds 45cf6f8 Test Trac #7237 00922ef Test Trac #5252 (again) 1f49b82 Test Trac #7224 and #7230 261e91e Test Trac #7238 adf6cdf Add a test directory for ext-core, and test Trac #7239 9d780e2 Merge branch 'master' of http://darcs.haskell.org/testsuite 3648727 Raise T5837 bounds b81c3d4 Follow module removals in base 18766f7 Update perf bounds f3b2ed5 Update test output 7095121 Merge with master f1557f3 A ton of error message wibbles b37dc96 use /bin/sh, not /bin/bash (#7244) 8909f0c Print stdout diff even if stderr diff alrady fails (#7247) 1ebabeb test for #7227 7ba13fa Follow GHC change: No deprecated warnings for defining class methods faec924 Add a perf test for #7257 48b4b88 Failing (by timeout) tests for #367. a003897 Add support for per-test timeout adjustment (timeout_multiplier), and tighten up #367 test. 1175d35 Tweak #367 tests to use -fno-omit-yields and expect passes. ba20cc3 Add TypeHoles to the list of LANGUAGE extensions that GHC knows but Cabal doesn't 7719317 Make the test output a bit more self-explanatory c22af4a Tons of error message wibbles 6eed673 Wibbles e978cd6 Merge remote-tracking branch 'origin/master' into tc-untouchables cb467f0 Add bunch of llvm ways for testing purposes. 6b8d013 Merge remote-tracking branch 'origin/master' into tc-untouchables 5010cf3 Update max_bytes_used for haddock.Cabal on 64-bits 791f491 Two mor error message wibbles cbf3d4b Merge branch 'tc-untouchables' 05a8c3e We now have left/right coercions again, so T1999a passes 2bf8943 Better perf c99f305 Test Trac #7205 3189427 Test Trac #5591 cc9a8c7 Test Trac #7278 69e406a We weren't generating a stats file for tests that only had stats_range_fields perf tests 70c1aef Fix stdout for T7257 a3d981f Wibble to perf range e19b6fd T1969 was just failing the residency bound if its .hi file existed 79be61e Test Trac #7272 7d7c728 Test Trac #7287 37c33c5 Merge branch 'master' of http://darcs.haskell.org//testsuite 1f8c1c3 Test Trac #7276 7f91d0d Arrow wibbles 70e78a4 Add a -static way, enabled only if dynlibs are used by default 4675647 Fix the T5252 tests 516259e Fix ghcilink002 and others when dynamic-by-default 26ab06c Fix a couple of tests when dynlibs-by-default is on abefa53 Make some perf tests always use -static 29eed98 Test Trac #7050 3bb499d Error message wibbles now that we do less defaulting when there are insolubles 7cd3b39 I've changed the error reporting so that with -fdefer-type-errors you get *all* type errors as warnings, rather than some being suppressed e11f19c Merge branch 'master' of http://darcs.haskell.org/testsuite 319f9ba Don't use the dyn way if we're dynamic by default c0ca8ff Driver: Define have_shared_libs correctly 2432082 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 7fdd69f 2228 is broken on x86_64-unknown-linux e70e497 Test Trac #7293 6b7ca88 Test Trac #7294 b379f27 Test Trac #7280 33b5076 Commit missing stderr file 00a672e Update to new Cmm syntax 829b179 Update to new Cmm syntax 06e0c3a update 64-bit values 3fbc247 Update 32-bit compiler perf stats 07d4a4b update 32-bit stats for T7257 7c96e85 massive_array now passes on x86 (#7213) 5f48b24 Need to use high-level cmm here (fixes test on x86) 5ec6ea3 Make it possible to test the generated assembly cecf7b5 Use -shared for the prof ways b0d2529 Whitespace only in dph/diophantine 9246f17 Allow dph-classes-vseg-fast to run in parallel 2d6836c Add an outputdir test option 378363c Add 'high_memory_usage' as an alias for 'alone' 4fb3f11 Copy the flag lists before altering them 5f4d651 Let the dph tests run in parallel a2870ad Run all the 'alone' tests at the end of the testsuite run 3674eaf Add outputdir's for the dph-nbody tests 6226c19 Add expected output for T7194 22281f1 Add a test for T6161 671ec1c Add a test for #6117 251d843 GHC now treats ((->) t1 t2) just like (t1 -> t2), so we need to obfuscate this test a bit 75183ed Better output ab57afe Test Trac #5751 b4166fd Test Trac #5913 ab47200 Test Trac #7321 b7fba60 Test Trac #7312 1876048 Update ghcpkg01 output 8933b4e ghcilink001 is expected to fail when ghci is dynamic 91e7d5b ghcilink004 fails when ghci is dynamic (it tries to load a .a file) bdd4042 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 6afab22 Fix memcpy when -fPIC is on d4aca87 Add a test for reloading a module in GHCi eca96a2 print035(ghci) fails when ghci is dynamic ab466bb The asm tests pass on Linux, but not OS X b601aae Tweak the 2228 config c673422 Test Trac #7332 09cdd12 Replace Rank2Types and PolymorphicComponents by RankNTypes 8bc6c4a Improvements to kind error messages, mainly 5c1d923 Adapt to being a bit more picky about inference with GADTs 796322f Improved desugaring in TH for Rules 81bac4f Adapt to fix in exprIsWorkFree 9c782f2 Minor changes to tidying a8ed7cc Comments and consequential line number changes ea081c0 Check that existential data constructors can't be promoted 96f9aff Better duplicate signature warnings bd56e72 Kind error wibble f7ad2aa Test Trac #7338 63a3760 bump stats for T1969 and T4801 4c88078 Merge branch 'master' of http://darcs.haskell.org//testsuite f58d238 widen the range of max_bytes_used for T1969, to reduce spurious failures f2a0738 reduce stats for T1969/T4801 again; looks like the bump was due to -fPIC 83014ab add test for #7233 dd9dbdb Merge branch 'master' of http://darcs.haskell.org//testsuite b5897f9 Testsuite fixes for when we only have dynamic libraries 45475f0 Update T4437 following changes in Cabal's extensions list 2db1733 Error message change for duplicate type signatures 4f093d6 Wibbles to type error messages 126c798 Merge branch 'master' of http://darcs.haskell.org//testsuite 043fddf Test Trac #7328 and #7332 91790aa Another test for Trac #7338, duplicate type sigs cdb0361 Test Trac #7347 e65d702 Test Trac #7341 d32a0c8 Test Trac #7276 (part 2) ceb03c2 Test Trac #7368 d143e5f Test Trac #7354 8c3dc56 Another test for Trac #7354 2d44ece Test Trac #7336 7d7410f Fix the have-we-got-vanilla-libraries test baf9da6 make it optional to have DynamicByDefault, to support older GHCs 04219cf add test for #7319 abc6031 fix HAVE_VANILLA when we have both static profiling and vanilla libs a7e4046 accept fad3687 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 2f6b815 Use 'error "uk"' rather than 'undefined' f28972a Improved performance bounds on 32-bit win fcb4fe5 Wibbles to error messages 309c7e6 Extend tc194 slightly c682cab Add error output (accidently omitted before) 87de298 Merge branch 'master' of http://darcs.haskell.org//testsuite 2098689 Test Trac #7264 9de0eb9 Test Trac #6069 c085b2d Fix ghcpkg03, ghcpkg05 (we need to normalise the dynlib names) 8cddd70 Modify T5130 so that it passes 9d22874 Merge branch 'master' of http://darcs.haskell.org/testsuite cb9e449 Fix error output 3c48b06 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 19cb2c6 Teat Trac #7220 897415c Merge branch 'master' of http://darcs.haskell.org/testsuite eb1c829 Don't enable the "static" way if we don't have vanilla libraries aba7b11 Add a test for CAPI wrapper functions 34a23d3 Follow changes in dependency generation 696798a Test Trac #7386 81f2c86 Test Trac #7384 ceedeba Wibble to output c1b677f Merge branch 'master' of http://darcs.haskell.org/testsuite 258d554 Remove duplicate test 16f685e Fix ghci058 on Windows ec56be8 Add if_compiler_debugged to testsuite driver 26cb867 update bounds f9b7f14 update 64-bit bounds 3c65824 Test TypeHoles 14c4520 Fix some tests 5cabf9a Fix safeHaskell/check/pkg01 tests dbb8d75 Fix Check09 test; it depended on the exact version number of bytestring 393939e Make the plugin tests standalone e9043b0 Remove the 'alone' modifier 75eae9c Test Trac #7422 8c98b1e Merge branch 'master' of http://darcs.haskell.org/testsuite 286b88f Add regression test for #7433 956f574 Test Trac #7438 04829b5 Make T7438 insensitive to the directory from which it is run 939fc5c Test Trac #7410 4228699 Accept error message improvement 8a27909 Test Trac #7451 b289026 Merge branch 'master' of http://darcs.haskell.org/testsuite 97842af Test Trac #7404 93c49b4 Test Trac #7408 5689e2d test for #7231 31e246d Add a test for #7453 e94c634 Merge branch 'master' of https://github.com/ghc/testsuite c7a5730 Test for #7162: RULES that never fire automatically 97e1ee6 Use python2 if it exists. Based on a patch from michalt. Fixes #7333. 16c2961 Make some tests independent of the version number of the array package 0e78931 Fix safePkg01 f3938cb Now that existential data constructors can be promoted T7347 passes 6c1caeb Merge branch 'master' of http://darcs.haskell.org/testsuite 2ecdaed Add test for -funbox-strict-primitive-fields 34534c5 Test Trac #7445 93e82e2 Merge branch 'master' of http://darcs.haskell.org/testsuite 63e4bca add test for #7478 b444487 delete stray file 1d50de5 Move UnboxStrictPrimitiveFields.hs to the right directory 33ab3f5 Add a test for #7476 dbb5a87 Add a test for #7474 4162905 Add test for #7487 575573e T3294 now uses more space ad48224 Merge branch 'master' of https://github.com/ghc/testsuite cd01e48 Add test for word2Double# and word2Float# 9924685 plugins*: Follow changes in ghc 6f50601 Add a test for -dynamic-too cf240aa Only run dynamicToo001 if we have both vanilla and dynamic libraries 8cd4ced perf test for Word->Float/Double conversion 8daa246 Test Trac #7506 f65b347 Test Trac #7502 e8aa218 Wibbles for new UNPACK stuff 16760df Test Trac #7489 9719ad9 Test Trac #7368 (second example) e2ab88c Add test for Trac #7488 9a1b165 Merge branch 'master' of http://darcs.haskell.org/testsuite 7a42cf6 Implement overlapping type family instances. 29696e3 Merge branch 'master' of http://darcs.haskell.org/testsuite 62a3c50 Test Trac #7525 1f7d26b Merge branch 'master' of http://darcs.haskell.org/testsuite 49bfb63 Wibble to debug output 53a3f0d Bump the residency of T4801 3a2ce0b Merge branch 'master' of http://darcs.haskell.org/testsuite 77dc694 Test Trac #7507 2f784e3 Don't run T7507 in ghci fee81ff Fix T7160 segfault by importing debugBelch2 7041e9c Test Trac #7536 a974886 Test Trac #7532 4e6bbb7 Test Trac #7541 5e1d9d5 Merge branch 'master' of http://darcs.haskell.org/testsuite d056bb3 Test Trac #7545 7ee327b Merge branch 'master' of http://darcs.haskell.org/testsuite 8f01d1e Test Trac #7360 1d21158 EmptyCase is now an extension flag that GHC understands (but Cabal does not yet) d6a3cca Wibble to output, now that CaseElim is less aggressive. 2fb886e Test Trac #2431 92d9cb7 Updated stderr outputs to reflect changes in FamInst de40b04 Test Trac #7436 b942d04 Wibble to test output after fixing Trac #7436 97b75f7 Merge branch 'master' of http://darcs.haskell.org/testsuite 83bfdc2 Merge branch 'master' of https://github.com/ghc/testsuite 744035f Fix Word2Float# test on 32-bit 441a87a Wibbles to error messages and tests, following ambiguity-check changes 0488163 Merge branch 'master' of http://darcs.haskell.org/testsuite aace245 Ambiguous-type wibbles 6c0c723 Fix typo in extension flags 2267f41 Typo in comments cfcd6b8 Re-do commit 1b8b7f47018eb33bebb0d7f3ee451f7d858a0f8f, which got lost by mistake 5c899f9 Test Trac #7454 b048618 Test Trac #5366 b5cf497 Merge branch 'master' of http://darcs.haskell.org/testsuite 23b0bf0 Test Trac #7279 4aa886d Add new testcase for Trac #7560. 26e5aaf Add test for #7361 0ac8c37 Test Trac #7562 b479c35 Add a test for #7563 f5a5229 Add a missing FD on `Add`, otherwise the test is (correctly) rejected. b4ebf62 Merge branch 'master' of http://darcs.haskell.org/testsuite fa0397f Fix test by removing unnessary (and bogus) fundep 9c64c3f Fix test by adding a fundep on class A, which makes the B instance legal again 292f99c Fix Test by adding a fundep to make the (Concete a b) instance legal bb79e71 Fix test by adding an extra fundep to make the (HasSingleton (Maybe a) mp) instance legal 053b211 Make tc226 have -O, so that the unboxing stuff happens a2e27e1 Add new test case T7585. 08e69b5 Merge branch 'master' of http://darcs.haskell.org/testsuite 657e24b Add a test for #7299 df80694 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 037617a Merge branch 'master' of http://darcs.haskell.org/testsuite d236645 Add better support for .cmm test files. 18fd170 Test for #7600. 94a1cf1 update gitignore d3bfd67 Fix simplrun010 test e34b2bf Adjust debug output for different syntax of strictness annotations 6544692 Adjust performance bounds slightly cb22ebd arith005(ghci) is broken on OS X x86 (#7043) 611105b Output wibble 2120d4e Test Trac #7594 0edc78a Add missing paren 27b0f0b Add a test for #1133 e672241 Add another test for #1133 f999a39 Test for Trac #7571. d22658b Remove a stray colon from the framework fail messages 531a441 Add a (currently very permissive) test name check 9b2d9d8 Add test for T7575. 3b42c19 Only run T7575 on 32bit arch. 3cedede Test Trac #7587 7f823a0 Fix debugging glitch in test output 479a922 Test Trac #2247 fb20a08 Fix T1133, T1133A when BINDIST=YES 70dc712 Don't allow '/' characters in test names 33af647 Use .hpc. for the hpc directory 3e70ca7 Clean the .hpc directories 8e9572b fix runtests to set LD_LIBRARY_PATH environment variable. 4a33b6e Rename some tests to not start with a digit cffb976 Make do_test catch and re-raise KeyboardInterrupt 69317c7 Adjust test; Int is not promotable 8f157fb Error message wibbles 488bf73 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 45ba79b Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 2c74d11 Rename some numeric tests: nnnn -> Tnnnn 3bd690a Rename some numeric tests: nnnn -> Tnnnn 01c5ea9 Rename some numeric tests: nnnn -> Tnnnn 4a37808 Merge branch 'master' of http://darcs.haskell.org/testsuite 8f5b045 Rename some numeric tests: nnnn -> Tnnnn 3d0f4c7 Rename some numeric tests: nnnn -> Tnnnn ff813a6 Rename some numeric tests: nnnn -> Tnnnn fc4e194 Rename some numeric tests: nnnn -> Tnnnn cccb390 Rename some numeric tests: nnnn -> Tnnnn 56de263 Rename some numeric tests: nnnn -> Tnnnn 2959a30 Rename some numeric tests: nnnn -> Tnnnn 4d4c5d7 Rename some numeric tests: nnnn -> Tnnnn 55e3a48 Rename some numeric tests: nnnn -> Tnnnn ea2a7ae Rename some numeric tests: nnnn -> Tnnnn 08db66a Rename some numeric tests: nnnn -> Tnnnn b107603 Rename some numeric tests: nnnn -> Tnnnn 4b7060c Rename some numeric tests: nnnn -> Tnnnn 8d715e6 Make numeric-only test names a framework failure 40bf8b8 Rename a test that shared its name with another test e645a38 Revert "fix runtests to set LD_LIBRARY_PATH environment variable." a673689 numrun012(ghci) now passes on Windows e66a81c Handles TEST_HC=c:/... on Windows 35eb509 Fix T7037 on Windows c2326d4 Tweak a comment to help vim's syntax highlighting cbe9e14 dynCompileExpr(dyn) fails on Windows as ghc isn't built the dyn way 188b562 Make T7037 work on both Windows and other platforms 254c887 test for #2435 c70d6ad Debug output wibbles c594883 Test Trac #7524 ee76d84 SimpleFail9 now passes, which is actually fine 27a66f0 update haddock.base figures ad22567 T5113 is passing, remove expect_broken, see comment on #7046 df3027e Remove some redundant 'extra cleaning' in T4850 33b47c3 Test Trac #7609 c588568 Interface files now include promotion flags d7eccda Improve test ce2f9eb Test Trac #7282 bea606f Merge branch 'master' of http://darcs.haskell.org/testsuite 1c81f61 Test Trac #7601 ffcfd20 Error messsage wibbles 512af3b Merge branch 'master' of http://darcs.haskell.org/testsuite 7361acf Add a test for #984 79a6a7a Accept output for readFail007 518c56d Add a test for #2222 fd1cf5c T5113 is failing again 4ff945c spelling fdf6cc7 Add a test for #1849 0eed595 When the testsuite is ^Ced, print the summary anyway 91aa609 Handle ^C better when threads are being used too 6eb328b Fix shared001 8005af1 Use a proper executable (rather than a shell script) in T6106 4200e0a Tidy up some tests 7dc2f44 Skip ghci/linking tests if we don't have ghci. 73e251d Fix cabal01 on Windows 8a0eeb4 dynamicToo001 is broken on Windows (#7665) 5527c5b Use normalise_errmsg_fun rather than normalise_fun where appropriate 4bde383 Fix T7037 on Win64 9dba3a8 Fix safePkg01 on Windows a9387d9 dph/words: don't inline the vectorised exported functions a69204b dph: tests with dph-lifted-copy need to use '-fno-vectorisation-avoidance if scalar closures get too big f854c8b dph/classes: fails for the moment, but earlier success was spurious a4b5be7 Fix framework failure 772a804 Eliminate *_num_field 0bbefb1 Make failing perf test output easier to read 25af5c0 Fix perf bounds on amd64/Linux following the change to *_range_field 164f705 add test for #7636 79f3386 Add a TEST="..." line to testsuite output c4cd533 Simplify driver code slightly 86df0f3 Define 'when' and 'unless' helpers f66409d Rename some arguments de7e357 Change how the testsuite driver handles copying the test options effc8af Pass the test name to the test options 83a6ae9 Remove unused *_num_fields bindings fba6633 Add a different sort of stats_num_field helper function f3c0dae Allow a simpler form of stats_num_field where all platforms use the same value d34f3e8 Convert to stats_num_field in perf/should_run 7d73454 Replace 'if_platform' and 'unless_platform' with 'platform' 338f03d Switch some more tests to use the new helpers 65b9cf7 Merge branch 'master' of http://darcs.haskell.org/testsuite 6dc2bd0 Convert remaining *_range_field's to *_num_field e315f36 Remove unused helper functions 50cfc63 Merge branch 'master' of http://darcs.haskell.org/testsuite 9f293ae Merge branch 'master' of http://darcs.haskell.org/testsuite a950053 Wibbles to test 8e1e95e Update 32bit perf results for the haddock tests 5ec0ad3 Rearrange the summary output 61dfc6c More 32-bit perf updates 448d4e7 More 32bit perf test bound updates 3541207 More 32bit perf bound fixes 77cfc62 Tweak another 32bit perf bound 98e12ea Tweak another 32bit perf bound 6e20d5d Improve bound for T3064 152b72d T5113 is fixed c5b0908 Merge branch 'master' of http://darcs.haskell.org/testsuite 3d94d01 Add 'make list_brokens' 240da00 Replace 'if_os' and 'unless_os' with 'opsys' 4c879a4 expect_broken_for should also be added to the list of brokens 78ff69f Handle duplicates in the brokens list 40f960d Print a warning if we get framework failures when listing brokens 5382010 Change '{if,unless}_arch' to 'arch' 02bd959 Convert more helpers to the new scheme 7cc907d Convert more helper functions to the new scheme 8d34b5c Convert more helper functions d36dc34 Convert more helpers 30a52e4 More helper conversions f73bd00 More conversions 89899d7 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 39997e4 Ticket #1845 is closed, so ghci024 presumably works on PPC/OSX now ac5ac46 Tweak the brokens list to include the directory the test is in 3e68b98 Remove T5763 dc96f51 Add expected output for T6117, which is now working f07528b Remove ds061 e71492e Update the reason for T5267 being broken d6df5b4 Add expected warnings for print020 3cdee65 HappyTest needs MagicHash 6dd940a Update print020 expected output 0821cab print020 now passes 716d83b Fix result001 6750676 Added testcase for Trac #7681, a Template Haskell missing feature. dc30d98 Update test to match new I/O manager behavior 94d8b99 Implement poly-kinded Typeable c7a2d3d Merge branch 'master' of http://darcs.haskell.org/testsuite a78a229 Merge branch 'master' of http://darcs.haskell.org/testsuite 55f1558 Error message wibble fdc6e90 Bump bounds slightly cc5fba7 Proxy is now defined in Data.Typeable ec8d757 Proxy comes from Data.Typeable, Typeable1/2 no longer exist 03753b0 Test #7631 cdddc52 TH empty case expressions now ok (with -XEmptyCase) a848c40 Reorder some functions to group them 8b801de peak_megabytes_allocated bounces around a lot 9781d94 Significant (15%) bytes-allocated reduction in haddock.Cabal and haddock.base c30fba2 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 8f6af34 Test Trac #7649 c3e24e8 Test Trac #7669 44cd844 Merge branch 'master' of http://darcs.haskell.org/testsuite a347ce0 Test Trac #876 718ab58 Merge branch 'master' of http://darcs.haskell.org/testsuite 06bf9e9 Merge branch 'master' of http://darcs.haskell.org/testsuite 91dd774 Change T3064's peak-megabytes again. It just bounces around 9d5fbec Wibbles because of exprStats change 00a3d58 Wibbles because of length-is-good-consumer change c02f121 add a StableName test 046b6ff fix T3064 bounds b3bf41f Error message wibbles when adding overloaded lists da1c206 Add tests for OverloadedLists a5e761b Merge branch 'master' of http://darcs.haskell.org/testsuite be6d11c Improve a comment aea57e4 Remove uses of compose(s) in tests, and change how composition is handled fc58f9b Test Trac #7645 a6244c3 Merge branch 'master' of http://darcs.haskell.org/testsuite 0e95a50 DPH: test tidying when unvectorised version of an exported variable disappears ff6ee52 Test Trac #2354 764d4cc Merge branch 'master' of http://darcs.haskell.org/testsuite 5238415 Test Trac #7688 28c2b2a unixify line endings d447f1d Don't use deprecated System.Cmd cfa86db Fix T7688 721f9cc mask002: Follow changes in base 5acf074 T4978: Follow changes in base f2b383f BadImport04: Follow changes in base 3fbfc40 Remove BadImport04 and BadImport09 c109bed Remove Dep0{3,4} 9a76609 Update GoodImport03 028e7a7 Add extra cleaning for ccfail004 6819503 Add extra cleaning for print035 fd24920 Follow the unsafePerformIO change in base a9e0501 Fix prog003 after forkOnIO was removed 8adfaeb Fix T4891 following GHC API changes 43d4588 Fix T6145; MatchGroup was renamed to MG and altered a513cdf Remove compose 5a219fb Fixed dph-classes 5a2f0bc Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite 7d7518f Revert "Significant (15%) bytes-allocated reduction in haddock.Cabal and haddock.base" 96cf2fd update T3064 max_bytes_used (up a little) 8d70a44 unsafePerformIO moved d6eba9a accept output 9cfc862 Test #7689 887b9f0 Update T3279 to use mask rather than block 06596cf Update a couple of tests to use mask rather than block/unblock 52ea416 Update a few more tests to use mask rather than block/unblock f65de9e Follow the removal of blocked in base 5e10b98 Revert "Update T3279 to use mask rather than block" dcbd5a5 use unsafeUnmask instead of an IORef containing restore f2a8479 small tidyup d1d45e8 The "unblock" was important here 566128c Test #7710 580fd74 Add a test for #7671 11237cf Add a test for #6037 d658827 Update outputs following the unicode quote change in GHC's output c5800c9 Fix line endings in Defer02.stderr 05cd20d Accept Defer02 output following unicode quotes change 0d7562d Accept T3208b output following unicode quotes change adcba27 Accept T3950 output following unicode quotes change c1881fa Update T3103.stderr following unicode quote change d911c3b Add a test for #2507; we should get `' quotes if unicode quotes don't work e43b7eb Fix T6037.stderr; it uses LC_ALL=C, so won't actually get unicode quotes e0413f0 Add a couple of tests for #7627 a3e9109 T7671 / #7671 is now fixed 69db014 Remove redundant SafeHaskell tests ccd4aa7 Test Trac #7729 7341c6b Merge branch 'master' of http://darcs.haskell.org/testsuite 3b88f75 Add a test for #7734 ef9f796 Update drvfail011.stderr following #7734 fix; patch from monoidal 455fbad Wibbles to error messages following fixing Trac #7696 and #7697 a0d9992 Test Trac #7641 58bac61 Test Trac #7696, #7697 35a209c Trac #7736: Parallel array enumeration causes compiler panic (enumFromToP), expected fail b400b60 Merge branch 'master' of http://darcs.haskell.org/testsuite 398c3d0 Wibbles from new arrow typechecking code Refactored to solve Trac #5609 44129f0 Merge branch 'master' of http://darcs.haskell.org/testsuite ade5319 update T5045 for new typing of arrow forms 3a4200f Accept unicode quotes in T2507 0aee231 Force recompilation to ensure plugin output, fixes #7597 eff6546 plugins01 should be using $(TEST_HC_OPTS), not $(HC_OPTS) 5c2f794 Update test output 51a1962 Add test for T7704 0edf9ca Add a test for AutoDeriveTypeable 7440ff2 Merge branch 'master' of http://darcs.haskell.org/testsuite 2ec07b3 Test Trac #7748 9142f09 Revert "Accept unicode quotes in T2507" 1bc7f3e Stop T2507 failing on Windows 6f6305e Add a simple test for compiling and running a program that uses the GHC API 5039959 Update haddock.Cabal bounds f3da8ce Tests for nullary type classes (#7642) 6215d4c Fix tests for dynamic ghc 543641a Fix ghci058 with dynamic GHC 61c83e9 Tweak test as a result of fixing #4175 c536db7 Initial test for Trac #4175 0ab15cf Fix T5555 with dynamic ghci bed5808 Fix plugins02 with dynamic GHC c9dbd10 Merge branch 'master' of darcs.haskell.org:/srv/darcs//testsuite e9fb977 T5313 is broken (#7774) 600d873 Add a test for #7776 302f20d Make T7319 run in all ways 6e09157 Merge branch 'master' of http://darcs.haskell.org/testsuite 2e55b16 Fix a framework error when using a non-dynamic GHC 3333a9c new test for #7796, also improves a haddock perf 9c0dbe3 SpecConstr infinite specialisation: test for #5550 86825d5 Test Trac #7805 25fb90d Test Trac #7804 717a1db Wibbles to error output 45e9b6a Bump peak-megabytes (always a wobbly number) 5363f26 Test Trac #7827 0e489e5 Wibbles to "main is not defined in Main" messagse 665bf58 Test Trac #7837 43bbd40 Test Trac #7586 15fe210 Test for #7815 3ad224c Whitespace only e47e664 Add a multi_cpu_race helper 0229378 Fix the testsuite config to allow running with GHC 7.6 539a9bf Add a test for #7848 b917510 Fix tests after #7848 c3d2436 Fix detection of library flavors on FreeBSD 8394c0e Fix library flavor detection for the validate script as well d61719f Actually test T4175 9bf2e77 Improve tests slightly 0edc55b Error message wibbles, following TcErrors refactoring 0bfd104 Test Trac #7786 f28c6b0 Peak-memory usage for T3064 varies depending on whether .hi file exists on not 0d07390 Error message wibbles af58cc6 Test Trac #7857 ce5d75b Add a test for "--make -dynamic-too" 30ae934 dynamic002 is broken (#7864) f4943f0 Fix the dynamicToo002 test 9183ff2 Update Cabal perf expected values following Cabal update e0a8eb6 More dynamic-too tests f5d3675 dynamicToo002 now passes d5bd2d3 Wibbles to error messages, following the fix for Trac #7851 1cbc06e Test Trac #7778 b505805 Test Trac #7851 f468754 Test Trac #7856 1129cf0 Test Trac #7869 70f883e Test Trac #7861 7a0919e Test Trac #7872 b663dd2 Test Trac #7873 8c561fc Test Trac #7875 69b9352 Wibble to error message 2718c2b Test Trac #7865 a9f00a6 Adjust tests to match -funbox-small-strict-fields change 8eef271 Add test for T7878 f010e1a Add a test for shutting down a process with in-calls in progress af43126 unbreak tests (removal of block/unblock) 8eb3cf9 Tidy up the driver slightly 985a221 Fix library way detection; fixes the ImpSafeOnly* tests when BINDIST=YES ebd5165 Add a test for #7373 962fd59 Change how we detect what library ways are available f9763a5 Test Trac #7910 464dc37 Update test now that undefined has an OpenKind forall 866b6e4 Wibbles to error messages 15013c0 Better error message 1fab45e Test Trac #7268 7a7ace7 Test Trac #7888 2ef4463 Test Trac #7892 600726c Update test for application of (->) to Int# cd5b6ba Improved compiler performance! Reason unknown, but hey, it's good news 60e39fa Test Trac #7891 and #7903 81058c9 Wibble to simplifier output 91132ac Test Trac #7906 cb5ed25 Make the test actually test the bug! 5888f61 Make test cleaning a little more consistent 8c6794a Merge branch 'master' of http://darcs.haskell.org/testsuite 26eee8d Add a test for 2 trailing commas in the module export list ea5bdfd Improved error message 61b57b2 We no longer quantify over an entirely-unused existential type variable 47aebf9 Add stderr output 9918965 Test deriving Typeable for promoted data constructors with AutoDeriveTypeable fca2491 Add test for T5863 c311c2a Update output for T2604 78618d4 Test Trac #7916 c1d4cd7 Test Trac #7924 dcafadf Improve test T7916 d90640e Test Trac #7939 302b38b Test Trac #7931 28207fb Explicit kinds in :info command ===> testsuite wibbles 02e0df0 Test Trac #7937 3a596be Test Trac #7943 4039397 Test Trac #7797 762b777 Re-increase the (erratic) max-bytes-used bound for T3294 0a5065a Wibble to error message 182e34b Test Trac #4185 4316bc3 Add test for polykinded Control.Category. 4112b1f Whoops. :( 2e7d1fd Test Trac #7809 967f685 Make test for T7903 a bit harder! 56f4215 Test Trac #7785 9051d7f Test DerivingNewType now passes 71178ab Remove CatPairs test. 5b08752 Fix test for Trac #7931 65b3531 Add a test for #7859 753ab0b Performance test for Trac #7702 557fa20 Remove some cruft 99da484 Test Trac #7959 e36f28b Add missing files from #7702's test 9e7d0dc Merge branch 'master' of http://darcs.haskell.org/testsuite 70ceb7b Simplifier trace wibbles for cardinality analysis 6599d46 Update gitignore. cc1b579 Allow fast from top level makefile. 09de957 Update readme to markdown and expand. b52a0a2 Test Trac #7894 98265b3 Update expected perf results c5d5e3a add test for the new bswap primops cb5a00c Fix cgrun072 436f896 Test Trac #7973 5bd297c Test Trac #7974 2333148 Wibbles to error message in recomp006 bab5720 Test Trac #7967 133b500 Mark cgrun072 as expect_broken( 7902 ) da80f8e Fix some testsuite cleaning; part of #7941 4895155 Update fptr01 a595130 Fix qq00{7,8} with dynamic ghc 9e5f86a Fix apirecomp001 with dynamic GHC 08da282 Fix annrun01 with dynamic GHC 82fc261 Test Trac #7963 5c0012b Test Trac #7969 03fe914 Remove .imports file which isn't part of the repo a67156e Test Trac #7954 5cc6773 Test Trac #7558 1008179 Add Windows expected output for T7859 7b78543 Improve the testsuite's LLVM detection a26bf92 Just moving some tests aroudn to make it easier to see what's going on c30744c Updates to support closed type families. a44e4a7 Add another -dynamic-too test 3df8953 Wibbles to perf tests 57bfe48 Test Trac #8002 b60461e Test Trac #7995 8b24aa7 Test Trac #8011 fe2397f Test Trac #7989 62e48fb Test kind inference for closed type families/T7939. 3ab4718 Add test case T8018 6297368 Add test from #7919 991a6fd Add test for #7574 40e10bd Add test for #7970 e010fa6 conc031 now deadlocks, due to fix for #7970 0e3e681 T149 is passing b098a7a Revert "Add test for #7574" a99cd86 Add test T8028 3248b3a Fix testsuite failure caused by fix to #8041 5d621d5 Add a test for #8035; patch from errge 504c0af Add expected output for T8035 5bd8743 Add test to check stack is not executable, to prevent #703 regressions. d8b1626 Tests for atomicReadMVar. ca3a648 Add simple test for tryAtomicReadMVar. 48ac948 Add a test for #7850 2c35ccb Rename atomicReadMVar and friends to readMVar. 4a2ade4 cgrun072 now passes. 657da7a Add note about how to cleanup test files. aab4cda Only run T7995 with optimizations (it tests rule firing). 9c3bfb1 Add a test for #8083 aae6751 T8083(ghci) fails 5aaca55 Add output for T7970, make it run when 'fast', and remove bogus file f32f5f9 Wibble to output from new instances in Data.Data 229c664 Add some missing cleaning 1facc19 Rename a mis-named test 5970baf Add a test for #8101 c93e866 Add a test for #7835 9437811 Test for #7116 (strength reduction) e63fd2a Add a test for T7895 (literal overflow) f70e79a Add NegativeLiterals to T4437 5207c0f Add a test for #7881 65a5305 Add new test for #8020. 929155f Add tests for roles. 40cd71a Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 733b6ee Wibbles to output from refactoring datacon code a3a99eb Add test case for #7938. fd20b87 Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/testsuite 902cf01 Added test cases for closed type families in .hs-boot files. b02aa92 Fix #7116 failing due to uniques f0beac1 Add LICENSE file, along with a copy of the GPLv3. 9b5f1c1 Fix duplicate test names 0a5e964 Fix naming of ClosedFam1/ClosedFam2 tests. 015da28 print035 now passes (see #7382) 0ced36c Add failing test, see issue #8131. 5f18e9e Add a failing test, see #7574. 0c03fae Comparison primops return Int# (Fixes #6135) bbb9cbe Add regression test for #8103 6d4bf54 Add a regression test (see #8116) b082afa Add a regression test (see #7953) d764c0c Add testcase for #8138 9aaaf62 Fix test for #8116. 8a1456a Test case for #7901. 5eae0ad Improved performanace 0bc0e7d Add test cases for T457 d157f5f Add regression test for #8142 5314acb Rellocate test for T7689 to different directory 6fcb7c6 minor: update test case to go along with atomic_inc change a29b67b Add a basic test for casArray#. 24aaa0f Omit hpc for CAS test. HPC breaks CAS currently. b92d14d Update casArray# test and add simple casMutVar# test. d4a2cce Add a test for unloading object files in the linker (#8039) afac9ac linker_unload fails when using dynamic GHCi. f3f9077 remove debugging cruft 7b03dbf Fix atomicinc 77210ad The linker can still be used when DYNAMIC_GHC_PROGRAMS=YES 65b737f Add regression test for #8113 5b606aa Update `perf/haddock` expected values 2416079 Fix typo in expected-perf update commit c6361f6cb4 6cb3e0b Add test-case for #8172 f9d1f65 Add test for #8186 e06abac Wibble to output from change in roles error messages a7bc138 Wibble to tests from improving comments about apartness. 567f2fc Add test for -XNumDecimals f1cd6b1 Add NumDecimals to GHC ext list in T4437. ce82e57 Use msse2 in Conversions test (See #8195) c1bb147 Test Trac #8155 9166f69 Increase peak-megabytes for T4801 059acec Follow TH pretty-printing change e44d8cd Follow error-message changes for type holes e35f5c8 Updated tests for the change in wrapper IdInfo syntax in c080f727ba5f83921b842fcff71e9066adbdc250 cf2fe3e Test cases for new IncoherentInstances behaviour 2fcaed3 Adapt for `containers-0.5.2.1` update 25df0af Merge branch 'master' into atomics 77fb33c Wibble for removing InlineWrapper 644d917 Test Trac #8196 23fb31b Test Trac #8215 2065c01 Test for T7918 6f0cf01 add a test for #8209 cab84ec Tests for Trac #8221 8c16eb5 Magic incantation to make T7918 work on Linux 391e99d Adapt test to avoid Typeable instance error 16f468f Add test for #8132 32a0d95 Test for -staticlib flag 92bd658 Adapt for `containers-0.5.3.1` update fb5156d Remove extensions from T4437 known to Cabal 1.18.0 4c959e2 Update T4437, per JavaScriptFFI changes. 8859e1e Test for Trac #8242 0b1bea4 Fix most AMP warnings. ad8fb8f Test Trac #8227 9ca4a73 Error message wibbles f355937 Test Trac #8262 394ab58 Fix output for T8262 13f1caa Leftover change to relevant-binding warnings (one I missed) 47a0c36 Fix remaining AMP fallout. 2801397 Test for #8205 04a2428 Add some tests for evaluating type-level naturals. 7e76e92 Follow change in [e17549c80425f3/base] 5dd3e99 Tests for the Coercible class 226a18b Tests for #5435 (init/init_array/constr handling by linker) 02d4958 Properly provide leading underscore when necessary. 35db0b3 Fix egregious pathchar business in linker_unload. cef90d5 Suppress some known errors from Mac OS X. bd598da Suppress some known broken Windows tests. baaf4e8 Adjust test suite to new Language Pragma warnigns 57700b9 Fix getPageSize to actually cache the page size. d510f5e Nuke tabs in rts/posix/OSMem.c bf58295 add stg_MUT_VAR_CLEAN_info and stg_MUT_VAR_DIRTY_info to the symbol table 81610b0 80 columns 05d2fae Make these two tests thread safe. 865956a Cause "make install" to install dynamic libraries (#8194) f11289f New primops for byte range copies ByteArray# <-> Addr# 14677cd Fix freeHaskellFunPtr crash on iOS. bb53268 Fix the type signatures of new copy primops. 5f7733d Add tests for the new ByteArray# <-> Addr# copy primops 321647d Fix up cgrun072 a bit (#8250) 4d2cd51 Delete trailing whitespace in cgrun070 0138d19 Fix usage of 'expect_fail' in T2507 4141f8b Add test case for #8184 769bfc7 Mention new solver for -XTypeNats in release notes. ea83174 Distinguish between hs-main cases when giving rtsopts advice. 85a9e24 Run ctors initializers backwards, see #5435. c65a3cd T5435 test improvements, see #5435 for details. 9ef384d Comment typo only 5f212c8 Release Notes: Document Data.Bool.bool (#8302) 9b0f0cb Test for #8306 3ee4700 Make sure type literals aren't negative (#8306) 7f6518c s/TypeNats/DataKinds/ in release notes. 2eb4487 Typo in release notes 9672b08 Further linguistic improvement of that one line bfe3c4c Implement ctors support for Linux. d53be3b New and improved tests for #5435. Linux only at the moment. 853f92c Implement assembly test for #5435 in Windows. 7b12be7 Finish up asm test #5435 for Mac OS X b647700 Add warning comment about Mach-O section name hack. 4e2f6c2 Allow branches with / in them (e.g. wip/) in ./sync-all 0eb7546 In the test that tests -optP -C, also pass -optP -ffreestanding 96421e0 Release Notes: New printf features in base 3505891 Adjust testsuite to new printf implementation 9a4c4e2 Recompilation test case for #8247 b4ab30d Add missing Windows stdout/stderr output for #5435. f4046b5 Change role annotation syntax. 1e3ca73 Update to tests due to change in syntax for role annotations. 53b2dc8 Suppress unused variable when OS does not support setuid. d80bd87 Fix-up Docbook XML broken in f4046b508a5a7 b6bc326 Limit upper versions of Alex and Happy bd42c9d Implement checkable "minimal complete definitions" (#7633) b6d90d1 Update to new missing-method-decl warning style f900796 Tests for MINIMAL pragma (#7633) b626989 Tweaks to release notes If someone also feels that credits should better go into the release announcement, just nuke the last line of that paragraph. 1c5fee1 Follow changes in [12a8244/ghc-prim] (#7633) 7a4c15a Add flag to control loopification 690b7e4 Follow changes in [7ab62490/base] (re #7633) a5bdc6b A little refactoring 8cfbdcc Accommodate Derived constraints in two places (fix Trac #8129, #8134) 62c4058 Optimise (case tagToEnum# x of ..) as in Trac #8317 03e44ee Tidy up and refactor overflow checking for literals 6eec7bc Trailing whitespaces eca3044 Trailing whitespaces 4a9f216 Follow changes in comparison primops (see #6135) 53948f9 Restore old names of comparison primops 9078408 Comments only de4090b Make Word# a wired-in TyCon (fix Trac #8280) 07f524c Fix egregious blunder in extractRelevantInerts e9fa009 Fix T4007 71f0918 Fix performance failures on x86_64 17ba306 Remove trailing whitespaces in flags.xml 291cb85 Document -floopification flag in user guide 4916552 Update release notes for new comparison primops d85550e Comments only 33dfd92 Test driver: Print total time spent at the end 1e24696 Test driver: Implement different verbosities d57f2ad Ignore Tickish Breakpoints when serialising Core into interface files e17072d Refactor AMP warnings a bit 3462534 Kill Type.isKindTy in favour of Kind.isKind (same code) 15dc80e Nuke tc-trace that makes the typechecker loop 86033a0 Improve error message for deriving polykinded Typeable (Trac #7800) d545b46 Comments only 9d0ae76 Test Trac #8280 fd4e4ab Test Trac #8129 b139102 test Trac #7800 023eff7 Test Trac #8333 2fbfa11 Update `Cabal` to 1.18.1 final ffa8d22 Typos 96cfb11 Fix name of vanilla RTS way in the user's guide da11bb1 Document more stolen syntax (#4196) 1320fd2 Add release note entry for `{-# MINIMAL #-}` (#7633) efb9e82 Document remaining GHCi commands in users_guide (#7501) ea2af9b users_guide/ghci: Whitespace cleanup (#7501) 6f79989 Restructure compilation pipeline to allow hooks 6e6e6f5 Release note blurb. bdcf210 Ensure that globalRegMaybe returns accurate information for XMM registers. e02c506 Do not assume that XMM registers are used to pass floating point arguments. 0f89b9e Enable passing vector arguments in xmm registers on x86-32. da5a647 Do not expose LLVM-only primops in GHC.PrimopWrappers. 16b350a SIMD primops are now generated using schemas that are polymorphic in width and element type. 638cd12 Flesh out 128-bit wide SIMD primops. 0c6cf2a Add support for -mavx and -mavx2 flags. 9d47e58 Add Cmm support for 256-bit-wide values. e074c1c Add support for 256-bit-wide vectors. afdb2fc Set LLVM option -stack-alignment=32 when compiling AVX instructions. f8c5167 Fixup stack spills when generating AVX instructions. 0b561f1 Pass 256-bit-wide vectors in registers. 7624815 Add 256-bit-wide SIMD primitives. 03e33c9 Add support for -mavx512* flags. 49f4c12 Add Cmm support for 512-bit-wide values. 26a960c Add support for 512-bit-wide vectors. c5add86 Pass 512-bit-wide vectors in registers. 7dda67b Add 512-bit-wide SIMD primitives. d2b9526 By default, only pass 128-bit SIMD vectors in registers on X86-64. 1ed36c5 Enable -msse to be specified by itself. 25eeb67 Check that SIMD vector instructions are compatible with current set of dynamic flags. 680441d Merge branch 'wip/simd' e19ae5d Catch potential garbage after -msse. b7e27b6 Typos be3b84f Typos f5879ac Discard unreachable code in the register allocator (#7574) 1908195 Fix linker_unload now that we are running constructors in the linker (#8291) c0d6441 T7574 is now passing (#7574) 10a4450 linker_unload is now passing (#8192) 93a04b4 Remove fglasgow-exts from ghci --help 84dff71 Fix the definition of cas() on x86 (#8219) 9c11fdb Fix build when PROF_SPIN is unset 72fa9fc Wibble after #8218 e2da02d Release notes: mention instance Monad (WrappedMonad m) (#8218) 325587c Driver: Fix % operator typo 5cf3669 Add a type-function for subtraction. 3eb5cfd Add some tests for type-level subtraction. 1c0a8e0 Typo in comment 94ab5d2 Fix user guide documentation about unboxed values 5e2f145 Update `primitive` and `vector` packages 9a7626c Fix T8132 1711208 Implement an unlifted Proxy type, Proxy# f712751 Make typeRep_RDR use typeRep# instead of typeRep c4ffdba Fix manual regarding current state of implicit quantification fa3ffb4 Release notes: mention -XEmptyCase 683f4b7 Whitespace only. fd9a9ab RnNames.lhs : Reuse existing function. 8634935 Fix typo in sync-all script. (#8375) 0481e07 Teach sync-all how to rewrite submodule repo urls 030e3f7 Fix T8333 (#8333) 7f23a5d Make lazy unlifted bindings an error by default. 3bd7861 Fix BCO bitmap generation on 32-bit platforms (#8377) 883fd49 Test Trac #8377 d664f8b Remove extra space in LIBFFI_CFLAGS (#8349) cb83365 Add a note about Proxy# to the user guide bb3f7b0 Mention the Foldable and Traversable instances for Const r in the user guide 6a8e733 Fix fallout from making lazy unlifted bindings an error b9127f4 Fix AMP warnings for explicit Prelude imports (#8004) 18f2895 Deal with failures for T367, T367_letnoescape under ghci 5fa0c79 Update compareAndSwap for new comparison primops 5d12054 Mark T7881 as expected failure for WAY=hpc (#8384) 7ff4696 Update spec001 for new Typeable, and disable AMP warning ab86ebd Update prog001 output (see #7633) a86935b Update role annotation syntax in TcCoercible 6c235b5 Compare against pRELUDE_NAME instead of "Prelude" ba3ae9c Fix T8129 (#8129) 82cd258 Add tests for new internal GMP primitives 4b8a928 Typos in users' guide 56084d7 Expand the commentary in Note [syntax of cmm files] 11b5ce5 Remove use of R9, and fix associated bugs cb7785f use a nat, not StgWord8, for gc_type 0b0fec5 use StgWord not StgWord8 for wakeup 2f69aae Globally replace "hackage.haskell.org" with "ghc.haskell.org" ab3abf1 grammar fix 9bbbf26 Remove a couple of unnecessary/outdated references to HBC 2798a17 Clarification in the docs for INLINE c0f89a1 Add back a comment that got lost aab6560 Add layout to MultiWayIf (#7783) 3c9aa40 comment update b9ce2d5 new test cases for MultiWayIf w/ layout f9bcb83 add a sleep for systems with low-resolution file timestamps 9bd3666 Lift an unnecessary assumption in the demand analyser (fix Trac #8329) b275be6 Test Trac #8329 36035d8 Better docs for MINIMAL e276ed7 Comments only 96f33e6 Move defaultClassMinimalDef from BuildTyCl to TcClassDcl badbbe0 Comments only 4407614 Look inside tuple predicates when checking instance declaration contexts bceeb01 Improve error reporting of fundep coverage condition failure 66c5ddb Improve pretty-printing of types 0ad7cdb Error message wibbles, 60d17a3 Remove trailing whitespace and tabs bd0c900 Test Trac #8359 4bdbdd1 Better fundep error message 63f2eee Documentation for -fprint-explicit-foralls and -fprint-explicit-kinds ff07927 Wibble (change of flag name) 259e1ae White space and line endings b8a4085 Improve error message for fundeps a bit more d6ccea9 Typos in comments 4a14326 Delete old comments referring to newSession bc8a5e1 Persist annotations to interface files (#3725) 70ccf23 fingerprint.py: Invoke 'perl' manually (#8283) 1e41257 Mark those tests which depend on libraries not built when cross-compiling 61e0979 Skip integerGmpInternals in ghci (no unboxed tuples) 40177b2 Add 32-bit output for T7919 627d1e0 Add TH support for annotations (#8340) e663290 Add tests for prefetch primops (#8256) fd74014 Add support for prefetch with locality levels. 5af8ae5 Release note updates. 6b56962 Further testsuite wibbles following changes to kind suppression a15ece4 Remove glasgow-exts from :help 986250e Update manual regarding unboxed tuples 067f78b Error message wibbles following ambiguity check changes b84fbab Initialize gc_thread.mut_spin to the 'acquired' state 9864edf Look through tick-boxes when looking for integral literals in the desugarer 7996d8f Tidy up the commit for Trac #3725 43856a0 Improve -XAllowAmbiguousTypes (Trac #8392) 7e44480 Tiny comment on the change from StgWord8 to StgWord 9d908c5 Close over kinds when checking fundep coverage (Trac #8391) 65128ed Test Trac #8392 be98618 Test Trac #8391 d371092 Trac #T7881 now works for hpc way again 80d2a08 Test Trac #8357 f76d68d New tests for #8368. 0c7d2d7 Fix Trac #8368. 4f85aab s/Heep/Heap/ 0773f76 s/pathalogical/pathological/ cd504d8 Fixup basic type-lits test. 4462992 Fix a failing test. 30a046f Update `bytestring` library to latest upstream HEAD 429397f Comments only 1de7975 Wibble in user docs a9649c4 Fix the bytecode genreation for tagToEnum# (Trac #8383) da46a00 Improve pretty-printing of IfaceSyn type families acccbf3 Simplify PprTyThing 8755758 Simplify printing of boot-file mis-matches, by using PprTyThing.pprTyThing 8d82954 Comments and white space only 1745779 Simplify the plumbing for checkValidTyCl 5863ce4 Test Trac #8383 c5806bf Error messsage wibblification 22818ab Move renamer splice functionality into a separate module. 0cc2bb5 Consolidate TH renaming. 6af0bd8 Add syntactic support for typed expression brackets and splices. 96456c6 Add names for TExp type constructor and unType. 639714b Differentiate typed and untyped splices and brackets in the abstract syntax. 459a03e Track the typed/untyped distinction in the current TH stage. d0d47ba Check the staging restriction in the renamer. e036ddc Track TH stage in the renamer. 4ccdc32 Adjust tests for new Template Haskell. 1d43475 Fix test wibbles for new Template Haskell. c2dc336 Update tests now that declaration splices are legal everywhere. 6a82b92 Update test to reflect fix for #1201. f8dd650 Fix test wibble. 27c2fd7 Peculiarly, we now pass this test on ghci. 96c6fa0 Add support for typed brackets and splices. 1e6a941 Clean up error context when checking brackets/splices. 047b3b8 Clean up smart constructors for splices. db6cb11 Add support for pattern splices. 5246e12 Add full support for declaration splices. 9145629 Code formatting cleanup. cb44123 Allow splices to add additional top-level declarations. c6033dc Change the types of typed brackets and splices. 2d1b4a7 Add support for Template Haskell module finalizers. 5e1fda8 Add support for Template Haskell state. e7394be Merge New Template Haskell branch. 3db7650 Merge New Template Haskell branch. d5075dc Remove tab. 3e7b7c3 Add release note item for new Monoid Const instance 718e86b Flag to test suite: SKIP_PERF_TESTS aa8559d Add tests for new TH #4124, #4128, #4170, #4364, #6062 3e0109b Remove deprecated _scc_ (#8170) 9cd6e6e Change deprecated _scc_ to {-# SCC #-} (#8170) c519f24 More clarity on CurrentAlloc docs. 15b4f83 More error-message wibbles d42b0ec Change backslash to vertical bar in comment 67ede55 Print (non-representational) roles when display TyCon information 7912f8b Error wibbles now that we print roles in :info d2013e8 docs for new layout behaviour with MultiWayIf (#7783) fc0f74c Fix grammar 2a182ab Catch some popular typos in comments ddc79b2 GHCi: Expand ~ in :script command 26cc444 concurrent/conc012: Pass RTS options to executable, not ghc a936391 Wibble to annfail10 due to Edward's changes. 7fad107 Clean up some outdated comments (#8418) 6751a00 Release note fix. 4b4ecff Turn -H and -Rghc-timing into dynamic flags. 99cf459 Use evaldUnfolding for proxyHashId 16c4011 Nuke {save,restore}StaticFlagGlobals. 9a04e1c Typos e8efda2 Wibble after typofix a83652e Show parentheses when printing type (forall x. T1) T2 (#8428) 519c0d7 Test #8428 c3762fa Update and clean-up the implmenation of GHC.TypeLits 82456db Update `bytestring` to final 0.10.4.0 release 997a488 Clarify the TSO_SQUEEZED check. 996206b Typofix. b9c6fd7 Use dynamic linking only if the GHC package is compiled with -dynamic (#8376) 8ea8c37 Fix up the conditions for zeroing slop (#8402) aa7cbbc don't need ghci_way_flags, the ghc package works all ways 83be3d7 Fix a bug in the canned selector code when profiling. a9fb5a7 accept cgrun057(prof) abc910d Future-proof code for upcoming `array-0.5.0.0` f05b73c Relax build-deps to allow upcoming `array-0.5.0.0` c7f0f82 Update Cabal to current upstream `1.18` branch tip 20b962b Update test-suite for new `array-0.5.0.0` 400c260 Reject spurious \end{code} in literate mode (#8430) 7cfe392 Test #8430 c6af06e If exceptions are blocked, add stack overflow to blocked exceptions list. Fixes #8303. 896cee0 Make MO_Prefetch_Data a no-op in the C backend (#8437). 6c122f9 Fix freezing on bare ')' with alternative layout rule (#8431) dcdc172 Test #8431 9fb30cb Do not copy stack after stack overflow, fixes #8435 6584d73 Add a timeout for #8431 eafae36 Remove outdated comment (#8434) 7186bdb Add machinery to reify annotations (#8397) feb7638 Fix mkdirhier.sh on OS X 10.9 (#8139) 8878541 Fix building RtsProbes.d on Mac OS X 10.9 (#8139) c5262a1 Add rts_isDynamic to the linker symbol list 77d2aa5 Typos 2216b4d Reject negative type-level integers created via TH (#8412) 3b6d57f Test #8412 66484c4 Update `haskeline` library to latest HEAD 081dd69 Test #8412 (again) bb9d53e Fix Trac #7667. 6b2ccad Weaken the improvement for subtraction. 7245b3e Added test for #7667. 1192df4 Typo in manual 798d0a6 Fix Trac #7667. e575126 Trivial comment fix. (#8358) 332eba9 Added comments to BooleanFormula to explain the expression simplifier. (#7633) 0a80baa Update `Cabal` to 1.18.1.1 final cb0fd91 Improve documentation (Related to #8447) 94125c9 Generate (old + 0) instead of Sp in stack checks 738e2f1 Trailing whitespaces a05ffbd Remove unused code 00226dd Trailing whitespaces b3a2cf8 Minor code refactoring in HscMain 0af9e72 Document -c in hp2hs(1) 553fafb Correct release notes about SIMD support. 80b63d4 Fix typo 61e9f51 Support the syntax [e||...||] for typed expression brackets. 828f874 Document new typed Template Haskell features. 7a58033 Add typed Template Haskell details to the release notes. 1cf0c8a Optimise stack checks that are always false 2140e8a Comments only d6ed4df Comments only f7e7948 When de-serialising interfaces, need to distinguish types from kinds d1683f0 Trailing whitespace only 62d0116 Test Trac #8449 4fa1efe Comments (about the stack overflow check) only d43bf5d Comments about control-flow optimisation dfc51a4 Merge branch 'master' of git://git.haskell.org/ghc 41212fd Clarify comments and liberalise stack-check optimisation slightly 9ed37ee T5313 now succeeds (Fixes: #7774) b0545d8 Trailing whitespaces 057bef6 Improve control flow optimisation algorithm f1c7d94 Comments only 77250f2 Update performance test due to fix for #8456 eb49cba Update performance tests 169a188 Flush stdout after printing in runIO d4f7e01 More comments about stack layout c650ed4 Test #8119 a6d5d9c Test #8119 3fb19a9 s/excpetions/exceptions/ 89b4686 Dial back -O level on DPH tests to speed them up 5c4c46d Don't run opt versions of DPH tests at all 97dfa2f Rename topNormaliseType to topNormaliseType_maybe and add new, simpler topNormaliseType dc9961f Fix Trac #8448 e359a65 Normalise the type when generating do-bind warnings (Trac #8470) 59d86a3 Test Trac #8448 8ce3516 Error message wibbles f9f69e8 Test Trac #8470 4d75984 Add test for #8455. c43dd97 Add new test for the second round of #7667 99cd277 Update tests to reflect new check for GeneralizedNewtypeDeriving 324f995 Wibbles to output regarding role annotations. f122291 Fix Trac #8455. ba6308e Refine fix for #7667. 755bdc8 Comments & typos only ff3904d Change GeneralizedNewtypeDeriving safety check. c1c9cf5 Change default roles for classes to be *nominal*. 4fe12f4 Update user manual with respect to new default for class roles. 8854d9e Be more selective about when to print out roles with :info 2041b94 Test Trac #8469 69e04fa Merge branch 'master' of git://git.haskell.org/ghc 21c3d17 Remove debugging printouts -- sorry! ddf61ce Revert "Fix Trac #7667.", restoring the refined fix. c027092 Suppress AMP warnings with -XNoImplicitPrelude (fixed Trac #8320) b73800c oprhNamesOfFamInst should include the type family itself (fix Trac #8469) 1990c63 Add doc link 2650da2 Refactor the topNormaliseNewType story, fixing Trac #8467 bbda6d5 Test Trac #8467 b47ff6b Untabify and remove trailing spaces de34e2e Untabify and trailing whitespace b84367d Trailing whitespace only 47b6e15 Untabify (sorry didn't fully do it first time) 29db17f Remove unnecessary check in CmmContFlowOpt 7b93a3d Test Trac #8425 4253456 Adjust performance of T783 to #8456 fix 45eaeee Another attempt to fix the conditions for slop-zeroing 2f5db98 Implement shortcuts for slow calls that would require PAPs (#6084) 29be1a8 Discard dead assignments in tryToInline 36b042f Make integer overflow less likely to happen (#7762) b724cd4 Turn several nats into StgWord to avoid potential integer overflow (#7762) 9026c77 comments 115eb4a Clean `.buildinfo` only if `.buildinfo.in` exists 6e30aea Add a tiny bit more tracing 54717c8 Be more careful when iterating the constraint-simpifier loop (fixes Trac #8474) e55f516 Remove canSolve in favour of canRewrite 453a092 Untabify and remove trailing whitespace 8a4c406 Test Trac #8474 72f8b8d rts: Add getPhysicalMemorySize 7de07eb rts: Print correct stack size on stack overflow 8f3ea7d rts: Fix typo in comment d3b24e1 rts: Allow for infinite stack size bcc337a users_guide: Document zero stack size limit edbf51a rts: Set default maximum stack size to 80% of physical memory f65473b users_guide: Update default maximum stack size f213e48 Correctly set relative rpath for OS X (#8266) f57ba1d Placate clang (#8444, #8445) 2fc1ac2 Add build.mk.sample entry for Cross Compilation cee3adb Make SpecConstr also check for GHC.Types.SPEC 736ed65 Linker.c: remove stablehash, which is no longer used 41fb636 ghci: add support for ELF weak symbols 645eadb Linker.c: add dso_handle to the symbol table db11bfc Make sure to #include Stable.h in Linker.c 0084818 Untabify Linker.c d71bbe7 Untabify RtsFlags.c 2a8bfc3 T8242 now passes on Windows f294ef1 Fix dangling pointer reference in T8242 104773d Test Trac #3333 32df429 Update documentation regarding SpecConstr. 97736ee Release note blurbs for directory. 4985788 Release note wibble. 6024c9f Release note blurb about ELF weak symbols. e734c18 Change type of `errMsgSpans` field of `ErrMsg` to `SrcSpan` fb1d2cc Revert "comments" d34f1c8 Revert "Implement shortcuts for slow calls that would require PAPs (#6084)" 619fd18 Fix getPhysicalMemorySize on OS X (#8481) f66c643 Update `Cabal` to 1.18.1.2 94c8dfa Fix Windows build. a60d748 Untabify and delete trailing whitespace. e593a5c Release note blurb for stack size changes. 2f5629f Fix bad grammar. edea03a Another release note fix. 0620241 Add `{-# LANGUAGE MagicHash #-}` in output of `genprimopcode` f81b974 Add more missing `{-# LANGUAGE #-}`s to `genprimopcode` output 2fd6bbb Add GitHub upstream repo for `libraries/random` f275522 Update `pretty` to 1.1.1.1 release e5b0a50 Follow version bump of `pretty` 7cb10ba rts: Add casts to prevent compiler warnings in printfs. ed807b7 Add tests for new internal GMP primitives 80c8b2a Don't include malloc.h in linker_unload test. 9366e01 Fix Trac #8485. 2fc162e Add test for #8485. a4176c4 Update upstream repo url for `haskeline` 9642716 Update `terminfo` to version 0.3.2.6 61c8558 Remove remains of _scc_ (#8170) c9fabf5 Test #8492 eaa4682 Remove debugging output (#8356) d943aff Minor typos (fixes #8496) c4d5289 Sync up to `haskeline` upstream's HEAD 72102f1 Update tcfail082 output (#8322 fallout) 63b8147 Load all modules before reporting errors (#8322) 69fa2e5 Add support for module reification (#1480) 1082f21 Fix a race condition when PROFILING (#8453) a4b1a43 Fix loop on 64bit Big-Endian platforms (#8134) 773365f rts_apply uses CCS_MAIN rather than CCS_SYSTEM (#7753) 7e6786f Remove superfluous #ifdef from Takano's patch. dd2bce5 adding further documentation and explanation to the prefetch primops 23fb7f3 Nuke trailing whitespace. 5a01117 Bump all version numbers in release notes. c3e7823 Silence two AMP warnings 37ae422 Update documentation concerning prefetch ops 2c028d8 Update obsolete URLs in documentation 7ea0c63 Fix obsolete mention of `darcs-all` script 7e4406b Tweak lookup semantics for GHCi macros 9f507c6 Mention some new instances in release notes a4494ac Improve pretty printing of IfaceAT in interface files 6f331d6 Fix marshalling of IfaceAt to and from interface files ae9ed7d Comments on mi_usages e470290 Fix checking of shadowed names (fixes Trac #8499) 50d4cd7 More comments on Usage and Dependencies ba33d57 Comments and reorg only ac4a5e2 Test Trac #8500 a7d9aa1 Test Trac #8499 1548d83 Make -ddump-tc-trace imply -ddump-cs-trace 2c6b201 Add filterVarEnv 706552a Untabify and whitespace 06aac68 Refactor the constraint solver (again!) 28e2606 Untabify and whitespace a2ff078 Error messsage wibbles bc61455 Peak megabytes for T1969 varies from run to run 136dc98 Test Trac #8450 8944fd3 Zonk the type in reifyInstances (fixes Trac #7477) 38438e1 Improve a parser error message (Trac #8506) 959eef6 Test Trac #7477 a69fea8 Test Trac #8506 f6f9eb3 Test for Trac #4135, comment 2 bc5f6f5 Error message wibbles 5bf435b Warn if you use -XTemplateHaskell in stage1 bf3b293 Tidy up the error messages we get from TH in stage1 (Trac #8312) c314e64 Wibbles to 'Tidy up the error messages we get from TH' 2403fa1 Improve printing of errors when the tycons look the same 22bcd5e Wibbles following fix to Trac #8278 384398b Allow optional 'family' and 'instance' keywords in associated type instances fa8b20a Fix oversight in comverting tuples from TH to HsSyn (Trac #8507) 3fe4b67 Error message wibbles f9b3ff4 Fix typo in User's Guide b459c35 Add docs for #8305 4962f40 Add tests for new import/export GMP primitives 9378e39 Update aux files `config.{guess,sub}` and `install-sh` a1b6932 Make worker/wrapper robust to bogus unsafeCorece bd61277 Test Trac #8037 12369d6 SysTools.getTempDir: don't retry after catching a does-not-exist error 95216e8 Typos in note 486d396 Run T7478, plugins06, T7918 only when dynamic libraries are available 0b46843 Typo in test definition 4279665 Make -XTemplateHaskell an error in a stage-1 compiler (except with -M) 6c1aba4 Warn if you use ANN annotations with a stage-1 compiler (Trac #4268) 0001d16 Fix egregious omission in CSE (Trac #5996) 802f4b8 Improve eta expansion (again) fd252df Test Trac #8507 c6ccdbb Test Trac #8518 6be78e2 Much better perf on 5030, higher peak on 3064 961203b Improve typechecking of tuples (Trac #8514) 96e6edd Make exprType work correctly in the presnce of type bindings (Trac #8522) 552f1bf Test Trac #8514 50c4f33 Wibbles 1e603f5 Actually increase the perf number! 1c17d00 Further refactoring to the tuple-typechecking patch ee65883 Detect msys2 via uname (different to msys) faa6842 Test Trac #5996 b2fa2d4 Make type-level evaluation work with :kind! 9156be5 Remove old workaround for containers <= 0.3 117b6b8 Remove unnecessary and deprecated inclusions of Typeable.h 54957b6 Turn NameCacheUpdater into a newtype bed118a Make the fields in NameCache strict cb8935d Fix bug in LLVM code generator 69559a4 Update `Cabal` to 1.18.1.2 (again) 334545e fix a small memory leak with +RTS -hb 35c05d7 comments 5b0b83b simplify processNurseryForDead ad0b943 Fix some cases where we were leaving slop in the heap (#8515, #8298) a987b80 Improve the shutdownHaskellAndSignal and add fast exit 12cdd6d Don translate UserInterrupt into ExitFailure 1, let it propagate 19b8809 Change the representation and move TcBuiltInSynFamily. eb8fb43 Simplify and improve coverage of ":info" instance lookup 29b6882 Increase coverage of #4175 699dc54 Fix the unlit path in count_lines 434d783 Improve error message dff0e99 Fix a subtle bug in kind-mis-matched equalities (Trac #6068) a836b69 Improve orientation 1e0ef82 Fix canIrredPred again 26c9d59 Include funTyCon in oprhNamesOfType (fixes Trac #8535) 6335c12 Typo: s/LlVM/LlVM/ 71e4950 Minor change to error message wording a0d5566 Wibble cb9a3b3 Test Trac #8535 8d2617a Wibble after typofix 600b36a Typo 2c74f98 fixing canDoGenerics1 (fixes #8468) (fixes #8479) 98d0d81 Generic1 cannot yet be derived for datatypes with tuples with a parameter not in the last position 3b55ede Update output for generics 54c5fde Fix typo in a836b6, 'Improve orientation' 851548d Improve the 'deriving' code for polykinded data types ac73a9a Test Trac #8534 4642f87 Add DeriveDataTypeable (omitted wrongly before) e43a412 Wibbles to deriving error messages 781a167 Typos in [CPR for sum types] 7903476 Include pairs in this test 483ff50 Add examples from #8541 to testsuite a37c6ad Test case for undersaturated newtype in Coercions ea3c659 Test coercing under under-saturated newtypes 0346dee Update `primitive` to upstream's current HEAD 976a108 Make Coercible higher-kinded 2f7d3d8 Coercible: Do not try to unwrap undersaturated newtypes 6200809 Explain higher-kinded Coerctions in Note [Coercible Instances] a1ca534 Test cases for context stack overflow 9c2dade Fix branch name check regex in sync-all 2885ab0 Rename mkNoTick to mkNoCount 63c6f6a mkNoScope: expand the default case fecf75b tickishCanSplit should be False for HpcTick 36dbf27 refactor tick handling a little 13fd6e2 Update linker_unload to cope with CAFs afb83bc 80 columns 92b614f 80 columns a51c4b5 Comment ef89860 80 columns e82fa82 In the DEBUG rts, track when CAFs are GC'd beaf8c3 CheckUnload needs to look at revertible_caf_list 5874f13 Allow the linker to be used without retaining CAFs unconditionally e3b5317 Grammar in comments 9f71101 Mark tests as expect_broken when borken with -DDEBUG b3f9c91 Don't complain about rules overlapping functions with no unfolding 8ba55ae Add debug dump of the list of Cmm proc points aebc7e1 Improve panic printout 3f0d453 When removing unreachable code, remove unreachable info tables too 3fdad85 Ignore untracked contents in submodules 5bab1a5 GHCi: Properly generate jump code for ARM (#8380) 50055af Fix make binary-dist on OS X (#8122) 98a8512 M-x delete-trailing-whitespace 1bffa2b Fix formatting (fixes #8551) ac5ff64 Comment on StgArrWords vs StgArrBytes 9bb909b Temporarily lower unfolding threshold on Windows bb73d1d Extend getPhysicalMemorySize to iOS (#8533) eba82bd Untabify buffer. 0d10c87 Test Trac #8526 0858061 Always re-summarise modules when -fforce-recomp is set 9db4951 Better constraint-solver tracing 2081bdc Add suggestion of -XNegativeLiterals 7db2340 Print the correct name when complaining about SPECIALISE pragmas 985663e Fix type-equality in the type checker (fixes Trac #8553) e38b994 Test #8542 b99d8aa Test Trac #8537 67661b6 Improved error messages ea73ef7 gadt6 is fine now, even with DEBUG c42d5ca Improve pretty-printing of pending splices 3e5905b Refactor traceRunStatus/handleRunStatus 7881488 A raft of changes driven by Trac #8540 e999950 Clarify what is in ic_tythings, and refactor TcRnDriver.setInteractiveContext db53b5a Refactor TcSplice.tcBracket a bit ea49c01 Wibble to RnSplice (really belongs with b7f35733) e4e7aff Error message improvements d3ea4ce Error message wibbles 15bfc03 Higher residency in Haddock 7055a16 Test Trac #8540 e42ddfe Make SubGoalDepth a type of its own 01b12ca Separate SubGoalDepthCounters (constraints and typ fun applications) b6b5c41 Add -ftype-function-stack to set type function stack depth a4c79e3 Type function application has its own depth counter now 6f49522 Add test cases for Coercing recursive newtypes (#8503) d544260 Testcase for Coercible and newtype families (#8548) 4a2e4a7 Coercible-base GND: update error messages d6b0c79 Update test output of print018 e9e413e Large refactor: Move CtLoc field from Ct to CtEvidence 310e7e7 Add ctLoc = ctev_loc . cc_ev db3d971 Prevent recursive Coercible dictionaries 335031f Extend Coercible to newtype instances 2930694 Implement GeneralizedNewtypeDeriving in terms of `coerce`. 6ba82b1 Use newTyConInstRhs in coerce?d GND f065205 Use bindLocalNamesFV in rn_inst_info 42370b5 Updates perf numbers after #8503 implementation 1b282fc Add a missing case to Lint's understanding of empty cases 7a22c30 Untabify and trailing white space b83666d Move isVoidRep, isGcPtrRep to TyCon to join primRepSizeW etc f438464 Replace (State# RealWorld) with Void# where we just want a 0-bit value 3b45ada T5246 and T7474 back working with -DDEBUG a56dadc Mark break006 break003 print019 as broken by #8540 5c904ba Mention that the user has to import GHC.Exts for Constraint f8b25c3 Update to core-spec documentation. 51deeb0 Another raft of Template Haskell clean-up 58e1993 Error message wibbles 586a251 Add testcase for #8563 803afa3 In toHsType, filter out kind variables 7dcce31 Mark #8562 as fixed 56b9f2a Add testcase for #8565 5f3aa06 Typos in comments in TcEvidence df37261 Typos in comments 6279a01 ghc.mk: one module name per line 9fbb8c7 Rejigger flushExec implementation (#8562, #8561) a247887 Comment only 1812f44 Comment only 3ac1539 Add role-checking ASSERT to mkCast f432229 Remove unused liftTcCoSubstWith ce5b7e7 Bump haddock.compiler perf data 9d643cf Roleify TcCoercion aef9044 Beginnings of removing EvCoercible 808ded9 Get rid of EvCoercible 9bc5b53 Coercible for impredicative types d2bcc79 Testcase #8565 no longer broken b5b6613 Ensure nested CPR does not break havoc with repeat d3b14cd #3103 no longer broken, it seems e28006c Output of T7861 has changed 3fcde74 Comments only 25be487 Update some perf results for master 1df2116 EvCast needs to take a representational coercion 4d1ea48 Implement shortcuts for slow calls (#6084) e9b0d36 Fix up shortcut for slow calls 9021737 Comments on slow-call-shortcutting 77e33bc -ddump-cmm: don't dump the proc point stage if we didn't do anything 6f7fa4e Refactor handleRunStatus some more, add comments and tidy up formatting 52b96a7 add Note about residency tests eebf8d8 Add test for T6084 6da3797 Undo my wrong bumps to T6048 3ec7f39 Summarily skip compiler_perf tests when DEBUG is on d79ecb4 Explain skipping compiler-perf tests when debugging is on a8ac471 Fix the deugger (fixing Trac #8557) f3a8416 More faff to get GHCi's top-level environment right cefe67b Error message wibbles 88d06d9 Fixed Trac #8540 a95a20b Test Trac #8557 76f8a4b Wibbles when fixing Trac #8570 c5fa5d5 Test Trac #8570 59e17d6 Fail (rather than addErr) if you use a bogus field in a pattern 9641641 Remove whitespace between macro identifiers and `(` 23efdd6 Update Notes for Coercible ceb600d Minor fix to example GHC plugin in the documentation 3526198 Test the strictness analyzer using annotations a96f715 Add test case for #8569 2e3c6a5 Update "stolen syntax" section (#8575) 9c3c152 Call busy_wait_nop() in the spin-wait loop in shutdown_gc_threads() de9f17e Update "stolen syntax" section (#8575) 4bbffb4 Fix documentation of FlexibleContexts (#8574) adb9964 Fix loopification with profiling and enable it by default (#8275) 6d24076 Document solution to #8275 6178f6e Don't explicitly refer to nodeReg in ldvEnterClosure ac31b79 Move the LDV code below the self-loop label (#8275) 574ccfa Respect the ordering of -package directives fac831f Revert "Respect the ordering of -package directives" 5e86ea5 TcDeriv: s/isomorphism/coercible bd7a125 With GND, report Coercible errors earliy 1791ea0 Print nicer error message for Coercible errors 06facab Refactor deferTcSForAllEq: Do not bind, but return EvTerm 249d47a Bind monadic stuff in getCoercibleInst locally, not via parameters e1e9faf Handle Coercible (forall a. t) (forall a. t2) in TcInteract b859c18 More links to [Coercible Instances] eb98c81 Update testsuite for nicer Coercible message 49cbda5 Bump T3064 perf values c4296b9 Update apirecomp001 output e1fffa6 Mark type-rep as broken until #5869 is fixed c838eb1 Try to set flags for some tests involving TH right acdb3a4 TH_import_loops fails for GHCi again ca80875 Looks like plugin06 really only works with dynamic libraries enabled 3fecf81 Remove dead code orphaned by implementing GND with `coerce`. 4067340 Rejig rejigConRes & friends, doing role checks in a second pass. b84fff3 Fix location of spliced-in role annotations. 102fe6a Test case about HyperStr and UseDemand aba39d0 Wibbles to output caused by change in checking role annotations 90588c1 Move FunDeps to typecheck cb17c1f Note [HyperStr and Use demands] 0fe399c Some popular typos in comments 51bebb7 Refactor: Origin of inferred Thetas f6f82a9 Update output: New error messages as per #8576 4025d66 Elaborate "deriving" error messages 586bc85 Mask async exceptions in forkM_ d14e5bf Export getHscEnv from HscMain 95ba5d8 More detailed error message when GND fails 381724b Update output: More elaborate GND error messages 356bc56 Fix note reference [WildCard binders] e122154 Comments only b67f503 Improve ASSERT cd03893 Comments only 4f603db Untab ClosureTypes.h and ClosureFlags.c 9d7cbbc Remove code that generates FunDep error message context 55c703b Move the allocation of CAF blackholes into 'newCAF' (#8590) fe68ad5 Update and deduplicate the comments on CAF management (#8590) 95854ca Use new flushExec implementation on all operating systems (#8562) 47024b6 Made ghc -e have a nonzero exit code upon failure (Trac #7962 ) 415f0d6 Refactored by Simon Marlow's suggestion d9ad369 Fix compiler warnings due to integer size mismatch f783a6f Add new ghc-e/should_fail test suite 75dbe87 Different quotes in error messages following lexer clean-up 9d6f111 Comments, and rename a variable 8b642de Typecheck typed TH splices properly (fix Trac #8577) 0f2a20b Suggest TemplateHaskell after encountering a naked top-level expression 1c69305 Clean up Lexer.srcParseErr 1860dae Suggest TemplateHaskell after encountering a parse error on '$' (#7396) 6b52a20 Test Trac #8577 8157a26 Add `.mailmap` file 373e340 More different quotes in error messages following lexer clean-up 980badd Remove the LFBlackHole constructor 773003a Add testcase for #8598 8528165 Fix windows x86_64 build. 3f6da56 New flag: -ddump-strsigs fb906bf Use -ddump-strsigs in tests/stranal/sigs a31cb5b Do not forget CPR information after an IO action f64cf13 Rename topDmdType to nopDmdType 5a0eaba Mark testcase for #8598 as not broken 3cdf125 Replace mkTopDmdType by mkClosedStrictSig 9e84e13 Add nested CPR testcase 08d21c4 Demand Analyser testcase: Unsaturated functions 5e0fe05 Sort the output of -dump-strsigs bef57f0 Sort the output of -dump-strsigs 289ecda Add more .mailmap entries 7558231 Do not generate given kind-equalities (fix Trac #8566) 0849d02 Better debug printing f114826 Spelling in comment 0da1a84 Test Trac #8566 838da6f Some refactoring of Demand and DmdAnal ba78bf1 Do not split void functions 0558911 Assign strictness signatures to primitive operations 869f69f Guarding against silly shifts 80989de Improve the handling of used-once stuff 6b6a30d Move peelFV from DmdAnal to Demand d39bb03 Adjust output to new oneshotness fedd570 lazy-bs-alloc improved from oneshotness stuff f116efa Update compiler performance values fbe14a8 Clarify the default demand on demand environments 59d4a8e Remove dmdAnalArg and replace by easier to understand code b1561d1 Add Note [non-algebraic or open body type warning] de62d2c Split DmdResult into DmdResult and CPRResult 8f25170 Do not export DmdResult constructors in Demand.lhs 779dca7 Rename postProcessDmdType to postProcessUnsat and use* to reuse* 24eafd2 Refactor peelManyCalls 72b6224 Disentangle postProcessDmdTypeM and postProcessUnsat 0e2fd36 Make types of bothDmdType more precise 7eabd56 Update comments: Void# instead of State# RealWorld# 39c55a3 Copy-pasto. ddd1c82 Mention '-fno-ignore-asserts' in documentation. 82dfe08 Remove unused eqExprX 724690f Revert "Simplify the plumbing for checkValidTyCl" 00cd65f Error wibbles while fixing #8607. e4afeed Fix #8607. df2dd64 Add hook for splicing in renamer 03d7cc6 Update perf numbers for 32-bit This has not been done for ages a5cb317 Test Trac #8633 33b931c Test Trac #8603 d53a095 Error message wibbles a6f6169 Define mkTcNomReflCo = TcRefl Nominal, and use it all over 8721743 Re-factor TcCanonical (again), fixes Trac #8603 d58a8df Comments only 00a9110 Comments only 4393b4b Fix number literal syntax mistake 38d17a0 Clean up block allocator, fixes #8609 4eeaf55 Update Note [Coercible instances] 053a9d1 Handle parens in predicates when converting to TH 22770b4 Test Trac #8625 c93d664 In ':show imports' take account of -XNoImplicitPrelude f54fc09 Test Trac #8639 (just the GHCi version) 40db99a Test Trac #8639 fb121d3 Improved out-of-scope error for qualified names in GHCi 4853be2 Use the GlobalRdrEnv when renaming the axuiliary bindings in 'deriving' 5c4265f Add alterOccEnv e60a841 Improve error message when using qualified names in GHCi 5dffb4a Refactor the way shadowing in handled in GHCi 9e10d18 Improve the equality-floating story (again), to fix Trac #8644 e54ce01 Test Trac #8644 c06528c White space only b0cdb9b Update T7594 as a result of fixing #8644 bcd92b0 Do hFlush in the T8639_api test 7f2bf06 Test Trac #8640 de705b8 Test Trac #8628 a9eed48 Test Trac #8579 4d70840 Fix #5209: Reset GHCi prompt in multiline mode 1675423 Update T7594 properly c3a08c0 Add output for T8639 fc19426 Update perf values for T5237 e25af05 Fix -dynamic-too clashing with -o (#8180) 949be3f Fix __GLASGOW_HASKELL_LLVM__ #define bb63e83 LLVM mangler: fix AVX instruction rewriter. 26fcbd0 Fix specification of -z origin for gold. 1310d75 nativeGen: Fix spelling in comment d783f12 Lower unfolding threshold for windows (again.) 032969f Re-order preprocessor args to agree with User Guide (fixes #8602) 036916b Add test suite for #8602 ed67d29 LlvmMangler: Rewrite @function symbols to @object 32002b3 LlvmMangler: Make sure no symbols slip through re-.typing d24aa8f Remove trailing whitespace. ca77f5c Fix validate failure. ec4af3f runghc: Fix interaction of stdin and --ghc-args c53b339 Tests for #8601 a93f857 Extend runRnSpliceHook to decls and patterns b014797 Test that runST is not inlined prematurely d4f0fcf Document Proxy# (#8658) 5d2fb2e Further refine the test for 'given' equalities 0f737ce Comment typo 0ec5302 Improve documentation of :module etc (Trac #8622) 19e23dc A little refactoring so that we print package-qualified modules names if necessary 322b48b Further improve the "same-occurrence" error messages (Trac #8278) 73c08ab Re-work the naming story for the GHCi prompt (Trac #8649) 15a3de1 Comments only 91252ef Test Trac #5498 eeb6963 Changes in error messages when fixing Trac #8649 e8529d3 Adjust "max_bytes_used" upward for T4801 21b3245 Test Trac #8649 d154b7b Test Trac #8651 95f938d Fix a typo in comment ad233cf Add forgotten stderr output for T5498 063a1b2 Notes and code cosmetics 17a3dac Bring kind variables into the type-checker's scope as well as type variables 08a3536 Make showSDoc and friends respect -dppr-cols b7ddf63 Make initGhcMonad call setUnsafeGlobalDynFlags ea5da60 Comment typos only 3c2ae51 Document the fact that Areas overlap, and why. 0369c97 Clarify issue in #8630 in users' guide. 566ba6f Fix #8599. a32d478 Update mailmap cc29b46 Fix typo in error message a924deb fix a mistyped label that caused a stray reference 6669340 Fold testsuite.git into ghc.git (re #8545) 5f54d67 Update `sync-all` and others files w.r.t. merged testsuite (re #8545) 5f2cdca Fix new Haddock doc parse failures. 5356fb3 Bump Haddock perf numbers for new parser f806598 Update new testsuite .gitignore ae87e12 Fix #8180 6494de1 More testsuite .gitignore updates 4af1e76 Add Windows to NoSharedLibsPlatformList 9c91a24 More .gitignore updates 2d9be8c Test Trac #8616 a3616cd Lower T4830/allocated_bytes due to [7bdcadda7/integer-gmp] (#8647) 8a0f1d2 Adapt perf values due to [cbde8627/integer-gmp] ed86b1a Remove obsolete declarations from `MiscClosures.h` f9892b2 Regenerate core-spec.pdf. 4d5d68a Disable -dynamic-too on Windows 7df27d5 Fix the behavior of ae87e122 (#8180) 5949489 Tweak OS X/amd64 perf numbers. 91fd784 Update .gitignore again 01b85a8 Update .gitignore abea97b Fix T3333 cd3e345 Mark static001 as failing d4c2397 Add T8172 output for Win32 1c43b74 Fix T8172 for Win32 (again) 8eae725 Fix T7859 mingw32 output 0da3ef2 Fix T8526 on Windows 769c75a Mark T8602 as expect_fail on Windows 59182e4 Add Solaris linker support to SysTools b9b94ec Fix binary linking errors on Solaris dfc32cd5 genprimopcode: Applicative instance for ParserM 10d36f3 Fix AMP warnings for MaybeT/MaybeErr 0537cb7 Another AMP fix for Stream 4571b40 Fix ./validate failure due to -Werror f73fc7d Fix TyCon import aae5931 Fix Windows binary-dist target 3e633d9 Typo in comment 235fd88 Turn -XTypeHoles into a (on by default) warning 89c83d6 Update to `terminfo-0.4.0.0`/`haskeline-0.7.1.2` 778b48a s/warn-type-holes/warn-typed-holes/g d1712db In rts/Printer.c, print exact UPDATE_FRAME type 20a25b5 PLT Redex definition of an STG-like language, as-per the fast curry paper. 3428f76 Cache compiler info in DynFlags d0ed1ff Don't pass -nodefaultlibs to Clang dbc4605 Fix ghciprog004 when built with Clang 69cf5c4 Update to `containers-0.5.4.0` 61395b5 type-rep is only broken when debugging is on f0a7261 Disable -fregs-graph (#7679, #8657) 78a506a Documentation on the stack layout algorithm eec0b58 bump bounds for T6048 11f5cd9 Typo in comment eaa37a0 Add a way to reserve temporary stack space in high-level Cmm 58e5843 Allow the argument to 'reserve' to be a compile-time expression b41821b Update to current Cabal 1.18 branch tip ab74d75 Replace worthSplittingThunkDmd by worthSplittingArgDmd 7cdf141 Refactor WorkWrap, get rid of worthSplittingArgDmd b26e2f9 Remove unused returnsCPR 59f491a ...and clean up the imports 98db754 Typos in comments 45d825b Add an expect-broken test for Trac #8566 9433f1d Tidy up Outputable.printDoc, and add printDoc_ 44dc0aa Eta expand data family instances before printing them 0f7381b Don't print roles for data instances 19e09df Add a test case for #5949 20b1a07 Add testcase for #4267 e4a4aba Fix #8675 0d90cbc Enable LLVM-based code generation for FreeBSD/amd64. c3b8b3a Allow "amd64" to be recognized as an x86_64 platform. bcc5c95 Re-enable DYNAMIC_GHC_PROGRAMS for FreeBSD. 1ad599e Fix #8451 fe3740b Make `#include "Rts.h"` C++-compatible again (re #8676) 2bb19fa Make worker-wrapper unbox data families 0c57887 Simplify doCorePass da66a8d Test case for #T7619 59cb44a Explain why TcAxiomInstCo carries [TcCoercion], and not [TcType] 4f8369b Implement pattern synonyms 22ddcff T7336 is expected to be broken because of a regression introduced by pattern synonym implementation 0a2d323 Fix #8677 (fallout from #8180) 3047c09 Fix some of the 32bit perf numbers. 721e188 Fix another failure. c9ed9aa Clean up the release notes. b61958d Also mention Pattern Synonyms (but with a FIXME) 4f9df5a More release note touchups. 21c2607 More tweaks. c5088e2 Fix more 32 bit performance fallout. d562382 Wibble. e81c630 Release notes: mention Mavericks and some bugs 2335060 And don't forget FreeBSD 7c48e76 Revert "Fix more 32 bit performance fallout." 13f1f86 Fix 32bit numbers (again) 801a3d2 One more fix (T3064) cabf0b4 Fix spelling of language pragma 26acb49 More demand analyser test cases 8d34ae3 Some polishing of the demand analyser. e01367f Some typos in comments 35117c9 Let coerce have a lower arity b76e50d Replace forall'ed Coercible by ~R# in RULES 1906a7d In CoreSubst, optimize Coercible values aggressively 82bb528 In simpleOptExpr, unfold compulsary unfoldings 8d68e50 Add Case TyConAppCo to match_co From git at git.haskell.org Sun Jan 26 04:17:36 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 26 Jan 2014 04:17:36 +0000 (UTC) Subject: [commit: ghc] master: User documentation for pattern synonyms (5281dd6) Message-ID: <20140126041736.737FD2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/5281dd6f5998af94aa06c3769089db7011ea4463/ghc >--------------------------------------------------------------- commit 5281dd6f5998af94aa06c3769089db7011ea4463 Author: Dr. ERDI Gergo Date: Sun Jan 26 12:10:10 2014 +0800 User documentation for pattern synonyms >--------------------------------------------------------------- 5281dd6f5998af94aa06c3769089db7011ea4463 docs/users_guide/7.8.1-notes.xml | 6 +- docs/users_guide/glasgow_exts.xml | 299 +++++++++++++++++++++++++++++++++++++ 2 files changed, 304 insertions(+), 1 deletion(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 5281dd6f5998af94aa06c3769089db7011ea4463 From git at git.haskell.org Sun Jan 26 13:34:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 26 Jan 2014 13:34:11 +0000 (UTC) Subject: [commit: ghc] master: Squash some spelling issues (9005f91) Message-ID: <20140126133412.339272406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/9005f91e2884b0db1f8b66b124708f65f7e69b90/ghc >--------------------------------------------------------------- commit 9005f91e2884b0db1f8b66b124708f65f7e69b90 Author: Gabor Greif Date: Sun Jan 26 13:39:00 2014 +0100 Squash some spelling issues >--------------------------------------------------------------- 9005f91e2884b0db1f8b66b124708f65f7e69b90 compiler/basicTypes/BasicTypes.lhs | 2 +- compiler/cmm/CmmContFlowOpt.hs | 2 +- compiler/coreSyn/CoreLint.lhs | 2 +- compiler/coreSyn/CoreSubst.lhs | 4 ++-- compiler/coreSyn/CoreSyn.lhs | 2 +- compiler/hsSyn/HsUtils.lhs | 2 +- compiler/rename/RnEnv.lhs | 4 ++-- compiler/rename/RnPat.lhs | 4 ++-- compiler/rename/RnSource.lhs | 2 +- compiler/simplCore/OccurAnal.lhs | 6 +++--- compiler/simplCore/SimplCore.lhs | 2 +- compiler/stgSyn/CoreToStg.lhs | 2 +- compiler/typecheck/TcMType.lhs | 2 +- docs/comm/exts/th.html | 2 +- docs/comm/the-beast/basicTypes.html | 2 +- docs/comm/the-beast/renamer.html | 2 +- docs/comm/the-beast/simplifier.html | 2 +- docs/comm/the-beast/stg.html | 4 ++-- docs/comm/the-beast/typecheck.html | 6 +++--- docs/ndp/haskell.sty | 2 +- docs/ndp/vect.tex | 2 +- docs/users_guide/glasgow_exts.xml | 2 +- 22 files changed, 30 insertions(+), 30 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 9005f91e2884b0db1f8b66b124708f65f7e69b90 From git at git.haskell.org Sun Jan 26 13:34:14 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 26 Jan 2014 13:34:14 +0000 (UTC) Subject: [commit: ghc] master: Tweak the example (d9ac5ea) Message-ID: <20140126133414.3CA912406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d9ac5ea241793b073b735aee9a21a0d69db25a66/ghc >--------------------------------------------------------------- commit d9ac5ea241793b073b735aee9a21a0d69db25a66 Author: Gabor Greif Date: Sun Jan 26 14:33:18 2014 +0100 Tweak the example >--------------------------------------------------------------- d9ac5ea241793b073b735aee9a21a0d69db25a66 docs/users_guide/glasgow_exts.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml index 23ba91c..5117417 100644 --- a/docs/users_guide/glasgow_exts.xml +++ b/docs/users_guide/glasgow_exts.xml @@ -875,8 +875,9 @@ data Type = App String [Type] -Here are some examples of using this representation: -Using this representation, a function type will look like this: +Here are some examples of using said representation. +Consider a few types of the Type universe encoded +like this: @@ -888,7 +889,7 @@ Using this representation, a function type will look like this: This representation is very generic in that no types are given special treatment. However, some functions might need to handle some known -types specially, for example the following two functions collects all +types specially, for example the following two functions collect all argument types of (nested) arrow types, and recognize the Int type, respectively: From git at git.haskell.org Sun Jan 26 22:40:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Sun, 26 Jan 2014 22:40:04 +0000 (UTC) Subject: [commit: ghc] master: Mention #3202 (no monomorphism restriction in GHCi) in release notes (7325040) Message-ID: <20140126224004.C72782406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/73250400ef628126aea9ebff7dfa04fe48d2121d/ghc >--------------------------------------------------------------- commit 73250400ef628126aea9ebff7dfa04fe48d2121d Author: Krzysztof Gogolewski Date: Sun Jan 26 23:39:46 2014 +0100 Mention #3202 (no monomorphism restriction in GHCi) in release notes This change seems worth mentioning >--------------------------------------------------------------- 73250400ef628126aea9ebff7dfa04fe48d2121d docs/users_guide/7.8.1-notes.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index c1954bb..1ae96bc 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -550,6 +550,11 @@ GHCi + The monomorphism restriction is now turned off + by default in GHCi. + + + GHCi now supports a prompt2 setting, which allows you to customize the From git at git.haskell.org Mon Jan 27 10:36:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 10:36:46 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: Replace forall'ed Coercible by ~R# in RULES (af95fcc) Message-ID: <20140127103647.0465B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/af95fccac77211da49299e94d759602ef7aafe68/ghc >--------------------------------------------------------------- commit af95fccac77211da49299e94d759602ef7aafe68 Author: Joachim Breitner Date: Fri Jan 24 13:33:37 2014 +0000 Replace forall'ed Coercible by ~R# in RULES we want a rule "map coerce = coerce" to match the core generated for "map Age" (this is #2110). >--------------------------------------------------------------- af95fccac77211da49299e94d759602ef7aafe68 compiler/basicTypes/Id.lhs | 5 +++++ compiler/basicTypes/OccName.lhs | 9 ++++---- compiler/deSugar/Desugar.lhs | 47 +++++++++++++++++++++++++++++++++++++-- 3 files changed, 55 insertions(+), 6 deletions(-) diff --git a/compiler/basicTypes/Id.lhs b/compiler/basicTypes/Id.lhs index 50b3641..0020032 100644 --- a/compiler/basicTypes/Id.lhs +++ b/compiler/basicTypes/Id.lhs @@ -30,6 +30,7 @@ module Id ( mkGlobalId, mkVanillaGlobal, mkVanillaGlobalWithInfo, mkLocalId, mkLocalIdWithInfo, mkExportedLocalId, mkSysLocal, mkSysLocalM, mkUserLocal, mkUserLocalM, + mkDerivedLocalM, mkTemplateLocals, mkTemplateLocalsNum, mkTemplateLocal, mkWorkerId, mkWiredInIdName, @@ -269,6 +270,10 @@ mkUserLocal occ uniq ty loc = mkLocalId (mkInternalName uniq occ loc) ty mkUserLocalM :: MonadUnique m => OccName -> Type -> SrcSpan -> m Id mkUserLocalM occ ty loc = getUniqueM >>= (\uniq -> return (mkUserLocal occ uniq ty loc)) +mkDerivedLocalM :: MonadUnique m => (OccName -> OccName) -> Id -> Type -> m Id +mkDerivedLocalM deriv_name id ty + = getUniqueM >>= (\uniq -> return (mkLocalId (mkDerivedInternalName deriv_name uniq (getName id)) ty)) + mkWiredInIdName :: Module -> FastString -> Unique -> Id -> Name mkWiredInIdName mod fs uniq id = mkWiredInName mod (mkOccNameFS varName fs) uniq (AnId id) UserSyntax diff --git a/compiler/basicTypes/OccName.lhs b/compiler/basicTypes/OccName.lhs index 6dbae4b..e993767 100644 --- a/compiler/basicTypes/OccName.lhs +++ b/compiler/basicTypes/OccName.lhs @@ -62,9 +62,9 @@ module OccName ( mkGenDefMethodOcc, mkDerivedTyConOcc, mkNewTyCoOcc, mkClassOpAuxOcc, mkCon2TagOcc, mkTag2ConOcc, mkMaxTagOcc, - mkClassDataConOcc, mkDictOcc, mkIPOcc, - mkSpecOcc, mkForeignExportOcc, mkGenOcc1, mkGenOcc2, - mkGenD, mkGenR, mkGen1R, mkGenRCo, mkGenC, mkGenS, + mkClassDataConOcc, mkDictOcc, mkIPOcc, + mkSpecOcc, mkForeignExportOcc, mkRepEqOcc, mkGenOcc1, mkGenOcc2, + mkGenD, mkGenR, mkGen1R, mkGenRCo, mkGenC, mkGenS, mkDataTOcc, mkDataCOcc, mkDataConWorkerOcc, mkSuperDictSelOcc, mkLocalOcc, mkMethodOcc, mkInstTyTcOcc, mkInstTyCoOcc, mkEqPredCoOcc, @@ -572,7 +572,7 @@ isDerivedOccName occ = \begin{code} mkDataConWrapperOcc, mkWorkerOcc, mkMatcherOcc, mkDefaultMethodOcc, mkGenDefMethodOcc, mkDerivedTyConOcc, mkClassDataConOcc, mkDictOcc, - mkIPOcc, mkSpecOcc, mkForeignExportOcc, mkGenOcc1, mkGenOcc2, + mkIPOcc, mkSpecOcc, mkForeignExportOcc, mkRepEqOcc, mkGenOcc1, mkGenOcc2, mkGenD, mkGenR, mkGen1R, mkGenRCo, mkDataTOcc, mkDataCOcc, mkDataConWorkerOcc, mkNewTyCoOcc, mkInstTyCoOcc, mkEqPredCoOcc, mkClassOpAuxOcc, @@ -593,6 +593,7 @@ mkDictOcc = mk_simple_deriv varName "$d" mkIPOcc = mk_simple_deriv varName "$i" mkSpecOcc = mk_simple_deriv varName "$s" mkForeignExportOcc = mk_simple_deriv varName "$f" +mkRepEqOcc = mk_simple_deriv tvName "$r" -- In RULES involving Coercible mkNewTyCoOcc = mk_simple_deriv tcName "NTCo:" -- Coercion for newtypes mkInstTyCoOcc = mk_simple_deriv tcName "TFCo:" -- Coercion for type functions mkEqPredCoOcc = mk_simple_deriv tcName "$co" diff --git a/compiler/deSugar/Desugar.lhs b/compiler/deSugar/Desugar.lhs index e13767f..a9678cf 100644 --- a/compiler/deSugar/Desugar.lhs +++ b/compiler/deSugar/Desugar.lhs @@ -18,6 +18,7 @@ import Id import Name import Type import FamInstEnv +import Coercion import InstEnv import Class import Avail @@ -33,8 +34,11 @@ import Module import NameSet import NameEnv import Rules +import TysPrim (eqReprPrimTyCon) +import TysWiredIn (coercibleTyCon ) import BasicTypes ( Activation(.. ) ) import CoreMonad ( endPass, CoreToDo(..) ) +import MkCore import FastString import ErrUtils import Outputable @@ -347,6 +351,7 @@ Reason %************************************************************************ \begin{code} + dsRule :: LRuleDecl Id -> DsM (Maybe CoreRule) dsRule (L loc (HsRule name act vars lhs _tv_lhs rhs _fv_rhs)) = putSrcSpanDs loc $ @@ -359,9 +364,11 @@ dsRule (L loc (HsRule name act vars lhs _tv_lhs rhs _fv_rhs)) ; rhs' <- dsLExpr rhs ; dflags <- getDynFlags + ; (bndrs'', lhs'', rhs'') <- unfold_coerce bndrs' lhs' rhs' + -- Substitute the dict bindings eagerly, -- and take the body apart into a (f args) form - ; case decomposeRuleLhs bndrs' lhs' of { + ; case decomposeRuleLhs bndrs'' lhs'' of { Left msg -> do { warnDs msg; return Nothing } ; Right (final_bndrs, fn_id, args) -> do @@ -370,7 +377,7 @@ dsRule (L loc (HsRule name act vars lhs _tv_lhs rhs _fv_rhs)) -- we don't want to attach rules to the bindings of implicit Ids, -- because they don't show up in the bindings until just before code gen fn_name = idName fn_id - final_rhs = simpleOptExpr rhs' -- De-crap it + final_rhs = simpleOptExpr rhs'' -- De-crap it rule = mkRule False {- Not auto -} is_local name act fn_name final_bndrs args final_rhs @@ -398,6 +405,27 @@ dsRule (L loc (HsRule name act vars lhs _tv_lhs rhs _fv_rhs)) ; return (Just rule) } } } + +-- See Note [Desugaring coerce as cast] +unfold_coerce :: [Id] -> CoreExpr -> CoreExpr -> DsM ([Var], CoreExpr, CoreExpr) +unfold_coerce bndrs lhs rhs = do + (bndrs', wrap) <- go bndrs + return (bndrs', wrap lhs, wrap rhs) + where + go :: [Id] -> DsM ([Id], CoreExpr -> CoreExpr) + go [] = return ([], id) + go (v:vs) + | Just (tc, args) <- splitTyConApp_maybe (idType v) + , tc == coercibleTyCon = do + let ty' = mkTyConApp eqReprPrimTyCon args + v' <- mkDerivedLocalM mkRepEqOcc v ty' + + (bndrs, wrap) <- go vs + return (v':bndrs, mkCoreLet (NonRec v (mkEqBox (mkCoVarCo v'))) . wrap) + | otherwise = do + (bndrs,wrap) <- go vs + return (v:bndrs, wrap) + \end{code} Note [Desugaring RULE left hand sides] @@ -417,6 +445,21 @@ the rule is precisly to optimise them: {-# RULES "fromRational/id" fromRational = id :: Rational -> Rational #-} +Note [Desugaring coerce as cast] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +We want the user to express a rule saying roughly ?mapping a coercion over a +list can be replaced by a coercion?. But the cast operator of Core (?) cannot +be written in Haskell. So we use `coerce` for that (#2110). The user writes + map coerce = coerce +as a RULE, and this optimizes any kind of mapped' casts aways, including `map +MkNewtype`. + +For that we replace any forall'ed `c :: Coercible a b` value in a RULE by +corresponding `co :: a ~#R b` and wrap the LHS and the RHS in +`let c = MkCoercible co in ...`. This is later simplified to the desired form +by simpleOptExpr (for the LHS) resp. the simplifiers (for the RHS). +Also see Note [The shape of coerce]. + %************************************************************************ %* * %* Desugaring vectorisation declarations From git at git.haskell.org Mon Jan 27 10:36:49 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 10:36:49 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: In CoreSubst, optimize Coercible values aggressively (9ce3aae) Message-ID: <20140127103649.39B242406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/9ce3aaed80324b473865397cffdabe215858e1c4/ghc >--------------------------------------------------------------- commit 9ce3aaed80324b473865397cffdabe215858e1c4 Author: Joachim Breitner Date: Fri Jan 24 13:34:50 2014 +0000 In CoreSubst, optimize Coercible values aggressively just like boxed type equalities. >--------------------------------------------------------------- 9ce3aaed80324b473865397cffdabe215858e1c4 compiler/coreSyn/CoreSubst.lhs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/coreSyn/CoreSubst.lhs b/compiler/coreSyn/CoreSubst.lhs index 3b39320..3dedbc8 100644 --- a/compiler/coreSyn/CoreSubst.lhs +++ b/compiler/coreSyn/CoreSubst.lhs @@ -61,7 +61,7 @@ import Coercion hiding ( substTy, substCo, extendTvSubst, substTyVarBndr, substC import TyCon ( tyConArity ) import DataCon -import PrelNames ( eqBoxDataConKey ) +import PrelNames ( eqBoxDataConKey, coercibleDataConKey ) import OptCoercion ( optCoercion ) import PprCore ( pprCoreBindings, pprRules ) import Module ( Module ) @@ -1039,7 +1039,7 @@ maybe_substitute subst b r trivial | exprIsTrivial r = True | (Var fun, args) <- collectArgs r , Just dc <- isDataConWorkId_maybe fun - , dc `hasKey` eqBoxDataConKey + , dc `hasKey` eqBoxDataConKey || dc `hasKey` coercibleDataConKey , all exprIsTrivial args = True -- See Note [Optimise coercion boxes agressively] | otherwise = False From git at git.haskell.org Mon Jan 27 10:36:51 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 10:36:51 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: Let coerce have a lower arity (168b64e) Message-ID: <20140127103652.020922406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/168b64ee6a7713c38584e4234c08fa5047484d87/ghc >--------------------------------------------------------------- commit 168b64ee6a7713c38584e4234c08fa5047484d87 Author: Joachim Breitner Date: Fri Jan 24 13:29:47 2014 +0000 Let coerce have a lower arity by writing ? k ? ? c -> case c of (MkCoercible co) -> (?x. x) |> (?_R ? co) instead of ? k ? ? c x -> case c of (MkCoercible co) -> x |> co which allows coerce to be inlined even when partially applied, and its definition matches the shape of code generated from a newtype constructor in, say, "map Age". >--------------------------------------------------------------- 168b64ee6a7713c38584e4234c08fa5047484d87 compiler/basicTypes/MkId.lhs | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs index 604163f..383e903 100644 --- a/compiler/basicTypes/MkId.lhs +++ b/compiler/basicTypes/MkId.lhs @@ -1154,12 +1154,25 @@ coerceId = pcMiscPrelId coerceName ty info eqRPrimTy = mkTyConApp eqReprPrimTyCon [k, aTy, bTy] ty = mkForAllTys [kv, a, b] (mkFunTys [eqRTy, aTy] bTy) - [eqR,x,eq] = mkTemplateLocals [eqRTy, aTy,eqRPrimTy] - rhs = mkLams [kv,a,b,eqR,x] $ - mkWildCase (Var eqR) eqRTy bTy $ - [(DataAlt coercibleDataCon, [eq], Cast (Var x) (CoVarCo eq))] + [eqR,eq] = mkTemplateLocals [eqRTy, eqRPrimTy] + -- See Note [The shape of coerce] + rhs = mkLams [kv,a,b,eqR] $ + mkWildCase (Var eqR) eqRTy (mkFunTy aTy bTy) $ + [(DataAlt coercibleDataCon, [eq], mkCastedIdentity (CoVarCo eq))] + +-- Turns co :: a ~#R b coercion into +-- (\x -> x) |> (_R -> co) +-- which allows the unfolding of coerce to have a lower arity +mkCastedIdentity :: Coercion -> CoreExpr +mkCastedIdentity co = Cast + (mkLams [x] (Var x)) + (mkFunCo Representational (mkReflCo Representational aTy) co) + where + Pair aTy _ = coercionKind co + [x] = mkTemplateLocals [aTy] \end{code} + Note [Unsafe coerce magic] ~~~~~~~~~~~~~~~~~~~~~~~~~~ We define a *primitive* @@ -1296,6 +1309,25 @@ The `co` coercion is the newtype-coercion extracted from the type-class. The type class is obtain by looking at the type of wrap. +Note [The shape of coerce] +~~~~~~~~~~~~~~~~~~~~~~~~~~ +coerce could be implemented like this + ? k ? ? c x -> case c of (MkCoercible co) -> x ? co +which is the most direct implementation. But note that we want the user to be +able to write a RULE of the shape + map coerce = coerce +and we want that to match the Core that the simplifiers creates for + map Age +which has the form + map @? @? ((? x -> x) ? (?_R ? NTCo:Age)). +Therefore we need to coerce to + * unfold even when given only three arguments, and + * unfold to the given shape. +This happens to the LHS of a RULE, so only simpleOptExpr is being applied to +it. Therefore, we create the unfolding in the required shape, namely: + ? k ? ? c -> case c of (MkCoercible co) -> (?x. x) ? (?_R ? co) +(If the rule-matcher would be a bit smarter with pushing coercions down the +tree when they get in the way, this could be revisited.) ------------------------------------------------------------- @realWorld#@ used to be a magic literal, \tr{void#}. If things get From git at git.haskell.org Mon Jan 27 10:36:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 10:36:54 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: Add Case TyConAppCo to match_co (849727a) Message-ID: <20140127103654.665B62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/849727aaa2e9c3c05b25bb8814a548f6d6eb1542/ghc >--------------------------------------------------------------- commit 849727aaa2e9c3c05b25bb8814a548f6d6eb1542 Author: Joachim Breitner Date: Fri Jan 24 13:39:11 2014 +0000 Add Case TyConAppCo to match_co >--------------------------------------------------------------- 849727aaa2e9c3c05b25bb8814a548f6d6eb1542 compiler/specialise/Rules.lhs | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/compiler/specialise/Rules.lhs b/compiler/specialise/Rules.lhs index b88888c..a6593af 100644 --- a/compiler/specialise/Rules.lhs +++ b/compiler/specialise/Rules.lhs @@ -729,9 +729,28 @@ match_co renv subst (Refl r1 ty1) co Refl r2 ty2 | r1 == r2 -> match_ty renv subst ty1 ty2 _ -> Nothing -match_co _ _ co1 _ - = pprTrace "match_co: needs more cases" (ppr co1) Nothing - -- Currently just deals with CoVarCo and Refl +match_co renv subst (TyConAppCo r1 tc1 cos1) co2 + = case co2 of + TyConAppCo r2 tc2 cos2 + | r1 == r2 && tc1 == tc2 + -> match_cos renv subst cos1 cos2 + _ -> Nothing +match_co _ _ co1 co2 + = pprTrace "match_co: needs more cases" (ppr co1 $$ ppr co2) Nothing + -- Currently just deals with CoVarCo, TyConAppCo and Refl + +match_cos :: RuleMatchEnv + -> RuleSubst + -> [Coercion] + -> [Coercion] + -> Maybe RuleSubst +match_cos renv subst (co1:cos1) (co2:cos2) = + case match_co renv subst co1 co2 of + Just subst' -> match_cos renv subst' cos1 cos2 + Nothing -> Nothing +match_cos _ subst [] [] = Just subst +match_cos _ _ cos1 cos2 = pprTrace "match_cos: not same length" (ppr cos1 $$ ppr cos2) Nothing + ------------- rnMatchBndr2 :: RuleMatchEnv -> RuleSubst -> Var -> Var -> RuleMatchEnv From git at git.haskell.org Mon Jan 27 10:36:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 10:36:56 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: In simpleOptExpr, unfold compulsary unfoldings (a8c1a10) Message-ID: <20140127103658.0C0032406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/a8c1a1038aff64052340b5492cdeae9b932bc864/ghc >--------------------------------------------------------------- commit a8c1a1038aff64052340b5492cdeae9b932bc864 Author: Joachim Breitner Date: Fri Jan 24 13:35:21 2014 +0000 In simpleOptExpr, unfold compulsary unfoldings such as that of coerce. >--------------------------------------------------------------- a8c1a1038aff64052340b5492cdeae9b932bc864 compiler/coreSyn/CoreSubst.lhs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/compiler/coreSyn/CoreSubst.lhs b/compiler/coreSyn/CoreSubst.lhs index 3dedbc8..8ea645b 100644 --- a/compiler/coreSyn/CoreSubst.lhs +++ b/compiler/coreSyn/CoreSubst.lhs @@ -966,6 +966,10 @@ simple_app subst (Lam b e) (a:as) where (subst', b') = subst_opt_bndr subst b b2 = add_info subst' b b' +simple_app subst (Var v) as + | isCompulsoryUnfolding (idUnfolding v) + -- See Note [Unfold compulsory unfoldings in LHSs] + = simple_app subst (unfoldingTemplate (idUnfolding v)) as simple_app subst e as = foldl App (simple_opt_expr subst e) as @@ -1112,6 +1116,14 @@ we don't know what phase we're in. Here's an example When inlining 'foo' in 'bar' we want the let-binding for 'inner' to remain visible until Phase 1 +Note [Unfold compulsory unfoldings in LHSs] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When the user writes `map coerce = coerce` as a rule, the rule will only ever +match if we replace coerce by its unfolding on the LHS, because that is the +core that the rule matching engine will find. So do that for everything that +has a compulsory unfolding. Also see Notes [Desugaring coerce as cast] and +[The shape of coerce]. %************************************************************************ %* * From git at git.haskell.org Mon Jan 27 10:36:59 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 10:36:59 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: Test case for RULE map coerce = coerce (2ff7f72) Message-ID: <20140127103659.79CED2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/2ff7f72a67ff18d344cd4e035be5b690d6c1ca60/ghc >--------------------------------------------------------------- commit 2ff7f72a67ff18d344cd4e035be5b690d6c1ca60 Author: Joachim Breitner Date: Mon Jan 27 10:36:34 2014 +0000 Test case for RULE map coerce = coerce (This tests #2110.) >--------------------------------------------------------------- 2ff7f72a67ff18d344cd4e035be5b690d6c1ca60 testsuite/tests/simplCore/should_run/T2110.hs | 28 +++++++++++++++++++++ testsuite/tests/simplCore/should_run/T2110.stdout | 3 +++ testsuite/tests/simplCore/should_run/all.T | 1 + 3 files changed, 32 insertions(+) diff --git a/testsuite/tests/simplCore/should_run/T2110.hs b/testsuite/tests/simplCore/should_run/T2110.hs new file mode 100644 index 0000000..fb65781 --- /dev/null +++ b/testsuite/tests/simplCore/should_run/T2110.hs @@ -0,0 +1,28 @@ +{-# LANGUAGE MagicHash #-} + +import GHC.Exts +import Unsafe.Coerce + +{-# RULES +"map/coerce" map coerce = coerce + #-} + +newtype Age = Age Int + +fooAge :: [Int] -> [Age] +fooAge = map Age +fooCoerce :: [Int] -> [Age] +fooCoerce = map coerce +fooUnsafeCoerce :: [Int] -> [Age] +fooUnsafeCoerce = map unsafeCoerce + +same :: a -> b -> IO () +same x y = case reallyUnsafePtrEquality# (unsafeCoerce x) y of + 1# -> putStrLn "yes" + _ -> putStrLn "no" + +main = do + let l = [1,2,3] + same (fooAge l) l + same (fooCoerce l) l + same (fooUnsafeCoerce l) l diff --git a/testsuite/tests/simplCore/should_run/T2110.stdout b/testsuite/tests/simplCore/should_run/T2110.stdout new file mode 100644 index 0000000..07d92f5 --- /dev/null +++ b/testsuite/tests/simplCore/should_run/T2110.stdout @@ -0,0 +1,3 @@ +yes +yes +no diff --git a/testsuite/tests/simplCore/should_run/all.T b/testsuite/tests/simplCore/should_run/all.T index 430d61f..fa11dc5 100644 --- a/testsuite/tests/simplCore/should_run/all.T +++ b/testsuite/tests/simplCore/should_run/all.T @@ -51,6 +51,7 @@ test('T5453', normal, compile_and_run, ['']) test('T5441', extra_clean(['T5441a.o','T5441a.hi']), multimod_compile_and_run, ['T5441','']) test('T5603', normal, compile_and_run, ['']) +test('T2110', normal, compile_and_run, ['']) # Run these tests *without* optimisation too test('T5625', [ only_ways(['normal','optasm']), exit_code(1) ], compile_and_run, ['']) From git at git.haskell.org Mon Jan 27 13:05:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 13:05:46 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: In CoreSubst, optimize Coercible values aggressively (84b9e03) Message-ID: <20140127130546.AF9552406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/84b9e031defe87a03f6ddbc0af662d857727bbb6/ghc >--------------------------------------------------------------- commit 84b9e031defe87a03f6ddbc0af662d857727bbb6 Author: Joachim Breitner Date: Fri Jan 24 13:34:50 2014 +0000 In CoreSubst, optimize Coercible values aggressively just like boxed type equalities. >--------------------------------------------------------------- 84b9e031defe87a03f6ddbc0af662d857727bbb6 compiler/coreSyn/CoreSubst.lhs | 4 ++-- testsuite/tests/ghci.debugger/scripts/print018.stdout | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/coreSyn/CoreSubst.lhs b/compiler/coreSyn/CoreSubst.lhs index 3b39320..3dedbc8 100644 --- a/compiler/coreSyn/CoreSubst.lhs +++ b/compiler/coreSyn/CoreSubst.lhs @@ -61,7 +61,7 @@ import Coercion hiding ( substTy, substCo, extendTvSubst, substTyVarBndr, substC import TyCon ( tyConArity ) import DataCon -import PrelNames ( eqBoxDataConKey ) +import PrelNames ( eqBoxDataConKey, coercibleDataConKey ) import OptCoercion ( optCoercion ) import PprCore ( pprCoreBindings, pprRules ) import Module ( Module ) @@ -1039,7 +1039,7 @@ maybe_substitute subst b r trivial | exprIsTrivial r = True | (Var fun, args) <- collectArgs r , Just dc <- isDataConWorkId_maybe fun - , dc `hasKey` eqBoxDataConKey + , dc `hasKey` eqBoxDataConKey || dc `hasKey` coercibleDataConKey , all exprIsTrivial args = True -- See Note [Optimise coercion boxes agressively] | otherwise = False diff --git a/testsuite/tests/ghci.debugger/scripts/print018.stdout b/testsuite/tests/ghci.debugger/scripts/print018.stdout index 2686130..d5b7d46 100644 --- a/testsuite/tests/ghci.debugger/scripts/print018.stdout +++ b/testsuite/tests/ghci.debugger/scripts/print018.stdout @@ -3,9 +3,9 @@ Stopped at ../Test.hs:40:1-17 _result :: () = _ Stopped at ../Test.hs:40:10-17 _result :: () = _ -x :: a = _ -x = (_t1::a) -x :: a +x :: a17 = _ +x = (_t1::a17) +x :: a17 () x = Unary x :: Unary From git at git.haskell.org Mon Jan 27 13:05:49 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 13:05:49 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: In simpleOptExpr, unfold compulsary unfoldings (dc6ccbd) Message-ID: <20140127130549.545A22406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/dc6ccbd1f436d9094d2e0496d1232fc82db20925/ghc >--------------------------------------------------------------- commit dc6ccbd1f436d9094d2e0496d1232fc82db20925 Author: Joachim Breitner Date: Fri Jan 24 13:35:21 2014 +0000 In simpleOptExpr, unfold compulsary unfoldings such as that of coerce. >--------------------------------------------------------------- dc6ccbd1f436d9094d2e0496d1232fc82db20925 compiler/coreSyn/CoreSubst.lhs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/compiler/coreSyn/CoreSubst.lhs b/compiler/coreSyn/CoreSubst.lhs index 3dedbc8..8ea645b 100644 --- a/compiler/coreSyn/CoreSubst.lhs +++ b/compiler/coreSyn/CoreSubst.lhs @@ -966,6 +966,10 @@ simple_app subst (Lam b e) (a:as) where (subst', b') = subst_opt_bndr subst b b2 = add_info subst' b b' +simple_app subst (Var v) as + | isCompulsoryUnfolding (idUnfolding v) + -- See Note [Unfold compulsory unfoldings in LHSs] + = simple_app subst (unfoldingTemplate (idUnfolding v)) as simple_app subst e as = foldl App (simple_opt_expr subst e) as @@ -1112,6 +1116,14 @@ we don't know what phase we're in. Here's an example When inlining 'foo' in 'bar' we want the let-binding for 'inner' to remain visible until Phase 1 +Note [Unfold compulsory unfoldings in LHSs] +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When the user writes `map coerce = coerce` as a rule, the rule will only ever +match if we replace coerce by its unfolding on the LHS, because that is the +core that the rule matching engine will find. So do that for everything that +has a compulsory unfolding. Also see Notes [Desugaring coerce as cast] and +[The shape of coerce]. %************************************************************************ %* * From git at git.haskell.org Mon Jan 27 13:05:51 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 13:05:51 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: Add Case TyConAppCo to match_co (0bf8b9b) Message-ID: <20140127130551.BBDA72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/0bf8b9b454ed4f35ba29d4a66959e4a83f38d30b/ghc >--------------------------------------------------------------- commit 0bf8b9b454ed4f35ba29d4a66959e4a83f38d30b Author: Joachim Breitner Date: Fri Jan 24 13:39:11 2014 +0000 Add Case TyConAppCo to match_co >--------------------------------------------------------------- 0bf8b9b454ed4f35ba29d4a66959e4a83f38d30b compiler/specialise/Rules.lhs | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/compiler/specialise/Rules.lhs b/compiler/specialise/Rules.lhs index b88888c..a6593af 100644 --- a/compiler/specialise/Rules.lhs +++ b/compiler/specialise/Rules.lhs @@ -729,9 +729,28 @@ match_co renv subst (Refl r1 ty1) co Refl r2 ty2 | r1 == r2 -> match_ty renv subst ty1 ty2 _ -> Nothing -match_co _ _ co1 _ - = pprTrace "match_co: needs more cases" (ppr co1) Nothing - -- Currently just deals with CoVarCo and Refl +match_co renv subst (TyConAppCo r1 tc1 cos1) co2 + = case co2 of + TyConAppCo r2 tc2 cos2 + | r1 == r2 && tc1 == tc2 + -> match_cos renv subst cos1 cos2 + _ -> Nothing +match_co _ _ co1 co2 + = pprTrace "match_co: needs more cases" (ppr co1 $$ ppr co2) Nothing + -- Currently just deals with CoVarCo, TyConAppCo and Refl + +match_cos :: RuleMatchEnv + -> RuleSubst + -> [Coercion] + -> [Coercion] + -> Maybe RuleSubst +match_cos renv subst (co1:cos1) (co2:cos2) = + case match_co renv subst co1 co2 of + Just subst' -> match_cos renv subst' cos1 cos2 + Nothing -> Nothing +match_cos _ subst [] [] = Just subst +match_cos _ _ cos1 cos2 = pprTrace "match_cos: not same length" (ppr cos1 $$ ppr cos2) Nothing + ------------- rnMatchBndr2 :: RuleMatchEnv -> RuleSubst -> Var -> Var -> RuleMatchEnv From git at git.haskell.org Mon Jan 27 13:05:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 13:05:54 +0000 (UTC) Subject: [commit: ghc] wip/nomeata-T2110: Test case for RULE map coerce = coerce (dcd859a) Message-ID: <20140127130554.5E1872406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/nomeata-T2110 Link : http://ghc.haskell.org/trac/ghc/changeset/dcd859acb77a79228a70cd7462f00e18255a6f23/ghc >--------------------------------------------------------------- commit dcd859acb77a79228a70cd7462f00e18255a6f23 Author: Joachim Breitner Date: Mon Jan 27 10:36:34 2014 +0000 Test case for RULE map coerce = coerce (This tests #2110.) >--------------------------------------------------------------- dcd859acb77a79228a70cd7462f00e18255a6f23 testsuite/tests/simplCore/should_run/T2110.hs | 28 +++++++++++++++++++++ testsuite/tests/simplCore/should_run/T2110.stdout | 3 +++ testsuite/tests/simplCore/should_run/all.T | 1 + 3 files changed, 32 insertions(+) diff --git a/testsuite/tests/simplCore/should_run/T2110.hs b/testsuite/tests/simplCore/should_run/T2110.hs new file mode 100644 index 0000000..fb65781 --- /dev/null +++ b/testsuite/tests/simplCore/should_run/T2110.hs @@ -0,0 +1,28 @@ +{-# LANGUAGE MagicHash #-} + +import GHC.Exts +import Unsafe.Coerce + +{-# RULES +"map/coerce" map coerce = coerce + #-} + +newtype Age = Age Int + +fooAge :: [Int] -> [Age] +fooAge = map Age +fooCoerce :: [Int] -> [Age] +fooCoerce = map coerce +fooUnsafeCoerce :: [Int] -> [Age] +fooUnsafeCoerce = map unsafeCoerce + +same :: a -> b -> IO () +same x y = case reallyUnsafePtrEquality# (unsafeCoerce x) y of + 1# -> putStrLn "yes" + _ -> putStrLn "no" + +main = do + let l = [1,2,3] + same (fooAge l) l + same (fooCoerce l) l + same (fooUnsafeCoerce l) l diff --git a/testsuite/tests/simplCore/should_run/T2110.stdout b/testsuite/tests/simplCore/should_run/T2110.stdout new file mode 100644 index 0000000..07d92f5 --- /dev/null +++ b/testsuite/tests/simplCore/should_run/T2110.stdout @@ -0,0 +1,3 @@ +yes +yes +no diff --git a/testsuite/tests/simplCore/should_run/all.T b/testsuite/tests/simplCore/should_run/all.T index 430d61f..fa11dc5 100644 --- a/testsuite/tests/simplCore/should_run/all.T +++ b/testsuite/tests/simplCore/should_run/all.T @@ -51,6 +51,7 @@ test('T5453', normal, compile_and_run, ['']) test('T5441', extra_clean(['T5441a.o','T5441a.hi']), multimod_compile_and_run, ['T5441','']) test('T5603', normal, compile_and_run, ['']) +test('T2110', normal, compile_and_run, ['']) # Run these tests *without* optimisation too test('T5625', [ only_ways(['normal','optasm']), exit_code(1) ], compile_and_run, ['']) From git at git.haskell.org Mon Jan 27 23:26:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Mon, 27 Jan 2014 23:26:54 +0000 (UTC) Subject: [commit: ghc] master: Fix the Win64 RTS linker & disable .ctors (8f8bd88) Message-ID: <20140127232654.1CDAA2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/8f8bd88ce654828fef44378c3a4732d6941b9596/ghc >--------------------------------------------------------------- commit 8f8bd88ce654828fef44378c3a4732d6941b9596 Author: Kyrill Briantsev Date: Mon Jan 27 17:23:45 2014 -0600 Fix the Win64 RTS linker & disable .ctors This fixes #7134 Signed-off-by: Austin Seipp >--------------------------------------------------------------- 8f8bd88ce654828fef44378c3a4732d6941b9596 docs/users_guide/7.8.1-notes.xml | 14 +-- rts/Linker.c | 185 +++++++++++++++++++++++++++++--------- 2 files changed, 148 insertions(+), 51 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 8f8bd88ce654828fef44378c3a4732d6941b9596 From git at git.haskell.org Tue Jan 28 14:27:13 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 14:27:13 +0000 (UTC) Subject: [commit: ghc] master: build.mk.sample: Don't disable dynamic linking for LLVM flavours (2ac9e5b) Message-ID: <20140128142713.CC4882406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/2ac9e5b821fee56b7b2a02599562de9a9a577af5/ghc >--------------------------------------------------------------- commit 2ac9e5b821fee56b7b2a02599562de9a9a577af5 Author: Ben Gamari Date: Sun Jan 19 10:35:50 2014 -0500 build.mk.sample: Don't disable dynamic linking for LLVM flavours Signed-off-by: Austin Seipp >--------------------------------------------------------------- 2ac9e5b821fee56b7b2a02599562de9a9a577af5 mk/build.mk.sample | 6 ------ 1 file changed, 6 deletions(-) diff --git a/mk/build.mk.sample b/mk/build.mk.sample index 94d09e1..3d94478 100644 --- a/mk/build.mk.sample +++ b/mk/build.mk.sample @@ -84,9 +84,6 @@ GhcHcOpts = -Rghc-timing GhcLibHcOpts = -O2 GhcLibWays += p -DYNAMIC_BY_DEFAULT = NO -DYNAMIC_GHC_PROGRAMS = NO - endif # -------- A Fast build ------------------------------------------------------- @@ -135,9 +132,6 @@ BUILD_DOCBOOK_HTML = NO BUILD_DOCBOOK_PS = NO BUILD_DOCBOOK_PDF = NO -DYNAMIC_BY_DEFAULT = NO -DYNAMIC_GHC_PROGRAMS = NO - endif # -------- A Fast build configured for cross-compilation ---------------------- From git at git.haskell.org Tue Jan 28 14:27:16 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 14:27:16 +0000 (UTC) Subject: [commit: ghc] master: Add short blurb about LLVM dynamic linking to release notes (08f8efb) Message-ID: <20140128142716.ADD212406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/08f8efb84d51e53792ded036e172826686fc806b/ghc >--------------------------------------------------------------- commit 08f8efb84d51e53792ded036e172826686fc806b Author: Ben Gamari Date: Tue Jan 21 19:26:12 2014 -0500 Add short blurb about LLVM dynamic linking to release notes Signed-off-by: Austin Seipp >--------------------------------------------------------------- 08f8efb84d51e53792ded036e172826686fc806b docs/users_guide/7.8.1-notes.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index 57e7a8d..ff80fcc 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -358,6 +358,14 @@ should be considered a preview. + + + The LLVM code generator has been fixed to support + dynamic linking. This enables runtime-linking + (e.g. GHCi) support for architectures without support in + GHC's own runtime linker (e.g. ARM). + + From git at git.haskell.org Tue Jan 28 14:27:19 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 14:27:19 +0000 (UTC) Subject: [commit: ghc] master: Abort when binutils ld is used with dynamic linking on ARM (4ade962) Message-ID: <20140128142719.3BB4A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4ade9627608ea0a88450506222bb9afbbcff4294/ghc >--------------------------------------------------------------- commit 4ade9627608ea0a88450506222bb9afbbcff4294 Author: Ben Gamari Date: Sat Jan 25 13:02:36 2014 -0500 Abort when binutils ld is used with dynamic linking on ARM The binutils linker on ARM emits unnecessary R_ARM_COPY relocations which breaks tables-next-to-code in dynamically linked modules. This check should be more selective but there is currently no released version where this bug is fixed. See https://sourceware.org/bugzilla/show_bug.cgi?id=16177 and https://ghc.haskell.org/trac/ghc/ticket/4210#comment:29 for details. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 4ade9627608ea0a88450506222bb9afbbcff4294 compiler/main/GHC.hs | 31 +++++++++++++++++++++++++++++++ docs/users_guide/7.8.1-notes.xml | 6 ++++++ 2 files changed, 37 insertions(+) diff --git a/compiler/main/GHC.hs b/compiler/main/GHC.hs index 6b2815a..2f878fb 100644 --- a/compiler/main/GHC.hs +++ b/compiler/main/GHC.hs @@ -295,6 +295,7 @@ import Annotations import Module import UniqFM import Panic +import Platform import Bag ( unitBag ) import ErrUtils import MonadUtils @@ -450,12 +451,42 @@ initGhcMonad mb_top_dir ; initStaticOpts ; mySettings <- initSysTools mb_top_dir ; dflags <- initDynFlags (defaultDynFlags mySettings) + ; checkBrokenTablesNextToCode dflags ; setUnsafeGlobalDynFlags dflags -- c.f. DynFlags.parseDynamicFlagsFull, which -- creates DynFlags and sets the UnsafeGlobalDynFlags ; newHscEnv dflags } ; setSession env } +-- | The binutils linker on ARM emits unnecessary R_ARM_COPY relocations which +-- breaks tables-next-to-code in dynamically linked modules. This +-- check should be more selective but there is currently no released +-- version where this bug is fixed. +-- See https://sourceware.org/bugzilla/show_bug.cgi?id=16177 and +-- https://ghc.haskell.org/trac/ghc/ticket/4210#comment:29 +checkBrokenTablesNextToCode :: MonadIO m => DynFlags -> m () +checkBrokenTablesNextToCode dflags + = do { broken <- checkBrokenTablesNextToCode' dflags + ; when broken + $ do { liftIO $ throwIO $ mkApiErr dflags + (text "Tables-next-to-code not supported on ARM using binutils ld (https://sourceware.org/bugzilla/show_bug.cgi?id=16177)") + ; fail "unsupported linker" + } + } + +checkBrokenTablesNextToCode' :: MonadIO m => DynFlags -> m Bool +checkBrokenTablesNextToCode' dflags + | not (isARM arch) = return False + | WayDyn `notElem` ways dflags = return False + | not (tablesNextToCode dflags) = return False + | otherwise = do + linkerInfo <- liftIO $ getLinkerInfo dflags + case linkerInfo of + GnuLD _ -> return True + _ -> return False + where platform = targetPlatform dflags + arch = platformArch platform + -- %************************************************************************ -- %* * diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index ff80fcc..a4fe520 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -365,6 +365,12 @@ (e.g. GHCi) support for architectures without support in GHC's own runtime linker (e.g. ARM). + + Note: Tables-next-to-code is disabled when building on + ARM with binutil's ld due to a + + bug in ld. + From git at git.haskell.org Tue Jan 28 14:27:21 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 14:27:21 +0000 (UTC) Subject: [commit: ghc] master: Fix ./validate failure due to unused result. (874124d) Message-ID: <20140128142721.B940D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/874124d71fb8af9c42fabd1b08e0e66545a02ff2/ghc >--------------------------------------------------------------- commit 874124d71fb8af9c42fabd1b08e0e66545a02ff2 Author: Austin Seipp Date: Mon Jan 27 22:22:03 2014 -0600 Fix ./validate failure due to unused result. Fallout from 4ade9627608ea0a88450506222bb9afbbcff4294 Signed-off-by: Austin Seipp >--------------------------------------------------------------- 874124d71fb8af9c42fabd1b08e0e66545a02ff2 compiler/main/GHC.hs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/compiler/main/GHC.hs b/compiler/main/GHC.hs index 2f878fb..553d1a9 100644 --- a/compiler/main/GHC.hs +++ b/compiler/main/GHC.hs @@ -468,11 +468,14 @@ checkBrokenTablesNextToCode :: MonadIO m => DynFlags -> m () checkBrokenTablesNextToCode dflags = do { broken <- checkBrokenTablesNextToCode' dflags ; when broken - $ do { liftIO $ throwIO $ mkApiErr dflags - (text "Tables-next-to-code not supported on ARM using binutils ld (https://sourceware.org/bugzilla/show_bug.cgi?id=16177)") + $ do { _ <- liftIO $ throwIO $ mkApiErr dflags invalidLdErr ; fail "unsupported linker" } } + where + invalidLdErr = text "Tables-next-to-code not supported on ARM" <+> + text "when using binutils ld (please see:" <+> + text "https://sourceware.org/bugzilla/show_bug.cgi?id=16177)" checkBrokenTablesNextToCode' :: MonadIO m => DynFlags -> m Bool checkBrokenTablesNextToCode' dflags From git at git.haskell.org Tue Jan 28 14:27:24 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 14:27:24 +0000 (UTC) Subject: [commit: ghc] master: Update some mingw32 perf numbers. (db9baf0) Message-ID: <20140128142725.02B312406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/db9baf08d0ddf110037a155c8dcf78f392cfa0f5/ghc >--------------------------------------------------------------- commit db9baf08d0ddf110037a155c8dcf78f392cfa0f5 Author: Austin Seipp Date: Tue Jan 28 05:24:40 2014 -0600 Update some mingw32 perf numbers. I forgot to push these from my win32 machine. A lot of them actually look like a result of Herbert doing his GMP work, which might slightly affect allocations on platforms like Windows (where we always use in-tree GMP - but presumably Windows allocations could fluxuate slightly due to minute details in the GMP implementation, too.) Signed-off-by: Austin Seipp >--------------------------------------------------------------- db9baf08d0ddf110037a155c8dcf78f392cfa0f5 testsuite/tests/perf/compiler/all.T | 1 - testsuite/tests/perf/haddock/all.T | 13 ++++++++----- testsuite/tests/perf/should_run/all.T | 12 ++++++++---- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index 498fc5f..c77655b 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -240,7 +240,6 @@ test('T3064', # 2011-06-28: 2247016 (x86/Linux) (28/6/2011): #(some date): 5511604 # 2013-11-13: 7218200 (x86/Windows, 64bit machine) - (wordsize(64), 19821544, 20)]), # (amd64/Linux, intree) (28/06/2011): 4032024 # (amd64/Linux, intree) (07/02/2013): 9819288 diff --git a/testsuite/tests/perf/haddock/all.T b/testsuite/tests/perf/haddock/all.T index 73ece18..41dd248 100644 --- a/testsuite/tests/perf/haddock/all.T +++ b/testsuite/tests/perf/haddock/all.T @@ -63,10 +63,11 @@ test('haddock.Cabal', # 2013-06-07: 246 (amd64/Linux) (reason unknown) # 2013-11-21: 269 # 2013-11-22: 278 (amd64/Linux) (TH refactoring; weird) - ,(platform('i386-unknown-mingw32'), 129, 1) + ,(platform('i386-unknown-mingw32'), 136, 1) # 2012-10-30: 83 (x86/Windows) # 2013-02-10: 116 (x86/Windows) - # 2013-11-13: 129(x86/Windows, 64bit machine) + # 2013-11-13: 129 (x86/Windows, 64bit machine) + # 2014-01-28: 136 ,(wordsize(32), 139, 1)]) # 2012-08-14: 116 (x86/OSX) # 2013-02-10: 89 (x86/Windows) @@ -97,9 +98,10 @@ test('haddock.Cabal', # 2013-11-21: 3908586784 (amd64/Linux) Cabal updated # 2013-12-12: 3828567272 (amd64/Linux) # 2014-01-12: 3979151552 (amd64/Linux) new parser - ,(platform('i386-unknown-mingw32'), 1906532680, 1) + ,(platform('i386-unknown-mingw32'), 1966911336, 1) # 2012-10-30: 1733638168 (x86/Windows) # 2013-02-10: 1906532680 (x86/Windows) + # 2014-01-28: 1966911336 (x86/Windows) ,(wordsize(32), 1986290624, 1)]) # 2012-08-14: 1648610180 (x86/OSX) # 2014-01-22: 1986290624 (x86/Linux) @@ -135,10 +137,11 @@ test('haddock.compiler', # 2013-06-08: 477593712 (amd64/Linux) (reason unknown) # 2013-11-21: 502920176 (amd64/Linux) # 2013-11-22: 541926264 (amd64/Linux) (TH refactoring; weird) - ,(platform('i386-unknown-mingw32'), 269147084, 1) + ,(platform('i386-unknown-mingw32'), 283814088, 1) # 2012-10-30: 220847924 (x86/Windows) # 2013-02-10: 238529512 (x86/Windows) - # 2013-11-13: 269147084 (x86/Windows, 64bit machine) + # 2013-11-13: 269147084 (x86/Windows, 64bit machine) + # 2014-01-28: 283814088 (x86/Windows) ,(wordsize(32), 278124612, 1)]) # 2012-08-14: 231064920 (x86/OSX) # 2013-02-10: 241785276 (x86/Windows) diff --git a/testsuite/tests/perf/should_run/all.T b/testsuite/tests/perf/should_run/all.T index 0d951fc..98f9dc2 100644 --- a/testsuite/tests/perf/should_run/all.T +++ b/testsuite/tests/perf/should_run/all.T @@ -19,9 +19,11 @@ test('T4830', # 127000 (amd64/Linux) # 2013-02-07: 99264 (amd64/Linux) # 2014-01-13: 98248 (amd64/Linux) due to #8647 - (wordsize(32), 70646, 2)]), + (wordsize(32), 70646, 3)]), # 2013-02-10: 69744 (x86/Windows) # 2013-02-10: 71548 (x86/OSX) + # 2014-01-28: Widen range 2->3 + # (x86/Windows - actual 69000, lower was 69233) only_ways(['normal']) ], compile_and_run, @@ -40,10 +42,11 @@ test('lazy-bs-alloc', # 489776 (amd64/Linux) # 2013-02-07: 429744 (amd64/Linux) # 2013-12-12: 425400 (amd64/Linux) - (wordsize(32), 411500, 1)]), + (wordsize(32), 411500, 2)]), # 2013-02-10: 421296 (x86/Windows) # 2013-02-10: 414180 (x86/OSX) # 2014-01-22: 411500 (x86/Linux) + # 2014-01-28: Widen 1->2% (x86/Windows was at 425212) only_ways(['normal']), extra_run_opts('../../numeric/should_run/arith011.stdout'), ignore_output @@ -195,7 +198,8 @@ test('T4474c', test('T5237', [stats_num_field('bytes allocated', - [(wordsize(32), 78328, 5), + [(platform('i386-unknown-mingw32'), 73280, 5), + (wordsize(32), 78328, 5), # expected value: 78328 (i386/Linux) (wordsize(64), 104176, 5)]), # expected value: 110888 (amd64/Linux) @@ -240,7 +244,7 @@ test('T7257', test('Conversions', [stats_num_field('bytes allocated', - [(wordsize(32), 76768, 2), + [(wordsize(32), 76768, 3), # 2012-12-18: 55316 Guessed 64-bit value / 2 # 2013-02-10: 77472 (x86/OSX) # 2013-02-10: 79276 (x86/Windows) From git at git.haskell.org Tue Jan 28 14:27:28 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 14:27:28 +0000 (UTC) Subject: [commit: ghc] master: Check for __thread in ./configure.ac (f9652e2) Message-ID: <20140128142728.6C6EA2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/f9652e22da592ec0689b4919c003c67dacf28d31/ghc >--------------------------------------------------------------- commit f9652e22da592ec0689b4919c003c67dacf28d31 Author: Austin Seipp Date: Tue Jan 28 05:44:44 2014 -0600 Check for __thread in ./configure.ac Signed-off-by: Austin Seipp >--------------------------------------------------------------- f9652e22da592ec0689b4919c003c67dacf28d31 configure.ac | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 744cebd..cb411f3 100644 --- a/configure.ac +++ b/configure.ac @@ -861,7 +861,21 @@ dnl ** check for eventfd which is needed by the I/O manager AC_CHECK_HEADERS([sys/eventfd.h]) AC_CHECK_FUNCS([eventfd]) -# checking for PAPI +dnl ** Check for __thread support in the compiler +AC_MSG_CHECKING(for __thread support) +AC_COMPILE_IFELSE( + [ AC_LANG_SOURCE([[__thread int tester = 0;]]) ], + [ + AC_MSG_RESULT(yes) + AC_DEFINE([CC_SUPPORTS_TLS],[0],[Define to 1 if __thread is supported]) + ], + [ + AC_MSG_RESULT(no) + AC_DEFINE([CC_SUPPORTS_TLS],[1],[Define to 1 if __thread is supported]) + ]) + + +dnl ** checking for PAPI AC_CHECK_LIB(papi, PAPI_library_init, HavePapiLib=YES, HavePapiLib=NO) AC_CHECK_HEADER([papi.h], [HavePapiHeader=YES], [HavePapiHeader=NO]) AC_SUBST(HavePapiLib) From git at git.haskell.org Tue Jan 28 14:27:31 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 14:27:31 +0000 (UTC) Subject: [commit: ghc] master: Refactor GCTDecl.h, and mitigate #7602 a bit (28b031c) Message-ID: <20140128142731.768702406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/28b031c506122e28e0230a562a4f6fd3d0256d0c/ghc >--------------------------------------------------------------- commit 28b031c506122e28e0230a562a4f6fd3d0256d0c Author: Austin Seipp Date: Tue Jan 28 06:15:19 2014 -0600 Refactor GCTDecl.h, and mitigate #7602 a bit This basically cleans a lot of GCTDecl up - I found it quite hard to read and a bit confusing. The changes are mostly cosmetic: better delineation between the alternative cases and light touchups, and tries to make every branch as consistent as possible. However, this patch does have one significant effect: it will ensure that any LLVM-based compilers will use __thread if they support it. Before, they would simply always use pthread_getspecific and pthread_setspecific, which are almost surely even *more* inefficient. The details are a bit too long and boring to go into here; see #7602. After talking with Simon, we decided to play it safe - __thread can at least be optimized by future clang releases even further on OS X if they choose, and it's safer until we can investigate the pthread implementation further on Mavericks. For Linux, the story isn't so bleak if you use Clang (for whatever reason) - Linux directly writes to `%fs` for __thread slots (while OS X will perform a load followed by an indirect call.) So it should still be fairly competitive, speed-wise. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 28b031c506122e28e0230a562a4f6fd3d0256d0c rts/sm/GCTDecl.h | 150 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 92 insertions(+), 58 deletions(-) diff --git a/rts/sm/GCTDecl.h b/rts/sm/GCTDecl.h index 2c08e10..affb852 100644 --- a/rts/sm/GCTDecl.h +++ b/rts/sm/GCTDecl.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------------- * - * (c) The GHC Team 1998-2009 + * (c) The GHC Team 1998-2014 * * Documentation on the architecture of the Garbage Collector can be * found in the online commentary: @@ -14,94 +14,128 @@ #include "BeginPrivate.h" -/* ----------------------------------------------------------------------------- - The gct variable is thread-local and points to the current thread's - gc_thread structure. It is heavily accessed, so we try to put gct - into a global register variable if possible; if we don't have a - register then use gcc's __thread extension to create a thread-local - variable. - -------------------------------------------------------------------------- */ +/* The gct variable is thread-local and points to the current thread's + gc_thread structure. It is heavily accessed, and thus high + performance access is crucial to parallel (-threaded) workloads. + + First, we try to use a 'global register variable' which is a GCC + extension. This reserves the register globally. + + If that's not possible, then we need to use __thread, which is a + compiler/OS specific TLS storage mechanism (assumed to be Fast + Enough.) + + BUT, some older versions of OS X compilers (llvm-gcc, older Clangs) + do not support __thread at all. Modern clang however, does - but on + OS X it's not as fast as the Linux (which can write directly into a + segment register - see #7602.) + + If we don't support __thread then we do the absolute worst thing: + we just use pthread_getspecific and pthread_setspecific (which are + horribly slow.) +*/ + +#define GCT_REG_DECL(type,name,reg) register type name REG(reg); + + +/* -------------------------------------------------------------------------- */ + +/* First: if we're not using the threaded RTS, it's easy: just fake it. */ +#if !defined(THREADED_RTS) +extern StgWord8 the_gc_thread[]; +#define gct ((gc_thread*)&the_gc_thread) +#define SET_GCT(to) /*nothing*/ +#define DECLARE_GCT /*nothing*/ -#if defined(THREADED_RTS) +#else /* defined(THREADED_RTS) */ -#define GLOBAL_REG_DECL(type,name,reg) register type name REG(reg); +/* -------------------------------------------------------------------------- */ -#ifdef llvm_CC_FLAVOR +/* Now, llvm-gcc and some older Clang compilers do not support + __thread. So we have to fallback to the extremely slow case, + unfortunately. Note: clang_CC_FLAVOR implies llvm_CC_FLAVOR */ +#if defined(llvm_CC_FLAVOR) && (CC_SUPPORTS_TLS == 0) +#define gct ((gc_thread *)(pthread_getspecific(gctKey))) #define SET_GCT(to) (pthread_setspecific(gctKey, to)) -#else -#define SET_GCT(to) gct = (to) -#endif +#define DECLARE_GCT ThreadLocalKey gctKey; +/* -------------------------------------------------------------------------- */ +/* However, if we *are* using an LLVM based compiler with __thread + support, then use that (since LLVM doesn't support global register + variables.) */ +#elif defined(llvm_CC_FLAVOR) && (CC_SUPPORTS_TLS == 1) +extern __thread gc_thread* gct; +#define SET_GCT(to) gct = (to) +#define DECLARE_GCT __thread gc_thread* gct; -#if (defined(i386_HOST_ARCH) && defined(linux_HOST_OS)) -// Using __thread is better than stealing a register on x86/Linux, because -// we have too few registers available. In my tests it was worth -// about 5% in GC performance, but of course that might change as gcc -// improves. -- SDM 2009/04/03 -// -// For MacOSX, we can use an llvm-based C compiler which will store the gct -// in a thread local variable using pthreads. +/* -------------------------------------------------------------------------- */ +/* Next up: Using __thread is better than stealing a register on + x86/Linux, because we have too few registers available. In my + tests it was worth about 5% in GC performance, but of course that + might change as gcc improves. -- SDM 2009/04/03 */ +#elif (defined(i386_HOST_ARCH) && defined(linux_HOST_OS)) extern __thread gc_thread* gct; +#define SET_GCT(to) gct = (to) #define DECLARE_GCT __thread gc_thread* gct; -#elif defined(llvm_CC_FLAVOR) -// LLVM does not support the __thread extension and will generate -// incorrect code for global register variables. If we are compiling -// with a C compiler that uses an LLVM back end (clang or llvm-gcc) then we -// use pthread_getspecific() to handle the thread local storage for gct. -#define gct ((gc_thread *)(pthread_getspecific(gctKey))) -#define DECLARE_GCT ThreadLocalKey gctKey; +/* -------------------------------------------------------------------------- */ -#elif defined(sparc_HOST_ARCH) -// On SPARC we can't pin gct to a register. Names like %l1 are just offsets -// into the register window, which change on each function call. -// -// There are eight global (non-window) registers, but they're used for other purposes. -// %g0 -- always zero -// %g1 -- volatile over function calls, used by the linker -// %g2-%g3 -- used as scratch regs by the C compiler (caller saves) -// %g4 -- volatile over function calls, used by the linker -// %g5-%g7 -- reserved by the OS +/* Next up: On SPARC we can't pin gct to a register. Names like %l1 + are just offsets into the register window, which change on each + function call. + There are eight global (non-window) registers, but they're used for other + purposes: + + %g0 -- always zero + %g1 -- volatile over function calls, used by the linker + %g2-%g3 -- used as scratch regs by the C compiler (caller saves) + %g4 -- volatile over function calls, used by the linker + %g5-%g7 -- reserved by the OS +*/ +#elif defined(sparc_HOST_ARCH) extern __thread gc_thread* gct; +#define SET_GCT(to) gct = (to) #define DECLARE_GCT __thread gc_thread* gct; +/* -------------------------------------------------------------------------- */ +/* Next up: generally, if REG_Base is defined and we're *not* using + i386, then actually declare the needed register. The catch for i386 + here is that REG_Base is %ebx, but that is also used for -fPIC, so + it can't be stolen */ #elif defined(REG_Base) && !defined(i386_HOST_ARCH) -// on i386, REG_Base is %ebx which is also used for PIC, so we don't -// want to steal it - -GLOBAL_REG_DECL(gc_thread*, gct, REG_Base) +GCT_REG_DECL(gc_thread*, gct, REG_Base); +#define SET_GCT(to) gct = (to) #define DECLARE_GCT /* nothing */ +/* -------------------------------------------------------------------------- */ +/* Next up: if REG_R1 is available after checking REG_Base, we're + gonna steal it in every case we can. */ #elif defined(REG_R1) - -GLOBAL_REG_DECL(gc_thread*, gct, REG_R1) +GCT_REG_DECL(gc_thread*, gct, REG_R1); +#define SET_GCT(to) gct = (to) #define DECLARE_GCT /* nothing */ +/* -------------------------------------------------------------------------- */ -#elif defined(__GNUC__) - +/* Finally, as an absolute fallback, if none of the above tests check + out but we *do* have __thread support, then use that. */ +#elif CC_SUPPORTS_TLS == 1 extern __thread gc_thread* gct; +#define SET_GCT(to) gct = (to) #define DECLARE_GCT __thread gc_thread* gct; -#else - -#error Cannot find a way to declare the thread-local gct +/* -------------------------------------------------------------------------- */ +/* Impossible! */ +#else +#error Cannot find a way to declare the thread-local gc variable! #endif -#else // not the threaded RTS - -extern StgWord8 the_gc_thread[]; - -#define gct ((gc_thread*)&the_gc_thread) -#define SET_GCT(to) /*nothing*/ -#define DECLARE_GCT /*nothing*/ - #endif // THREADED_RTS #include "EndPrivate.h" From git at git.haskell.org Tue Jan 28 14:27:33 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 14:27:33 +0000 (UTC) Subject: [commit: ghc] master: Document a Haddock/Mavericks bug. (943f22a) Message-ID: <20140128142734.0064C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/943f22a4c959a2d0c0e47fc40c2163ef7760b6d9/ghc >--------------------------------------------------------------- commit 943f22a4c959a2d0c0e47fc40c2163ef7760b6d9 Author: Austin Seipp Date: Tue Jan 28 08:17:50 2014 -0600 Document a Haddock/Mavericks bug. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 943f22a4c959a2d0c0e47fc40c2163ef7760b6d9 docs/users_guide/7.8.1-notes.xml | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index a4fe520..9686301 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -1178,12 +1178,39 @@ + On OS X Mavericks, when using Clang as the C + preprocessor, Haddock has a bug that causes it to fail + to generate documentation, with an error similar to + the following: + + +<no location info>: + module 'xhtml-3000.2.1:Main' is defined in multiple files: dist-bindist/build/tmp-72252/Text/XHtml.hs + dist-bindist/build/tmp-72252/Text/XHtml/Frameset.hs + dist-bindist/build/tmp-72252/Text/XHtml/Strict.hs + dist-bindist/build/tmp-72252/Text/XHtml/Transitional.hs +... + + + + + This only affects certain packages. This is due to a + bad interaction with Clang, which we hope to resolve + soon. + + + Note that when using cabal-install, + this only effects the package documentation, not + installation or building. + + + + On OS X 10.7 and beyond, with default build settings, the runtime system currently suffers from a fairly - large (30%) performance regression in the parallel - garbage collector when using - -threaded impacting its thoroughput - and overall scalability. + large (approx. 30%) performance regression in the + parallel garbage collector when using + -threaded. This is due to the fact that the OS X 10.7+ toolchain From git at git.haskell.org Tue Jan 28 14:27:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 14:27:37 +0000 (UTC) Subject: [commit: ghc] master: Fix inplace dynamic linking on OS X (#8266) (f7be53a) Message-ID: <20140128142737.7A78C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/f7be53ac9dac85b83e7fe5ecede01b98a572ba48/ghc >--------------------------------------------------------------- commit f7be53ac9dac85b83e7fe5ecede01b98a572ba48 Author: Christiaan Baaj Date: Tue Jan 28 08:24:55 2014 -0600 Fix inplace dynamic linking on OS X (#8266) Signed-off-by: Austin Seipp >--------------------------------------------------------------- f7be53ac9dac85b83e7fe5ecede01b98a572ba48 compiler/main/DriverPipeline.hs | 16 +++++----- compiler/main/SysTools.lhs | 7 ++--- compiler/utils/Platform.hs | 6 ++++ ghc.mk | 5 ---- rts/ghc.mk | 6 ++-- rules/build-package-way.mk | 1 - rules/build-prog.mk | 4 --- rules/distdir-way-opts.mk | 4 ++- rules/relative-dynlib-references.mk | 55 ----------------------------------- 9 files changed, 25 insertions(+), 79 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc f7be53ac9dac85b83e7fe5ecede01b98a572ba48 From git at git.haskell.org Tue Jan 28 14:43:40 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 14:43:40 +0000 (UTC) Subject: [commit: ghc] master: Win64 linker: fix loading foreign imports (#2283) (25821cc) Message-ID: <20140128144340.7863B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/25821cc9793c15e9860b3dcddf50aebf0eb718f7/ghc >--------------------------------------------------------------- commit 25821cc9793c15e9860b3dcddf50aebf0eb718f7 Author: Kyrill Briantsev Date: Tue Jan 28 08:42:40 2014 -0600 Win64 linker: fix loading foreign imports (#2283) Signed-off-by: Austin Seipp >--------------------------------------------------------------- 25821cc9793c15e9860b3dcddf50aebf0eb718f7 rts/Linker.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/rts/Linker.c b/rts/Linker.c index 5110ea1..bdd4746 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -3671,6 +3671,23 @@ lookupSymbolInDLLs ( UChar *lbl ) return sym; } } + + /* Ticket #2283. + Long description: http://support.microsoft.com/kb/132044 + tl;dr: + If C/C++ compiler sees __declspec(dllimport) ... foo ... + it generates call __imp_foo, and __imp_foo here has exactly + the same semantics as in __imp_foo = GetProcAddress(..., "foo") + */ + if (sym == NULL && strncmp ((const char*)lbl, "__imp_", 6) == 0) { + sym = GetProcAddress(o_dll->instance, (char*)(lbl+6)); + if (sym != NULL) { + errorBelch("warning: %s from %S is linked instead of %s", + (char*)(lbl+6), o_dll->name, (char*)lbl); + return sym; + } + } + sym = GetProcAddress(o_dll->instance, (char*)lbl); if (sym != NULL) { /*debugBelch("found %s in %s\n", lbl,o_dll->name);*/ From git at git.haskell.org Tue Jan 28 15:18:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 15:18:04 +0000 (UTC) Subject: [commit: ghc] branch 'wip/T7994-calledArity' created Message-ID: <20140128151804.515DE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc New branch : wip/T7994-calledArity Referencing: 6f18b415a21b0e63513f1742331b47bfde006de1 From git at git.haskell.org Tue Jan 28 15:18:06 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 15:18:06 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: arityAnalProgram first try (9a5e58c) Message-ID: <20140128151806.DB0942406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/9a5e58c25984d499e88f42f78d452d9f47e1bd82/ghc >--------------------------------------------------------------- commit 9a5e58c25984d499e88f42f78d452d9f47e1bd82 Author: Joachim Breitner Date: Tue Jan 28 10:15:00 2014 +0000 arityAnalProgram first try but this analysis is too imprecise. Trying to further tailor it for tail calls now. >--------------------------------------------------------------- 9a5e58c25984d499e88f42f78d452d9f47e1bd82 compiler/coreSyn/CoreArity.lhs | 169 +++++++++++++++++++++++++++++++++++++- compiler/simplCore/CoreMonad.lhs | 3 + compiler/simplCore/SimplCore.lhs | 6 ++ 3 files changed, 177 insertions(+), 1 deletion(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 9a5e58c25984d499e88f42f78d452d9f47e1bd82 From git at git.haskell.org Tue Jan 28 15:18:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 15:18:09 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Second try, this time only collect tail calls (9e82dc3) Message-ID: <20140128151809.52AB52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/9e82dc34ab103aab185f479e1b9c33d3af7ddc23/ghc >--------------------------------------------------------------- commit 9e82dc34ab103aab185f479e1b9c33d3af7ddc23 Author: Joachim Breitner Date: Tue Jan 28 10:44:28 2014 +0000 Second try, this time only collect tail calls >--------------------------------------------------------------- 9e82dc34ab103aab185f479e1b9c33d3af7ddc23 compiler/coreSyn/CoreArity.lhs | 194 ++++++++++++++++++++++------------------ 1 file changed, 106 insertions(+), 88 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 9e82dc34ab103aab185f479e1b9c33d3af7ddc23 From git at git.haskell.org Tue Jan 28 15:18:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 15:18:11 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Set the new IdInfo CalledArity (c1325a1) Message-ID: <20140128151811.DFC262406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/c1325a1cb003df314484b5b908bfaac33dc86ba8/ghc >--------------------------------------------------------------- commit c1325a1cb003df314484b5b908bfaac33dc86ba8 Author: Joachim Breitner Date: Tue Jan 28 11:10:42 2014 +0000 Set the new IdInfo CalledArity and use it in the simplifier to eta-expand the bindings approriately. We get good code! >--------------------------------------------------------------- c1325a1cb003df314484b5b908bfaac33dc86ba8 compiler/basicTypes/Id.lhs | 9 +++++++++ compiler/basicTypes/IdInfo.lhs | 12 +++++++++--- compiler/coreSyn/CoreArity.lhs | 14 ++++++++++---- compiler/coreSyn/PprCore.lhs | 12 ++++++++---- compiler/simplCore/CoreMonad.lhs | 2 +- compiler/simplCore/SimplCore.lhs | 1 + compiler/simplCore/SimplUtils.lhs | 4 +++- 7 files changed, 41 insertions(+), 13 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc c1325a1cb003df314484b5b908bfaac33dc86ba8 From git at git.haskell.org Tue Jan 28 15:18:14 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 15:18:14 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Some very prelimary explanations (f33d231) Message-ID: <20140128151814.444BD2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/f33d2313c0999e4da43b385fbcc1b36f2cf096f3/ghc >--------------------------------------------------------------- commit f33d2313c0999e4da43b385fbcc1b36f2cf096f3 Author: Joachim Breitner Date: Tue Jan 28 11:26:09 2014 +0000 Some very prelimary explanations >--------------------------------------------------------------- f33d2313c0999e4da43b385fbcc1b36f2cf096f3 compiler/coreSyn/CoreArity.lhs | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/compiler/coreSyn/CoreArity.lhs b/compiler/coreSyn/CoreArity.lhs index d4c0a6b..287087b 100644 --- a/compiler/coreSyn/CoreArity.lhs +++ b/compiler/coreSyn/CoreArity.lhs @@ -1031,12 +1031,23 @@ freshEtaId n subst ty \end{code} -Call arity anlysis: For let-bound things, find out the minimum arity it is -called with, so that the value can be eta-expanded to that arity, creating -better code (main goal: good foldl as foldr). +%************************************************************************ +%* * + Called Arity Analyis +%* * +%************************************************************************ + + +For let-bound things, find out the minimum arity it is called with, so that the +value can be eta-expanded to that arity, creating better code (main goal: good +foldl as foldr). + +Main problem: Thunks! We must not lose sharing. So one needs to consider how +often something is called. We use the following approximation: -Be sure to only consider tail calls. This allows us to detect that there is at -most one call to n in + Only consider tail calls! + +This allows us to detect that there is at most one call to n in let n = case .. of .. -- A thunk! in case .. of @@ -1045,6 +1056,21 @@ most one call to n in False > n False -> n +despite a call from a recursive function, becuase + + A tail-recursive function can make at most one tail-call somewhere else. + + +The following code is not yet very quick. Possible improvements: + * Re-use existing information in nested fixed-points. + * Upon failure in fixed-pointing, go directly to 0 (or the manifestArity). + +Possibe improvements in precision: + * Always start with at least the manifestArity. + * When analysing a recursive RHS, starting with its manifestArity, + even if it calls itself at a lower arity, that is still good enough to stop. + * In the above, use exprArity instead of manifestArity. + \begin{code} callArityAnalProgram :: DynFlags -> CoreProgram -> CoreProgram From git at git.haskell.org Tue Jan 28 15:18:16 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 15:18:16 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Do not be too strict about things being tail-calls (6f18b41) Message-ID: <20140128151817.4E7C22406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/6f18b415a21b0e63513f1742331b47bfde006de1/ghc >--------------------------------------------------------------- commit 6f18b415a21b0e63513f1742331b47bfde006de1 Author: Joachim Breitner Date: Tue Jan 28 14:27:30 2014 +0000 Do not be too strict about things being tail-calls It is ok to take the information from the scrunitee of a case, as long as then, any information from the body is Nothing?ified. >--------------------------------------------------------------- 6f18b415a21b0e63513f1742331b47bfde006de1 compiler/coreSyn/CoreArity.lhs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/compiler/coreSyn/CoreArity.lhs b/compiler/coreSyn/CoreArity.lhs index 287087b..0088dab 100644 --- a/compiler/coreSyn/CoreArity.lhs +++ b/compiler/coreSyn/CoreArity.lhs @@ -42,7 +42,7 @@ import FastString import Pair import Util ( debugIsOn ) import Control.Arrow ( second ) -import Data.Maybe ( fromMaybe ) +import Data.Maybe ( fromMaybe, isJust ) \end{code} %************************************************************************ @@ -1205,7 +1205,11 @@ callArityAnal arity int (App e1 e2) (ae2, e2') = callArityAnal 0 int e2 final_ae = ae1 `lubEnv` forgetTailCalls ae2 --- Case expression. Not much happening here. +-- Case expression. Here we decide whether +-- we want to look at calls from the scrunitee or the alternatives; +-- one of them we set to Nothing. +-- Naive idea: If there are interesting calls in the scrunitee, +-- zap the alternatives callArityAnal arity int (Case scrut bndr ty alts) = -- pprTrace "callArityAnal:Case" -- (vcat [ppr scrut, ppr final_ae]) @@ -1215,7 +1219,8 @@ callArityAnal arity int (Case scrut bndr ty alts) go (dc, bndrs, e) = let (ae, e') = callArityAnal arity int e in (ae, (dc, bndrs, e')) (ae, scrut') = callArityAnal 0 int scrut - final_ae = foldl lubEnv (forgetTailCalls ae) aes + final_ae | anyTailCalls ae = foldl lubEnv ae $ map forgetTailCalls aes + | otherwise = foldl lubEnv (forgetTailCalls ae) aes callArityFix :: Arity -> VarSet -> Id -> CoreExpr -> (CallArityEnv, Maybe Arity, CoreExpr) callArityFix arity int v e @@ -1235,6 +1240,9 @@ callArityFix arity int v e new_arity = lookupWithDefaultVarEnv ae Nothing v +anyTailCalls :: VarEnv (Maybe Arity) -> Bool +anyTailCalls = foldVarEnv ((||) . isJust) False + forgetTailCalls :: VarEnv (Maybe Arity) -> VarEnv (Maybe Arity) forgetTailCalls = mapVarEnv (const Nothing) From git at git.haskell.org Tue Jan 28 18:08:21 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Tue, 28 Jan 2014 18:08:21 +0000 (UTC) Subject: [commit: packages/base] master: go-ify foldr2 (4a8ffcf) Message-ID: <20140128180821.C44FD2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/4a8ffcf55c897851b534c700951a0b5bdd43eb97/base >--------------------------------------------------------------- commit 4a8ffcf55c897851b534c700951a0b5bdd43eb97 Author: Joachim Breitner Date: Tue Jan 28 18:09:13 2014 +0000 go-ify foldr2 This helps with the changes in #7994, but might also generally be a good idea (ignore the runtime): -------------------------------------------------------------------------------- Program Size Allocs Runtime Elapsed TotalMem fft2 -0.1% -1.5% 0.07 0.07 +0.0% fibheaps +0.0% -17.2% 0.03 0.03 +0.0% fluid +0.5% -0.7% 0.01 0.01 +0.0% integrate +0.0% -0.9% 0.16 0.16 +0.0% rewrite +0.0% -1.1% 0.02 0.02 +0.0% -------------------------------------------------------------------------------- Min -0.1% -17.2% -1.6% +0.0% +0.0% Max +0.5% +0.0% +107.7% +106.2% +11.3% Geometric Mean +0.0% -0.2% +23.7% +23.9% +0.1% >--------------------------------------------------------------- 4a8ffcf55c897851b534c700951a0b5bdd43eb97 GHC/List.lhs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/GHC/List.lhs b/GHC/List.lhs index 5358f15..b7b78c7 100644 --- a/GHC/List.lhs +++ b/GHC/List.lhs @@ -633,11 +633,12 @@ xs !! (I# n0) | isTrue# (n0 <# 0#) = error "Prelude.(!!): negative index\n" \begin{code} foldr2 :: (a -> b -> c -> c) -> c -> [a] -> [b] -> c -foldr2 _k z [] _ys = z -foldr2 _k z _xs [] = z -foldr2 k z (x:xs) (y:ys) = k x y (foldr2 k z xs ys) - -{-# NOINLINE [1] foldr2 #-} +foldr2 k z = go + where + go [] _ys = z + go _xs [] = z + go (x:xs) (y:ys) = k x y (go xs ys) +{-# INLINE [0] foldr2 #-} foldr2_left :: (a -> b -> c -> d) -> d -> a -> ([b] -> c) -> [b] -> d foldr2_left _k z _x _r [] = z From git at git.haskell.org Wed Jan 29 09:20:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:20:42 +0000 (UTC) Subject: [commit: ghc] branch 'ghc-7.8' created Message-ID: <20140129092042.AB9FC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc New branch : ghc-7.8 Referencing: 7c22ec68afdffa2b4937aca9b0ad82d441847f3d From git at git.haskell.org Wed Jan 29 09:20:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:20:45 +0000 (UTC) Subject: [commit: ghc] ghc-7.8: Remove a TODO FIXME in the release notes. (9ed12c7) Message-ID: <20140129092045.4C58D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : ghc-7.8 Link : http://ghc.haskell.org/trac/ghc/changeset/9ed12c7d4685772a776352f1840462f64a735805/ghc >--------------------------------------------------------------- commit 9ed12c7d4685772a776352f1840462f64a735805 Author: Austin Seipp Date: Wed Jan 29 03:09:38 2014 -0600 Remove a TODO FIXME in the release notes. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 9ed12c7d4685772a776352f1840462f64a735805 docs/users_guide/7.8.1-notes.xml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index 9686301..e9aadcc 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -718,19 +718,6 @@ Libraries - - There have been some changes that have effected multiple - libraries: - - - - - - TODO FIXME - - - - array From git at git.haskell.org Wed Jan 29 09:20:47 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:20:47 +0000 (UTC) Subject: [commit: ghc] ghc-7.8: Bump version: 7.7 -> 7.8 (7c22ec6) Message-ID: <20140129092047.B59D12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : ghc-7.8 Link : http://ghc.haskell.org/trac/ghc/changeset/7c22ec68afdffa2b4937aca9b0ad82d441847f3d/ghc >--------------------------------------------------------------- commit 7c22ec68afdffa2b4937aca9b0ad82d441847f3d Author: Austin Seipp Date: Wed Jan 29 03:15:56 2014 -0600 Bump version: 7.7 -> 7.8 Signed-off-by: Austin Seipp >--------------------------------------------------------------- 7c22ec68afdffa2b4937aca9b0ad82d441847f3d configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index cb411f3..7bb83fb 100644 --- a/configure.ac +++ b/configure.ac @@ -13,7 +13,7 @@ dnl # see what flags are available. (Better yet, read the documentation!) # -AC_INIT([The Glorious Glasgow Haskell Compilation System], [7.7], [glasgow-haskell-bugs at haskell.org], [ghc]) +AC_INIT([The Glorious Glasgow Haskell Compilation System], [7.8], [glasgow-haskell-bugs at haskell.org], [ghc]) # Set this to YES for a released version, otherwise NO : ${RELEASE=NO} From git at git.haskell.org Wed Jan 29 09:21:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:21:04 +0000 (UTC) Subject: [commit: libffi-tarballs] branch 'ghc-7.8' created Message-ID: <20140129092105.0033E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/libffi-tarballs New branch : ghc-7.8 Referencing: a0088d1da0e171849ddb47a46c869856037a01d1 From git at git.haskell.org Wed Jan 29 09:21:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:21:11 +0000 (UTC) Subject: [commit: hsc2hs] branch 'ghc-7.8' created Message-ID: <20140129092111.86EB72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/hsc2hs New branch : ghc-7.8 Referencing: 4a0f67704d89712f8493a0c7eccffa9243d6ef09 From git at git.haskell.org Wed Jan 29 09:21:18 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:21:18 +0000 (UTC) Subject: [commit: haddock] branch 'ghc-7.8' created Message-ID: <20140129092118.C554C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock New branch : ghc-7.8 Referencing: 7c905816eb12981840efe4136989799db437f357 From git at git.haskell.org Wed Jan 29 09:21:25 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:21:25 +0000 (UTC) Subject: [commit: packages/array] branch 'ghc-7.8' created Message-ID: <20140129092125.3B65F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/array New branch : ghc-7.8 Referencing: 26ff04744117b0ad8233a1a2b5635fa1277b88d9 From git at git.haskell.org Wed Jan 29 09:21:31 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:21:31 +0000 (UTC) Subject: [commit: packages/base] branch 'ghc-7.8' created Message-ID: <20140129092131.CF2DC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base New branch : ghc-7.8 Referencing: 4a8ffcf55c897851b534c700951a0b5bdd43eb97 From git at git.haskell.org Wed Jan 29 09:21:38 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:21:38 +0000 (UTC) Subject: [commit: packages/deepseq] branch 'ghc-7.8' created Message-ID: <20140129092138.5BCE22406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/deepseq New branch : ghc-7.8 Referencing: 3a9c431e4c89ca506aae8e80867cfcde8c099724 From git at git.haskell.org Wed Jan 29 09:21:44 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:21:44 +0000 (UTC) Subject: [commit: packages/directory] branch 'ghc-7.8' created Message-ID: <20140129092144.C36F92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/directory New branch : ghc-7.8 Referencing: b3abf7a00436ad7ab9e0b3a2f7c570e3e9874e8f From git at git.haskell.org Wed Jan 29 09:21:51 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:21:51 +0000 (UTC) Subject: [commit: packages/filepath] branch 'ghc-7.8' created Message-ID: <20140129092151.3F1952406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/filepath New branch : ghc-7.8 Referencing: 12bdb3a4f183774e3eecaa6f76adb245fc2d6075 From git at git.haskell.org Wed Jan 29 09:21:57 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:21:57 +0000 (UTC) Subject: [commit: packages/ghc-prim] branch 'ghc-7.8' created Message-ID: <20140129092157.D9A6E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc-prim New branch : ghc-7.8 Referencing: 3a0a55861bcd9c20f33c468d51e65065fdd83c5f From git at git.haskell.org Wed Jan 29 09:22:04 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:22:04 +0000 (UTC) Subject: [commit: packages/haskell98] branch 'ghc-7.8' created Message-ID: <20140129092204.3CD5E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskell98 New branch : ghc-7.8 Referencing: aba86664c1779e9a1b4b47318e6de1ef80b76d0c From git at git.haskell.org Wed Jan 29 09:22:10 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:22:10 +0000 (UTC) Subject: [commit: packages/haskell2010] branch 'ghc-7.8' created Message-ID: <20140129092210.C92A82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haskell2010 New branch : ghc-7.8 Referencing: e8d369591eb7737a3a4fcb8d21983952a0395cd1 From git at git.haskell.org Wed Jan 29 09:22:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:22:17 +0000 (UTC) Subject: [commit: packages/hoopl] branch 'ghc-7.8' created Message-ID: <20140129092217.5017E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/hoopl New branch : ghc-7.8 Referencing: 8f0d3cff4455fcd8f445ffe08bca2ddfa484ef54 From git at git.haskell.org Wed Jan 29 09:22:23 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:22:23 +0000 (UTC) Subject: [commit: packages/hpc] branch 'ghc-7.8' created Message-ID: <20140129092224.019882406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/hpc New branch : ghc-7.8 Referencing: babe26eefd5cc7941cce5f9b04273786539f24fc From git at git.haskell.org Wed Jan 29 09:22:30 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:22:30 +0000 (UTC) Subject: [commit: packages/integer-gmp] branch 'ghc-7.8' created Message-ID: <20140129092230.9E1D12406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp New branch : ghc-7.8 Referencing: 0476327376045838375fbbe4a78c02859a1913cb From git at git.haskell.org Wed Jan 29 09:22:36 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:22:36 +0000 (UTC) Subject: [commit: packages/integer-simple] branch 'ghc-7.8' created Message-ID: <20140129092236.D7EF62406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-simple New branch : ghc-7.8 Referencing: 9e8b924f68c4cdb6c7ae88f274baa3560aaa305e From git at git.haskell.org Wed Jan 29 09:22:43 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:22:43 +0000 (UTC) Subject: [commit: packages/old-locale] branch 'ghc-7.8' created Message-ID: <20140129092243.466D52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/old-locale New branch : ghc-7.8 Referencing: 8f5796dfe88f6057bd8d3ce8382ae57a1c21e62f From git at git.haskell.org Wed Jan 29 09:22:49 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:22:49 +0000 (UTC) Subject: [commit: packages/old-time] branch 'ghc-7.8' created Message-ID: <20140129092249.F34882406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/old-time New branch : ghc-7.8 Referencing: f541709c054551b8e06dc8d7c8947e90cc115e48 From git at git.haskell.org Wed Jan 29 09:22:56 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:22:56 +0000 (UTC) Subject: [commit: packages/process] branch 'ghc-7.8' created Message-ID: <20140129092256.36CB32406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/process New branch : ghc-7.8 Referencing: 353a0edaef658d4566caaa46f70bed814a2c5afe From git at git.haskell.org Wed Jan 29 09:23:02 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:23:02 +0000 (UTC) Subject: [commit: packages/template-haskell] branch 'ghc-7.8' created Message-ID: <20140129092302.7FE7E2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/template-haskell New branch : ghc-7.8 Referencing: 6b485668ba22d4d78664866100a8ef2daf62ff89 From git at git.haskell.org Wed Jan 29 09:23:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:23:09 +0000 (UTC) Subject: [commit: packages/unix] branch 'ghc-7.8' created Message-ID: <20140129092309.1743C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/unix New branch : ghc-7.8 Referencing: 18a54fa5ac929d07baaaa6fb9669632a10fd78d7 From git at git.haskell.org Wed Jan 29 09:23:15 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:23:15 +0000 (UTC) Subject: [commit: nofib] branch 'ghc-7.8' created Message-ID: <20140129092315.A9A592406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/nofib New branch : ghc-7.8 Referencing: 317148f9fb9d39c408f48d9b4f14c20ef9697ee4 From git at git.haskell.org Wed Jan 29 09:23:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:23:22 +0000 (UTC) Subject: [commit: packages/parallel] branch 'ghc-7.8' created Message-ID: <20140129092323.19C112406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/parallel New branch : ghc-7.8 Referencing: 03da43303ed05ace65cb24cee1dbc1766c694233 From git at git.haskell.org Wed Jan 29 09:23:29 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:23:29 +0000 (UTC) Subject: [commit: packages/stm] branch 'ghc-7.8' created Message-ID: <20140129092329.2DFC92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/stm New branch : ghc-7.8 Referencing: 7dceaa23de6827e38d221fd16e72c89c047ba61d From git at git.haskell.org Wed Jan 29 09:24:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:24:46 +0000 (UTC) Subject: [commit: packages/dph] branch 'ghc-7.8' created Message-ID: <20140129092446.42BCB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/dph New branch : ghc-7.8 Referencing: 962c99970bb8cfe0d0e712f313db1dda98f7a6bf From git at git.haskell.org Wed Jan 29 09:28:01 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:28:01 +0000 (UTC) Subject: [commit: ghc] master: Bump version: 7.7 -> 7.9 (466d069) Message-ID: <20140129092801.E92FD2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/466d06914312bce40647f3e4f4d523964cc6a588/ghc >--------------------------------------------------------------- commit 466d06914312bce40647f3e4f4d523964cc6a588 Author: Austin Seipp Date: Wed Jan 29 03:20:17 2014 -0600 Bump version: 7.7 -> 7.9 Signed-off-by: Austin Seipp >--------------------------------------------------------------- 466d06914312bce40647f3e4f4d523964cc6a588 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index cb411f3..33d4e7c 100644 --- a/configure.ac +++ b/configure.ac @@ -13,7 +13,7 @@ dnl # see what flags are available. (Better yet, read the documentation!) # -AC_INIT([The Glorious Glasgow Haskell Compilation System], [7.7], [glasgow-haskell-bugs at haskell.org], [ghc]) +AC_INIT([The Glorious Glasgow Haskell Compilation System], [7.9], [glasgow-haskell-bugs at haskell.org], [ghc]) # Set this to YES for a released version, otherwise NO : ${RELEASE=NO} From git at git.haskell.org Wed Jan 29 09:28:03 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 09:28:03 +0000 (UTC) Subject: [commit: ghc] master's head updated: Bump version: 7.7 -> 7.9 (466d069) Message-ID: <20140129092803.F2E422406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc Branch 'master' now includes: 9ed12c7 Remove a TODO FIXME in the release notes. 466d069 Bump version: 7.7 -> 7.9 From git at git.haskell.org Wed Jan 29 12:07:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 12:07:09 +0000 (UTC) Subject: [commit: packages/base] master: Add newline before two `/Since: 4.7.0.0/` occurences (428304c) Message-ID: <20140129120709.2A5042406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/428304c06cf9819f49985e7cece5c21c16b9237e/base >--------------------------------------------------------------- commit 428304c06cf9819f49985e7cece5c21c16b9237e Author: Herbert Valerio Riedel Date: Wed Jan 29 13:03:29 2014 +0100 Add newline before two `/Since: 4.7.0.0/` occurences See also `/Since: .../` convention described in 6368362f4486226dee9d54665b4fdffde24e56f1 Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 428304c06cf9819f49985e7cece5c21c16b9237e GHC/TypeLits.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/GHC/TypeLits.hs b/GHC/TypeLits.hs index c572dda..e85b36c 100644 --- a/GHC/TypeLits.hs +++ b/GHC/TypeLits.hs @@ -174,6 +174,7 @@ type family (m :: Nat) - (n :: Nat) :: Nat -- | We either get evidence that this function was instantiated with the -- same type-level numbers, or 'Nothing'. +-- -- /Since: 4.7.0.0/ sameNat :: (KnownNat a, KnownNat b) => Proxy a -> Proxy b -> Maybe (a :~: b) @@ -183,6 +184,7 @@ sameNat x y -- | We either get evidence that this function was instantiated with the -- same type-level symbols, or 'Nothing'. +-- -- /Since: 4.7.0.0/ sameSymbol :: (KnownSymbol a, KnownSymbol b) => Proxy a -> Proxy b -> Maybe (a :~: b) From git at git.haskell.org Wed Jan 29 12:57:01 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 12:57:01 +0000 (UTC) Subject: [commit: packages/base] master: Add Hackage-supported `changelog.md` file (63f669b) Message-ID: <20140129125701.E11612406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/63f669b9385bbaba32b0fc20bf16f8a8d96ddfa3/base >--------------------------------------------------------------- commit 63f669b9385bbaba32b0fc20bf16f8a8d96ddfa3 Author: Herbert Valerio Riedel Date: Wed Jan 29 13:53:27 2014 +0100 Add Hackage-supported `changelog.md` file The contents has been ripped from the release notes. I've used markdown as this may allow for automatic conversion to docbook XML in the future, should we choose to maintain the `base` changelog in a more human-friendly markup format and closer to the `base`-source tree. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 63f669b9385bbaba32b0fc20bf16f8a8d96ddfa3 changelog.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..87114cb --- /dev/null +++ b/changelog.md @@ -0,0 +1,60 @@ +# Changelog for [`base` package](http://hackage.haskell.org/package/base) + +## 4.7.0.0 *Feb 2014* + + * Bundled with GHC 7.8.1 + + * The `Control.Category` module now has the `PolyKinds` extension + enabled, meaning that instances of `Category` no longer need be of + kind `* -> * -> *`. + + * There are now `Foldable` and `Traversable` instances for `Either a`, + `Const r`, and `(,) a`. + + * There is now a `Monoid` instance for `Const`. + + * There is now a `Data` instance for `Data.Version`. + + * There are now `Eq`, `Ord`, `Show` and `Read` instances for `ZipList`. + + * There are now `Eq`, `Ord`, `Show` and `Read` instances for `Down`. + + * There are now `Eq`, `Ord`, `Show`, `Read` and `Generic` instances + for types in GHC.Generics (`U1`, `Par1`, `Rec1`, `K1`, `M1`, + `(:+:)`, `(:*:)`, `(:.:)`). + + * A zero-width unboxed poly-kinded `Proxy#` was added to + `GHC.Prim`. It can be used to make it so that there is no the + operational overhead for passing around proxy arguments to model + type application. + + * `Control.Concurrent.MVar` has a new implementation of `readMVar`, + which fixes a long-standing bug where `readMVar` is only atomic if + there are no other threads running `putMVar`. `readMVar` now is + atomic, and is guaranteed to return the value from the first + `putMVar`. There is also a new `tryReadMVar` which is a + non-blocking version. + + * There are now byte endian-swapping primitives available in + `Data.Word`, which use optimized machine instructions when + available. + + * `Data.Bool` now exports `bool :: a -> a -> Bool -> a`, analogously + to `maybe` and `either` in their respective modules. + + * Rewrote portions of `Text.Printf`, and made changes to `Numeric` + (added `Numeric.showFFloatAlt` and `Numeric.showGFloatAlt`) and + `GHC.Float` (added `formatRealFloatAlt`) to support it. The + rewritten version is extensible to user types, adds a "generic" + format specifier "`%v`", extends the `printf` spec to support much + of C's `printf(3)` functionality, and fixes the spurious warnings + about using `Text.Printf.printf` at `(IO a)` while ignoring the + return value. These changes were contributed by Bart Massey. + + * The minimal complete definitions for all type-classes with cyclic + default implementations have been explicitly annotated with the + new `{-# MINIMAL #-}` pragma. + + * `Control.Applicative.WrappedMonad`, which can be used to convert a + `Monad` to an `Applicative`, has now a + `Monad m => Monad (WrappedMonad m)` instance. From git at git.haskell.org Wed Jan 29 14:09:47 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 14:09:47 +0000 (UTC) Subject: [commit: haddock] master: Update CPP check for __GLASGOW_HASKELL__ (96838d2) Message-ID: <20140129140947.82D462406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/96838d249070e1ab55641b6816360a3e6bc909fa >--------------------------------------------------------------- commit 96838d249070e1ab55641b6816360a3e6bc909fa Author: Austin Seipp Date: Wed Jan 29 08:09:04 2014 -0600 Update CPP check for __GLASGOW_HASKELL__ Signed-off-by: Austin Seipp >--------------------------------------------------------------- 96838d249070e1ab55641b6816360a3e6bc909fa src/Haddock/InterfaceFile.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Haddock/InterfaceFile.hs b/src/Haddock/InterfaceFile.hs index e7ea758..b4d5406 100644 --- a/src/Haddock/InterfaceFile.hs +++ b/src/Haddock/InterfaceFile.hs @@ -76,7 +76,7 @@ binaryInterfaceMagic = 0xD0Cface -- (2) set `binaryInterfaceVersionCompatibility` to [binaryInterfaceVersion] -- binaryInterfaceVersion :: Word16 -#if __GLASGOW_HASKELL__ == 707 +#if __GLASGOW_HASKELL__ == 709 binaryInterfaceVersion = 24 binaryInterfaceVersionCompatibility :: [Word16] From git at git.haskell.org Wed Jan 29 14:11:10 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 14:11:10 +0000 (UTC) Subject: [commit: haddock] ghc-7.8: Update CPP check for __GLASGOW_HASKELL__ (71eb749) Message-ID: <20140129141110.8CE772406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : ghc-7.8 Link : http://git.haskell.org/haddock.git/commitdiff/71eb7498030e72dde8b0432cb1c6d9ec8fd51733 >--------------------------------------------------------------- commit 71eb7498030e72dde8b0432cb1c6d9ec8fd51733 Author: Austin Seipp Date: Wed Jan 29 08:10:22 2014 -0600 Update CPP check for __GLASGOW_HASKELL__ Signed-off-by: Austin Seipp >--------------------------------------------------------------- 71eb7498030e72dde8b0432cb1c6d9ec8fd51733 src/Haddock/InterfaceFile.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Haddock/InterfaceFile.hs b/src/Haddock/InterfaceFile.hs index e7ea758..62e23d4 100644 --- a/src/Haddock/InterfaceFile.hs +++ b/src/Haddock/InterfaceFile.hs @@ -76,7 +76,7 @@ binaryInterfaceMagic = 0xD0Cface -- (2) set `binaryInterfaceVersionCompatibility` to [binaryInterfaceVersion] -- binaryInterfaceVersion :: Word16 -#if __GLASGOW_HASKELL__ == 707 +#if __GLASGOW_HASKELL__ == 708 binaryInterfaceVersion = 24 binaryInterfaceVersionCompatibility :: [Word16] From git at git.haskell.org Wed Jan 29 15:17:35 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:17:35 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Second try, this time only collect tail calls (5bfbf0c) Message-ID: <20140129151735.7E7DE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/5bfbf0c800df4017630358951b017ef6cb45d205/ghc >--------------------------------------------------------------- commit 5bfbf0c800df4017630358951b017ef6cb45d205 Author: Joachim Breitner Date: Tue Jan 28 10:44:28 2014 +0000 Second try, this time only collect tail calls >--------------------------------------------------------------- 5bfbf0c800df4017630358951b017ef6cb45d205 compiler/coreSyn/CoreArity.lhs | 194 ++++++++++++++++++++++------------------ 1 file changed, 106 insertions(+), 88 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 5bfbf0c800df4017630358951b017ef6cb45d205 From git at git.haskell.org Wed Jan 29 15:17:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:17:37 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: arityAnalProgram first try (34a5b81) Message-ID: <20140129151737.E3A2A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/34a5b81a4273b14ac724e7df05a7e395f0766094/ghc >--------------------------------------------------------------- commit 34a5b81a4273b14ac724e7df05a7e395f0766094 Author: Joachim Breitner Date: Tue Jan 28 10:15:00 2014 +0000 arityAnalProgram first try but this analysis is too imprecise. Trying to further tailor it for tail calls now. >--------------------------------------------------------------- 34a5b81a4273b14ac724e7df05a7e395f0766094 compiler/coreSyn/CoreArity.lhs | 169 +++++++++++++++++++++++++++++++++++++- compiler/simplCore/CoreMonad.lhs | 3 + compiler/simplCore/SimplCore.lhs | 6 ++ 3 files changed, 177 insertions(+), 1 deletion(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 34a5b81a4273b14ac724e7df05a7e395f0766094 From git at git.haskell.org Wed Jan 29 15:17:40 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:17:40 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Set the new IdInfo CalledArity (6ff1795) Message-ID: <20140129151740.630652406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/6ff17952e39c380ac6a82cb938c7760b54a33bcf/ghc >--------------------------------------------------------------- commit 6ff17952e39c380ac6a82cb938c7760b54a33bcf Author: Joachim Breitner Date: Tue Jan 28 11:10:42 2014 +0000 Set the new IdInfo CalledArity and use it in the simplifier to eta-expand the bindings approriately. We get good code! >--------------------------------------------------------------- 6ff17952e39c380ac6a82cb938c7760b54a33bcf compiler/basicTypes/Id.lhs | 9 +++++++++ compiler/basicTypes/IdInfo.lhs | 12 +++++++++--- compiler/coreSyn/CoreArity.lhs | 14 ++++++++++---- compiler/coreSyn/PprCore.lhs | 12 ++++++++---- compiler/simplCore/CoreMonad.lhs | 2 +- compiler/simplCore/SimplCore.lhs | 1 + compiler/simplCore/SimplUtils.lhs | 4 +++- 7 files changed, 41 insertions(+), 13 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 6ff17952e39c380ac6a82cb938c7760b54a33bcf From git at git.haskell.org Wed Jan 29 15:17:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:17:42 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Consider less lets as interesting (0a551b0) Message-ID: <20140129151742.D19342406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/0a551b05bdc1be7224ee18202c83980405fc9232/ghc >--------------------------------------------------------------- commit 0a551b05bdc1be7224ee18202c83980405fc9232 Author: Joachim Breitner Date: Tue Jan 28 23:26:39 2014 +0000 Consider less lets as interesting if there is no eta-expansion possible, do not consider that. This is a win because uninteresting lets can cause the code to choose the wrong side in a case/app. But it could also be a loss if the interesting call path passes through a fully expanded function. We'll see. >--------------------------------------------------------------- 0a551b05bdc1be7224ee18202c83980405fc9232 compiler/coreSyn/CoreArity.lhs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/compiler/coreSyn/CoreArity.lhs b/compiler/coreSyn/CoreArity.lhs index 4903bf8..6ffce8e 100644 --- a/compiler/coreSyn/CoreArity.lhs +++ b/compiler/coreSyn/CoreArity.lhs @@ -1129,6 +1129,15 @@ callArityAnal arity int (Lam v e) where (ae, e') = callArityAnal (arity - 1) int e +-- Boring non-recursive let, i.e. no eta expansion possible. do not be smart about this +callArityAnal arity int (Let (NonRec v rhs) e) + | exprArity rhs >= length (typeArity (idType v)) + = (ae_final, Let (NonRec v rhs') e') + where + (ae_rhs, rhs') = callArityAnal 0 int rhs + (ae_body, e') = callArityAnal arity int e + ae_final = forgetTailCalls ae_rhs `lubEnv` ae_body + -- Non-recursive let. Find out how the body calls the rhs, analise that, -- and combine the results, convervatively using both callArityAnal arity int (Let (NonRec v rhs) e) @@ -1158,6 +1167,15 @@ callArityAnal arity int (Let (NonRec v rhs) e) ae_body' = ae_body `delVarEnv` v rhs_arity = lookupWithDefaultVarEnv ae_body Nothing v +-- Boring recursive let, i.e. no eta expansion possible. do not be smart about this +callArityAnal arity int (Let (Rec [(v,rhs)]) e) + | exprArity rhs >= length (typeArity (idType v)) + = (ae_final, Let (Rec [(v,rhs')]) e') + where + (ae_rhs, rhs') = callArityAnal 0 int rhs + (ae_body, e') = callArityAnal arity int e + ae_final = forgetTailCalls ae_rhs `lubEnv` ae_body + -- Recursive let. Again, find out how the body calls the rhs, analise that, -- but then check if it is compatible with how rhs calls itself. If not, -- retry with lower arity. From git at git.haskell.org Wed Jan 29 15:17:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:17:45 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Do not be too strict about things being tail-calls (f77b9a4) Message-ID: <20140129151745.858852406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/f77b9a4b66433aeb820930ab79aecb23efce1280/ghc >--------------------------------------------------------------- commit f77b9a4b66433aeb820930ab79aecb23efce1280 Author: Joachim Breitner Date: Tue Jan 28 14:27:30 2014 +0000 Do not be too strict about things being tail-calls It is ok to take the information from the scrunitee of a case, as long as then, any information from the body is Nothing?ified. >--------------------------------------------------------------- f77b9a4b66433aeb820930ab79aecb23efce1280 compiler/coreSyn/CoreArity.lhs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/compiler/coreSyn/CoreArity.lhs b/compiler/coreSyn/CoreArity.lhs index 287087b..0088dab 100644 --- a/compiler/coreSyn/CoreArity.lhs +++ b/compiler/coreSyn/CoreArity.lhs @@ -42,7 +42,7 @@ import FastString import Pair import Util ( debugIsOn ) import Control.Arrow ( second ) -import Data.Maybe ( fromMaybe ) +import Data.Maybe ( fromMaybe, isJust ) \end{code} %************************************************************************ @@ -1205,7 +1205,11 @@ callArityAnal arity int (App e1 e2) (ae2, e2') = callArityAnal 0 int e2 final_ae = ae1 `lubEnv` forgetTailCalls ae2 --- Case expression. Not much happening here. +-- Case expression. Here we decide whether +-- we want to look at calls from the scrunitee or the alternatives; +-- one of them we set to Nothing. +-- Naive idea: If there are interesting calls in the scrunitee, +-- zap the alternatives callArityAnal arity int (Case scrut bndr ty alts) = -- pprTrace "callArityAnal:Case" -- (vcat [ppr scrut, ppr final_ae]) @@ -1215,7 +1219,8 @@ callArityAnal arity int (Case scrut bndr ty alts) go (dc, bndrs, e) = let (ae, e') = callArityAnal arity int e in (ae, (dc, bndrs, e')) (ae, scrut') = callArityAnal 0 int scrut - final_ae = foldl lubEnv (forgetTailCalls ae) aes + final_ae | anyTailCalls ae = foldl lubEnv ae $ map forgetTailCalls aes + | otherwise = foldl lubEnv (forgetTailCalls ae) aes callArityFix :: Arity -> VarSet -> Id -> CoreExpr -> (CallArityEnv, Maybe Arity, CoreExpr) callArityFix arity int v e @@ -1235,6 +1240,9 @@ callArityFix arity int v e new_arity = lookupWithDefaultVarEnv ae Nothing v +anyTailCalls :: VarEnv (Maybe Arity) -> Bool +anyTailCalls = foldVarEnv ((||) . isJust) False + forgetTailCalls :: VarEnv (Maybe Arity) -> VarEnv (Maybe Arity) forgetTailCalls = mapVarEnv (const Nothing) From git at git.haskell.org Wed Jan 29 15:17:47 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:17:47 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Use same trick for calls as for cases: (7e0160e) Message-ID: <20140129151747.E51B92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/7e0160e335ffa6910cc2bcec2a5e0011657cbe81/ghc >--------------------------------------------------------------- commit 7e0160e335ffa6910cc2bcec2a5e0011657cbe81 Author: Joachim Breitner Date: Tue Jan 28 18:29:35 2014 +0000 Use same trick for calls as for cases: Use information from the side where there is information to be used. >--------------------------------------------------------------- 7e0160e335ffa6910cc2bcec2a5e0011657cbe81 compiler/coreSyn/CoreArity.lhs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/compiler/coreSyn/CoreArity.lhs b/compiler/coreSyn/CoreArity.lhs index 0088dab..4903bf8 100644 --- a/compiler/coreSyn/CoreArity.lhs +++ b/compiler/coreSyn/CoreArity.lhs @@ -1203,7 +1203,7 @@ callArityAnal arity int (App e1 e2) where (ae1, e1') = callArityAnal (arity + 1) int e1 (ae2, e2') = callArityAnal 0 int e2 - final_ae = ae1 `lubEnv` forgetTailCalls ae2 + final_ae = ae1 `useBetterOf` ae2 -- Case expression. Here we decide whether -- we want to look at calls from the scrunitee or the alternatives; @@ -1215,12 +1215,12 @@ callArityAnal arity int (Case scrut bndr ty alts) -- (vcat [ppr scrut, ppr final_ae]) (final_ae, Case scrut' bndr ty alts') where - (aes, alts') = unzip $ map go alts + (alt_aes, alts') = unzip $ map go alts go (dc, bndrs, e) = let (ae, e') = callArityAnal arity int e in (ae, (dc, bndrs, e')) - (ae, scrut') = callArityAnal 0 int scrut - final_ae | anyTailCalls ae = foldl lubEnv ae $ map forgetTailCalls aes - | otherwise = foldl lubEnv (forgetTailCalls ae) aes + alt_ae = foldl lubEnv emptyVarEnv alt_aes + (scrut_ae, scrut') = callArityAnal 0 int scrut + final_ae = scrut_ae `useBetterOf` alt_ae callArityFix :: Arity -> VarSet -> Id -> CoreExpr -> (CallArityEnv, Maybe Arity, CoreExpr) callArityFix arity int v e @@ -1246,6 +1246,10 @@ anyTailCalls = foldVarEnv ((||) . isJust) False forgetTailCalls :: VarEnv (Maybe Arity) -> VarEnv (Maybe Arity) forgetTailCalls = mapVarEnv (const Nothing) +useBetterOf :: CallArityEnv -> CallArityEnv -> CallArityEnv +useBetterOf ae1 ae2 | anyTailCalls ae1 = ae1 `lubEnv` forgetTailCalls ae2 +useBetterOf ae1 ae2 | otherwise = forgetTailCalls ae1 `lubEnv` ae2 + -- Used when combining results from alternative cases; take the minimum lubEnv :: CallArityEnv -> CallArityEnv -> CallArityEnv lubEnv = plusVarEnv_C min From git at git.haskell.org Wed Jan 29 15:17:50 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:17:50 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Add a unit test for CallArity (aa970ca) Message-ID: <20140129151751.156B32406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/aa970ca1e81118bbf37386b8833a01a3791cee62/ghc >--------------------------------------------------------------- commit aa970ca1e81118bbf37386b8833a01a3791cee62 Author: Joachim Breitner Date: Wed Jan 29 12:19:35 2014 +0000 Add a unit test for CallArity I put it all in one file because starting the GHC API is quite slow. >--------------------------------------------------------------- aa970ca1e81118bbf37386b8833a01a3791cee62 compiler/coreSyn/CoreArity.lhs | 1 + testsuite/tests/callarity/CallArity1.hs | 142 ++++++++++++++++++++ testsuite/tests/callarity/CallArity1.stderr | 25 ++++ .../tests/{annotations => callarity}/Makefile | 0 testsuite/tests/callarity/all.T | 8 ++ 5 files changed, 176 insertions(+) diff --git a/compiler/coreSyn/CoreArity.lhs b/compiler/coreSyn/CoreArity.lhs index 6ffce8e..40c67cd 100644 --- a/compiler/coreSyn/CoreArity.lhs +++ b/compiler/coreSyn/CoreArity.lhs @@ -18,6 +18,7 @@ module CoreArity ( manifestArity, exprArity, exprBotStrictness_maybe, exprEtaExpandArity, findRhsArity, CheapFun, etaExpand, callArityAnalProgram, + callArityRHS, -- for testing ) where #include "HsVersions.h" diff --git a/testsuite/tests/callarity/CallArity1.hs b/testsuite/tests/callarity/CallArity1.hs new file mode 100644 index 0000000..4d13fc4 --- /dev/null +++ b/testsuite/tests/callarity/CallArity1.hs @@ -0,0 +1,142 @@ +{-# LANGUAGE TupleSections #-} +import CoreSyn +import CoreUtils +import Id +import Type +import MkCore +import CoreArity (callArityRHS) +import MkId +import SysTools +import DynFlags +import ErrUtils +import Outputable +import TysWiredIn +import Literal +import GHC +import Control.Monad +import Control.Monad.IO.Class +import System.Environment( getArgs ) +import VarSet +import PprCore +import Unique +import FastString + +-- Build IDs. use mkTemplateLocal, more predictable than proper uniques +go, go2, x, d, n, y, z, scrut :: Id +[go, go2, x,d, n, y, z, scrut, f] = mkTestIds + (words "go go2 x d n y z scrut f") + [ mkFunTys [intTy, intTy] intTy + , mkFunTys [intTy, intTy] intTy + , intTy + , mkFunTys [intTy] intTy + , mkFunTys [intTy] intTy + , intTy + , intTy + , boolTy + , mkFunTys [intTy, intTy] intTy -- protoypical external function + ] + +exprs :: [(String, CoreExpr)] +exprs = + [ ("go2",) $ + mkFun go [x] + (mkLet d (mkACase (Var go `mkVarApps` [x]) + (mkLams [y] $ Var y) + ) $ mkLams [z] $ Var d `mkVarApps` [x]) $ + go `mkLApps` [0, 0] + , ("nested_go2",) $ + mkFun go [x] + (mkLet n (mkACase (Var go `mkVarApps` [x]) + (mkLams [y] $ Var y)) $ + mkACase (Var n) $ + mkFun go2 [y] + (mkLet d + (mkACase (Var go `mkVarApps` [x]) + (mkLams [y] $ Var y) ) $ + mkLams [z] $ Var d `mkVarApps` [x] )$ + Var go2 `mkApps` [mkLit 1] ) $ + go `mkLApps` [0, 0] + , ("d0",) $ + mkFun go [x] + (mkLet d (mkACase (Var go `mkVarApps` [x]) + (mkLams [y] $ Var y) + ) $ mkLams [z] $ Var f `mkApps` [ Var d `mkVarApps` [x], Var d `mkVarApps` [x] ]) $ + go `mkLApps` [0, 0] + , ("go2 (in case crut)",) $ + mkFun go [x] + (mkLet d (mkACase (Var go `mkVarApps` [x]) + (mkLams [y] $ Var y) + ) $ mkLams [z] $ Var d `mkVarApps` [x]) $ + Case (go `mkLApps` [0, 0]) z intTy + [(DEFAULT, [], Var f `mkVarApps` [z,z])] + , ("go2 (in function call)",) $ + mkFun go [x] + (mkLet d (mkACase (Var go `mkVarApps` [x]) + (mkLams [y] $ Var y) + ) $ mkLams [z] $ Var d `mkVarApps` [x]) $ + f `mkLApps` [0] `mkApps` [go `mkLApps` [0, 0]] + , ("go2 (using surrounding interesting let)",) $ + mkLet n (f `mkLApps` [0]) $ + mkFun go [x] + (mkLet d (mkACase (Var go `mkVarApps` [x]) + (mkLams [y] $ Var y) + ) $ mkLams [z] $ Var d `mkVarApps` [x]) $ + Var f `mkApps` [n `mkLApps` [0], go `mkLApps` [0, 0]] + , ("go2 (using surrounding boring let)",) $ + mkLet z (mkLit 0) $ + mkFun go [x] + (mkLet d (mkACase (Var go `mkVarApps` [x]) + (mkLams [y] $ Var y) + ) $ mkLams [z] $ Var d `mkVarApps` [x]) $ + Var f `mkApps` [Var z, go `mkLApps` [0, 0]] + ] + +main = do + [libdir] <- getArgs + runGhc (Just libdir) $ do + getSessionDynFlags >>= setSessionDynFlags . flip gopt_set Opt_SuppressUniques + dflags <- getSessionDynFlags + liftIO $ forM_ exprs $ \(n,e) -> do + putMsg dflags (text n <> char ':') + -- liftIO $ putMsg dflags (ppr e) + let e' = callArityRHS e + let bndrs = varSetElems (allBoundIds e') + -- liftIO $ putMsg dflags (ppr e') + forM_ bndrs $ \v -> putMsg dflags $ nest 4 $ ppr v <+> ppr (idCalledArity v) + +-- Utilities +mkLApps :: Id -> [Integer] -> CoreExpr +mkLApps v = mkApps (Var v) . map mkLit + +mkACase = mkIfThenElse (Var scrut) + +mkTestId :: Int -> String -> Type -> Id +mkTestId i s ty = mkSysLocal (mkFastString s) (mkBuiltinUnique i) ty + +mkTestIds :: [String] -> [Type] -> [Id] +mkTestIds ns tys = zipWith3 mkTestId [0..] ns tys + +mkLet :: Id -> CoreExpr -> CoreExpr -> CoreExpr +mkLet v rhs body = Let (NonRec v rhs) body + +mkFun :: Id -> [Id] -> CoreExpr -> CoreExpr -> CoreExpr +mkFun v xs rhs body = mkLet v (mkLams xs rhs) body + +mkLit :: Integer -> CoreExpr +mkLit i = Lit (mkLitInteger i intTy) + +-- Collects all let-bound IDs +allBoundIds :: CoreExpr -> VarSet +allBoundIds (Let (NonRec v rhs) body) = allBoundIds rhs `unionVarSet` allBoundIds body `extendVarSet` v +allBoundIds (Let (Rec binds) body) = + allBoundIds body `unionVarSet` unionVarSets + [ allBoundIds rhs `extendVarSet` v | (v, rhs) <- binds ] +allBoundIds (App e1 e2) = allBoundIds e1 `unionVarSet` allBoundIds e2 +allBoundIds (Case scrut _ _ alts) = + allBoundIds scrut `unionVarSet` unionVarSets + [ allBoundIds e | (_, _ , e) <- alts ] +allBoundIds (Lam _ e) = allBoundIds e +allBoundIds (Tick _ e) = allBoundIds e +allBoundIds (Cast e _) = allBoundIds e +allBoundIds _ = emptyVarSet + diff --git a/testsuite/tests/callarity/CallArity1.stderr b/testsuite/tests/callarity/CallArity1.stderr new file mode 100644 index 0000000..c8ea5e7 --- /dev/null +++ b/testsuite/tests/callarity/CallArity1.stderr @@ -0,0 +1,25 @@ +go2: + go 2 + d 1 +nested_go2: + go 2 + go2 2 + d 1 + n 1 +d0: + go 2 + d 0 +go2 (in case crut): + go 2 + d 1 +go2 (in function call): + go 2 + d 1 +go2 (using surrounding interesting let): + go 0 + d 0 + n 1 +go2 (using surrounding boring let): + go 2 + d 1 + z 0 diff --git a/testsuite/tests/annotations/Makefile b/testsuite/tests/callarity/Makefile similarity index 100% copy from testsuite/tests/annotations/Makefile copy to testsuite/tests/callarity/Makefile diff --git a/testsuite/tests/callarity/all.T b/testsuite/tests/callarity/all.T new file mode 100644 index 0000000..e39c1d7 --- /dev/null +++ b/testsuite/tests/callarity/all.T @@ -0,0 +1,8 @@ +def f( name, opts ): + opts.only_ways = ['normal'] + +setTestOpts(f) +setTestOpts(extra_hc_opts('-package ghc')) +setTestOpts(extra_run_opts('"' + config.libdir + '"')) + +test('CallArity1', normal, compile_and_run, ['']) From git at git.haskell.org Wed Jan 29 15:17:53 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:17:53 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Some very prelimary explanations (0a3dacc) Message-ID: <20140129151753.40ACB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/0a3dacc3d19261e9d769313e6d215cb09897bd2f/ghc >--------------------------------------------------------------- commit 0a3dacc3d19261e9d769313e6d215cb09897bd2f Author: Joachim Breitner Date: Tue Jan 28 11:26:09 2014 +0000 Some very prelimary explanations >--------------------------------------------------------------- 0a3dacc3d19261e9d769313e6d215cb09897bd2f compiler/coreSyn/CoreArity.lhs | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/compiler/coreSyn/CoreArity.lhs b/compiler/coreSyn/CoreArity.lhs index d4c0a6b..287087b 100644 --- a/compiler/coreSyn/CoreArity.lhs +++ b/compiler/coreSyn/CoreArity.lhs @@ -1031,12 +1031,23 @@ freshEtaId n subst ty \end{code} -Call arity anlysis: For let-bound things, find out the minimum arity it is -called with, so that the value can be eta-expanded to that arity, creating -better code (main goal: good foldl as foldr). +%************************************************************************ +%* * + Called Arity Analyis +%* * +%************************************************************************ + + +For let-bound things, find out the minimum arity it is called with, so that the +value can be eta-expanded to that arity, creating better code (main goal: good +foldl as foldr). + +Main problem: Thunks! We must not lose sharing. So one needs to consider how +often something is called. We use the following approximation: -Be sure to only consider tail calls. This allows us to detect that there is at -most one call to n in + Only consider tail calls! + +This allows us to detect that there is at most one call to n in let n = case .. of .. -- A thunk! in case .. of @@ -1045,6 +1056,21 @@ most one call to n in False > n False -> n +despite a call from a recursive function, becuase + + A tail-recursive function can make at most one tail-call somewhere else. + + +The following code is not yet very quick. Possible improvements: + * Re-use existing information in nested fixed-points. + * Upon failure in fixed-pointing, go directly to 0 (or the manifestArity). + +Possibe improvements in precision: + * Always start with at least the manifestArity. + * When analysing a recursive RHS, starting with its manifestArity, + even if it calls itself at a lower arity, that is still good enough to stop. + * In the above, use exprArity instead of manifestArity. + \begin{code} callArityAnalProgram :: DynFlags -> CoreProgram -> CoreProgram From git at git.haskell.org Wed Jan 29 15:17:55 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:17:55 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: More CallArity to its own module (3ac498e) Message-ID: <20140129151755.CC67C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/3ac498e3e88809711b02cc7d1759bf63321cf27c/ghc >--------------------------------------------------------------- commit 3ac498e3e88809711b02cc7d1759bf63321cf27c Author: Joachim Breitner Date: Wed Jan 29 13:54:44 2014 +0000 More CallArity to its own module >--------------------------------------------------------------- 3ac498e3e88809711b02cc7d1759bf63321cf27c compiler/basicTypes/Id.lhs | 14 +- compiler/basicTypes/IdInfo.lhs | 10 +- compiler/coreSyn/CoreArity.lhs | 251 +---------------------------- compiler/coreSyn/PprCore.lhs | 4 +- compiler/ghc.cabal.in | 1 + compiler/simplCore/CallArity.hs | 267 +++++++++++++++++++++++++++++++ compiler/simplCore/SimplCore.lhs | 2 +- compiler/simplCore/SimplUtils.lhs | 2 +- testsuite/tests/callarity/CallArity1.hs | 4 +- 9 files changed, 287 insertions(+), 268 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 3ac498e3e88809711b02cc7d1759bf63321cf27c From git at git.haskell.org Wed Jan 29 15:17:58 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:17:58 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Add the usual flags -fcall-arity and -dddump-call-arity (3545510) Message-ID: <20140129151758.3C84B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/354551047525815a57f19ed7a95bc20132009d71/ghc >--------------------------------------------------------------- commit 354551047525815a57f19ed7a95bc20132009d71 Author: Joachim Breitner Date: Wed Jan 29 15:09:09 2014 +0000 Add the usual flags -fcall-arity and -dddump-call-arity >--------------------------------------------------------------- 354551047525815a57f19ed7a95bc20132009d71 compiler/main/DynFlags.hs | 5 +++++ compiler/simplCore/CallArity.hs | 2 +- compiler/simplCore/CoreMonad.lhs | 2 +- compiler/simplCore/SimplCore.lhs | 7 +++++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 615fdbb..b8aa2908 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -240,6 +240,7 @@ data DumpFlag | Opt_D_dump_spec | Opt_D_dump_prep | Opt_D_dump_stg + | Opt_D_dump_call_arity | Opt_D_dump_stranal | Opt_D_dump_strsigs | Opt_D_dump_tc @@ -288,6 +289,7 @@ data GeneralFlag | Opt_PrintExplicitKinds -- optimisation opts + | Opt_CallArity | Opt_Strictness | Opt_LateDmdAnal | Opt_KillAbsence @@ -2322,6 +2324,7 @@ dynamic_flags = [ , Flag "ddump-spec" (setDumpFlag Opt_D_dump_spec) , Flag "ddump-prep" (setDumpFlag Opt_D_dump_prep) , Flag "ddump-stg" (setDumpFlag Opt_D_dump_stg) + , Flag "ddump-call-arity" (setDumpFlag Opt_D_dump_call_arity) , Flag "ddump-stranal" (setDumpFlag Opt_D_dump_stranal) , Flag "ddump-strsigs" (setDumpFlag Opt_D_dump_strsigs) , Flag "ddump-tc" (setDumpFlag Opt_D_dump_tc) @@ -2623,6 +2626,7 @@ fFlags = [ ( "error-spans", Opt_ErrorSpans, nop ), ( "print-explicit-foralls", Opt_PrintExplicitForalls, nop ), ( "print-explicit-kinds", Opt_PrintExplicitKinds, nop ), + ( "call-arity", Opt_CallArity, nop ), ( "strictness", Opt_Strictness, nop ), ( "late-dmd-anal", Opt_LateDmdAnal, nop ), ( "specialise", Opt_Specialise, nop ), @@ -2957,6 +2961,7 @@ optLevelFlags -- in PrelRules , ([1,2], Opt_DoEtaReduction) , ([1,2], Opt_CaseMerge) + , ([1,2], Opt_CallArity) , ([1,2], Opt_Strictness) , ([1,2], Opt_CSE) , ([1,2], Opt_FullLaziness) diff --git a/compiler/simplCore/CallArity.hs b/compiler/simplCore/CallArity.hs index 8bd9bc9..afd630b 100644 --- a/compiler/simplCore/CallArity.hs +++ b/compiler/simplCore/CallArity.hs @@ -113,7 +113,7 @@ callArityAnal 0 int (Lam v e) = (ae', Lam v e') where (ae, e') = callArityAnal 0 int e - ae' = forgetTailCalls ae + ae' = forgetGoodCalls ae -- We have a lambda that we are calling. decrease arity. callArityAnal arity int (Lam v e) = (ae, Lam v e') diff --git a/compiler/simplCore/CoreMonad.lhs b/compiler/simplCore/CoreMonad.lhs index 7c91505..b2f697a 100644 --- a/compiler/simplCore/CoreMonad.lhs +++ b/compiler/simplCore/CoreMonad.lhs @@ -334,7 +334,7 @@ coreDumpFlag CoreDoFloatInwards = Just Opt_D_verbose_core2core coreDumpFlag (CoreDoFloatOutwards {}) = Just Opt_D_verbose_core2core coreDumpFlag CoreLiberateCase = Just Opt_D_verbose_core2core coreDumpFlag CoreDoStaticArgs = Just Opt_D_verbose_core2core -coreDumpFlag CoreDoCallArity = Just Opt_D_verbose_core2core +coreDumpFlag CoreDoCallArity = Just Opt_D_dump_call_arity coreDumpFlag CoreDoStrictness = Just Opt_D_dump_stranal coreDumpFlag CoreDoWorkerWrapper = Just Opt_D_dump_worker_wrapper coreDumpFlag CoreDoSpecialising = Just Opt_D_dump_spec diff --git a/compiler/simplCore/SimplCore.lhs b/compiler/simplCore/SimplCore.lhs index 3183b11..436d1b6 100644 --- a/compiler/simplCore/SimplCore.lhs +++ b/compiler/simplCore/SimplCore.lhs @@ -115,6 +115,7 @@ getCoreToDo dflags phases = simplPhases dflags max_iter = maxSimplIterations dflags rule_check = ruleCheck dflags + call_arity = gopt Opt_CallArity dflags strictness = gopt Opt_Strictness dflags full_laziness = gopt Opt_FullLaziness dflags do_specialise = gopt Opt_Specialise dflags @@ -259,8 +260,10 @@ getCoreToDo dflags -- Don't stop now! simpl_phase 0 ["main"] (max max_iter 3), - CoreDoCallArity, - simpl_phase 0 ["post-call-arity"] (max max_iter 3), + runWhen call_arity $ CoreDoPasses + [ CoreDoCallArity + , simpl_phase 0 ["post-call-arity"] max_iter + ], runWhen strictness demand_analyser, From git at git.haskell.org Wed Jan 29 15:18:00 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:18:00 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Do not say “TailCall” in function names (49d28cc) Message-ID: <20140129151800.CE5232406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/49d28cc85698dff03bb964a59f52052c5e99a0f1/ghc >--------------------------------------------------------------- commit 49d28cc85698dff03bb964a59f52052c5e99a0f1 Author: Joachim Breitner Date: Wed Jan 29 15:10:35 2014 +0000 Do not say ?TailCall? in function names >--------------------------------------------------------------- 49d28cc85698dff03bb964a59f52052c5e99a0f1 compiler/simplCore/CallArity.hs | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/compiler/simplCore/CallArity.hs b/compiler/simplCore/CallArity.hs index afd630b..42969a4 100644 --- a/compiler/simplCore/CallArity.hs +++ b/compiler/simplCore/CallArity.hs @@ -127,7 +127,7 @@ callArityAnal arity int (Let (NonRec v rhs) e) where (ae_rhs, rhs') = callArityAnal 0 int rhs (ae_body, e') = callArityAnal arity int e - ae_final = forgetTailCalls ae_rhs `lubEnv` ae_body + ae_final = forgetGoodCalls ae_rhs `lubEnv` ae_body -- Non-recursive let. Find out how the body calls the rhs, analise that, -- and combine the results, convervatively using both @@ -147,7 +147,7 @@ callArityAnal arity int (Let (NonRec v rhs) e) -- tail-call information from there | otherwise = let (ae_rhs, rhs') = callArityAnal 0 int rhs - final_ae = forgetTailCalls ae_rhs `lubEnv` ae_body' + final_ae = forgetGoodCalls ae_rhs `lubEnv` ae_body' v' = v `setIdCallArity` 0 in -- pprTrace "callArityAnal:LetNonRecNonTailCall" -- (vcat [ppr v, ppr arity, ppr final_ae ]) @@ -165,7 +165,7 @@ callArityAnal arity int (Let (Rec [(v,rhs)]) e) where (ae_rhs, rhs') = callArityAnal 0 int rhs (ae_body, e') = callArityAnal arity int e - ae_final = forgetTailCalls ae_rhs `lubEnv` ae_body + ae_final = forgetGoodCalls ae_rhs `lubEnv` ae_body -- Recursive let. Again, find out how the body calls the rhs, analise that, -- but then check if it is compatible with how rhs calls itself. If not, @@ -184,7 +184,7 @@ callArityAnal arity int (Let (Rec [(v,rhs)]) e) -- tail-call information from there. No need to iterate there. | otherwise = let (ae_rhs, rhs') = callArityAnal 0 int_body rhs - final_ae = forgetTailCalls ae_rhs `lubEnv` ae_body' + final_ae = forgetGoodCalls ae_rhs `lubEnv` ae_body' v' = v `setIdCallArity` 0 in -- pprTrace "callArityAnal:LetRecNonTailCall" -- (vcat [ppr v, ppr arity, ppr final_ae ]) @@ -201,7 +201,7 @@ callArityAnal arity int (Let (Rec binds) e) where (aes, binds') = unzip $ map go binds go (i,e) = let (ae,e') = callArityAnal 0 int e - in (forgetTailCalls ae, (i,e')) + in (forgetGoodCalls ae, (i,e')) (ae, e') = callArityAnal arity int e final_ae = foldl lubEnv ae aes @@ -249,19 +249,17 @@ callArityFix arity int v e new_arity = lookupWithDefaultVarEnv ae Nothing v -anyTailCalls :: VarEnv (Maybe Arity) -> Bool -anyTailCalls = foldVarEnv ((||) . isJust) False +anyGoodCalls :: VarEnv (Maybe Arity) -> Bool +anyGoodCalls = foldVarEnv ((||) . isJust) False -forgetTailCalls :: VarEnv (Maybe Arity) -> VarEnv (Maybe Arity) -forgetTailCalls = mapVarEnv (const Nothing) +forgetGoodCalls :: VarEnv (Maybe Arity) -> VarEnv (Maybe Arity) +forgetGoodCalls = mapVarEnv (const Nothing) useBetterOf :: CallArityEnv -> CallArityEnv -> CallArityEnv -useBetterOf ae1 ae2 | anyTailCalls ae1 = ae1 `lubEnv` forgetTailCalls ae2 -useBetterOf ae1 ae2 | otherwise = forgetTailCalls ae1 `lubEnv` ae2 +useBetterOf ae1 ae2 | anyGoodCalls ae1 = ae1 `lubEnv` forgetGoodCalls ae2 +useBetterOf ae1 ae2 | otherwise = forgetGoodCalls ae1 `lubEnv` ae2 -- Used when combining results from alternative cases; take the minimum lubEnv :: CallArityEnv -> CallArityEnv -> CallArityEnv lubEnv = plusVarEnv_C min - - From git at git.haskell.org Wed Jan 29 15:18:03 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:18:03 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Stop fixpointing when below exprArity (849bd01) Message-ID: <20140129151803.4A0932406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/849bd0146eaec36b88f80b7cb41cefa88607b5f3/ghc >--------------------------------------------------------------- commit 849bd0146eaec36b88f80b7cb41cefa88607b5f3 Author: Joachim Breitner Date: Wed Jan 29 15:10:58 2014 +0000 Stop fixpointing when below exprArity >--------------------------------------------------------------- 849bd0146eaec36b88f80b7cb41cefa88607b5f3 compiler/simplCore/CallArity.hs | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/compiler/simplCore/CallArity.hs b/compiler/simplCore/CallArity.hs index 42969a4..c9ba91a 100644 --- a/compiler/simplCore/CallArity.hs +++ b/compiler/simplCore/CallArity.hs @@ -17,8 +17,7 @@ import Id import CoreArity import Control.Arrow ( second ) -import Data.Maybe ( fromMaybe, isJust ) - +import Data.Maybe ( isJust ) {- @@ -176,7 +175,7 @@ callArityAnal arity int (Let (Rec [(v,rhs)]) e) | Just n <- rhs_arity = let (ae_rhs, rhs_arity', rhs') = callArityFix n int_body v rhs final_ae = ae_rhs `lubEnv` ae_body' - v' = v `setIdCallArity` fromMaybe 0 rhs_arity' + v' = v `setIdCallArity` rhs_arity' in -- pprTrace "callArityAnal:LetRecTailCall" -- (vcat [ppr v, ppr arity, ppr n, ppr rhs_arity', ppr final_ae ]) (final_ae, Let (Rec [(v',rhs')]) e') @@ -229,24 +228,35 @@ callArityAnal arity int (Case scrut bndr ty alts) in (ae, (dc, bndrs, e')) alt_ae = foldl lubEnv emptyVarEnv alt_aes (scrut_ae, scrut') = callArityAnal 0 int scrut + -- See Note [Case and App: Which side to take?] final_ae = scrut_ae `useBetterOf` alt_ae -callArityFix :: Arity -> VarSet -> Id -> CoreExpr -> (CallArityEnv, Maybe Arity, CoreExpr) +callArityFix :: Arity -> VarSet -> Id -> CoreExpr -> (CallArityEnv, Arity, CoreExpr) callArityFix arity int v e - | Nothing <- new_arity - -- Not tail recusive, rerun with arity 0 and bail out - -- (Or not recursive at all, but that was hopefully handled by the simplifier before) - = let (ae, e') = callArityAnal 0 int e - in (forgetTailCalls ae `delVarEnv` v, Nothing, e') - | Just n <- new_arity, n < arity - -- Retry - = callArityFix n int v e + + | arity <= min_arity + -- The incoming arity is already lower than the exprArity, so we can + -- ignore the arity coming from the RHS + = (ae `delVarEnv` v, 0, e') + | otherwise - -- RHS calls itself with at least as many arguments as the body of the let - = (ae `delVarEnv` v, new_arity, e') + = case new_arity of + -- Not nicely recursive, rerun with arity 0 + -- (which will do at most one iteration, see above) + -- (Or not recursive at all, but that was hopefully handled by the simplifier before) + Nothing -> callArityFix 0 int v e + + Just n -> if n < arity + -- RHS puts a lower arity on itself, but still a nice call, so try with that + then callArityFix n int v e + + -- RHS calls itself with at least as many arguments as the body of + -- the let: Great! + else (ae `delVarEnv` v, n, e') where (ae, e') = callArityAnal arity int e new_arity = lookupWithDefaultVarEnv ae Nothing v + min_arity = exprArity e anyGoodCalls :: VarEnv (Maybe Arity) -> Bool From git at git.haskell.org Wed Jan 29 15:18:05 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:18:05 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Add huge note to CallArity (f9cacd3) Message-ID: <20140129151805.CCD722406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/f9cacd37e60b3a8755d154b42f759206d990b0d6/ghc >--------------------------------------------------------------- commit f9cacd37e60b3a8755d154b42f759206d990b0d6 Author: Joachim Breitner Date: Wed Jan 29 15:11:05 2014 +0000 Add huge note to CallArity (the module is now 50% notes). >--------------------------------------------------------------- f9cacd37e60b3a8755d154b42f759206d990b0d6 compiler/simplCore/CallArity.hs | 237 ++++++++++++++++++++++++++++++++++----- 1 file changed, 211 insertions(+), 26 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc f9cacd37e60b3a8755d154b42f759206d990b0d6 From git at git.haskell.org Wed Jan 29 15:18:07 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:18:07 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity's head updated: Add huge note to CallArity (f9cacd3) Message-ID: <20140129151808.0388B2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc Branch 'wip/T7994-calledArity' now includes: 5281dd6 User documentation for pattern synonyms 9005f91 Squash some spelling issues d9ac5ea Tweak the example 7325040 Mention #3202 (no monomorphism restriction in GHCi) in release notes 8f8bd88 Fix the Win64 RTS linker & disable .ctors 2ac9e5b build.mk.sample: Don't disable dynamic linking for LLVM flavours 08f8efb Add short blurb about LLVM dynamic linking to release notes 4ade962 Abort when binutils ld is used with dynamic linking on ARM 874124d Fix ./validate failure due to unused result. db9baf0 Update some mingw32 perf numbers. f9652e2 Check for __thread in ./configure.ac 28b031c Refactor GCTDecl.h, and mitigate #7602 a bit 943f22a Document a Haddock/Mavericks bug. f7be53a Fix inplace dynamic linking on OS X (#8266) 25821cc Win64 linker: fix loading foreign imports (#2283) 9ed12c7 Remove a TODO FIXME in the release notes. 466d069 Bump version: 7.7 -> 7.9 34a5b81 arityAnalProgram first try 5bfbf0c Second try, this time only collect tail calls 6ff1795 Set the new IdInfo CalledArity 0a3dacc Some very prelimary explanations f77b9a4 Do not be too strict about things being tail-calls 7e0160e Use same trick for calls as for cases: 0a551b0 Consider less lets as interesting aa970ca Add a unit test for CallArity 3ac498e More CallArity to its own module 3545510 Add the usual flags -fcall-arity and -dddump-call-arity 49d28cc Do not say ?TailCall? in function names 849bd01 Stop fixpointing when below exprArity f9cacd3 Add huge note to CallArity From git at git.haskell.org Wed Jan 29 15:28:49 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:28:49 +0000 (UTC) Subject: [commit: packages/base] master: Add `/Since: 4.7.0.0/` to `MkFixed` constructor (f6a3a9a) Message-ID: <20140129152849.3B8972406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/f6a3a9a199c94a02e45977f0042548b956adf12f/base >--------------------------------------------------------------- commit f6a3a9a199c94a02e45977f0042548b956adf12f Author: Herbert Valerio Riedel Date: Wed Jan 29 16:23:44 2014 +0100 Add `/Since: 4.7.0.0/` to `MkFixed` constructor As it's been exposed only since 05c03d850a7da7bd708e9a9da7de2b9ba36b6041 Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- f6a3a9a199c94a02e45977f0042548b956adf12f Data/Fixed.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Data/Fixed.hs b/Data/Fixed.hs index ce4266d..f5fb896 100644 --- a/Data/Fixed.hs +++ b/Data/Fixed.hs @@ -61,7 +61,7 @@ mod' n d = n - (fromInteger f) * d where f = div' n d -- | The type parameter should be an instance of 'HasResolution'. -newtype Fixed a = MkFixed Integer +newtype Fixed a = MkFixed Integer -- ^ /Since: 4.7.0.0/ deriving (Eq,Ord,Typeable) -- We do this because the automatically derived Data instance requires (Data a) context. From git at git.haskell.org Wed Jan 29 15:28:51 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:28:51 +0000 (UTC) Subject: [commit: packages/base] master: Update `changelog.md` to contain more changes (09baac2) Message-ID: <20140129152851.54C682406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/09baac2e6911d6559e66ec6d76233ca70ce762da/base >--------------------------------------------------------------- commit 09baac2e6911d6559e66ec6d76233ca70ce762da Author: Herbert Valerio Riedel Date: Wed Jan 29 16:25:15 2014 +0100 Update `changelog.md` to contain more changes Some important changes might still be missing from the changelog. Also, `base.cabal` is updated to include `changelog.md` in the `cabal sdist` tarball. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 09baac2e6911d6559e66ec6d76233ca70ce762da base.cabal | 1 + changelog.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 59 insertions(+), 3 deletions(-) diff --git a/base.cabal b/base.cabal index 8192f58..5c04513 100644 --- a/base.cabal +++ b/base.cabal @@ -25,6 +25,7 @@ extra-tmp-files: extra-source-files: aclocal.m4 base.buildinfo.in + changelog.md config.guess config.sub configure diff --git a/changelog.md b/changelog.md index 87114cb..6aad1ea 100644 --- a/changelog.md +++ b/changelog.md @@ -4,6 +4,10 @@ * Bundled with GHC 7.8.1 + * Add `/Since: 4.[4567].0.0/` Haddock annotations to entities + denoting the package version, when the given entity was introduced + (or its type signature changed in a non-compatible way) + * The `Control.Category` module now has the `PolyKinds` extension enabled, meaning that instances of `Category` no longer need be of kind `* -> * -> *`. @@ -15,6 +19,8 @@ * There is now a `Data` instance for `Data.Version`. + * There are now `Bits` and `FiniteBits` instances for `Bool`. + * There are now `Eq`, `Ord`, `Show` and `Read` instances for `ZipList`. * There are now `Eq`, `Ord`, `Show` and `Read` instances for `Down`. @@ -23,11 +29,16 @@ for types in GHC.Generics (`U1`, `Par1`, `Rec1`, `K1`, `M1`, `(:+:)`, `(:*:)`, `(:.:)`). + * There are now `Functor` instances for `System.Console.GetOpt`'s + `ArgOrder`, `OptDescr`, and `ArgDescr`. + * A zero-width unboxed poly-kinded `Proxy#` was added to `GHC.Prim`. It can be used to make it so that there is no the operational overhead for passing around proxy arguments to model type application. + * New `Data.Proxy` module providing a concrete, poly-kinded proxy type. + * `Control.Concurrent.MVar` has a new implementation of `readMVar`, which fixes a long-standing bug where `readMVar` is only atomic if there are no other threads running `putMVar`. `readMVar` now is @@ -35,13 +46,26 @@ `putMVar`. There is also a new `tryReadMVar` which is a non-blocking version. - * There are now byte endian-swapping primitives available in - `Data.Word`, which use optimized machine instructions when - available. + * New `threadWait{Read,Write}STM :: Fd -> IO (STM (), IO ())` + functions added to `Control.Concurrent` for waiting on FD + readiness with STM actions. + + * Expose `Data.Fixed.Fixed`'s constructor. + + * There are now byte endian-swapping primitives + `byteSwap{16,32,64}` available in `Data.Word`, which use + optimized machine instructions when available. * `Data.Bool` now exports `bool :: a -> a -> Bool -> a`, analogously to `maybe` and `either` in their respective modules. + * `Data.Either` now exports `isLeft, isRight :: Either a b -> Bool`. + + * `Debug.Trace` now exports `traceId`, `traceShowId`, `traceM`, + and `traceShowM`. + + * `Data.Functor` now exports `($>)` and `void`. + * Rewrote portions of `Text.Printf`, and made changes to `Numeric` (added `Numeric.showFFloatAlt` and `Numeric.showGFloatAlt`) and `GHC.Float` (added `formatRealFloatAlt`) to support it. The @@ -58,3 +82,34 @@ * `Control.Applicative.WrappedMonad`, which can be used to convert a `Monad` to an `Applicative`, has now a `Monad m => Monad (WrappedMonad m)` instance. + + * Handle `ExitFailure (-sig)` on Unix by killing process with signal `sig`. + + * New module `Data.Type.Bool` providing operations on type-level booleans. + + * Expose `System.Mem.performMinorGC` for triggering minor GCs. + + * New `System.Environment.{set,unset}Env` for manipulating + environment variables. + + * Add `Typeable` instance for `(->)` and `RealWorld`. + + * Declare CPP head `` officially obsolete as GHC 7.8+ + does not support hand-written `Typeable` instances anymore. + + * Remove (unmaintained) Hugs98 and NHC98 specific code. + + * Optimize `System.Timeout.timeout` for the threaded RTS. + + * Remove deprecated functions `unsafeInterleaveST`, `unsafeIOToST`, + and `unsafeSTToIO` from `Control.Monad.ST`. + + * Remove deprecated functions `blocked`, `unblock`, and `block` from + `Control.Exception`. + + * Remove deprecated function `forkIOUnmasked` from `Control.Concurrent`. + + * Remove deprecated function `unsafePerformIO` export from `Foreign` + (still available via `System.IO.Unsafe.unsafePerformIO`). + + * Various fixes and other improvements (see Git history for full details). From git at git.haskell.org Wed Jan 29 15:35:02 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:35:02 +0000 (UTC) Subject: [commit: packages/base] ghc-7.8's head updated: Update `changelog.md` to contain more changes (09baac2) Message-ID: <20140129153502.EE9402406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base Branch 'ghc-7.8' now includes: 428304c Add newline before two `/Since: 4.7.0.0/` occurences 63f669b Add Hackage-supported `changelog.md` file f6a3a9a Add `/Since: 4.7.0.0/` to `MkFixed` constructor 09baac2 Update `changelog.md` to contain more changes From git at git.haskell.org Wed Jan 29 15:43:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:43:45 +0000 (UTC) Subject: [commit: packages/base] master: Add changelog entry for new `FiniteBits` class (c863402) Message-ID: <20140129154345.AC2CC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/c8634027d4e3315a2276fb1be8168c486419785a/base >--------------------------------------------------------------- commit c8634027d4e3315a2276fb1be8168c486419785a Author: Herbert Valerio Riedel Date: Wed Jan 29 16:43:20 2014 +0100 Add changelog entry for new `FiniteBits` class Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- c8634027d4e3315a2276fb1be8168c486419785a changelog.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/changelog.md b/changelog.md index 6aad1ea..8e1df37 100644 --- a/changelog.md +++ b/changelog.md @@ -19,6 +19,11 @@ * There is now a `Data` instance for `Data.Version`. + * A new `Data.Bits.FiniteBits` class has been added to represent + types with fixed bit-count. The existing `Bits` class is extended + with a `bitSizeMaybe` method to replace the now obsolete + `bitsize` method. + * There are now `Bits` and `FiniteBits` instances for `Bool`. * There are now `Eq`, `Ord`, `Show` and `Read` instances for `ZipList`. From git at git.haskell.org Wed Jan 29 15:43:54 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:43:54 +0000 (UTC) Subject: [commit: packages/base] ghc-7.8's head updated: Add changelog entry for new `FiniteBits` class (c863402) Message-ID: <20140129154354.6858A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base Branch 'ghc-7.8' now includes: c863402 Add changelog entry for new `FiniteBits` class From git at git.haskell.org Wed Jan 29 15:58:09 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:58:09 +0000 (UTC) Subject: [commit: packages/Win32] ghc-head: Bump version to 2.3.0.1 (re #13) (1e909ad) Message-ID: <20140129155809.B9C732406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Win32 On branch : ghc-head Link : http://git.haskell.org/packages/Win32.git/commitdiff/1e909adb06b766e107148b8b37a4a9f9e50baf74 >--------------------------------------------------------------- commit 1e909adb06b766e107148b8b37a4a9f9e50baf74 Author: Herbert Valerio Riedel Date: Wed Jan 29 16:50:49 2014 +0100 Bump version to 2.3.0.1 (re #13) Note: this version bump does not yet represent a package release, but has been only done so we can ship GHC 7.8 RC1 with a `win32` package version distinguishable from what shipped with GHC 7.6.3. Also I bumped the min-version build-dep on `base` as the recent changes to the `win32` code-base rely on features only available in `base-4.7.0.0`. >--------------------------------------------------------------- 1e909adb06b766e107148b8b37a4a9f9e50baf74 Win32.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Win32.cabal b/Win32.cabal index 8fcd3d1..00e0c25 100644 --- a/Win32.cabal +++ b/Win32.cabal @@ -1,5 +1,5 @@ name: Win32 -version: 2.3.0.0 +version: 2.3.0.1 license: BSD3 license-file: LICENSE author: Alastair Reid @@ -17,7 +17,7 @@ extra-source-files: include/Win32Aux.h include/win32debug.h include/windows_cconv.h Library - build-depends: base >= 3 && < 5, bytestring + build-depends: base >= 4.7 && < 5, bytestring ghc-options: -Wall -fno-warn-name-shadowing cc-options: -fno-strict-aliasing exposed-modules: From git at git.haskell.org Wed Jan 29 15:58:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 15:58:11 +0000 (UTC) Subject: [commit: packages/Win32] ghc-head's head updated: Bump version to 2.3.0.1 (re #13) (1e909ad) Message-ID: <20140129155811.AFAE92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Win32 Branch 'ghc-head' now includes: 3da00d8 Fix i386/windows build. 1e909ad Bump version to 2.3.0.1 (re #13) From git at git.haskell.org Wed Jan 29 16:02:48 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 16:02:48 +0000 (UTC) Subject: [commit: ghc] master: Update Win32 submodule to pull in version bump (24669fe) Message-ID: <20140129160248.6A5802406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/24669fe3c033da8dafb2d547cc9f866b7b29d592/ghc >--------------------------------------------------------------- commit 24669fe3c033da8dafb2d547cc9f866b7b29d592 Author: Herbert Valerio Riedel Date: Wed Jan 29 17:00:08 2014 +0100 Update Win32 submodule to pull in version bump Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 24669fe3c033da8dafb2d547cc9f866b7b29d592 libraries/Win32 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/Win32 b/libraries/Win32 index 3da00d8..1e909ad 160000 --- a/libraries/Win32 +++ b/libraries/Win32 @@ -1 +1 @@ -Subproject commit 3da00d80f2fd7d1032e3530e1af1b39fba79aac3 +Subproject commit 1e909adb06b766e107148b8b37a4a9f9e50baf74 From git at git.haskell.org Wed Jan 29 16:03:55 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 16:03:55 +0000 (UTC) Subject: [commit: ghc] ghc-7.8: Update Win32 submodule to pull in version bump (1bf47fd) Message-ID: <20140129160355.C24FA2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : ghc-7.8 Link : http://ghc.haskell.org/trac/ghc/changeset/1bf47fddd62f1d9f0ab3303658c0ae68f225a6d4/ghc >--------------------------------------------------------------- commit 1bf47fddd62f1d9f0ab3303658c0ae68f225a6d4 Author: Herbert Valerio Riedel Date: Wed Jan 29 17:00:08 2014 +0100 Update Win32 submodule to pull in version bump Signed-off-by: Herbert Valerio Riedel (cherry picked from commit 24669fe3c033da8dafb2d547cc9f866b7b29d592) >--------------------------------------------------------------- 1bf47fddd62f1d9f0ab3303658c0ae68f225a6d4 libraries/Win32 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/Win32 b/libraries/Win32 index 3da00d8..1e909ad 160000 --- a/libraries/Win32 +++ b/libraries/Win32 @@ -1 +1 @@ -Subproject commit 3da00d80f2fd7d1032e3530e1af1b39fba79aac3 +Subproject commit 1e909adb06b766e107148b8b37a4a9f9e50baf74 From git at git.haskell.org Wed Jan 29 16:11:57 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 16:11:57 +0000 (UTC) Subject: [commit: nofib] master: Print no change as 0.0% (d9f1d03) Message-ID: <20140129161157.80ACC2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/nofib On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d9f1d038c0bb5a95a346024eecd021987f9dc5f9/nofib >--------------------------------------------------------------- commit d9f1d038c0bb5a95a346024eecd021987f9dc5f9 Author: Joachim Breitner Date: Wed Jan 29 17:10:28 2014 +0100 Print no change as 0.0% not as +0.0%. Makes the real increases much easier to spot. >--------------------------------------------------------------- d9f1d038c0bb5a95a346024eecd021987f9dc5f9 nofib-analyse/Main.hs | 1 + 1 file changed, 1 insertion(+) diff --git a/nofib-analyse/Main.hs b/nofib-analyse/Main.hs index 8484d71..fa78ebe 100644 --- a/nofib-analyse/Main.hs +++ b/nofib-analyse/Main.hs @@ -887,6 +887,7 @@ data BoxValue showBox :: BoxValue -> String showBox (RunFailed stat) = show_stat stat +showBox (Percentage 100) = " 0.0%" -- pattern matching on Float is bad style, but this is not crucial showBox (Percentage f) = case printf "%.1f%%" (f-100) of xs@('-':_) -> xs xs -> '+':xs From git at git.haskell.org Wed Jan 29 17:33:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 17:33:17 +0000 (UTC) Subject: [commit: packages/base] branch 'wip/T7994' created Message-ID: <20140129173317.687572406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base New branch : wip/T7994 Referencing: bfee44776e3087c29f6a9dcd60ad2f5b1220d42c From git at git.haskell.org Wed Jan 29 17:33:19 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 17:33:19 +0000 (UTC) Subject: [commit: packages/base] wip/T7994: Implement foldl with foldr (a93502f) Message-ID: <20140129173319.80D892406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : wip/T7994 Link : http://ghc.haskell.org/trac/ghc/changeset/a93502f5ab1c04e6f6f79a7560682090b250cefb/base >--------------------------------------------------------------- commit a93502f5ab1c04e6f6f79a7560682090b250cefb Author: Joachim Breitner Date: Tue Jan 28 14:31:05 2014 +0100 Implement foldl with foldr together with the call arity analysis and the following patch (about inlining maximum), we get nice benefits from fusing foldl and foldl' with good producers: Min -0.1% -74.5% -6.8% -8.3% -50.0% Max +0.2% 0.0% +38.5% +38.5% 0.0% Geometric Mean -0.0% -4.1% +7.7% +7.7% -0.8% Because this depends on a compiler optimisation, we have to watch out for cases where this is not an improvements, and whether they occur in the wild. >--------------------------------------------------------------- a93502f5ab1c04e6f6f79a7560682090b250cefb Data/List.hs | 31 ++++++------------------------- GHC/List.lhs | 10 ++++------ 2 files changed, 10 insertions(+), 31 deletions(-) diff --git a/Data/List.hs b/Data/List.hs index 130ceb2..602a53f 100644 --- a/Data/List.hs +++ b/Data/List.hs @@ -1,5 +1,5 @@ {-# LANGUAGE Trustworthy #-} -{-# LANGUAGE CPP, NoImplicitPrelude, MagicHash #-} +{-# LANGUAGE CPP, NoImplicitPrelude, ScopedTypeVariables, MagicHash #-} ----------------------------------------------------------------------------- -- | @@ -989,10 +989,8 @@ unfoldr f b = -- ----------------------------------------------------------------------------- -- | A strict version of 'foldl'. -foldl' :: (b -> a -> b) -> b -> [a] -> b -foldl' f z0 xs0 = lgo z0 xs0 - where lgo z [] = z - lgo z (x:xs) = let z' = f z x in z' `seq` lgo z' xs +foldl' :: forall a b . (b -> a -> b) -> b -> [a] -> b +foldl' k z xs = foldr (\(v::a) (fn::b->b) (z::b) -> z `seq` fn (k z v)) (id :: b -> b) xs z -- | 'foldl1' is a variant of 'foldl' that has no starting value argument, -- and thus must be applied to non-empty lists. @@ -1008,32 +1006,15 @@ foldl1' _ [] = errorEmptyList "foldl1'" -- ----------------------------------------------------------------------------- -- List sum and product -{-# SPECIALISE sum :: [Int] -> Int #-} -{-# SPECIALISE sum :: [Integer] -> Integer #-} -{-# INLINABLE sum #-} -{-# SPECIALISE product :: [Int] -> Int #-} -{-# SPECIALISE product :: [Integer] -> Integer #-} -{-# INLINABLE product #-} --- We make 'sum' and 'product' inlinable so that we get specialisations --- at other types. See, for example, Trac #7507. - -- | The 'sum' function computes the sum of a finite list of numbers. sum :: (Num a) => [a] -> a -- | The 'product' function computes the product of a finite list of numbers. product :: (Num a) => [a] -> a -#ifdef USE_REPORT_PRELUDE + +{-# INLINE sum #-} sum = foldl (+) 0 +{-# INLINE product #-} product = foldl (*) 1 -#else -sum l = sum' l 0 - where - sum' [] a = a - sum' (x:xs) a = sum' xs (a+x) -product l = prod l 1 - where - prod [] a = a - prod (x:xs) a = prod xs (a*x) -#endif -- ----------------------------------------------------------------------------- -- Functions on strings diff --git a/GHC/List.lhs b/GHC/List.lhs index b7b78c7..2e58960 100644 --- a/GHC/List.lhs +++ b/GHC/List.lhs @@ -1,6 +1,6 @@ \begin{code} {-# LANGUAGE Trustworthy #-} -{-# LANGUAGE CPP, NoImplicitPrelude, MagicHash #-} +{-# LANGUAGE CPP, NoImplicitPrelude, ScopedTypeVariables, MagicHash #-} {-# OPTIONS_HADDOCK hide #-} ----------------------------------------------------------------------------- @@ -178,11 +178,9 @@ filterFB c p x r | p x = x `c` r -- can be inlined, and then (often) strictness-analysed, -- and hence the classic space leak on foldl (+) 0 xs -foldl :: (b -> a -> b) -> b -> [a] -> b -foldl f z0 xs0 = lgo z0 xs0 - where - lgo z [] = z - lgo z (x:xs) = lgo (f z x) xs +foldl :: forall a b. (b -> a -> b) -> b -> [a] -> b +{-# INLINE foldl #-} +foldl k z xs = foldr (\(v::a) (fn::b->b) (z::b) -> fn (k z v)) (id :: b -> b) xs z -- | 'scanl' is similar to 'foldl', but returns a list of successive -- reduced values from the left: From git at git.haskell.org Wed Jan 29 17:33:21 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 17:33:21 +0000 (UTC) Subject: [commit: packages/base] wip/T7994: Inline maximum/minium a bit more aggresively (bfee447) Message-ID: <20140129173321.71E8A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : wip/T7994 Link : http://ghc.haskell.org/trac/ghc/changeset/bfee44776e3087c29f6a9dcd60ad2f5b1220d42c/base >--------------------------------------------------------------- commit bfee44776e3087c29f6a9dcd60ad2f5b1220d42c Author: Joachim Breitner Date: Wed Jan 29 17:29:53 2014 +0100 Inline maximum/minium a bit more aggresively in order to allow fusion of the foldr in the foldl in the foldl' therein. >--------------------------------------------------------------- bfee44776e3087c29f6a9dcd60ad2f5b1220d42c Data/List.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Data/List.hs b/Data/List.hs index 602a53f..d3c900c 100644 --- a/Data/List.hs +++ b/Data/List.hs @@ -519,7 +519,7 @@ insertBy cmp x ys@(y:ys') -- It is a special case of 'Data.List.maximumBy', which allows the -- programmer to supply their own comparison function. maximum :: (Ord a) => [a] -> a -{-# NOINLINE [1] maximum #-} +{-# INLINE [1] maximum #-} maximum [] = errorEmptyList "maximum" maximum xs = foldl1 max xs @@ -540,7 +540,7 @@ strictMaximum xs = foldl1' max xs -- It is a special case of 'Data.List.minimumBy', which allows the -- programmer to supply their own comparison function. minimum :: (Ord a) => [a] -> a -{-# NOINLINE [1] minimum #-} +{-# INLINE [1] minimum #-} minimum [] = errorEmptyList "minimum" minimum xs = foldl1 min xs From git at git.haskell.org Wed Jan 29 17:33:45 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 17:33:45 +0000 (UTC) Subject: [commit: ghc] wip/T7994-calledArity: Bugfix: Properly remove bound variables in returned CallArityEnv (1330874) Message-ID: <20140129173345.42B3D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : wip/T7994-calledArity Link : http://ghc.haskell.org/trac/ghc/changeset/13308749a51e2017c318d901409a8db8e485e865/ghc >--------------------------------------------------------------- commit 13308749a51e2017c318d901409a8db8e485e865 Author: Joachim Breitner Date: Wed Jan 29 16:00:37 2014 +0000 Bugfix: Properly remove bound variables in returned CallArityEnv >--------------------------------------------------------------- 13308749a51e2017c318d901409a8db8e485e865 compiler/simplCore/CallArity.hs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/compiler/simplCore/CallArity.hs b/compiler/simplCore/CallArity.hs index 44250bb..2527db0 100644 --- a/compiler/simplCore/CallArity.hs +++ b/compiler/simplCore/CallArity.hs @@ -310,7 +310,8 @@ callArityAnal arity int (Let (NonRec v rhs) e) where (ae_rhs, rhs') = callArityAnal 0 int rhs (ae_body, e') = callArityAnal arity int e - ae_final = forgetGoodCalls ae_rhs `lubEnv` ae_body + ae_body' = ae_body `delVarEnv` v + ae_final = forgetGoodCalls ae_rhs `lubEnv` ae_body' -- Non-recursive let. Find out how the body calls the rhs, analise that, -- and combine the results, convervatively using both @@ -348,7 +349,7 @@ callArityAnal arity int (Let (Rec [(v,rhs)]) e) where (ae_rhs, rhs') = callArityAnal 0 int rhs (ae_body, e') = callArityAnal arity int e - ae_final = forgetGoodCalls ae_rhs `lubEnv` ae_body + ae_final = (forgetGoodCalls ae_rhs `lubEnv` ae_body) `delVarEnv` v -- Recursive let. -- See Note [Recursion and fixpointing] @@ -357,7 +358,7 @@ callArityAnal arity int (Let (Rec [(v,rhs)]) e) -- tail-call for everything | Just n <- rhs_arity = let (ae_rhs, rhs_arity', rhs') = callArityFix n int_body v rhs - final_ae = ae_rhs `lubEnv` ae_body' + final_ae = (ae_rhs `lubEnv` ae_body) `delVarEnv` v v' = v `setIdCallArity` rhs_arity' in -- pprTrace "callArityAnal:LetRecTailCall" -- (vcat [ppr v, ppr arity, ppr n, ppr rhs_arity', ppr final_ae ]) @@ -366,7 +367,7 @@ callArityAnal arity int (Let (Rec [(v,rhs)]) e) -- tail-call information from there. No need to iterate there. | otherwise = let (ae_rhs, rhs') = callArityAnal 0 int_body rhs - final_ae = forgetGoodCalls ae_rhs `lubEnv` ae_body' + final_ae = (forgetGoodCalls ae_rhs `lubEnv` ae_body) `delVarEnv` v v' = v `setIdCallArity` 0 in -- pprTrace "callArityAnal:LetRecNonTailCall" -- (vcat [ppr v, ppr arity, ppr final_ae ]) @@ -374,7 +375,6 @@ callArityAnal arity int (Let (Rec [(v,rhs)]) e) where int_body = int `extendVarSet` v (ae_body, e') = callArityAnal arity int_body e - ae_body' = ae_body `delVarEnv` v rhs_arity = lookupWithDefaultVarEnv ae_body Nothing v -- Mutual recursion. Do nothing serious here, for now @@ -385,7 +385,7 @@ callArityAnal arity int (Let (Rec binds) e) go (i,e) = let (ae,e') = callArityAnal 0 int e in (forgetGoodCalls ae, (i,e')) (ae, e') = callArityAnal arity int e - final_ae = foldl lubEnv ae aes + final_ae = foldl lubEnv ae aes `delVarEnvList` map fst binds -- Application. Increase arity for the called expresion, nothing to know about -- the second From git at git.haskell.org Wed Jan 29 17:41:26 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 17:41:26 +0000 (UTC) Subject: [commit: ghc] master: Fix glitch in core-spec pdf (9f58cec) Message-ID: <20140129174126.9567C2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/9f58cecad296b268d25eb5519bc274493e4a8164/ghc >--------------------------------------------------------------- commit 9f58cecad296b268d25eb5519bc274493e4a8164 Author: Jan Stolarek Date: Wed Jan 29 18:41:07 2014 +0100 Fix glitch in core-spec pdf >--------------------------------------------------------------- 9f58cecad296b268d25eb5519bc274493e4a8164 docs/core-spec/core-spec.mng | 4 +++- docs/core-spec/core-spec.pdf | Bin 339498 -> 339274 bytes 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/core-spec/core-spec.mng b/docs/core-spec/core-spec.mng index 4e134e0..28540ac 100644 --- a/docs/core-spec/core-spec.mng +++ b/docs/core-spec/core-spec.mng @@ -75,7 +75,9 @@ We also leave abstract the function \coderef{basicTypes/Literal.lhs}{literalType and the judgment \coderef{coreSyn/CoreLint.lhs}{lintTyLit} (written $[[G |-tylit lit : k]]$). \subsection{Variables} - +\enlargethispage{10pt} % without this first line of "z" definition is placed on + % second page and it becomes the only line of text on that + % page, resulting in whole page being empty. GHC uses the same datatype to represent term-level variables and type-level variables: diff --git a/docs/core-spec/core-spec.pdf b/docs/core-spec/core-spec.pdf index b9a9f4b..5d9f29c 100644 Binary files a/docs/core-spec/core-spec.pdf and b/docs/core-spec/core-spec.pdf differ From git at git.haskell.org Wed Jan 29 21:09:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 21:09:37 +0000 (UTC) Subject: [commit: packages/base] master: Improve Haddock markup in `Control.Concurrent.MVar` (826f3bd) Message-ID: <20140129210937.ADFEB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/826f3bddabdc9c3287cb6d91349427890acdc8f3/base >--------------------------------------------------------------- commit 826f3bddabdc9c3287cb6d91349427890acdc8f3 Author: Herbert Valerio Riedel Date: Wed Jan 29 22:05:47 2014 +0100 Improve Haddock markup in `Control.Concurrent.MVar` This adds a labeled hyperlink to the Concurrent Haskell paper, and replaces the itemized-list headings with proper section headings (available since Haddock-2.14). Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 826f3bddabdc9c3287cb6d91349427890acdc8f3 Control/Concurrent/MVar.hs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Control/Concurrent/MVar.hs b/Control/Concurrent/MVar.hs index 5908729..c988c62 100644 --- a/Control/Concurrent/MVar.hs +++ b/Control/Concurrent/MVar.hs @@ -24,12 +24,14 @@ -- 3. As a binary semaphore @'MVar' ()@, with 'takeMVar' and 'putMVar' as -- wait and signal. -- --- They were introduced in the paper "Concurrent Haskell" by Simon --- Peyton Jones, Andrew Gordon and Sigbjorn Finne, though some details --- of their implementation have since then changed (in particular, a --- put on a full MVar used to error, but now merely blocks.) +-- They were introduced in the paper +-- +-- by Simon Peyton Jones, Andrew Gordon and Sigbjorn Finne, though +-- some details of their implementation have since then changed (in +-- particular, a put on a full 'MVar' used to error, but now merely +-- blocks.) -- --- * Applicability +-- === Applicability -- -- 'MVar's offer more flexibility than 'IORef's, but less flexibility -- than 'STM'. They are appropriate for building synchronization @@ -47,7 +49,7 @@ -- perform a 'takeMVar' before a 'putMVar' as well; otherwise, they may -- block. -- --- * Fairness +-- === Fairness -- -- No thread can be blocked indefinitely on an 'MVar' unless another -- thread holds that 'MVar' indefinitely. One usual implementation of @@ -55,7 +57,7 @@ -- served in a first-in-first-out fashion, but this is not guaranteed -- in the semantics. -- --- * Gotchas +-- === Gotchas -- -- Like many other Haskell data structures, 'MVar's are lazy. This -- means that if you place an expensive unevaluated thunk inside an @@ -64,14 +66,14 @@ -- in an 'MVar' to the appropriate normal form, or utilize a strict -- MVar provided by the strict-concurrency package. -- --- * Ordering +-- === Ordering -- -- 'MVar' operations are always observed to take place in the order -- they are written in the program, regardless of the memory model of -- the underlying machine. This is in contrast to 'IORef' operations -- which may appear out-of-order to another thread in some cases. -- --- * Example +-- === Example -- -- Consider the following concurrent data structure, a skip channel. -- This is a channel for an intermittent source of high bandwidth From git at git.haskell.org Wed Jan 29 21:10:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Wed, 29 Jan 2014 21:10:42 +0000 (UTC) Subject: [commit: packages/base] ghc-7.8's head updated: Improve Haddock markup in `Control.Concurrent.MVar` (826f3bd) Message-ID: <20140129211043.320152406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base Branch 'ghc-7.8' now includes: 826f3bd Improve Haddock markup in `Control.Concurrent.MVar` From git at git.haskell.org Thu Jan 30 09:42:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 09:42:22 +0000 (UTC) Subject: [commit: packages/base] master: Improve Haddock markup (d62edab) Message-ID: <20140130094222.57C082406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/d62edabedcba287b9fa3cebf0cee63caaedb585f/base >--------------------------------------------------------------- commit d62edabedcba287b9fa3cebf0cee63caaedb585f Author: Herbert Valerio Riedel Date: Thu Jan 30 10:30:04 2014 +0100 Improve Haddock markup This fixes the markup at the top of `Control.Arrow`, and improves the markup inside DEPRECATED strings. (Haddock supports markup inside DEPRECATED messages, which allows to turn references to Haskell entities into hyperlinks by using the usual Haddock markup.) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- d62edabedcba287b9fa3cebf0cee63caaedb585f Control/Arrow.hs | 5 +++++ Control/Concurrent/Chan.hs | 4 ++-- Control/Concurrent/MVar.hs | 2 +- Data/Bits.hs | 2 +- Data/Typeable/Internal.hs | 2 +- Debug/Trace.hs | 4 ++-- Foreign/Marshal/Error.hs | 2 +- GHC/Exts.hs | 2 +- GHC/Generics.hs | 4 ++-- 9 files changed, 16 insertions(+), 11 deletions(-) diff --git a/Control/Arrow.hs b/Control/Arrow.hs index c971be5..b723dd4 100644 --- a/Control/Arrow.hs +++ b/Control/Arrow.hs @@ -10,11 +10,15 @@ -- Portability : portable -- -- Basic arrow definitions, based on +-- -- * /Generalising Monads to Arrows/, by John Hughes, -- /Science of Computer Programming/ 37, pp67-111, May 2000. +-- -- plus a couple of definitions ('returnA' and 'loop') from +-- -- * /A New Notation for Arrows/, by Ross Paterson, in /ICFP 2001/, -- Firenze, Italy, pp229-240. +-- -- These papers and more information on arrows can be found at -- . @@ -186,6 +190,7 @@ instance MonadPlus m => ArrowPlus (Kleisli m) where -- | Choice, for arrows that support it. This class underlies the -- @if@ and @case@ constructs in arrow notation. +-- -- Minimal complete definition: 'left', satisfying the laws -- -- * @'left' ('arr' f) = 'arr' ('left' f)@ diff --git a/Control/Concurrent/Chan.hs b/Control/Concurrent/Chan.hs index 98c2efd..32387da 100644 --- a/Control/Concurrent/Chan.hs +++ b/Control/Concurrent/Chan.hs @@ -136,7 +136,7 @@ unGetChan (Chan readVar _) val = do modifyMVar_ readVar $ \read_end -> do putMVar new_read_end (ChItem val read_end) return new_read_end -{-# DEPRECATED unGetChan "if you need this operation, use Control.Concurrent.STM.TChan instead. See http://hackage.haskell.org/trac/ghc/ticket/4154 for details" #-} -- deprecated in 7.0 +{-# DEPRECATED unGetChan "if you need this operation, use Control.Concurrent.STM.TChan instead. See for details" #-} -- deprecated in 7.0 -- |Returns 'True' if the supplied 'Chan' is empty. isEmptyChan :: Chan a -> IO Bool @@ -145,7 +145,7 @@ isEmptyChan (Chan readVar writeVar) = do w <- readMVar writeVar let eq = r == w eq `seq` return eq -{-# DEPRECATED isEmptyChan "if you need this operation, use Control.Concurrent.STM.TChan instead. See http://hackage.haskell.org/trac/ghc/ticket/4154 for details" #-} -- deprecated in 7.0 +{-# DEPRECATED isEmptyChan "if you need this operation, use Control.Concurrent.STM.TChan instead. See for details" #-} -- deprecated in 7.0 -- Operators for interfacing with functional streams. diff --git a/Control/Concurrent/MVar.hs b/Control/Concurrent/MVar.hs index c988c62..aaf1939 100644 --- a/Control/Concurrent/MVar.hs +++ b/Control/Concurrent/MVar.hs @@ -245,7 +245,7 @@ modifyMVarMasked m io = putMVar m a' return b -{-# DEPRECATED addMVarFinalizer "use mkWeakMVar instead" #-} -- deprecated in 7.6 +{-# DEPRECATED addMVarFinalizer "use 'mkWeakMVar' instead" #-} -- deprecated in 7.6 addMVarFinalizer :: MVar a -> IO () -> IO () addMVarFinalizer = GHC.MVar.addMVarFinalizer diff --git a/Data/Bits.hs b/Data/Bits.hs index f43c8a5..16a5b58 100644 --- a/Data/Bits.hs +++ b/Data/Bits.hs @@ -61,7 +61,7 @@ infixl 7 .&. infixl 6 `xor` infixl 5 .|. -{-# DEPRECATED bitSize "Use bitSizeMaybe or finiteBitSize instead" #-} -- deprecated in 7.8 +{-# DEPRECATED bitSize "Use 'bitSizeMaybe' or 'finiteBitSize' instead" #-} -- deprecated in 7.8 {-| The 'Bits' class defines bitwise operations over integral types. diff --git a/Data/Typeable/Internal.hs b/Data/Typeable/Internal.hs index 473b6f4..a058dc8 100644 --- a/Data/Typeable/Internal.hs +++ b/Data/Typeable/Internal.hs @@ -179,7 +179,7 @@ typeRepArgs :: TypeRep -> [TypeRep] typeRepArgs (TypeRep _ _ args) = args -- | Observe string encoding of a type representation -{-# DEPRECATED tyConString "renamed to tyConName; tyConModule and tyConPackage are also available." #-} -- deprecated in 7.4 +{-# DEPRECATED tyConString "renamed to 'tyConName'; 'tyConModule' and 'tyConPackage' are also available." #-} -- deprecated in 7.4 tyConString :: TyCon -> String tyConString = tyConName diff --git a/Debug/Trace.hs b/Debug/Trace.hs index 67e67b1..eedacfa 100644 --- a/Debug/Trace.hs +++ b/Debug/Trace.hs @@ -79,10 +79,10 @@ traceIO msg = do foreign import ccall unsafe "HsBase.h debugBelch2" debugBelch :: CString -> CString -> IO () --- | Deprecated. Use 'traceIO'. +-- | putTraceMsg :: String -> IO () putTraceMsg = traceIO -{-# DEPRECATED putTraceMsg "Use Debug.Trace.traceIO" #-} -- deprecated in 7.4 +{-# DEPRECATED putTraceMsg "Use 'Debug.Trace.traceIO'" #-} -- deprecated in 7.4 {-# NOINLINE trace #-} diff --git a/Foreign/Marshal/Error.hs b/Foreign/Marshal/Error.hs index ab90e6d..758812b 100644 --- a/Foreign/Marshal/Error.hs +++ b/Foreign/Marshal/Error.hs @@ -79,4 +79,4 @@ throwIfNull = throwIf (== nullPtr) . const -- void :: IO a -> IO () void act = act >> return () -{-# DEPRECATED void "use Control.Monad.void instead" #-} -- deprecated in 7.6 +{-# DEPRECATED void "use 'Control.Monad.void' instead" #-} -- deprecated in 7.6 diff --git a/GHC/Exts.hs b/GHC/Exts.hs index 1cea3fb..a7a04b4 100755 --- a/GHC/Exts.hs +++ b/GHC/Exts.hs @@ -114,7 +114,7 @@ groupByFB c n eq xs0 = groupByFBCore xs0 traceEvent :: String -> IO () traceEvent = Debug.Trace.traceEventIO -{-# DEPRECATED traceEvent "Use Debug.Trace.traceEvent or Debug.Trace.traceEventIO" #-} -- deprecated in 7.4 +{-# DEPRECATED traceEvent "Use 'Debug.Trace.traceEvent' or 'Debug.Trace.traceEventIO'" #-} -- deprecated in 7.4 {- ********************************************************************** diff --git a/GHC/Generics.hs b/GHC/Generics.hs index 6480eb1..1c81858 100644 --- a/GHC/Generics.hs +++ b/GHC/Generics.hs @@ -622,8 +622,8 @@ data P type Rec0 = K1 R -- | Type synonym for encoding parameters (other than the last) type Par0 = K1 P -{-# DEPRECATED Par0 "Par0 is no longer used; use Rec0 instead" #-} -- deprecated in 7.6 -{-# DEPRECATED P "P is no longer used; use R instead" #-} -- deprecated in 7.6 +{-# DEPRECATED Par0 "'Par0' is no longer used; use 'Rec0' instead" #-} -- deprecated in 7.6 +{-# DEPRECATED P "'P' is no longer used; use 'R' instead" #-} -- deprecated in 7.6 -- | Tag for M1: datatype data D From git at git.haskell.org Thu Jan 30 09:42:24 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 09:42:24 +0000 (UTC) Subject: [commit: packages/base] master: Derive `FiniteBits` for integral newtype wrappers (24268dd) Message-ID: <20140130094224.640F42406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/24268dd7c01c71d38ff5b2956a3ee33672710d72/base >--------------------------------------------------------------- commit 24268dd7c01c71d38ff5b2956a3ee33672710d72 Author: Herbert Valerio Riedel Date: Thu Jan 30 10:34:25 2014 +0100 Derive `FiniteBits` for integral newtype wrappers When `FiniteBits` was introduced in cddc9024e67a6d4c01bb190839d0134af8c907e0 only the standard Haskell 2010 finite-size integral types were given a `FiniteBits` instance, however, since also a DEPRECATION warning was put in place (as per 701d9ed4b2bec5922709a91bfb625881d7dd47f0) for `bitSize` which might point people to to `FiniteBits`, it seems sensible to derive `FiniteBits` for all integral newtype wrappers as well. N.B.: This makes `Integer` the only type in `base` with a `Bits` instance but no `FiniteBits` instance. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 24268dd7c01c71d38ff5b2956a3ee33672710d72 Foreign/C/Types.hs | 2 +- GHC/Event/EPoll.hsc | 4 ++-- GHC/Event/KQueue.hsc | 6 +++--- GHC/Event/Poll.hsc | 4 ++-- include/CTypes.h | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Foreign/C/Types.hs b/Foreign/C/Types.hs index 3a35510..4aeae53 100644 --- a/Foreign/C/Types.hs +++ b/Foreign/C/Types.hs @@ -74,7 +74,7 @@ module Foreign.C.Types ) where import Foreign.Storable -import Data.Bits ( Bits(..) ) +import Data.Bits ( Bits(..), FiniteBits(..) ) import Data.Int ( Int8, Int16, Int32, Int64 ) import Data.Word ( Word8, Word16, Word32, Word64 ) import Data.Typeable diff --git a/GHC/Event/EPoll.hsc b/GHC/Event/EPoll.hsc index fc81441..b808b21 100644 --- a/GHC/Event/EPoll.hsc +++ b/GHC/Event/EPoll.hsc @@ -39,7 +39,7 @@ available = False #include import Control.Monad (when) -import Data.Bits (Bits, (.|.), (.&.)) +import Data.Bits (Bits, FiniteBits, (.|.), (.&.)) import Data.Maybe (Maybe(..)) import Data.Monoid (Monoid(..)) import Data.Word (Word32) @@ -163,7 +163,7 @@ newtype ControlOp = ControlOp CInt newtype EventType = EventType { unEventType :: Word32 - } deriving (Show, Eq, Num, Bits) + } deriving (Show, Eq, Num, Bits, FiniteBits) #{enum EventType, EventType , epollIn = EPOLLIN diff --git a/GHC/Event/KQueue.hsc b/GHC/Event/KQueue.hsc index b2132f6..bc88855 100644 --- a/GHC/Event/KQueue.hsc +++ b/GHC/Event/KQueue.hsc @@ -27,7 +27,7 @@ available = False #else import Control.Monad (when) -import Data.Bits (Bits(..)) +import Data.Bits (Bits(..), FiniteBits(..)) import Data.Maybe (Maybe(..)) import Data.Monoid (Monoid(..)) import Data.Word (Word16, Word32) @@ -180,7 +180,7 @@ newtype Flag = Flag Word32 #else newtype Flag = Flag Word16 #endif - deriving (Bits, Eq, Num, Show, Storable) + deriving (Bits, FiniteBits, Eq, Num, Show, Storable) #{enum Flag, Flag , flagAdd = EV_ADD @@ -193,7 +193,7 @@ newtype Filter = Filter Word32 #else newtype Filter = Filter Word16 #endif - deriving (Bits, Eq, Num, Show, Storable) + deriving (Bits, FiniteBits, Eq, Num, Show, Storable) filterRead :: Filter filterRead = Filter (#const EVFILT_READ) diff --git a/GHC/Event/Poll.hsc b/GHC/Event/Poll.hsc index a832789..bb0b6e5 100644 --- a/GHC/Event/Poll.hsc +++ b/GHC/Event/Poll.hsc @@ -26,7 +26,7 @@ available = False import Control.Concurrent.MVar (MVar, newMVar, swapMVar) import Control.Monad ((=<<), liftM, liftM2, unless) -import Data.Bits (Bits, (.|.), (.&.)) +import Data.Bits (Bits, FiniteBits, (.|.), (.&.)) import Data.Maybe (Maybe(..)) import Data.Monoid (Monoid(..)) import Data.Word @@ -150,7 +150,7 @@ data PollFd = PollFd { } deriving (Show) newtype Event = Event CShort - deriving (Eq, Show, Num, Storable, Bits) + deriving (Eq, Show, Num, Storable, Bits, FiniteBits) -- We have to duplicate the whole enum like this in order for the -- hsc2hs cross-compilation mode to work diff --git a/include/CTypes.h b/include/CTypes.h index 77b738c..ec18131 100644 --- a/include/CTypes.h +++ b/include/CTypes.h @@ -17,7 +17,7 @@ -- // GHC can derive any class for a newtype, so we make use of that here... #define ARITHMETIC_CLASSES Eq,Ord,Num,Enum,Storable,Real,Typeable -#define INTEGRAL_CLASSES Bounded,Integral,Bits +#define INTEGRAL_CLASSES Bounded,Integral,Bits,FiniteBits #define FLOATING_CLASSES Fractional,Floating,RealFrac,RealFloat #define ARITHMETIC_TYPE(T,B) \ From git at git.haskell.org Thu Jan 30 10:09:16 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 10:09:16 +0000 (UTC) Subject: [commit: packages/base] ghc-7.8's head updated: Derive `FiniteBits` for integral newtype wrappers (24268dd) Message-ID: <20140130100916.6E61D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base Branch 'ghc-7.8' now includes: d62edab Improve Haddock markup 24268dd Derive `FiniteBits` for integral newtype wrappers From git at git.haskell.org Thu Jan 30 13:25:11 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 13:25:11 +0000 (UTC) Subject: [commit: ghc] master: Fix iOS build (fallout from 28b031c506) (48326cf) Message-ID: <20140130132511.8FC0D2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/48326cfb1ef4b455f81fbbece7a17dab17f7c932/ghc >--------------------------------------------------------------- commit 48326cfb1ef4b455f81fbbece7a17dab17f7c932 Author: Austin Seipp Date: Thu Jan 30 07:03:29 2014 -0600 Fix iOS build (fallout from 28b031c506) As Luke Iannini reported, the Clang iOS cross compiler apparently doesn't support __thread for some bizarre reason, so unfortunately they too must fall back to pthread_{get,set}specific. Signed-off-by: Austin Seipp >--------------------------------------------------------------- 48326cfb1ef4b455f81fbbece7a17dab17f7c932 rts/sm/GCTDecl.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rts/sm/GCTDecl.h b/rts/sm/GCTDecl.h index affb852..2489430 100644 --- a/rts/sm/GCTDecl.h +++ b/rts/sm/GCTDecl.h @@ -53,8 +53,11 @@ extern StgWord8 the_gc_thread[]; /* Now, llvm-gcc and some older Clang compilers do not support __thread. So we have to fallback to the extremely slow case, - unfortunately. Note: clang_CC_FLAVOR implies llvm_CC_FLAVOR */ -#if defined(llvm_CC_FLAVOR) && (CC_SUPPORTS_TLS == 0) + unfortunately. Note: clang_CC_FLAVOR implies llvm_CC_FLAVOR. + + Also, the iOS Clang compiler doesn't support __thread either for + some bizarre reason, so there's not much we can do about that... */ +#if (defined(llvm_CC_FLAVOR) && (CC_SUPPORTS_TLS == 0)) || defined(ios_HOST_OS) #define gct ((gc_thread *)(pthread_getspecific(gctKey))) #define SET_GCT(to) (pthread_setspecific(gctKey, to)) #define DECLARE_GCT ThreadLocalKey gctKey; From git at git.haskell.org Thu Jan 30 13:25:13 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 13:25:13 +0000 (UTC) Subject: [commit: ghc] master: Add a perf-cross build setting. (99484c9) Message-ID: <20140130132514.231CE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/99484c965c93df5367ecb3bc29165544baf1da76/ghc >--------------------------------------------------------------- commit 99484c965c93df5367ecb3bc29165544baf1da76 Author: Luke Iannini Date: Thu Jan 30 07:07:44 2014 -0600 Add a perf-cross build setting. This is for building performance-optimized cross compilers (e.g. the iOS target.) Signed-off-by: Austin Seipp >--------------------------------------------------------------- 99484c965c93df5367ecb3bc29165544baf1da76 mk/build.mk.sample | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/mk/build.mk.sample b/mk/build.mk.sample index 3d94478..cb049ba 100644 --- a/mk/build.mk.sample +++ b/mk/build.mk.sample @@ -14,6 +14,9 @@ # As above but build GHC using the LLVM backend #BuildFlavour = perf-llvm +# Perf build configured for a cross-compiler +#BuildFlavour = perf-cross + # Fast build with optimised libraries, no profiling (RECOMMENDED): #BuildFlavour = quick @@ -86,6 +89,29 @@ GhcLibWays += p endif +# ------- A Perf build configured for cross-compilation ---------------------- + +ifeq "$(BuildFlavour)" "perf-cross" + +SRC_HC_OPTS = -O -H64m -fllvm +GhcStage1HcOpts = -O2 -fllvm +GhcStage2HcOpts = -O2 -fllvm +GhcHcOpts = -Rghc-timing +GhcLibHcOpts = -O2 +GhcLibWays += p +INTEGER_LIBRARY = integer-simple +Stage1Only = YES + +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +DYNAMIC_BY_DEFAULT = NO +DYNAMIC_GHC_PROGRAMS = NO + +endif + # -------- A Fast build ------------------------------------------------------- ifeq "$(BuildFlavour)" "quickest" From git at git.haskell.org Thu Jan 30 13:25:16 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 13:25:16 +0000 (UTC) Subject: [commit: ghc] master: Bump win32 version number in release notes (044f233) Message-ID: <20140130132516.898BE2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/044f23388c0c316fbc470c93860797a30b3130bd/ghc >--------------------------------------------------------------- commit 044f23388c0c316fbc470c93860797a30b3130bd Author: Austin Seipp Date: Thu Jan 30 07:20:37 2014 -0600 Bump win32 version number in release notes Signed-off-by: Austin Seipp >--------------------------------------------------------------- 044f23388c0c316fbc470c93860797a30b3130bd docs/users_guide/7.8.1-notes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index e9aadcc..c04a129 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -1153,7 +1153,7 @@ - Version number 2.3.0.0 (was 2.3.0.0) + Version number 2.3.0.1 (was 2.3.0.0) From git at git.haskell.org Thu Jan 30 13:34:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 13:34:22 +0000 (UTC) Subject: [commit: ghc] ghc-7.8: Fix iOS build (fallout from 28b031c506) (967d234) Message-ID: <20140130133423.144682406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : ghc-7.8 Link : http://ghc.haskell.org/trac/ghc/changeset/967d234ad4b42c1e411348e43bcadc0da5042f36/ghc >--------------------------------------------------------------- commit 967d234ad4b42c1e411348e43bcadc0da5042f36 Author: Austin Seipp Date: Thu Jan 30 07:03:29 2014 -0600 Fix iOS build (fallout from 28b031c506) As Luke Iannini reported, the Clang iOS cross compiler apparently doesn't support __thread for some bizarre reason, so unfortunately they too must fall back to pthread_{get,set}specific. (cherry picked from commit 48326cfb1ef4b455f81fbbece7a17dab17f7c932) Signed-off-by: Austin Seipp >--------------------------------------------------------------- 967d234ad4b42c1e411348e43bcadc0da5042f36 rts/sm/GCTDecl.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rts/sm/GCTDecl.h b/rts/sm/GCTDecl.h index affb852..2489430 100644 --- a/rts/sm/GCTDecl.h +++ b/rts/sm/GCTDecl.h @@ -53,8 +53,11 @@ extern StgWord8 the_gc_thread[]; /* Now, llvm-gcc and some older Clang compilers do not support __thread. So we have to fallback to the extremely slow case, - unfortunately. Note: clang_CC_FLAVOR implies llvm_CC_FLAVOR */ -#if defined(llvm_CC_FLAVOR) && (CC_SUPPORTS_TLS == 0) + unfortunately. Note: clang_CC_FLAVOR implies llvm_CC_FLAVOR. + + Also, the iOS Clang compiler doesn't support __thread either for + some bizarre reason, so there's not much we can do about that... */ +#if (defined(llvm_CC_FLAVOR) && (CC_SUPPORTS_TLS == 0)) || defined(ios_HOST_OS) #define gct ((gc_thread *)(pthread_getspecific(gctKey))) #define SET_GCT(to) (pthread_setspecific(gctKey, to)) #define DECLARE_GCT ThreadLocalKey gctKey; From git at git.haskell.org Thu Jan 30 13:34:25 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 13:34:25 +0000 (UTC) Subject: [commit: ghc] ghc-7.8: Add a perf-cross build setting. (86c3da7) Message-ID: <20140130133425.C11E02406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : ghc-7.8 Link : http://ghc.haskell.org/trac/ghc/changeset/86c3da7c62ff7910e5e4fdbfdd3ac0754786071c/ghc >--------------------------------------------------------------- commit 86c3da7c62ff7910e5e4fdbfdd3ac0754786071c Author: Luke Iannini Date: Thu Jan 30 07:07:44 2014 -0600 Add a perf-cross build setting. This is for building performance-optimized cross compilers (e.g. the iOS target.) Signed-off-by: Austin Seipp (cherry picked from commit 99484c965c93df5367ecb3bc29165544baf1da76) >--------------------------------------------------------------- 86c3da7c62ff7910e5e4fdbfdd3ac0754786071c mk/build.mk.sample | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/mk/build.mk.sample b/mk/build.mk.sample index 3d94478..cb049ba 100644 --- a/mk/build.mk.sample +++ b/mk/build.mk.sample @@ -14,6 +14,9 @@ # As above but build GHC using the LLVM backend #BuildFlavour = perf-llvm +# Perf build configured for a cross-compiler +#BuildFlavour = perf-cross + # Fast build with optimised libraries, no profiling (RECOMMENDED): #BuildFlavour = quick @@ -86,6 +89,29 @@ GhcLibWays += p endif +# ------- A Perf build configured for cross-compilation ---------------------- + +ifeq "$(BuildFlavour)" "perf-cross" + +SRC_HC_OPTS = -O -H64m -fllvm +GhcStage1HcOpts = -O2 -fllvm +GhcStage2HcOpts = -O2 -fllvm +GhcHcOpts = -Rghc-timing +GhcLibHcOpts = -O2 +GhcLibWays += p +INTEGER_LIBRARY = integer-simple +Stage1Only = YES + +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +DYNAMIC_BY_DEFAULT = NO +DYNAMIC_GHC_PROGRAMS = NO + +endif + # -------- A Fast build ------------------------------------------------------- ifeq "$(BuildFlavour)" "quickest" From git at git.haskell.org Thu Jan 30 13:34:27 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 13:34:27 +0000 (UTC) Subject: [commit: ghc] ghc-7.8: Bump win32 version number in release notes (12853f4) Message-ID: <20140130133427.EC4002406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : ghc-7.8 Link : http://ghc.haskell.org/trac/ghc/changeset/12853f4dd3950b7bf9241f7394cc2f40d0b90c9a/ghc >--------------------------------------------------------------- commit 12853f4dd3950b7bf9241f7394cc2f40d0b90c9a Author: Austin Seipp Date: Thu Jan 30 07:20:37 2014 -0600 Bump win32 version number in release notes Signed-off-by: Austin Seipp (cherry picked from commit 044f23388c0c316fbc470c93860797a30b3130bd) >--------------------------------------------------------------- 12853f4dd3950b7bf9241f7394cc2f40d0b90c9a docs/users_guide/7.8.1-notes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml index e9aadcc..c04a129 100644 --- a/docs/users_guide/7.8.1-notes.xml +++ b/docs/users_guide/7.8.1-notes.xml @@ -1153,7 +1153,7 @@ - Version number 2.3.0.0 (was 2.3.0.0) + Version number 2.3.0.1 (was 2.3.0.0) From git at git.haskell.org Thu Jan 30 16:10:50 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 16:10:50 +0000 (UTC) Subject: [commit: haddock] master: <+>: Don't insert a space when concatenating empty nodes (ec8e6fe) Message-ID: <20140130161051.1A2222406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/ec8e6fe304c99377eaafbfd9fa4a07583eb0088c >--------------------------------------------------------------- commit ec8e6fe304c99377eaafbfd9fa4a07583eb0088c Author: Dr. ERDI Gergo Date: Thu Jan 30 23:42:09 2014 +0800 <+>: Don't insert a space when concatenating empty nodes >--------------------------------------------------------------- ec8e6fe304c99377eaafbfd9fa4a07583eb0088c html-test/ref/A.html | 16 +-- html-test/ref/AdvanceTypes.html | 4 +- html-test/ref/B.html | 8 +- html-test/ref/Bug1.html | 8 +- html-test/ref/Bug6.html | 40 +++--- html-test/ref/Bug7.html | 16 +-- html-test/ref/Bug8.html | 4 +- html-test/ref/Bugs.html | 4 +- html-test/ref/DeprecatedClass.html | 16 +-- html-test/ref/DeprecatedData.html | 24 ++-- html-test/ref/DeprecatedNewtype.html | 16 +-- html-test/ref/DeprecatedRecord.html | 8 +- html-test/ref/GADTRecords.html | 12 +- html-test/ref/Hash.html | 14 +- html-test/ref/HiddenInstances.html | 16 +-- html-test/ref/HiddenInstancesB.html | 16 +-- html-test/ref/QuasiExpr.html | 8 +- html-test/ref/SpuriousSuperclassConstraints.html | 4 +- html-test/ref/Test.html | 166 +++++++++++----------- html-test/ref/Ticket253_2.html | 8 +- html-test/ref/Ticket61.html | 4 +- html-test/ref/TypeFamilies.html | 12 +- html-test/ref/TypeOperators.html | 24 ++-- src/Haddock/Backends/Xhtml/Utils.hs | 4 +- 24 files changed, 227 insertions(+), 225 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc ec8e6fe304c99377eaafbfd9fa4a07583eb0088c From git at git.haskell.org Thu Jan 30 16:14:27 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 16:14:27 +0000 (UTC) Subject: [commit: packages/ghc-prim] master: Comment typo (64c5714) Message-ID: <20140130161427.ACF382406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc-prim On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/64c571472b96c0e82c9aaac2abfef5c292471dc2/ghc-prim >--------------------------------------------------------------- commit 64c571472b96c0e82c9aaac2abfef5c292471dc2 Author: Joachim Breitner Date: Thu Jan 30 16:15:36 2014 +0000 Comment typo >--------------------------------------------------------------- 64c571472b96c0e82c9aaac2abfef5c292471dc2 GHC/Types.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GHC/Types.hs b/GHC/Types.hs index 5ef6897..b4dbb9f 100644 --- a/GHC/Types.hs +++ b/GHC/Types.hs @@ -89,7 +89,7 @@ data (~) a b = Eq# ((~#) a b) -- | A data constructor used to box up unlifted representational equalities. -- --- The type constructor is special as GHC pretends the field of EqR# has type +-- The type constructor is special as GHC pretends the field of MkCoercible has type -- (a ~R# b), which is not representable in Haskell, and turns it into a class. data Coercible a b = MkCoercible ((~#) a b) From git at git.haskell.org Thu Jan 30 16:16:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 16:16:42 +0000 (UTC) Subject: [commit: haddock] master: <+>: Don't insert a space when concatenating empty nodes (cf73b00) Message-ID: <20140130161642.ABE912406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/cf73b006faf95512b28c744ecfbdf47c044acb67 >--------------------------------------------------------------- commit cf73b006faf95512b28c744ecfbdf47c044acb67 Author: Dr. ERDI Gergo Date: Fri Jan 31 00:15:01 2014 +0800 <+>: Don't insert a space when concatenating empty nodes >--------------------------------------------------------------- cf73b006faf95512b28c744ecfbdf47c044acb67 html-test/ref/A.html | 16 +-- html-test/ref/AdvanceTypes.html | 4 +- html-test/ref/B.html | 8 +- html-test/ref/Bug1.html | 8 +- html-test/ref/Bug6.html | 40 +++--- html-test/ref/Bug7.html | 16 +-- html-test/ref/Bug8.html | 4 +- html-test/ref/Bugs.html | 4 +- html-test/ref/DeprecatedClass.html | 16 +-- html-test/ref/DeprecatedData.html | 24 ++-- html-test/ref/DeprecatedNewtype.html | 16 +-- html-test/ref/DeprecatedRecord.html | 8 +- html-test/ref/GADTRecords.html | 12 +- html-test/ref/Hash.html | 14 +- html-test/ref/HiddenInstances.html | 16 +-- html-test/ref/HiddenInstancesB.html | 16 +-- html-test/ref/QuasiExpr.html | 8 +- html-test/ref/SpuriousSuperclassConstraints.html | 4 +- html-test/ref/Test.html | 166 +++++++++++----------- html-test/ref/Ticket253_2.html | 8 +- html-test/ref/Ticket61.html | 4 +- html-test/ref/TypeFamilies.html | 12 +- html-test/ref/TypeOperators.html | 24 ++-- src/Haddock/Backends/Xhtml/Utils.hs | 4 +- 24 files changed, 227 insertions(+), 225 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc cf73b006faf95512b28c744ecfbdf47c044acb67 From git at git.haskell.org Thu Jan 30 16:23:15 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 16:23:15 +0000 (UTC) Subject: [commit: haddock] master: Fix @ code blocks (7d2106e) Message-ID: <20140130162316.0035A2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/7d2106e18f26a680d157ef943da2602e7199afa1 >--------------------------------------------------------------- commit 7d2106e18f26a680d157ef943da2602e7199afa1 Author: Mateusz Kowalczyk Date: Wed Jan 29 20:37:10 2014 +0000 Fix @ code blocks In cases where we had some horizontal space before the closing ?@?, the parser would not accept the block as a code block and we'd get ugly output. >--------------------------------------------------------------- 7d2106e18f26a680d157ef943da2602e7199afa1 src/Haddock/Parser.hs | 1 + test/Haddock/ParserSpec.hs | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/src/Haddock/Parser.hs b/src/Haddock/Parser.hs index 6370eec..e9bed2a 100644 --- a/src/Haddock/Parser.hs +++ b/src/Haddock/Parser.hs @@ -365,6 +365,7 @@ codeblock d = where p isNewline c | isNewline && c == '@' = Nothing + | isNewline && isSpace c = Just isNewline | otherwise = Just $ c == '\n' hyperlink :: Parser (Doc a) diff --git a/test/Haddock/ParserSpec.hs b/test/Haddock/ParserSpec.hs index 9bca745..455a67f 100644 --- a/test/Haddock/ParserSpec.hs +++ b/test/Haddock/ParserSpec.hs @@ -410,6 +410,14 @@ spec = before initStaticOpts $ do , "@" ] `shouldParseTo` DocCodeBlock "foo\n@\nbar\n" + it "accepts horizontal space before the @" $ do + unlines [ " @" + , " foo" + , "" + , " bar" + , " @" + ] `shouldParseTo` DocCodeBlock " foo\n\n bar\n " + it "accepts unicode" $ do "@foo ?????? bar@" `shouldParseTo` DocCodeBlock "foo ?????? bar" From git at git.haskell.org Thu Jan 30 16:23:17 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 16:23:17 +0000 (UTC) Subject: [commit: haddock] master: Update tests (18e9417) Message-ID: <20140130162318.0CDFB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/18e9417edcda21dd23edf675b41f46ab336d773f >--------------------------------------------------------------- commit 18e9417edcda21dd23edf675b41f46ab336d773f Author: Mateusz Kowalczyk Date: Wed Jan 29 21:41:58 2014 +0000 Update tests This updates tests due to Haddock Trac #271 fix and due to removal of TypeHoles as an extension from GHC. >--------------------------------------------------------------- 18e9417edcda21dd23edf675b41f46ab336d773f html-test/ref/Extensions.html | 2 +- html-test/ref/Test.html | 2 +- html-test/src/Extensions.hs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/html-test/ref/Extensions.html b/html-test/ref/Extensions.html index 82fd732..382083c 100644 --- a/html-test/ref/Extensions.html +++ b/html-test/ref/Extensions.html @@ -47,7 +47,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Extensions.html");}; >ExtensionsTypeHolesExplicitForAll

License(c) Simon Marlow 2002BSD-style Repository : ssh://git at git.haskell.org/ghc-prim On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/ae89657ce64325a9a413150efe862e3bec1311f1/ghc-prim >--------------------------------------------------------------- commit ae89657ce64325a9a413150efe862e3bec1311f1 Author: Joachim Breitner Date: Thu Jan 30 16:29:44 2014 +0000 Document Coercible in GHC.Types It is not exported from here, but haddock still uses this documentation (and not the one from the fake GHC/Prim.hs file). So just put the user documentation here. >--------------------------------------------------------------- ae89657ce64325a9a413150efe862e3bec1311f1 GHC/Types.hs | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/GHC/Types.hs b/GHC/Types.hs index b4dbb9f..0d7583d 100644 --- a/GHC/Types.hs +++ b/GHC/Types.hs @@ -87,10 +87,55 @@ newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #)) -- has kind (? -> ? -> Fact) rather than (* -> * -> *) data (~) a b = Eq# ((~#) a b) --- | A data constructor used to box up unlifted representational equalities. + +-- Despite this not being exported here, the documentation will +-- be used by haddock, hence the user-facing blurb here, and not in primops.txt.pp: + +-- | This two-parameter class has instances for types @a@ and @b@ if +-- the compiler can infer that they have the same representation. This class +-- does not have regular instances; instead they are created on-the-fly during +-- type-checking. Trying to manually declare an instance of @Coercible@ +-- is an error. +-- +-- Nevertheless one can pretend that the following three kinds of instances +-- exist. First, as a trivial base-case: +-- +-- @instance a a@ +-- +-- Furthermore, for every type constructor there is +-- an instance that allows to coerce under the type constructor. For +-- example, let @D@ be a prototypical type constructor (@data@ or +-- @newtype@) with three type arguments, which have roles @nominal@, +-- @representational@ resp. @phantom at . Then there is an instance of +-- the form +-- +-- @instance Coercible b b\' => Coercible (D a b c) (D a b\' c\')@ +-- +-- Note that the @nominal@ type arguments are equal, the +-- @representational@ type arguments can differ, but need to have a +-- @Coercible@ instance themself, and the @phantom@ type arguments can be +-- changed arbitrarily. +-- +-- In SafeHaskell code, this instance is only usable if the constructors of +-- every type constructor used in the definition of @D@ (including +-- those of @D@ itself) are in scope. +-- +-- The third kind of instance exists for every @newtype NT = MkNT T@ and +-- comes in two variants, namely +-- +-- @instance Coercible a T => Coercible a NT@ +-- +-- @instance Coercible T b => Coercible NT b@ +-- +-- This instance is only usable if the constructor @MkNT@ is in scope. +-- +-- If, as a library author of a type constructor like @Set a@, you +-- want to prevent a user of your module to write +-- @coerce :: Set T -> Set NT@, +-- you need to set the role of @Set@\'s type parameter to @nominal@, +-- by writing -- --- The type constructor is special as GHC pretends the field of MkCoercible has type --- (a ~R# b), which is not representable in Haskell, and turns it into a class. +-- @type role Set nominal@ data Coercible a b = MkCoercible ((~#) a b) -- | Alias for tagToEnum#. Returns True of its parameter is 1# and False From git at git.haskell.org Thu Jan 30 16:29:34 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 16:29:34 +0000 (UTC) Subject: [commit: packages/base] master: Show docs for coerce and Coercible in GHC.Exts (898607d) Message-ID: <20140130162934.AAF272406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/898607d413855f98b1feea4f7d6bf3cf7072ffe6/base >--------------------------------------------------------------- commit 898607d413855f98b1feea4f7d6bf3cf7072ffe6 Author: Joachim Breitner Date: Thu Jan 30 16:28:51 2014 +0000 Show docs for coerce and Coercible in GHC.Exts as that is the canonical place for people to import them from. >--------------------------------------------------------------- 898607d413855f98b1feea4f7d6bf3cf7072ffe6 GHC/Exts.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/GHC/Exts.hs b/GHC/Exts.hs index a7a04b4..299adab 100755 --- a/GHC/Exts.hs +++ b/GHC/Exts.hs @@ -45,6 +45,9 @@ module GHC.Exts -- * Ids with special behaviour lazy, inline, + -- * Safe coercions + GHC.Prim.coerce, GHC.Prim.Coercible, + -- * Transform comprehensions Down(..), groupWith, sortWith, the, @@ -66,8 +69,9 @@ module GHC.Exts import Prelude -import GHC.Prim -import GHC.Base +import GHC.Prim hiding (coerce, Coercible) +import qualified GHC.Prim +import GHC.Base hiding (coerce, Coercible) import GHC.Word import GHC.Int import GHC.Ptr From git at git.haskell.org Thu Jan 30 16:29:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 16:29:42 +0000 (UTC) Subject: [commit: ghc] master: Remove Coercible documentation from compiler/prelude/primops.txt.pp (1dd38a5) Message-ID: <20140130162942.CFAA92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/1dd38a54bb29387d9e9c549dbb020bc9ed4ecb91/ghc >--------------------------------------------------------------- commit 1dd38a54bb29387d9e9c549dbb020bc9ed4ecb91 Author: Joachim Breitner Date: Thu Jan 30 16:28:00 2014 +0000 Remove Coercible documentation from compiler/prelude/primops.txt.pp We want it to show up in GHC.Exts, so we need to put the documentation in GHC.Types, where the datatype Coercible is defined. >--------------------------------------------------------------- 1dd38a54bb29387d9e9c549dbb020bc9ed4ecb91 compiler/prelude/primops.txt.pp | 41 --------------------------------------- 1 file changed, 41 deletions(-) diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index 36eec67..d2978dc 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -2365,47 +2365,6 @@ pseudoop "coerce" } primclass Coercible a b - { This two-parameter class has instances for types {\tt a} and {\tt b} if - the compiler can infer that they have the same representation. This class - does not have regular instances; instead they are created on-the-fly during - type-checking. Trying to manually declare an instance of {\tt Coercible} - is an error. - - Nevertheless one can pretend that the following three kinds of instances - exist. First, as a trivial base-case: - - {\tt instance a a} - - Furthermore, for every type constructor there is - an instance that allows to coerce under the type constructor. For - example, let {\tt D} be a prototypical type constructor ({\tt data} or {\tt - newtype}) with three type arguments, which have roles Nominal, - Representational resp. Phantom. Then there is an instance of the form - - {\tt instance Coercible b b' => Coercible (D a b c) (D a b' c')} - - Note that the nominal type arguments are equal, the representational type - arguments can differ, but need to have a {\tt Coercible} instance - themself, and the phantom type arguments can be changed arbitrarily. - - In SafeHaskell code, this instance is only usable if the constructors of - every type constructor used in the definition of {\tt D} (including - those of {\tt D} itself) are in scope. - - The third kind of instance exists for every {\tt newtype NT = MkNT T} and - comes in two variants, namely - - {\tt instance Coercible a T => Coercible a NT} - - {\tt instance Coercible T b => Coercible NT b} - - This instance is only usable if the constructor {\tt MkNT} is in scope. - - If, as a library author of a type constructor like {\tt Set a}, you - want to prevent a user of your module to write - {\tt coerce :: Set T -> Set NT}, - you need to set the role of {\tt Set}'s type parameter to Nominal. - } ------------------------------------------------------------------------ section "SIMD Vectors" From git at git.haskell.org Thu Jan 30 17:03:38 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 17:03:38 +0000 (UTC) Subject: [commit: haddock] master: Handle infix vs prefix names correctly everywhere, by explicitly specifying the context (039b234) Message-ID: <20140130170338.CCA882406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/039b2346cd7a9998135636146ea234eb9cc0fbab >--------------------------------------------------------------- commit 039b2346cd7a9998135636146ea234eb9cc0fbab Author: Dr. ERDI Gergo Date: Fri Jan 31 00:55:50 2014 +0800 Handle infix vs prefix names correctly everywhere, by explicitly specifying the context The basic idea is that "a" and "+" are either pretty-printed as "a" and "(+)" or "`a`" and "+" >--------------------------------------------------------------- 039b2346cd7a9998135636146ea234eb9cc0fbab html-test/ref/Ticket75.html | 6 +-- src/Haddock/Backends/Xhtml.hs | 14 +++--- src/Haddock/Backends/Xhtml/Decl.hs | 32 +++++++------- src/Haddock/Backends/Xhtml/DocMarkup.hs | 4 +- src/Haddock/Backends/Xhtml/Names.hs | 72 ++++++++++++++++++------------- 5 files changed, 69 insertions(+), 59 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 039b2346cd7a9998135636146ea234eb9cc0fbab From git at git.haskell.org Thu Jan 30 17:11:29 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 17:11:29 +0000 (UTC) Subject: [commit: packages/base] ghc-7.8's head updated: Show docs for coerce and Coercible in GHC.Exts (898607d) Message-ID: <20140130171130.0E4F52406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/base Branch 'ghc-7.8' now includes: 898607d Show docs for coerce and Coercible in GHC.Exts From git at git.haskell.org Thu Jan 30 17:12:03 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 17:12:03 +0000 (UTC) Subject: [commit: packages/ghc-prim] ghc-7.8's head updated: Document Coercible in GHC.Types (ae89657) Message-ID: <20140130171203.788DB2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc-prim Branch 'ghc-7.8' now includes: 64c5714 Comment typo ae89657 Document Coercible in GHC.Types From git at git.haskell.org Thu Jan 30 17:26:25 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 17:26:25 +0000 (UTC) Subject: [commit: haddock] master: Correct whitespace in ‘hidden’ test for <+> change (880b91e) Message-ID: <20140130172625.E7C632406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : master Link : http://git.haskell.org/haddock.git/commitdiff/880b91ed0f2fe63c7d35a83ecebb3aa29c2ffc1d >--------------------------------------------------------------- commit 880b91ed0f2fe63c7d35a83ecebb3aa29c2ffc1d Author: Mateusz Kowalczyk Date: Thu Jan 30 17:21:50 2014 +0000 Correct whitespace in ?hidden? test for <+> change >--------------------------------------------------------------- 880b91ed0f2fe63c7d35a83ecebb3aa29c2ffc1d html-test/ref/CrossPackageDocs.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/html-test/ref/CrossPackageDocs.html b/html-test/ref/CrossPackageDocs.html index 0bbc7a6..f0eff6d 100644 --- a/html-test/ref/CrossPackageDocs.html +++ b/html-test/ref/CrossPackageDocs.html @@ -52,9 +52,9 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html" >

  • class IsString a a where
    • class IsString a a where

      Repository : ssh://git at git.haskell.org/haddock On branch : ghc-7.8 Link : http://git.haskell.org/haddock.git/commitdiff/a5257577bee6b4d35af1efc245f456e7a8a1cea8 >--------------------------------------------------------------- commit a5257577bee6b4d35af1efc245f456e7a8a1cea8 Author: Mateusz Kowalczyk Date: Wed Jan 29 21:41:58 2014 +0000 Update tests This updates tests due to Haddock Trac #271 fix and due to removal of TypeHoles as an extension from GHC. (cherry picked from commit 18e9417edcda21dd23edf675b41f46ab336d773f) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- a5257577bee6b4d35af1efc245f456e7a8a1cea8 html-test/ref/Extensions.html | 2 +- html-test/ref/Test.html | 2 +- html-test/src/Extensions.hs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/html-test/ref/Extensions.html b/html-test/ref/Extensions.html index 82fd732..382083c 100644 --- a/html-test/ref/Extensions.html +++ b/html-test/ref/Extensions.html @@ -47,7 +47,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Extensions.html");}; >ExtensionsTypeHolesExplicitForAll

      License(c) Simon Marlow 2002BSD-style Repository : ssh://git at git.haskell.org/haddock On branch : ghc-7.8 Link : http://git.haskell.org/haddock.git/commitdiff/8e9022080a6fad142404a8724b78f37ec670d3d8 >--------------------------------------------------------------- commit 8e9022080a6fad142404a8724b78f37ec670d3d8 Author: Dr. ERDI Gergo Date: Fri Jan 31 00:55:50 2014 +0800 Handle infix vs prefix names correctly everywhere, by explicitly specifying the context The basic idea is that "a" and "+" are either pretty-printed as "a" and "(+)" or "`a`" and "+" (cherry picked from commit 039b2346cd7a9998135636146ea234eb9cc0fbab) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 8e9022080a6fad142404a8724b78f37ec670d3d8 html-test/ref/Ticket75.html | 6 +-- src/Haddock/Backends/Xhtml.hs | 14 +++--- src/Haddock/Backends/Xhtml/Decl.hs | 32 +++++++------- src/Haddock/Backends/Xhtml/DocMarkup.hs | 4 +- src/Haddock/Backends/Xhtml/Names.hs | 72 ++++++++++++++++++------------- 5 files changed, 69 insertions(+), 59 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 8e9022080a6fad142404a8724b78f37ec670d3d8 From git at git.haskell.org Thu Jan 30 18:52:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 18:52:37 +0000 (UTC) Subject: [commit: haddock] ghc-7.8: Correct whitespace in ‘hidden’ test for <+> change (7e9c21e) Message-ID: <20140130185237.EFF622406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : ghc-7.8 Link : http://git.haskell.org/haddock.git/commitdiff/7e9c21e0c1f6ed224c326b9f5a6d8ada5ef2167a >--------------------------------------------------------------- commit 7e9c21e0c1f6ed224c326b9f5a6d8ada5ef2167a Author: Mateusz Kowalczyk Date: Thu Jan 30 17:21:50 2014 +0000 Correct whitespace in ?hidden? test for <+> change (cherry picked from commit 880b91ed0f2fe63c7d35a83ecebb3aa29c2ffc1d) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 7e9c21e0c1f6ed224c326b9f5a6d8ada5ef2167a html-test/ref/CrossPackageDocs.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/html-test/ref/CrossPackageDocs.html b/html-test/ref/CrossPackageDocs.html index 0bbc7a6..f0eff6d 100644 --- a/html-test/ref/CrossPackageDocs.html +++ b/html-test/ref/CrossPackageDocs.html @@ -52,9 +52,9 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html" >

    • class IsString a a where
      • class IsString a a where

        Repository : ssh://git at git.haskell.org/haddock On branch : ghc-7.8 Link : http://git.haskell.org/haddock.git/commitdiff/485b6324a2d49493e73218f8161a1a1614c8ed21 >--------------------------------------------------------------- commit 485b6324a2d49493e73218f8161a1a1614c8ed21 Author: Mateusz Kowalczyk Date: Wed Jan 29 20:37:10 2014 +0000 Fix @ code blocks In cases where we had some horizontal space before the closing ?@?, the parser would not accept the block as a code block and we'd get ugly output. (cherry picked from commit 7d2106e18f26a680d157ef943da2602e7199afa1) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 485b6324a2d49493e73218f8161a1a1614c8ed21 src/Haddock/Parser.hs | 1 + test/Haddock/ParserSpec.hs | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/src/Haddock/Parser.hs b/src/Haddock/Parser.hs index 6370eec..e9bed2a 100644 --- a/src/Haddock/Parser.hs +++ b/src/Haddock/Parser.hs @@ -365,6 +365,7 @@ codeblock d = where p isNewline c | isNewline && c == '@' = Nothing + | isNewline && isSpace c = Just isNewline | otherwise = Just $ c == '\n' hyperlink :: Parser (Doc a) diff --git a/test/Haddock/ParserSpec.hs b/test/Haddock/ParserSpec.hs index 9bca745..455a67f 100644 --- a/test/Haddock/ParserSpec.hs +++ b/test/Haddock/ParserSpec.hs @@ -410,6 +410,14 @@ spec = before initStaticOpts $ do , "@" ] `shouldParseTo` DocCodeBlock "foo\n@\nbar\n" + it "accepts horizontal space before the @" $ do + unlines [ " @" + , " foo" + , "" + , " bar" + , " @" + ] `shouldParseTo` DocCodeBlock " foo\n\n bar\n " + it "accepts unicode" $ do "@foo ?????? bar@" `shouldParseTo` DocCodeBlock "foo ?????? bar" From git at git.haskell.org Thu Jan 30 18:52:42 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 18:52:42 +0000 (UTC) Subject: [commit: haddock] ghc-7.8: <+>: Don't insert a space when concatenating empty nodes (38a443e) Message-ID: <20140130185242.184442406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/haddock On branch : ghc-7.8 Link : http://git.haskell.org/haddock.git/commitdiff/38a443eaa7bfa536234934c0f8b1bf269d60acad >--------------------------------------------------------------- commit 38a443eaa7bfa536234934c0f8b1bf269d60acad Author: Dr. ERDI Gergo Date: Fri Jan 31 00:15:01 2014 +0800 <+>: Don't insert a space when concatenating empty nodes (cherry picked from commit cf73b006faf95512b28c744ecfbdf47c044acb67) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 38a443eaa7bfa536234934c0f8b1bf269d60acad html-test/ref/A.html | 16 +-- html-test/ref/AdvanceTypes.html | 4 +- html-test/ref/B.html | 8 +- html-test/ref/Bug1.html | 8 +- html-test/ref/Bug6.html | 40 +++--- html-test/ref/Bug7.html | 16 +-- html-test/ref/Bug8.html | 4 +- html-test/ref/Bugs.html | 4 +- html-test/ref/DeprecatedClass.html | 16 +-- html-test/ref/DeprecatedData.html | 24 ++-- html-test/ref/DeprecatedNewtype.html | 16 +-- html-test/ref/DeprecatedRecord.html | 8 +- html-test/ref/GADTRecords.html | 12 +- html-test/ref/Hash.html | 14 +- html-test/ref/HiddenInstances.html | 16 +-- html-test/ref/HiddenInstancesB.html | 16 +-- html-test/ref/QuasiExpr.html | 8 +- html-test/ref/SpuriousSuperclassConstraints.html | 4 +- html-test/ref/Test.html | 166 +++++++++++----------- html-test/ref/Ticket253_2.html | 8 +- html-test/ref/Ticket61.html | 4 +- html-test/ref/TypeFamilies.html | 12 +- html-test/ref/TypeOperators.html | 24 ++-- src/Haddock/Backends/Xhtml/Utils.hs | 4 +- 24 files changed, 227 insertions(+), 225 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 38a443eaa7bfa536234934c0f8b1bf269d60acad From git at git.haskell.org Thu Jan 30 22:28:46 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 22:28:46 +0000 (UTC) Subject: [commit: ghc-tarballs] branch 'ghc-7.8' created Message-ID: <20140130222846.C0D6F2406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc-tarballs New branch : ghc-7.8 Referencing: f190b3ce329422e13cbe1b5dad030058ca4bdda7 From git at git.haskell.org Thu Jan 30 22:50:29 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 22:50:29 +0000 (UTC) Subject: [commit: ghc] master: Fix some edge cases in 8f8bd88c (#7134) (fda9beb) Message-ID: <20140130225030.184D82406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/fda9bebc61cab7235123b50dc70dbf30f0140dad/ghc >--------------------------------------------------------------- commit fda9bebc61cab7235123b50dc70dbf30f0140dad Author: Kyrill Briantsev Date: Thu Jan 30 16:49:57 2014 -0600 Fix some edge cases in 8f8bd88c (#7134) Signed-off-by: Austin Seipp >--------------------------------------------------------------- fda9bebc61cab7235123b50dc70dbf30f0140dad rts/Linker.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/rts/Linker.c b/rts/Linker.c index bdd4746..9bb377c 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -3491,9 +3491,9 @@ allocateImageAndTrampolines ( /* For 32-bit case we don't need this, hence we use macro PEi386_IMAGE_OFFSET, which equals to 4 for 64-bit case and 0 for 32-bit case. */ /* We allocate trampolines area for all symbols right behind - image data, aligned on pointer size. */ - size = ((PEi386_IMAGE_OFFSET + size + sizeof(void*)) & ~sizeof(void*)) - + hdr.NumberOfSymbols * sizeof(void*); + image data, aligned on 16. */ + size = ((PEi386_IMAGE_OFFSET + size + 0xf) & ~0xf) + + hdr.NumberOfSymbols * sizeof(SymbolExtra); #endif image = VirtualAlloc(NULL, size, MEM_RESERVE | MEM_COMMIT, @@ -4146,8 +4146,8 @@ ocGetNames_PEi386 ( ObjectCode* oc ) static int ocAllocateSymbolExtras_PEi386 ( ObjectCode* oc ) { - /* Remember allocated memory starts at -4 offset from image pointer */ - oc->symbol_extras = (SymbolExtra*)(oc->image - 4 + ((4 + oc->fileSize + sizeof(void*)) & ~sizeof(void*))); + oc->symbol_extras = (SymbolExtra*)(oc->image - PEi386_IMAGE_OFFSET + + ((PEi386_IMAGE_OFFSET + oc->fileSize + 0xf) & ~0xf)); oc->first_symbol_extra = 0; oc->n_symbol_extras = ((COFF_header*)oc->image)->NumberOfSymbols; @@ -4172,8 +4172,13 @@ makeSymbolExtra_PEi386( ObjectCode* oc, size_t s, char* symbol ) extra->addr = (uint64_t)s; memcpy(extra->jumpIsland, jmp, 6); - ghciInsertSymbolTable(oc->fileName, symhash, symbol, extra->jumpIsland, - HS_BOOL_FALSE, oc); + /* DLL-imported symbols are inserted here. + Others are inserted in ocGetNames_PEi386. + */ + if(lookupStrHashTable(symhash, symbol) == NULL) { + ghciInsertSymbolTable(oc->fileName, symhash, symbol, extra->jumpIsland, + HS_BOOL_FALSE, oc); + } oc->first_symbol_extra++; From git at git.haskell.org Thu Jan 30 22:51:22 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Thu, 30 Jan 2014 22:51:22 +0000 (UTC) Subject: [commit: ghc] ghc-7.8: Fix some edge cases in 8f8bd88c (#7134) (65d05d7) Message-ID: <20140130225122.EA2562406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : ghc-7.8 Link : http://ghc.haskell.org/trac/ghc/changeset/65d05d7334fb765db8d01fc1097225f9a9049521/ghc >--------------------------------------------------------------- commit 65d05d7334fb765db8d01fc1097225f9a9049521 Author: Kyrill Briantsev Date: Thu Jan 30 16:49:57 2014 -0600 Fix some edge cases in 8f8bd88c (#7134) Signed-off-by: Austin Seipp (cherry picked from commit fda9bebc61cab7235123b50dc70dbf30f0140dad) >--------------------------------------------------------------- 65d05d7334fb765db8d01fc1097225f9a9049521 rts/Linker.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/rts/Linker.c b/rts/Linker.c index bdd4746..9bb377c 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -3491,9 +3491,9 @@ allocateImageAndTrampolines ( /* For 32-bit case we don't need this, hence we use macro PEi386_IMAGE_OFFSET, which equals to 4 for 64-bit case and 0 for 32-bit case. */ /* We allocate trampolines area for all symbols right behind - image data, aligned on pointer size. */ - size = ((PEi386_IMAGE_OFFSET + size + sizeof(void*)) & ~sizeof(void*)) - + hdr.NumberOfSymbols * sizeof(void*); + image data, aligned on 16. */ + size = ((PEi386_IMAGE_OFFSET + size + 0xf) & ~0xf) + + hdr.NumberOfSymbols * sizeof(SymbolExtra); #endif image = VirtualAlloc(NULL, size, MEM_RESERVE | MEM_COMMIT, @@ -4146,8 +4146,8 @@ ocGetNames_PEi386 ( ObjectCode* oc ) static int ocAllocateSymbolExtras_PEi386 ( ObjectCode* oc ) { - /* Remember allocated memory starts at -4 offset from image pointer */ - oc->symbol_extras = (SymbolExtra*)(oc->image - 4 + ((4 + oc->fileSize + sizeof(void*)) & ~sizeof(void*))); + oc->symbol_extras = (SymbolExtra*)(oc->image - PEi386_IMAGE_OFFSET + + ((PEi386_IMAGE_OFFSET + oc->fileSize + 0xf) & ~0xf)); oc->first_symbol_extra = 0; oc->n_symbol_extras = ((COFF_header*)oc->image)->NumberOfSymbols; @@ -4172,8 +4172,13 @@ makeSymbolExtra_PEi386( ObjectCode* oc, size_t s, char* symbol ) extra->addr = (uint64_t)s; memcpy(extra->jumpIsland, jmp, 6); - ghciInsertSymbolTable(oc->fileName, symhash, symbol, extra->jumpIsland, - HS_BOOL_FALSE, oc); + /* DLL-imported symbols are inserted here. + Others are inserted in ocGetNames_PEi386. + */ + if(lookupStrHashTable(symhash, symbol) == NULL) { + ghciInsertSymbolTable(oc->fileName, symhash, symbol, extra->jumpIsland, + HS_BOOL_FALSE, oc); + } oc->first_symbol_extra++; From git at git.haskell.org Fri Jan 31 18:32:59 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 31 Jan 2014 18:32:59 +0000 (UTC) Subject: [commit: packages/integer-gmp] master: Improve documentation of `integer-gmp` (9744cfb) Message-ID: <20140131183259.BBF752406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/integer-gmp On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/9744cfbd3465676c801aaef26ca26710997731a4/integer-gmp >--------------------------------------------------------------- commit 9744cfbd3465676c801aaef26ca26710997731a4 Author: Herbert Valerio Riedel Date: Fri Jan 31 18:37:28 2014 +0100 Improve documentation of `integer-gmp` Among other things, this unhides `GHC.Integer` and re-groups the export list. Moreover, the internal representation of `Integer` is explained a bit more, and `/Since: 0.5.1.0/` annotations have been added. Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 9744cfbd3465676c801aaef26ca26710997731a4 GHC/Integer.lhs | 42 +++++++++++++++------ GHC/Integer/GMP/Internals.hs | 9 +++++ GHC/Integer/Type.lhs | 85 ++++++++++++++++++++++++++++++++---------- integer-gmp.cabal | 11 +++++- 4 files changed, 115 insertions(+), 32 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 9744cfbd3465676c801aaef26ca26710997731a4 From git at git.haskell.org Fri Jan 31 21:34:05 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 31 Jan 2014 21:34:05 +0000 (UTC) Subject: [commit: ghc] master: Update to latest Cabal 1.18 branch tip (5671ad6) Message-ID: <20140131213405.2CD342406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/5671ad66b8c938939a44c883002caa4e13be098c/ghc >--------------------------------------------------------------- commit 5671ad66b8c938939a44c883002caa4e13be098c Author: Herbert Valerio Riedel Date: Fri Jan 31 22:30:00 2014 +0100 Update to latest Cabal 1.18 branch tip This update pulls in the fix for #8266 (recommended add-on reading for those interested in OSX linker peculiarities: https://github.com/haskell/cabal/issues/1660#issuecomment-33701508 ) Signed-off-by: Herbert Valerio Riedel >--------------------------------------------------------------- 5671ad66b8c938939a44c883002caa4e13be098c libraries/Cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/Cabal b/libraries/Cabal index e97aa58..ee6d1cf 160000 --- a/libraries/Cabal +++ b/libraries/Cabal @@ -1 +1 @@ -Subproject commit e97aa58f68519db54de1c62339459ebb88aed069 +Subproject commit ee6d1cf5cefe18f6d74ed379af21d92f8b0ae92d From git at git.haskell.org Fri Jan 31 23:27:35 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 31 Jan 2014 23:27:35 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Add travis-ci config for 1.18 branch (ae3c37e) Message-ID: <20140131232735.51A772406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/ae3c37ec38afa358674a58d8684fdfcffd3ec6b2 >--------------------------------------------------------------- commit ae3c37ec38afa358674a58d8684fdfcffd3ec6b2 Author: Johan Tibell Date: Thu Jan 16 07:35:43 2014 -0800 Add travis-ci config for 1.18 branch >--------------------------------------------------------------- ae3c37ec38afa358674a58d8684fdfcffd3ec6b2 .travis.yml | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..1464254 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,44 @@ +# NB: don't set `language: haskell` here + +# The following enables several GHC versions to be tested; often it's enough to test only against the last release in a major GHC version. Feel free to omit lines listings versions you don't need/want testing for. +env: + - GHCVER=7.0.4 + - GHCVER=7.4.2 + - GHCVER=7.6.3 + - GHCVER=head + +# Note: the distinction between `before_install` and `install` is not important. +before_install: + - sudo add-apt-repository -y ppa:hvr/ghc + - sudo apt-get update + - sudo apt-get install cabal-install-1.18 ghc-$GHCVER happy + - export PATH=/opt/ghc/$GHCVER/bin:$PATH + - export CABAL_TEST_RUNNING_ON_TRAVIS=1 + +install: + - sudo /opt/ghc/$GHCVER/bin/ghc-pkg recache + - cabal-1.18 update + - cd Cabal + - cabal-1.18 install --only-dependencies --enable-tests --enable-benchmarks + +# Here starts the actual work to be performed for the package under test; any command which exits with a non-zero exit code causes the build to fail. +script: + - cabal-1.18 configure --enable-tests --enable-benchmarks -v2 # -v2 provides useful information for debugging + - cabal-1.18 build # this builds all libraries and executables (including tests/benchmarks) + - cabal-1.18 test + - cabal-1.18 check + - cabal-1.18 sdist # tests that a source-distribution can be generated + +# The following scriptlet checks that the resulting source distribution can be built & installed + - export SRC_TGZ=$(cabal-1.18 info . | awk '{print $2 ".tar.gz";exit}') ; + cd dist/; + if [ -f "$SRC_TGZ" ]; then + cabal-1.18 install "$SRC_TGZ"; + else + echo "expected '$SRC_TGZ' not found"; + exit 1; + fi + +matrix: + allow_failures: + - env: GHCVER=head From git at git.haskell.org Fri Jan 31 23:27:37 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 31 Jan 2014 23:27:37 +0000 (UTC) Subject: [commit: packages/Cabal] ghc-head: Don't use -dylib-install-name on OS X with GHC > 7.8. (ee6d1cf) Message-ID: <20140131232737.5DF792406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/Cabal On branch : ghc-head Link : http://git.haskell.org/packages/Cabal.git/commitdiff/ee6d1cf5cefe18f6d74ed379af21d92f8b0ae92d >--------------------------------------------------------------- commit ee6d1cf5cefe18f6d74ed379af21d92f8b0ae92d Author: Mikhail Glushenkov Date: Thu Jan 30 21:00:10 2014 +0100 Don't use -dylib-install-name on OS X with GHC > 7.8. Fixes #1660. Based on a patch by Christiaan Baaij. >--------------------------------------------------------------- ee6d1cf5cefe18f6d74ed379af21d92f8b0ae92d Cabal/Distribution/Simple/GHC.hs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Cabal/Distribution/Simple/GHC.hs b/Cabal/Distribution/Simple/GHC.hs index c7ea633..3159545 100644 --- a/Cabal/Distribution/Simple/GHC.hs +++ b/Cabal/Distribution/Simple/GHC.hs @@ -119,7 +119,7 @@ import Distribution.Simple.Compiler import Distribution.Version ( Version(..), anyVersion, orLaterVersion ) import Distribution.System - ( OS(..), buildOS ) + ( Platform(..), OS(..), buildOS, platformFromTriple ) import Distribution.Verbosity import Distribution.Text ( display, simpleParse ) @@ -140,7 +140,6 @@ import System.FilePath ( (), (<.>), takeExtension, import System.IO (hClose, hPutStrLn) import System.Environment (getEnv) import Distribution.Compat.Exception (catchExit, catchIO) -import Distribution.System (Platform, platformFromTriple) -- ----------------------------------------------------------------------------- @@ -688,6 +687,7 @@ buildOrReplLib forRepl verbosity pkg_descr lbi lib clbi = do ifReplLib = when forRepl comp = compiler lbi ghcVersion = compilerVersion comp + (Platform _hostArch hostOS) = hostPlatform lbi (ghcProg, _) <- requireProgram verbosity ghcProgram (withPrograms lbi) let runGhcProg = runGHC verbosity ghcProg @@ -868,8 +868,10 @@ buildOrReplLib forRepl verbosity pkg_descr lbi lib clbi = do ghcOptInputFiles = dynamicObjectFiles, ghcOptOutputFile = toFlag sharedLibFilePath, -- For dynamic libs, Mac OS/X needs to know the install location - -- at build time. - ghcOptDylibName = if buildOS == OSX + -- at build time. This only applies to GHC < 7.8 - see the + -- discussion in #1660. + ghcOptDylibName = if (hostOS == OSX + && ghcVersion < Version [7,8] []) then toFlag sharedLibInstallPath else mempty, ghcOptPackageName = toFlag pkgid, From git at git.haskell.org Fri Jan 31 23:32:12 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 31 Jan 2014 23:32:12 +0000 (UTC) Subject: [commit: ghc] master: No need to remove testsuite/.git (71a412c) Message-ID: <20140131233212.9DEE92406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/71a412c2aaf798dad769d7d39f3914c15b34950a/ghc >--------------------------------------------------------------- commit 71a412c2aaf798dad769d7d39f3914c15b34950a Author: Joachim Breitner Date: Fri Jan 31 23:31:00 2014 +0000 No need to remove testsuite/.git as there is no testsuite/.git any more. >--------------------------------------------------------------- 71a412c2aaf798dad769d7d39f3914c15b34950a ghc.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/ghc.mk b/ghc.mk index 4bd47c6..0d30554 100644 --- a/ghc.mk +++ b/ghc.mk @@ -1153,7 +1153,6 @@ sdist-testsuite-prep : mkdir $(SRC_DIST_TESTSUITE_DIR) mkdir $(SRC_DIST_TESTSUITE_DIR)/testsuite cd $(SRC_DIST_TESTSUITE_DIR)/testsuite && lndir $(TOP)/testsuite - $(call removeTrees,$(SRC_DIST_TESTSUITE_DIR)/testsuite/.git) .PHONY: sdist sdist : sdist-ghc-prep sdist-windows-tarballs-prep sdist-testsuite-prep From git at git.haskell.org Fri Jan 31 23:32:14 2014 From: git at git.haskell.org (git at git.haskell.org) Date: Fri, 31 Jan 2014 23:32:14 +0000 (UTC) Subject: [commit: ghc] master: Individual sdist-foo targets (50e4d40) Message-ID: <20140131233215.095C72406B@ghc.haskell.org> Repository : ssh://git at git.haskell.org/ghc On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/50e4d40f88c3eee41384efacfd83f73305e2210d/ghc >--------------------------------------------------------------- commit 50e4d40f88c3eee41384efacfd83f73305e2210d Author: Joachim Breitner Date: Fri Jan 31 23:31:30 2014 +0000 Individual sdist-foo targets so that one can build a source distribution without downloading the windows tarballs. >--------------------------------------------------------------- 50e4d40f88c3eee41384efacfd83f73305e2210d ghc.mk | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ghc.mk b/ghc.mk index 0d30554..6628878 100644 --- a/ghc.mk +++ b/ghc.mk @@ -1154,12 +1154,22 @@ sdist-testsuite-prep : mkdir $(SRC_DIST_TESTSUITE_DIR)/testsuite cd $(SRC_DIST_TESTSUITE_DIR)/testsuite && lndir $(TOP)/testsuite -.PHONY: sdist -sdist : sdist-ghc-prep sdist-windows-tarballs-prep sdist-testsuite-prep +.PHONY: sdist-ghc +sdist-ghc: sdist-ghc-prep cd $(SRC_DIST_GHC_ROOT) && "$(TAR_CMD)" chf - $(SRC_DIST_BASE_NAME) 2> src_ghc_log | bzip2 > $(TOP)/$(SRC_DIST_GHC_TARBALL) + +.PHONY: sdist-windows-tarballs +sdist-windows-tarballs: sdist-windows-tarballs-prep cd $(SRC_DIST_WINDOWS_TARBALLS_ROOT) && "$(TAR_CMD)" chf - $(SRC_DIST_BASE_NAME) 2> windows_extra_src_ghc_log | bzip2 > $(TOP)/$(SRC_DIST_WINDOWS_TARBALLS_TARBALL) + +.PHONY: sdist-testsuite +sdist-testsuite: sdist-testsuite-prep cd $(SRC_DIST_TESTSUITE_ROOT) && "$(TAR_CMD)" chf - $(SRC_DIST_BASE_NAME) 2> testsuite_log | bzip2 > $(TOP)/$(SRC_DIST_TESTSUITE_TARBALL) + +.PHONY: sdist +sdist : sdist-ghc sdist-windows-tarballs sdist-testsuite + sdist-manifest : $(SRC_DIST_GHC_TARBALL) tar tjf $(SRC_DIST_GHC_TARBALL) | sed "s|^ghc-$(ProjectVersion)/||" | sort >sdist-manifest