Fri Jul 17 21:46:59 BST 2009  Max Bolingbroke <batterseapower@hotmail.com>
  * Tests for basic TupleSections

Fri Jul 17 22:24:43 BST 2009  Max Bolingbroke <batterseapower@hotmail.com>
  * Tests for unboxed tuple sections

Fri Jul 17 22:42:31 BST 2009  Max Bolingbroke <batterseapower@hotmail.com>
  * Tweak tests for unboxed tuple sections

New patches:

[Tests for basic TupleSections
Max Bolingbroke <batterseapower@hotmail.com>**20090717204659
 Ignore-this: 7bf3a8e08b6b654f5dd9a9fba31f9cbe
] {
hunk ./tests/ghc-regress/rename/should_fail/all.T 68
                   'RnFail055_aux.hi',  'RnFail055_aux.o']),
      multimod_compile_fail,
      ['RnFail055','-v0'])
+test('rnfail056', if_compiler_lt('ghc', '6.11', expect_fail), compile_fail, [''])
 
 test('rn_dup', normal, compile_fail, [''])
 test('T2310', normal, compile_fail, [''])
addfile ./tests/ghc-regress/rename/should_fail/rnfail056.hs
hunk ./tests/ghc-regress/rename/should_fail/rnfail056.hs 1
+-- TupleSections not enabled
+
+module Foo where
+
+foo = (1,)
addfile ./tests/ghc-regress/rename/should_fail/rnfail056.stderr
hunk ./tests/ghc-regress/rename/should_fail/rnfail056.stderr 1
+
+rnfail056.hs:5:6: Illegal tuple section: use -XTupleSections
hunk ./tests/ghc-regress/typecheck/should_fail/all.T 203
 test('tcfail202', normal, compile_fail, [''])
 test('tcfail203', expect_broken(2806), compile_fail, [''])
 test('tcfail204', normal, compile_fail, [''])
+test('tcfail206', if_compiler_lt('ghc', '6.11', expect_fail), compile_fail, [''])
 
 test('T1899', normal, compile_fail, [''])
 test('T2126', normal, compile_fail, [''])
addfile ./tests/ghc-regress/typecheck/should_fail/tcfail206.hs
hunk ./tests/ghc-regress/typecheck/should_fail/tcfail206.hs 1
-
+{-# LANGUAGE TupleSections #-}
+module Main where
+
+a :: Bool -> (Int, Bool)
+a = ( , True)
+
+b :: Int -> Bool -> (Int, Bool)
+b = (1, )
+
+c :: a -> (a, Bool)
+c = (True || False, )
+
+main = return ()
addfile ./tests/ghc-regress/typecheck/should_fail/tcfail206.stderr
hunk ./tests/ghc-regress/typecheck/should_fail/tcfail206.stderr 1
+
+tcfail206.hs:5:4:
+    Couldn't match expected type `Int' against inferred type `Bool'
+      Expected type: Bool -> (Int, Bool)
+      Inferred type: Bool -> (Bool, Bool)
+    In the expression: (, True)
+    In the definition of `a': a = (, True)
+
+tcfail206.hs:8:4:
+    Couldn't match expected type `Bool -> (Int, Bool)'
+           against inferred type `(t, Int)'
+      Expected type: Int -> Bool -> (Int, Bool)
+      Inferred type: Int -> (t, Int)
+    In the expression: (1,)
+    In the definition of `b': b = (1,)
+
+tcfail206.hs:11:4:
+    Couldn't match expected type `a' against inferred type `Bool'
+      `a' is a rigid type variable bound by
+          the type signature for `c' at tcfail206.hs:10:5
+      Expected type: a -> (a, Bool)
+      Inferred type: a -> (Bool, a)
+    In the expression: (True || False,)
+    In the definition of `c': c = (True || False,)
hunk ./tests/ghc-regress/typecheck/should_run/all.T 67
 
 test('tcrun039', only_compiler_types(['ghc']), compile_and_run, [''])
 test('tcrun040', normal, compile_and_run, [''])
+test('tcrun041', if_compiler_lt('ghc', '6.11', expect_fail), compile_and_run, [''])
+test('tcrun042', if_compiler_lt('ghc', '6.11', expect_fail), compile_and_run, [''])
 
 test('church', normal, compile_and_run, [''])
 test('testeq2', normal, compile_and_run, [''])
addfile ./tests/ghc-regress/typecheck/should_run/tcrun041.hs
hunk ./tests/ghc-regress/typecheck/should_run/tcrun041.hs 1
-
+{-# LANGUAGE TupleSections #-}
+module Main where
+
+a :: Int -> (Int, Bool)
+a = ( , True)
+
+b :: Bool -> (Int, Bool)
+b = (1, )
+
+c :: a -> (a, Bool)
+c = (, True || False)
+
+d = (,1,)
+
+main = print (a 1, b False, c "Hello", c 1337, d "Yeah" "Baby")
addfile ./tests/ghc-regress/typecheck/should_run/tcrun041.stdout
hunk ./tests/ghc-regress/typecheck/should_run/tcrun041.stdout 1
+((1,True),(1,False),("Hello",True),(1337,True),("Yeah",1,"Baby"))
addfile ./tests/ghc-regress/typecheck/should_run/tcrun042.hs
hunk ./tests/ghc-regress/typecheck/should_run/tcrun042.hs 1
-
+{-# LANGUAGE TupleSections, RankNTypes, ImpredicativeTypes #-}
+module Main where
+
+e :: a -> (forall b. b -> b -> b) -> (a, String, forall c. c -> c -> c)
+e = (,"Hello" ++ "World",)
+
+dropFunction :: (a, String, forall c. c -> c -> c) -> (a, String, Int)
+dropFunction (x, y, z) = (x, y, z 10 20)
+
+main = print (dropFunction $ e "Meh" (flip const), dropFunction $ e 10 const)
addfile ./tests/ghc-regress/typecheck/should_run/tcrun042.stdout
hunk ./tests/ghc-regress/typecheck/should_run/tcrun042.stdout 1
+(("Meh","HelloWorld",20),(10,"HelloWorld",10))
}
[Tests for unboxed tuple sections
Max Bolingbroke <batterseapower@hotmail.com>**20090717212443
 Ignore-this: 3a31b5c69acb53e3f543c8fb92aca38e
] {
hunk ./tests/ghc-regress/rename/should_fail/rnfail056.hs 2
 -- TupleSections not enabled
+{-# LANGUAGE UnboxedTuples #-}
 
 module Foo where
 
hunk ./tests/ghc-regress/rename/should_fail/rnfail056.hs 7
 foo = (1,)
+
+bar = (# 1, #)
hunk ./tests/ghc-regress/rename/should_fail/rnfail056.stderr 2
 
-rnfail056.hs:5:6: Illegal tuple section: use -XTupleSections
+rnfail056.hs:6:6: Illegal tuple section: use -XTupleSections
+
+rnfail056.hs:8:6: Illegal tuple section: use -XTupleSections
hunk ./tests/ghc-regress/typecheck/should_fail/tcfail206.hs 1
-{-# LANGUAGE TupleSections #-}
+{-# LANGUAGE TupleSections, UnboxedTuples #-}
 module Main where
 
 a :: Bool -> (Int, Bool)
hunk ./tests/ghc-regress/typecheck/should_fail/tcfail206.hs 13
 c :: a -> (a, Bool)
 c = (True || False, )
 
+d :: Bool -> (#Int, Bool#)
+d = (# , True#)
+
+e :: Int -> Bool -> (#Int, Bool#)
+e = (#1, #)
+
+f :: a -> (#a, Bool#)
+f = (#True || False, #)
+
 main = return ()
hunk ./tests/ghc-regress/typecheck/should_fail/tcfail206.stderr 26
     In the expression: (True || False,)
     In the definition of `c': c = (True || False,)
 
+tcfail206.hs:14:4:
+    Couldn't match expected type `Int' against inferred type `Bool'
+      Expected type: Bool -> (# Int, Bool #)
+      Inferred type: Bool -> (# Bool, Bool #)
+    In the expression: (# , True #)
+    In the definition of `d': d = (# , True #)
+
+tcfail206.hs:17:4:
+    Couldn't match expected type `Bool -> (# Int, Bool #)'
+           against inferred type `(# t, Int #)'
+      Expected type: Int -> Bool -> (# Int, Bool #)
+      Inferred type: Int -> (# t, Int #)
+    In the expression: (# 1, #)
+    In the definition of `e': e = (# 1, #)
+
+tcfail206.hs:20:4:
+    Couldn't match expected type `a' against inferred type `Bool'
+      `a' is a rigid type variable bound by
+          the type signature for `f' at tcfail206.hs:19:5
+      Expected type: a -> (# a, Bool #)
+      Inferred type: a -> (# Bool, a #)
+    In the expression: (# True || False, #)
+    In the definition of `f': f = (# True || False, #)
+
hunk ./tests/ghc-regress/typecheck/should_run/tcrun041.hs 1
-{-# LANGUAGE TupleSections #-}
+{-# LANGUAGE TupleSections, UnboxedTuples #-}
 module Main where
 
 a :: Int -> (Int, Bool)
hunk ./tests/ghc-regress/typecheck/should_run/tcrun041.hs 14
 c = (, True || False)
 
 d = (,1,)
+
+
+e = (# , True #)
+
+f = (# 1, #)
+
+g = (# , True || False #)
+
+h = (# ,1, #)
+
+main = do
+    print (a 1, b False, c "Hello", c 1337, d "Yeah" "Baby")
+    case e 1 of { (# x1, x2 #) ->
+    case f False of { (# x3, x4 #) ->
+    case g "Hello" of { (# x5, x6 #) ->
+    case g 1337 of { (# x7, x8 #) ->
+    case h "Yeah" "Baby" of { (# x9, x10, x11 #) ->
+    print (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) }}}}}
+
 
hunk ./tests/ghc-regress/typecheck/should_run/tcrun041.hs 34
-main = print (a 1, b False, c "Hello", c 1337, d "Yeah" "Baby")
hunk ./tests/ghc-regress/typecheck/should_run/tcrun041.stdout 2
 ((1,True),(1,False),("Hello",True),(1337,True),("Yeah",1,"Baby"))
+(1,True,1,False,"Hello",True,1337,True,"Yeah",1,"Baby")
}
[Tweak tests for unboxed tuple sections
Max Bolingbroke <batterseapower@hotmail.com>**20090717214231
 Ignore-this: 6abc5631f1028b628f155f0a20ece4da
] {
hunk ./tests/ghc-regress/typecheck/should_run/all.T 67
 
 test('tcrun039', only_compiler_types(['ghc']), compile_and_run, [''])
 test('tcrun040', normal, compile_and_run, [''])
-test('tcrun041', if_compiler_lt('ghc', '6.11', expect_fail), compile_and_run, [''])
+test('tcrun041', compose(omit_ways(['ghci']), if_compiler_lt('ghc', '6.11', expect_fail)), compile_and_run, [''])
 test('tcrun042', if_compiler_lt('ghc', '6.11', expect_fail), compile_and_run, [''])
 
 test('church', normal, compile_and_run, [''])
hunk ./tests/ghc-regress/typecheck/should_run/tcrun041.hs 24
 
 h = (# ,1, #)
 
+
+unchanged :: a -> (# Int #)
+unchanged _binding = (# #) 1
+
+
 main = do
     print (a 1, b False, c "Hello", c 1337, d "Yeah" "Baby")
     case e 1 of { (# x1, x2 #) ->
}

Context:

[Add test for Trac #3346
simonpj@microsoft.com**20090717155827
 Ignore-this: 52203cff9520f0f502612cf5880e660c
] 
[accept output after changes to dfun naming
Simon Marlow <marlowsd@gmail.com>**20090716144125
 Ignore-this: 295a3d8c86c533edb40d077a1fbdf2e5
] 
[Update mode001
Ian Lynagh <igloo@earth.li>**20090716000721
 The earlier of --help and --version now determines the behaviour
] 
[add utf8_bom codec
Simon Marlow <marlowsd@gmail.com>**20090715131505
 Ignore-this: 27a198bd9ed3112005c43551109acd58
] 
[Test derived Foldable instance
m.niloc@gmail.com**20090711130821
 Ignore-this: 830f4b824bd469df0de947f32b4f9c1c
] 
[Add a test for #1074
Ian Lynagh <igloo@earth.li>**20090711191937] 
[Add a test for #1792
Ian Lynagh <igloo@earth.li>**20090711191508] 
[TFs: Added T2203b
Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20090710064638
 Ignore-this: 8d0c3101f03a76b2fd13e1032aefeffe
] 
[TFs: fixed should_compile/Simple8 & wibbles
Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20090710035536
 Ignore-this: 66b4c2ad6a5f594f2fd6fcf51be78d6a
] 
[T3016: skip_if_fast, and omit optc too.
Simon Marlow <marlowsd@gmail.com>**20090709144504
 Ignore-this: 26d695f84bf0393da3f1e1862140384f
] 
[disable T3016(profc), gcc takes ages
Simon Marlow <marlowsd@gmail.com>**20090709104147
 Ignore-this: 4accafb20b11f18bb389be86aa84a331
] 
[Tests for unused imports
simonpj@microsoft.com**20090706111329
 Ignore-this: 477db02945a12e468d0adc9181ece35d
] 
[TFs: T2677
Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20090707054749
 Ignore-this: 8ca0fd55918fc3b5a7cd2b7407b7195a
] 
[Update cabal01 test for Cabal change
Ian Lynagh <igloo@earth.li>**20090705194639] 
[Make changes to -fwarn-unused-do-bind and -fwarn-wrong-do-bind suggested by SPJ
Max Bolingbroke <batterseapower@hotmail.com>**20090702150957
 Ignore-this: a79f826df7152b7b5a253a05f90d4128
] 
[Support for -fwarn-unused-do-bind and -fwarn-wrong-do-bind, as per #3263
Max Bolingbroke <batterseapower@hotmail.com>**20090701200441
 Ignore-this: b762c27276c3e1e3aff614640f27903d
] 
[Test Trac #3342
simonpj@microsoft.com**20090702124700
 Ignore-this: 3d47a4e0c60d0ad4db266869cdb74ec9
] 
[Track error message change
simonpj@microsoft.com**20090702095512
 Ignore-this: 47db428ab8f9a6e2f0903fc84c1d547b
] 
[NonLinearSigErr is actually OK
simonpj@microsoft.com**20090702095452
 Ignore-this: ef3db790608ce2d9b4a26cbc450b93c1
] 
[Track change in record syntax for GADTs
simonpj@microsoft.com**20090702095341
 Ignore-this: f566b1130a4dff0a81d92a262d794d
] 
[TFs: nullary families are ok
Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20090702093629
 Ignore-this: ef5783432881e51f4f88b806aaacc1cf
] 
[add readwrite003 (from bug #679)
Simon Marlow <marlowsd@gmail.com>**20090701104449
 Ignore-this: 657cea9c9506a5f961877cdb77313ab7
] 
[Remove hacky GCC setting
Simon Marlow <marlowsd@gmail.com>**20090626140827
 Ignore-this: 698a64c4f09be46340d04aeb0f9be8d
 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)
] 
[accept output after fixes to FFI declaration pretty-printing
Simon Marlow <marlowsd@gmail.com>**20090626103342
 Ignore-this: 34d49ce46f4fac185e110ae6c27e8c35
] 
[add test for #3319
Simon Marlow <marlowsd@gmail.com>**20090626103159
 Ignore-this: 7b77c0bb4137b9174e76c6c5aa9a9bd4
] 
[TAG 2009-06-25
Ian Lynagh <igloo@earth.li>**20090625160429] 
Patch bundle hash:
09befce4606de2050e74e46eb33e5ffffcda9eca
