[project @ 1997-07-26 23:33:04 by sof]
authorsof <unknown>
Sat, 26 Jul 1997 23:33:57 +0000 (23:33 +0000)
committersof <unknown>
Sat, 26 Jul 1997 23:33:57 +0000 (23:33 +0000)
64 files changed:
ghc/tests/rename/Makefile [new file with mode: 0644]
ghc/tests/rename/should_compile/Int10.hi [new file with mode: 0644]
ghc/tests/rename/should_compile/Makefile [new file with mode: 0644]
ghc/tests/rename/should_compile/Rn016.hi [new file with mode: 0644]
ghc/tests/rename/should_compile/Rn017.hi [new file with mode: 0644]
ghc/tests/rename/should_compile/rn003.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn003.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn005.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn005.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn006.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn006.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn009.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn009.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn010.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn010.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn011.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn011.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn012.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn012.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn013.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn013.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn016.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn016.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn017.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn017.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn018.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn019.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn020.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn022.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn022.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/rn023.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/rn024.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/timing001.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/timing001.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/timing002.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/timing002.stderr [new file with mode: 0644]
ghc/tests/rename/should_compile/timing003.hs [new file with mode: 0644]
ghc/tests/rename/should_compile/timing003.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/Makefile [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail001.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail001.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail002.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail002.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail003.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail003.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail004.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail004.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail005.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail007.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail007.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail008.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail008.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail009.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail009.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail010.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail010.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail011.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail011.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail012.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail012.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail013.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail013.stderr [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail014.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail014.stderr [new file with mode: 0644]

diff --git a/ghc/tests/rename/Makefile b/ghc/tests/rename/Makefile
new file mode 100644 (file)
index 0000000..6d5951c
--- /dev/null
@@ -0,0 +1,8 @@
+TOP = ..
+include $(TOP)/mk/boilerplate.mk
+
+SUBDIRS = should_fail should_compile
+
+include $(TOP)/mk/target.mk
+
+
diff --git a/ghc/tests/rename/should_compile/Int10.hi b/ghc/tests/rename/should_compile/Int10.hi
new file mode 100644 (file)
index 0000000..0a8d000
--- /dev/null
@@ -0,0 +1,14 @@
+_interface_ Int10 1
+_exports_
+Int10 T1(C1) T2(T2C1 T2C2) T3(T3C1 T3C2 T3C3) T4(T4C1 T4C2 T4C3 T4C4) T5(T5C1 T5C2 T5C3 T5C4 T5C5) T6(T6C6) T7(T7C6 T7C7) ;
+_declarations_
+1 data T1 a = C1 a;
+1 data T2 a b = T2C1 a | T2C2 b ;
+1 data T3 a b c = T3C1 a | T3C2 b | T3C3 c ;
+1 data T4 a b c d = T4C1 a | T4C2 b | T4C3 c | T4C4 d ;
+1 data T5 a b c d e = T5C1 a | T5C2 b | T5C3 c | T5C4 d | T5C5 e ;
+1 data T6 a = T6C6 a ;
+1 data T7 a b = T7C6 a | T7C7 b ;
+1 data T8 a b c = T8C1 a | T8C2 b | T8C3 c ;
+1 data T9 a b c d = T9C1 a | T9C2 b | T9C3 c | T9C4 d ;
+1 data T10 a b c d e = T10C1 a | T10C2 b | T10C3 c | T10C4 d | T10C5 e ;
diff --git a/ghc/tests/rename/should_compile/Makefile b/ghc/tests/rename/should_compile/Makefile
new file mode 100644 (file)
index 0000000..e1bca8d
--- /dev/null
@@ -0,0 +1,18 @@
+TOP = ../../../..
+include $(TOP)/mk/boilerplate.mk
+
+HS_SRCS = $(wildcard *.hs)
+
+SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0
+HC_OPTS += -noC -dcore-lint
+
+rn017_HC_OPTS = -hi
+
+%.o : %.hs
+       $(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@
+
+all :: $(HS_OBJS)
+
+include $(TOP)/mk/target.mk
+
+
diff --git a/ghc/tests/rename/should_compile/Rn016.hi b/ghc/tests/rename/should_compile/Rn016.hi
new file mode 100644 (file)
index 0000000..ab4815d
--- /dev/null
@@ -0,0 +1,12 @@
+_interface_ Rn016 1
+_exports_
+Rn016 K(op1 op2);
+_instances_
+instance {K PrelBase.Int} = $d1;
+instance {K PrelBase.Bool} = $d2;
+instance _forall_ [a] => {K [a]} = $d3;
+_declarations_
+1 $d1 _:_ {K PrelBase.Int} ;;
+1 $d2 _:_ {K PrelBase.Bool} ;;
+1 $d3 _:_ _forall_ [a] {K PrelList.[a]} ;;
+1 class K a :: (* -> *) where { op1 :: a -> a ; op2 :: a -> a } ;
diff --git a/ghc/tests/rename/should_compile/Rn017.hi b/ghc/tests/rename/should_compile/Rn017.hi
new file mode 100644 (file)
index 0000000..2676720
--- /dev/null
@@ -0,0 +1,9 @@
+_interface_ Rn017 1
+_exports_
+Rn017 a b c Wibble(MkWibble) Wobble ;
+_declarations_
+1 data Wibble = MkWibble Wobble ;
+1 data Wobble ;
+1 a _:_ Int -> Int ;;
+1 b _:_ Int -> Int ;;
+1 c _:_ Int -> Int ;;
diff --git a/ghc/tests/rename/should_compile/rn003.hs b/ghc/tests/rename/should_compile/rn003.hs
new file mode 100644 (file)
index 0000000..493cfa2
--- /dev/null
@@ -0,0 +1,9 @@
+module Foo (f) where
+-- export food
+f x = x
+
+--!!! weird patterns with no variables
+1  = f 1
+[] = f []
+1  = f (f 1)
+[] = f (f [])
diff --git a/ghc/tests/rename/should_compile/rn003.stderr b/ghc/tests/rename/should_compile/rn003.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/rn005.hs b/ghc/tests/rename/should_compile/rn005.hs
new file mode 100644 (file)
index 0000000..f1df424
--- /dev/null
@@ -0,0 +1,8 @@
+--!!! rn005: simplest case: a few non-recursive bindings
+
+module Test where
+
+f = []
+g x = x
+h x y = x
+i x y z = x
diff --git a/ghc/tests/rename/should_compile/rn005.stderr b/ghc/tests/rename/should_compile/rn005.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/rn006.hs b/ghc/tests/rename/should_compile/rn006.hs
new file mode 100644 (file)
index 0000000..6524bba
--- /dev/null
@@ -0,0 +1,14 @@
+--!!! rn006: two sets of mutually-recursive blobs:
+--!!!  f, g, h are mut rec
+--!!!  i, j, k are mut rec
+
+module Test where
+
+f x = g x x
+i x = j x x
+
+g x y = h x x y
+j x y = k x x y
+
+h x y z = f z
+k x y z = i z
diff --git a/ghc/tests/rename/should_compile/rn006.stderr b/ghc/tests/rename/should_compile/rn006.stderr
new file mode 100644 (file)
index 0000000..955d1e1
--- /dev/null
@@ -0,0 +1,2 @@
+
+NOTE: Simplifier still going after 4 iterations; bailing out.
diff --git a/ghc/tests/rename/should_compile/rn009.hs b/ghc/tests/rename/should_compile/rn009.hs
new file mode 100644 (file)
index 0000000..dbf6966
--- /dev/null
@@ -0,0 +1,2 @@
+module Imp10 where
+import Int10
diff --git a/ghc/tests/rename/should_compile/rn009.stderr b/ghc/tests/rename/should_compile/rn009.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/rn010.hs b/ghc/tests/rename/should_compile/rn010.hs
new file mode 100644 (file)
index 0000000..da32cce
--- /dev/null
@@ -0,0 +1,12 @@
+module Imp100 where
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+
diff --git a/ghc/tests/rename/should_compile/rn010.stderr b/ghc/tests/rename/should_compile/rn010.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/rn011.hs b/ghc/tests/rename/should_compile/rn011.hs
new file mode 100644 (file)
index 0000000..c71a553
--- /dev/null
@@ -0,0 +1,102 @@
+module Imp1000 where
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+
diff --git a/ghc/tests/rename/should_compile/rn011.stderr b/ghc/tests/rename/should_compile/rn011.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/rn012.hs b/ghc/tests/rename/should_compile/rn012.hs
new file mode 100644 (file)
index 0000000..a49abc6
--- /dev/null
@@ -0,0 +1,52 @@
+module Imp500 where
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+import Int10
+
diff --git a/ghc/tests/rename/should_compile/rn012.stderr b/ghc/tests/rename/should_compile/rn012.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/rn013.hs b/ghc/tests/rename/should_compile/rn013.hs
new file mode 100644 (file)
index 0000000..e48c2c5
--- /dev/null
@@ -0,0 +1,21 @@
+module Mod10 where
+
+data T1 a = C1 a
+
+data T2 a b = T2C1 a | T2C2 b
+
+data T3 a b c = T3C1 a | T3C2 b | T3C3 c
+
+data T4 a b c d = T4C1 a | T4C2 b | T4C3 c | T4C4 d
+
+data T5 a b c d e = T5C1 a | T5C2 b | T5C3 c | T5C4 d | T5C5 e
+
+data T6 a = T6C6 a
+
+data T7 a b = T7C6 a | T7C7 b
+
+data T8 a b c = T8C1 a | T8C2 b | T8C3 c
+
+data T9 a b c d = T9C1 a | T9C2 b | T9C3 c | T9C4 d
+
+data T10 a b c d e = T10C1 a | T10C2 b | T10C3 c | T10C4 d | T10C5 e
diff --git a/ghc/tests/rename/should_compile/rn013.stderr b/ghc/tests/rename/should_compile/rn013.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/rn016.hs b/ghc/tests/rename/should_compile/rn016.hs
new file mode 100644 (file)
index 0000000..a1c1290
--- /dev/null
@@ -0,0 +1,7 @@
+--!!! Import an interface defining a class and some instances
+
+module Main where
+
+import Rn016
+
+main = undefined
diff --git a/ghc/tests/rename/should_compile/rn016.stderr b/ghc/tests/rename/should_compile/rn016.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/rn017.hs b/ghc/tests/rename/should_compile/rn017.hs
new file mode 100644 (file)
index 0000000..1a3c2d0
--- /dev/null
@@ -0,0 +1,14 @@
+--!! Rexporting
+module Test ( module Test , module Rn017 ) where
+
+import Rn017
+
+f x = x
+
+data Foo = MkFoo
+
+class FOO a where
+    op :: a -> Int
+
+instance FOO Foo where
+    op x = 42
diff --git a/ghc/tests/rename/should_compile/rn017.stderr b/ghc/tests/rename/should_compile/rn017.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/rn018.stderr b/ghc/tests/rename/should_compile/rn018.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/rn019.hs b/ghc/tests/rename/should_compile/rn019.hs
new file mode 100644 (file)
index 0000000..4ff7c0d
--- /dev/null
@@ -0,0 +1,4 @@
+module Silly (
+       Array.accum
+  ) where
+import qualified Array
diff --git a/ghc/tests/rename/should_compile/rn020.hs b/ghc/tests/rename/should_compile/rn020.hs
new file mode 100644 (file)
index 0000000..4b9dbde
--- /dev/null
@@ -0,0 +1,11 @@
+-- Duplicate fields in record decls
+
+module OK where
+
+data X = A {a :: Int} | B {a :: Int}
+
+f x = x
+
+-- data Y = V {a :: Int}
+
+-- f y = y
diff --git a/ghc/tests/rename/should_compile/rn022.hs b/ghc/tests/rename/should_compile/rn022.hs
new file mode 100644 (file)
index 0000000..c59b949
--- /dev/null
@@ -0,0 +1,11 @@
+-- this is legal, I think (WDP)
+
+module Confused where
+
+import Prelude hiding (otherwise)
+
+otherwise = False
+
+f x | otherwise = 1
+
+g otherwise | otherwise = 2
diff --git a/ghc/tests/rename/should_compile/rn022.stderr b/ghc/tests/rename/should_compile/rn022.stderr
new file mode 100644 (file)
index 0000000..096cbd6
--- /dev/null
@@ -0,0 +1,6 @@
+rn022.hs:9: 
+    Warning: Possibly incomplete patterns
+       in the definition of function `f'
+rn022.hs:11: 
+    Warning: Possibly incomplete patterns
+       in the definition of function `g'
diff --git a/ghc/tests/rename/should_compile/rn023.hs b/ghc/tests/rename/should_compile/rn023.hs
new file mode 100644 (file)
index 0000000..4b533ec
--- /dev/null
@@ -0,0 +1,3 @@
+--!! This one is fine in Haskell 1.4
+--
+module Foo ( Bar(..) ) where { data Bar = Bar X; data X = Y }
diff --git a/ghc/tests/rename/should_compile/rn024.hs b/ghc/tests/rename/should_compile/rn024.hs
new file mode 100644 (file)
index 0000000..36fd8fd
--- /dev/null
@@ -0,0 +1,9 @@
+--!! This is fine in Haskell 1.4
+--
+module Foo ( Baz(..) ) where 
+
+class Baz a where
+    opx :: Int -> Bar -> a -> a
+
+data Bar = Bar X
+data X = Y
diff --git a/ghc/tests/rename/should_compile/timing001.hs b/ghc/tests/rename/should_compile/timing001.hs
new file mode 100644 (file)
index 0000000..ab20102
--- /dev/null
@@ -0,0 +1,507 @@
+--!!! 500 defns chained together at the top-level
+module Main(main) where
+main = undefined
+a000 = a001
+a001 = a002
+a002 = a003
+a003 = a004
+a004 = a005
+a005 = a006
+a006 = a007
+a007 = a008
+a008 = a009
+a009 = a010
+a010 = a011
+a011 = a012
+a012 = a013
+a013 = a014
+a014 = a015
+a015 = a016
+a016 = a017
+a017 = a018
+a018 = a019
+a019 = a020
+a020 = a021
+a021 = a022
+a022 = a023
+a023 = a024
+a024 = a025
+a025 = a026
+a026 = a027
+a027 = a028
+a028 = a029
+a029 = a030
+a030 = a031
+a031 = a032
+a032 = a033
+a033 = a034
+a034 = a035
+a035 = a036
+a036 = a037
+a037 = a038
+a038 = a039
+a039 = a040
+a040 = a041
+a041 = a042
+a042 = a043
+a043 = a044
+a044 = a045
+a045 = a046
+a046 = a047
+a047 = a048
+a048 = a049
+a049 = a050
+a050 = a051
+a051 = a052
+a052 = a053
+a053 = a054
+a054 = a055
+a055 = a056
+a056 = a057
+a057 = a058
+a058 = a059
+a059 = a060
+a060 = a061
+a061 = a062
+a062 = a063
+a063 = a064
+a064 = a065
+a065 = a066
+a066 = a067
+a067 = a068
+a068 = a069
+a069 = a070
+a070 = a071
+a071 = a072
+a072 = a073
+a073 = a074
+a074 = a075
+a075 = a076
+a076 = a077
+a077 = a078
+a078 = a079
+a079 = a080
+a080 = a081
+a081 = a082
+a082 = a083
+a083 = a084
+a084 = a085
+a085 = a086
+a086 = a087
+a087 = a088
+a088 = a089
+a089 = a090
+a090 = a091
+a091 = a092
+a092 = a093
+a093 = a094
+a094 = a095
+a095 = a096
+a096 = a097
+a097 = a098
+a098 = a099
+a099 = a100
+
+a100 = a101
+a101 = a102
+a102 = a103
+a103 = a104
+a104 = a105
+a105 = a106
+a106 = a107
+a107 = a108
+a108 = a109
+a109 = a110
+a110 = a111
+a111 = a112
+a112 = a113
+a113 = a114
+a114 = a115
+a115 = a116
+a116 = a117
+a117 = a118
+a118 = a119
+a119 = a120
+a120 = a121
+a121 = a122
+a122 = a123
+a123 = a124
+a124 = a125
+a125 = a126
+a126 = a127
+a127 = a128
+a128 = a129
+a129 = a130
+a130 = a131
+a131 = a132
+a132 = a133
+a133 = a134
+a134 = a135
+a135 = a136
+a136 = a137
+a137 = a138
+a138 = a139
+a139 = a140
+a140 = a141
+a141 = a142
+a142 = a143
+a143 = a144
+a144 = a145
+a145 = a146
+a146 = a147
+a147 = a148
+a148 = a149
+a149 = a150
+a150 = a151
+a151 = a152
+a152 = a153
+a153 = a154
+a154 = a155
+a155 = a156
+a156 = a157
+a157 = a158
+a158 = a159
+a159 = a160
+a160 = a161
+a161 = a162
+a162 = a163
+a163 = a164
+a164 = a165
+a165 = a166
+a166 = a167
+a167 = a168
+a168 = a169
+a169 = a170
+a170 = a171
+a171 = a172
+a172 = a173
+a173 = a174
+a174 = a175
+a175 = a176
+a176 = a177
+a177 = a178
+a178 = a179
+a179 = a180
+a180 = a181
+a181 = a182
+a182 = a183
+a183 = a184
+a184 = a185
+a185 = a186
+a186 = a187
+a187 = a188
+a188 = a189
+a189 = a190
+a190 = a191
+a191 = a192
+a192 = a193
+a193 = a194
+a194 = a195
+a195 = a196
+a196 = a197
+a197 = a198
+a198 = a199
+a199 = a200
+
+a200 = a201
+a201 = a202
+a202 = a203
+a203 = a204
+a204 = a205
+a205 = a206
+a206 = a207
+a207 = a208
+a208 = a209
+a209 = a210
+a210 = a211
+a211 = a212
+a212 = a213
+a213 = a214
+a214 = a215
+a215 = a216
+a216 = a217
+a217 = a218
+a218 = a219
+a219 = a220
+a220 = a221
+a221 = a222
+a222 = a223
+a223 = a224
+a224 = a225
+a225 = a226
+a226 = a227
+a227 = a228
+a228 = a229
+a229 = a230
+a230 = a231
+a231 = a232
+a232 = a233
+a233 = a234
+a234 = a235
+a235 = a236
+a236 = a237
+a237 = a238
+a238 = a239
+a239 = a240
+a240 = a241
+a241 = a242
+a242 = a243
+a243 = a244
+a244 = a245
+a245 = a246
+a246 = a247
+a247 = a248
+a248 = a249
+a249 = a250
+a250 = a251
+a251 = a252
+a252 = a253
+a253 = a254
+a254 = a255
+a255 = a256
+a256 = a257
+a257 = a258
+a258 = a259
+a259 = a260
+a260 = a261
+a261 = a262
+a262 = a263
+a263 = a264
+a264 = a265
+a265 = a266
+a266 = a267
+a267 = a268
+a268 = a269
+a269 = a270
+a270 = a271
+a271 = a272
+a272 = a273
+a273 = a274
+a274 = a275
+a275 = a276
+a276 = a277
+a277 = a278
+a278 = a279
+a279 = a280
+a280 = a281
+a281 = a282
+a282 = a283
+a283 = a284
+a284 = a285
+a285 = a286
+a286 = a287
+a287 = a288
+a288 = a289
+a289 = a290
+a290 = a291
+a291 = a292
+a292 = a293
+a293 = a294
+a294 = a295
+a295 = a296
+a296 = a297
+a297 = a298
+a298 = a299
+a299 = a300
+
+a300 = a301
+a301 = a302
+a302 = a303
+a303 = a304
+a304 = a305
+a305 = a306
+a306 = a307
+a307 = a308
+a308 = a309
+a309 = a310
+a310 = a311
+a311 = a312
+a312 = a313
+a313 = a314
+a314 = a315
+a315 = a316
+a316 = a317
+a317 = a318
+a318 = a319
+a319 = a320
+a320 = a321
+a321 = a322
+a322 = a323
+a323 = a324
+a324 = a325
+a325 = a326
+a326 = a327
+a327 = a328
+a328 = a329
+a329 = a330
+a330 = a331
+a331 = a332
+a332 = a333
+a333 = a334
+a334 = a335
+a335 = a336
+a336 = a337
+a337 = a338
+a338 = a339
+a339 = a340
+a340 = a341
+a341 = a342
+a342 = a343
+a343 = a344
+a344 = a345
+a345 = a346
+a346 = a347
+a347 = a348
+a348 = a349
+a349 = a350
+a350 = a351
+a351 = a352
+a352 = a353
+a353 = a354
+a354 = a355
+a355 = a356
+a356 = a357
+a357 = a358
+a358 = a359
+a359 = a360
+a360 = a361
+a361 = a362
+a362 = a363
+a363 = a364
+a364 = a365
+a365 = a366
+a366 = a367
+a367 = a368
+a368 = a369
+a369 = a370
+a370 = a371
+a371 = a372
+a372 = a373
+a373 = a374
+a374 = a375
+a375 = a376
+a376 = a377
+a377 = a378
+a378 = a379
+a379 = a380
+a380 = a381
+a381 = a382
+a382 = a383
+a383 = a384
+a384 = a385
+a385 = a386
+a386 = a387
+a387 = a388
+a388 = a389
+a389 = a390
+a390 = a391
+a391 = a392
+a392 = a393
+a393 = a394
+a394 = a395
+a395 = a396
+a396 = a397
+a397 = a398
+a398 = a399
+a399 = a400
+
+a400 = a401
+a401 = a402
+a402 = a403
+a403 = a404
+a404 = a405
+a405 = a406
+a406 = a407
+a407 = a408
+a408 = a409
+a409 = a410
+a410 = a411
+a411 = a412
+a412 = a413
+a413 = a414
+a414 = a415
+a415 = a416
+a416 = a417
+a417 = a418
+a418 = a419
+a419 = a420
+a420 = a421
+a421 = a422
+a422 = a423
+a423 = a424
+a424 = a425
+a425 = a426
+a426 = a427
+a427 = a428
+a428 = a429
+a429 = a430
+a430 = a431
+a431 = a432
+a432 = a433
+a433 = a434
+a434 = a435
+a435 = a436
+a436 = a437
+a437 = a438
+a438 = a439
+a439 = a440
+a440 = a441
+a441 = a442
+a442 = a443
+a443 = a444
+a444 = a445
+a445 = a446
+a446 = a447
+a447 = a448
+a448 = a449
+a449 = a450
+a450 = a451
+a451 = a452
+a452 = a453
+a453 = a454
+a454 = a455
+a455 = a456
+a456 = a457
+a457 = a458
+a458 = a459
+a459 = a460
+a460 = a461
+a461 = a462
+a462 = a463
+a463 = a464
+a464 = a465
+a465 = a466
+a466 = a467
+a467 = a468
+a468 = a469
+a469 = a470
+a470 = a471
+a471 = a472
+a472 = a473
+a473 = a474
+a474 = a475
+a475 = a476
+a476 = a477
+a477 = a478
+a478 = a479
+a479 = a480
+a480 = a481
+a481 = a482
+a482 = a483
+a483 = a484
+a484 = a485
+a485 = a486
+a486 = a487
+a487 = a488
+a488 = a489
+a489 = a490
+a490 = a491
+a491 = a492
+a492 = a493
+a493 = a494
+a494 = a495
+a495 = a496
+a496 = a497
+a497 = a498
+a498 = a499
+a499 = []      -- !!! ta-dah!!!
diff --git a/ghc/tests/rename/should_compile/timing001.stderr b/ghc/tests/rename/should_compile/timing001.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/timing002.hs b/ghc/tests/rename/should_compile/timing002.hs
new file mode 100644 (file)
index 0000000..db98718
--- /dev/null
@@ -0,0 +1,504 @@
+--!!! 500 defns chained together with "where"s
+module Main(main) where
+
+main = undefined
+a500 = let a000 = []
+           a001 = a000
+           a002 = a001
+           a003 = a002
+           a004 = a003
+           a005 = a004
+           a006 = a005
+           a007 = a006
+           a008 = a007
+           a009 = a008
+           a010 = a009
+           a011 = a010
+           a012 = a011
+           a013 = a012
+           a014 = a013
+           a015 = a014
+           a016 = a015
+           a017 = a016
+           a018 = a017
+           a019 = a018
+           a020 = a019
+           a021 = a020
+           a022 = a021
+           a023 = a022
+           a024 = a023
+           a025 = a024
+           a026 = a025
+           a027 = a026
+           a028 = a027
+           a029 = a028
+           a030 = a029
+           a031 = a030
+           a032 = a031
+           a033 = a032
+           a034 = a033
+           a035 = a034
+           a036 = a035
+           a037 = a036
+           a038 = a037
+           a039 = a038
+           a040 = a039
+           a041 = a040
+           a042 = a041
+           a043 = a042
+           a044 = a043
+           a045 = a044
+           a046 = a045
+           a047 = a046
+           a048 = a047
+           a049 = a048
+           a050 = a049
+           a051 = a050
+           a052 = a051
+           a053 = a052
+           a054 = a053
+           a055 = a054
+           a056 = a055
+           a057 = a056
+           a058 = a057
+           a059 = a058
+           a060 = a059
+           a061 = a060
+           a062 = a061
+           a063 = a062
+           a064 = a063
+           a065 = a064
+           a066 = a065
+           a067 = a066
+           a068 = a067
+           a069 = a068
+           a070 = a069
+           a071 = a070
+           a072 = a071
+           a073 = a072
+           a074 = a073
+           a075 = a074
+           a076 = a075
+           a077 = a076
+           a078 = a077
+           a079 = a078
+           a080 = a079
+           a081 = a080
+           a082 = a081
+           a083 = a082
+           a084 = a083
+           a085 = a084
+           a086 = a085
+           a087 = a086
+           a088 = a087
+           a089 = a088
+           a090 = a089
+           a091 = a090
+           a092 = a091
+           a093 = a092
+           a094 = a093
+           a095 = a094
+           a096 = a095
+           a097 = a096
+           a098 = a097
+           a099 = a098
+           a100 = a099
+           a101 = a100
+           a102 = a101
+           a103 = a102
+           a104 = a103
+           a105 = a104
+           a106 = a105
+           a107 = a106
+           a108 = a107
+           a109 = a108
+           a110 = a109
+           a111 = a110
+           a112 = a111
+           a113 = a112
+           a114 = a113
+           a115 = a114
+           a116 = a115
+           a117 = a116
+           a118 = a117
+           a119 = a118
+           a120 = a119
+           a121 = a120
+           a122 = a121
+           a123 = a122
+           a124 = a123
+           a125 = a124
+           a126 = a125
+           a127 = a126
+           a128 = a127
+           a129 = a128
+           a130 = a129
+           a131 = a130
+           a132 = a131
+           a133 = a132
+           a134 = a133
+           a135 = a134
+           a136 = a135
+           a137 = a136
+           a138 = a137
+           a139 = a138
+           a140 = a139
+           a141 = a140
+           a142 = a141
+           a143 = a142
+           a144 = a143
+           a145 = a144
+           a146 = a145
+           a147 = a146
+           a148 = a147
+           a149 = a148
+           a150 = a149
+           a151 = a150
+           a152 = a151
+           a153 = a152
+           a154 = a153
+           a155 = a154
+           a156 = a155
+           a157 = a156
+           a158 = a157
+           a159 = a158
+           a160 = a159
+           a161 = a160
+           a162 = a161
+           a163 = a162
+           a164 = a163
+           a165 = a164
+           a166 = a165
+           a167 = a166
+           a168 = a167
+           a169 = a168
+           a170 = a169
+           a171 = a170
+           a172 = a171
+           a173 = a172
+           a174 = a173
+           a175 = a174
+           a176 = a175
+           a177 = a176
+           a178 = a177
+           a179 = a178
+           a180 = a179
+           a181 = a180
+           a182 = a181
+           a183 = a182
+           a184 = a183
+           a185 = a184
+           a186 = a185
+           a187 = a186
+           a188 = a187
+           a189 = a188
+           a190 = a189
+           a191 = a190
+           a192 = a191
+           a193 = a192
+           a194 = a193
+           a195 = a194
+           a196 = a195
+           a197 = a196
+           a198 = a197
+           a199 = a198
+           a200 = a199
+           a201 = a200
+           a202 = a201
+           a203 = a202
+           a204 = a203
+           a205 = a204
+           a206 = a205
+           a207 = a206
+           a208 = a207
+           a209 = a208
+           a210 = a209
+           a211 = a210
+           a212 = a211
+           a213 = a212
+           a214 = a213
+           a215 = a214
+           a216 = a215
+           a217 = a216
+           a218 = a217
+           a219 = a218
+           a220 = a219
+           a221 = a220
+           a222 = a221
+           a223 = a222
+           a224 = a223
+           a225 = a224
+           a226 = a225
+           a227 = a226
+           a228 = a227
+           a229 = a228
+           a230 = a229
+           a231 = a230
+           a232 = a231
+           a233 = a232
+           a234 = a233
+           a235 = a234
+           a236 = a235
+           a237 = a236
+           a238 = a237
+           a239 = a238
+           a240 = a239
+           a241 = a240
+           a242 = a241
+           a243 = a242
+           a244 = a243
+           a245 = a244
+           a246 = a245
+           a247 = a246
+           a248 = a247
+           a249 = a248
+           a250 = a249
+           a251 = a250
+           a252 = a251
+           a253 = a252
+           a254 = a253
+           a255 = a254
+           a256 = a255
+           a257 = a256
+           a258 = a257
+           a259 = a258
+           a260 = a259
+           a261 = a260
+           a262 = a261
+           a263 = a262
+           a264 = a263
+           a265 = a264
+           a266 = a265
+           a267 = a266
+           a268 = a267
+           a269 = a268
+           a270 = a269
+           a271 = a270
+           a272 = a271
+           a273 = a272
+           a274 = a273
+           a275 = a274
+           a276 = a275
+           a277 = a276
+           a278 = a277
+           a279 = a278
+           a280 = a279
+           a281 = a280
+           a282 = a281
+           a283 = a282
+           a284 = a283
+           a285 = a284
+           a286 = a285
+           a287 = a286
+           a288 = a287
+           a289 = a288
+           a290 = a289
+           a291 = a290
+           a292 = a291
+           a293 = a292
+           a294 = a293
+           a295 = a294
+           a296 = a295
+           a297 = a296
+           a298 = a297
+           a299 = a298
+           a300 = a299
+           a301 = a300
+           a302 = a301
+           a303 = a302
+           a304 = a303
+           a305 = a304
+           a306 = a305
+           a307 = a306
+           a308 = a307
+           a309 = a308
+           a310 = a309
+           a311 = a310
+           a312 = a311
+           a313 = a312
+           a314 = a313
+           a315 = a314
+           a316 = a315
+           a317 = a316
+           a318 = a317
+           a319 = a318
+           a320 = a319
+           a321 = a320
+           a322 = a321
+           a323 = a322
+           a324 = a323
+           a325 = a324
+           a326 = a325
+           a327 = a326
+           a328 = a327
+           a329 = a328
+           a330 = a329
+           a331 = a330
+           a332 = a331
+           a333 = a332
+           a334 = a333
+           a335 = a334
+           a336 = a335
+           a337 = a336
+           a338 = a337
+           a339 = a338
+           a340 = a339
+           a341 = a340
+           a342 = a341
+           a343 = a342
+           a344 = a343
+           a345 = a344
+           a346 = a345
+           a347 = a346
+           a348 = a347
+           a349 = a348
+           a350 = a349
+           a351 = a350
+           a352 = a351
+           a353 = a352
+           a354 = a353
+           a355 = a354
+           a356 = a355
+           a357 = a356
+           a358 = a357
+           a359 = a358
+           a360 = a359
+           a361 = a360
+           a362 = a361
+           a363 = a362
+           a364 = a363
+           a365 = a364
+           a366 = a365
+           a367 = a366
+           a368 = a367
+           a369 = a368
+           a370 = a369
+           a371 = a370
+           a372 = a371
+           a373 = a372
+           a374 = a373
+           a375 = a374
+           a376 = a375
+           a377 = a376
+           a378 = a377
+           a379 = a378
+           a380 = a379
+           a381 = a380
+           a382 = a381
+           a383 = a382
+           a384 = a383
+           a385 = a384
+           a386 = a385
+           a387 = a386
+           a388 = a387
+           a389 = a388
+           a390 = a389
+           a391 = a390
+           a392 = a391
+           a393 = a392
+           a394 = a393
+           a395 = a394
+           a396 = a395
+           a397 = a396
+           a398 = a397
+           a399 = a398
+           a400 = a399
+           a401 = a400
+           a402 = a401
+           a403 = a402
+           a404 = a403
+           a405 = a404
+           a406 = a405
+           a407 = a406
+           a408 = a407
+           a409 = a408
+           a410 = a409
+           a411 = a410
+           a412 = a411
+           a413 = a412
+           a414 = a413
+           a415 = a414
+           a416 = a415
+           a417 = a416
+           a418 = a417
+           a419 = a418
+           a420 = a419
+           a421 = a420
+           a422 = a421
+           a423 = a422
+           a424 = a423
+           a425 = a424
+           a426 = a425
+           a427 = a426
+           a428 = a427
+           a429 = a428
+           a430 = a429
+           a431 = a430
+           a432 = a431
+           a433 = a432
+           a434 = a433
+           a435 = a434
+           a436 = a435
+           a437 = a436
+           a438 = a437
+           a439 = a438
+           a440 = a439
+           a441 = a440
+           a442 = a441
+           a443 = a442
+           a444 = a443
+           a445 = a444
+           a446 = a445
+           a447 = a446
+           a448 = a447
+           a449 = a448
+           a450 = a449
+           a451 = a450
+           a452 = a451
+           a453 = a452
+           a454 = a453
+           a455 = a454
+           a456 = a455
+           a457 = a456
+           a458 = a457
+           a459 = a458
+           a460 = a459
+           a461 = a460
+           a462 = a461
+           a463 = a462
+           a464 = a463
+           a465 = a464
+           a466 = a465
+           a467 = a466
+           a468 = a467
+           a469 = a468
+           a470 = a469
+           a471 = a470
+           a472 = a471
+           a473 = a472
+           a474 = a473
+           a475 = a474
+           a476 = a475
+           a477 = a476
+           a478 = a477
+           a479 = a478
+           a480 = a479
+           a481 = a480
+           a482 = a481
+           a483 = a482
+           a484 = a483
+           a485 = a484
+           a486 = a485
+           a487 = a486
+           a488 = a487
+           a489 = a488
+           a490 = a489
+           a491 = a490
+           a492 = a491
+           a493 = a492
+           a494 = a493
+           a495 = a494
+           a496 = a495
+           a497 = a496
+           a498 = a497 in
+       a498
diff --git a/ghc/tests/rename/should_compile/timing002.stderr b/ghc/tests/rename/should_compile/timing002.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_compile/timing003.hs b/ghc/tests/rename/should_compile/timing003.hs
new file mode 100644 (file)
index 0000000..e897868
--- /dev/null
@@ -0,0 +1,508 @@
+--!!! 500 defns, not chained together
+module Main(main) where
+
+main = undefined
+a000 = []
+a001 = []
+a002 = []
+a003 = []
+a004 = []
+a005 = []
+a006 = []
+a007 = []
+a008 = []
+a009 = []
+a010 = []
+a011 = []
+a012 = []
+a013 = []
+a014 = []
+a015 = []
+a016 = []
+a017 = []
+a018 = []
+a019 = []
+a020 = []
+a021 = []
+a022 = []
+a023 = []
+a024 = []
+a025 = []
+a026 = []
+a027 = []
+a028 = []
+a029 = []
+a030 = []
+a031 = []
+a032 = []
+a033 = []
+a034 = []
+a035 = []
+a036 = []
+a037 = []
+a038 = []
+a039 = []
+a040 = []
+a041 = []
+a042 = []
+a043 = []
+a044 = []
+a045 = []
+a046 = []
+a047 = []
+a048 = []
+a049 = []
+a050 = []
+a051 = []
+a052 = []
+a053 = []
+a054 = []
+a055 = []
+a056 = []
+a057 = []
+a058 = []
+a059 = []
+a060 = []
+a061 = []
+a062 = []
+a063 = []
+a064 = []
+a065 = []
+a066 = []
+a067 = []
+a068 = []
+a069 = []
+a070 = []
+a071 = []
+a072 = []
+a073 = []
+a074 = []
+a075 = []
+a076 = []
+a077 = []
+a078 = []
+a079 = []
+a080 = []
+a081 = []
+a082 = []
+a083 = []
+a084 = []
+a085 = []
+a086 = []
+a087 = []
+a088 = []
+a089 = []
+a090 = []
+a091 = []
+a092 = []
+a093 = []
+a094 = []
+a095 = []
+a096 = []
+a097 = []
+a098 = []
+a099 = []
+
+a100 = []
+a101 = []
+a102 = []
+a103 = []
+a104 = []
+a105 = []
+a106 = []
+a107 = []
+a108 = []
+a109 = []
+a110 = []
+a111 = []
+a112 = []
+a113 = []
+a114 = []
+a115 = []
+a116 = []
+a117 = []
+a118 = []
+a119 = []
+a120 = []
+a121 = []
+a122 = []
+a123 = []
+a124 = []
+a125 = []
+a126 = []
+a127 = []
+a128 = []
+a129 = []
+a130 = []
+a131 = []
+a132 = []
+a133 = []
+a134 = []
+a135 = []
+a136 = []
+a137 = []
+a138 = []
+a139 = []
+a140 = []
+a141 = []
+a142 = []
+a143 = []
+a144 = []
+a145 = []
+a146 = []
+a147 = []
+a148 = []
+a149 = []
+a150 = []
+a151 = []
+a152 = []
+a153 = []
+a154 = []
+a155 = []
+a156 = []
+a157 = []
+a158 = []
+a159 = []
+a160 = []
+a161 = []
+a162 = []
+a163 = []
+a164 = []
+a165 = []
+a166 = []
+a167 = []
+a168 = []
+a169 = []
+a170 = []
+a171 = []
+a172 = []
+a173 = []
+a174 = []
+a175 = []
+a176 = []
+a177 = []
+a178 = []
+a179 = []
+a180 = []
+a181 = []
+a182 = []
+a183 = []
+a184 = []
+a185 = []
+a186 = []
+a187 = []
+a188 = []
+a189 = []
+a190 = []
+a191 = []
+a192 = []
+a193 = []
+a194 = []
+a195 = []
+a196 = []
+a197 = []
+a198 = []
+a199 = []
+
+a200 = []
+a201 = []
+a202 = []
+a203 = []
+a204 = []
+a205 = []
+a206 = []
+a207 = []
+a208 = []
+a209 = []
+a210 = []
+a211 = []
+a212 = []
+a213 = []
+a214 = []
+a215 = []
+a216 = []
+a217 = []
+a218 = []
+a219 = []
+a220 = []
+a221 = []
+a222 = []
+a223 = []
+a224 = []
+a225 = []
+a226 = []
+a227 = []
+a228 = []
+a229 = []
+a230 = []
+a231 = []
+a232 = []
+a233 = []
+a234 = []
+a235 = []
+a236 = []
+a237 = []
+a238 = []
+a239 = []
+a240 = []
+a241 = []
+a242 = []
+a243 = []
+a244 = []
+a245 = []
+a246 = []
+a247 = []
+a248 = []
+a249 = []
+a250 = []
+a251 = []
+a252 = []
+a253 = []
+a254 = []
+a255 = []
+a256 = []
+a257 = []
+a258 = []
+a259 = []
+a260 = []
+a261 = []
+a262 = []
+a263 = []
+a264 = []
+a265 = []
+a266 = []
+a267 = []
+a268 = []
+a269 = []
+a270 = []
+a271 = []
+a272 = []
+a273 = []
+a274 = []
+a275 = []
+a276 = []
+a277 = []
+a278 = []
+a279 = []
+a280 = []
+a281 = []
+a282 = []
+a283 = []
+a284 = []
+a285 = []
+a286 = []
+a287 = []
+a288 = []
+a289 = []
+a290 = []
+a291 = []
+a292 = []
+a293 = []
+a294 = []
+a295 = []
+a296 = []
+a297 = []
+a298 = []
+a299 = []
+
+a300 = []
+a301 = []
+a302 = []
+a303 = []
+a304 = []
+a305 = []
+a306 = []
+a307 = []
+a308 = []
+a309 = []
+a310 = []
+a311 = []
+a312 = []
+a313 = []
+a314 = []
+a315 = []
+a316 = []
+a317 = []
+a318 = []
+a319 = []
+a320 = []
+a321 = []
+a322 = []
+a323 = []
+a324 = []
+a325 = []
+a326 = []
+a327 = []
+a328 = []
+a329 = []
+a330 = []
+a331 = []
+a332 = []
+a333 = []
+a334 = []
+a335 = []
+a336 = []
+a337 = []
+a338 = []
+a339 = []
+a340 = []
+a341 = []
+a342 = []
+a343 = []
+a344 = []
+a345 = []
+a346 = []
+a347 = []
+a348 = []
+a349 = []
+a350 = []
+a351 = []
+a352 = []
+a353 = []
+a354 = []
+a355 = []
+a356 = []
+a357 = []
+a358 = []
+a359 = []
+a360 = []
+a361 = []
+a362 = []
+a363 = []
+a364 = []
+a365 = []
+a366 = []
+a367 = []
+a368 = []
+a369 = []
+a370 = []
+a371 = []
+a372 = []
+a373 = []
+a374 = []
+a375 = []
+a376 = []
+a377 = []
+a378 = []
+a379 = []
+a380 = []
+a381 = []
+a382 = []
+a383 = []
+a384 = []
+a385 = []
+a386 = []
+a387 = []
+a388 = []
+a389 = []
+a390 = []
+a391 = []
+a392 = []
+a393 = []
+a394 = []
+a395 = []
+a396 = []
+a397 = []
+a398 = []
+a399 = []
+
+a400 = []
+a401 = []
+a402 = []
+a403 = []
+a404 = []
+a405 = []
+a406 = []
+a407 = []
+a408 = []
+a409 = []
+a410 = []
+a411 = []
+a412 = []
+a413 = []
+a414 = []
+a415 = []
+a416 = []
+a417 = []
+a418 = []
+a419 = []
+a420 = []
+a421 = []
+a422 = []
+a423 = []
+a424 = []
+a425 = []
+a426 = []
+a427 = []
+a428 = []
+a429 = []
+a430 = []
+a431 = []
+a432 = []
+a433 = []
+a434 = []
+a435 = []
+a436 = []
+a437 = []
+a438 = []
+a439 = []
+a440 = []
+a441 = []
+a442 = []
+a443 = []
+a444 = []
+a445 = []
+a446 = []
+a447 = []
+a448 = []
+a449 = []
+a450 = []
+a451 = []
+a452 = []
+a453 = []
+a454 = []
+a455 = []
+a456 = []
+a457 = []
+a458 = []
+a459 = []
+a460 = []
+a461 = []
+a462 = []
+a463 = []
+a464 = []
+a465 = []
+a466 = []
+a467 = []
+a468 = []
+a469 = []
+a470 = []
+a471 = []
+a472 = []
+a473 = []
+a474 = []
+a475 = []
+a476 = []
+a477 = []
+a478 = []
+a479 = []
+a480 = []
+a481 = []
+a482 = []
+a483 = []
+a484 = []
+a485 = []
+a486 = []
+a487 = []
+a488 = []
+a489 = []
+a490 = []
+a491 = []
+a492 = []
+a493 = []
+a494 = []
+a495 = []
+a496 = []
+a497 = []
+a498 = []
+a499 = []
diff --git a/ghc/tests/rename/should_compile/timing003.stderr b/ghc/tests/rename/should_compile/timing003.stderr
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ghc/tests/rename/should_fail/Makefile b/ghc/tests/rename/should_fail/Makefile
new file mode 100644 (file)
index 0000000..fb0a5f3
--- /dev/null
@@ -0,0 +1,14 @@
+TOP = ../../../..
+include $(TOP)/mk/boilerplate.mk
+
+HS_SRCS = $(wildcard *.hs)
+
+SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 1
+HC_OPTS += -noC
+
+%.o : %.hs
+       $(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@
+
+all :: $(HS_OBJS)
+
+include $(TOP)/mk/target.mk
diff --git a/ghc/tests/rename/should_fail/rnfail001.hs b/ghc/tests/rename/should_fail/rnfail001.hs
new file mode 100644 (file)
index 0000000..f6758a1
--- /dev/null
@@ -0,0 +1,3 @@
+module ShouldFail where
+
+f x x = 2
diff --git a/ghc/tests/rename/should_fail/rnfail001.stderr b/ghc/tests/rename/should_fail/rnfail001.stderr
new file mode 100644 (file)
index 0000000..92fd228
--- /dev/null
@@ -0,0 +1,5 @@
+rnfail001.hs:3: Conflicting definitions for `x' in pattern
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail002.hs b/ghc/tests/rename/should_fail/rnfail002.hs
new file mode 100644 (file)
index 0000000..f2648a9
--- /dev/null
@@ -0,0 +1,10 @@
+--!!! rn001: super-simple set of bindings,
+--!!!  incl wildcard pattern-bindings and *duplicates*
+
+x = []
+y = []
+y = []
+_ = []
+_ = 1
+z = []
+_ = []
diff --git a/ghc/tests/rename/should_fail/rnfail002.stderr b/ghc/tests/rename/should_fail/rnfail002.stderr
new file mode 100644 (file)
index 0000000..e0066ab
--- /dev/null
@@ -0,0 +1,8 @@
+rnfail002.hs:4:
+    Conflicting definitions for: `y'
+       Defined at rnfail002.hs:6
+       Defined at rnfail002.hs:5
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail003.hs b/ghc/tests/rename/should_fail/rnfail003.hs
new file mode 100644 (file)
index 0000000..51a09b6
--- /dev/null
@@ -0,0 +1,4 @@
+--!!! split definition of f (error)
+f [] = []
+g x = x
+f (x:xs) = []
diff --git a/ghc/tests/rename/should_fail/rnfail003.stderr b/ghc/tests/rename/should_fail/rnfail003.stderr
new file mode 100644 (file)
index 0000000..2837664
--- /dev/null
@@ -0,0 +1,8 @@
+rnfail003.hs:2:
+    Conflicting definitions for: `f'
+       Defined at rnfail003.hs:4
+       Defined at rnfail003.hs:2
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail004.hs b/ghc/tests/rename/should_fail/rnfail004.hs
new file mode 100644 (file)
index 0000000..3a14f48
--- /dev/null
@@ -0,0 +1,8 @@
+--!!! multiple definitions, but hidden in patterns
+module Foo where
+
+f x = x
+  where
+    a          = []
+    (b,c,a)    = ([],[],d)
+    [d,b,_]    = ([],a,[])
diff --git a/ghc/tests/rename/should_fail/rnfail004.stderr b/ghc/tests/rename/should_fail/rnfail004.stderr
new file mode 100644 (file)
index 0000000..cd56751
--- /dev/null
@@ -0,0 +1,7 @@
+rnfail004.hs:6: Conflicting definitions for `a' in binding group
+rnfail004.hs:7: Conflicting definitions for `b' in binding group
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail005.stderr b/ghc/tests/rename/should_fail/rnfail005.stderr
new file mode 100644 (file)
index 0000000..9ad30e8
--- /dev/null
@@ -0,0 +1,8 @@
+rnfail005.hs:4:
+    Conflicting definitions for: `v'
+       Defined at rnfail005.hs:20
+       Defined at rnfail005.hs:19
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail007.hs b/ghc/tests/rename/should_fail/rnfail007.hs
new file mode 100644 (file)
index 0000000..99254dc
--- /dev/null
@@ -0,0 +1,5 @@
+--!!! Main module with no definition of main
+
+module Main where
+
+f x = x
diff --git a/ghc/tests/rename/should_fail/rnfail007.stderr b/ghc/tests/rename/should_fail/rnfail007.stderr
new file mode 100644 (file)
index 0000000..a552a38
--- /dev/null
@@ -0,0 +1,5 @@
+rnfail007.hs:3: Module Main must include a definition for `Main.main'
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail008.hs b/ghc/tests/rename/should_fail/rnfail008.hs
new file mode 100644 (file)
index 0000000..8520347
--- /dev/null
@@ -0,0 +1,19 @@
+--!!! Class and instance decl
+
+module Test where
+
+class K a where
+       op1 :: a -> a -> a
+       op2 :: Int -> a
+
+instance K Int where
+       op1 a b = a+b
+       op2 x   = x
+
+instance K Bool where
+       op1 a b = a
+       -- Pick up the default decl for op2
+       
+instance K [a] where
+       op3 a = a       -- Oops!  Isn't a class op of K
+       
diff --git a/ghc/tests/rename/should_fail/rnfail008.stderr b/ghc/tests/rename/should_fail/rnfail008.stderr
new file mode 100644 (file)
index 0000000..d86ebea
--- /dev/null
@@ -0,0 +1,13 @@
+rnfail008.hs:18: Class `K' does not have a method `op3'
+rnfail008.hs:18: No explicit method nor default method for `op1'
+                in an instance declaration for `K'
+rnfail008.hs:18: No explicit method nor default method for `op2'
+                in an instance declaration for `K'
+rnfail008.hs:14: No explicit method nor default method for `op2'
+                in an instance declaration for `K'
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail009.hs b/ghc/tests/rename/should_fail/rnfail009.hs
new file mode 100644 (file)
index 0000000..1557f48
--- /dev/null
@@ -0,0 +1,5 @@
+module Foo where
+
+data F = A | B
+
+data G = A | C
diff --git a/ghc/tests/rename/should_fail/rnfail009.stderr b/ghc/tests/rename/should_fail/rnfail009.stderr
new file mode 100644 (file)
index 0000000..2671b16
--- /dev/null
@@ -0,0 +1,8 @@
+rnfail009.hs:1:
+    Conflicting definitions for: `A'
+       Defined at rnfail009.hs:5
+       Defined at rnfail009.hs:3
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail010.hs b/ghc/tests/rename/should_fail/rnfail010.hs
new file mode 100644 (file)
index 0000000..d5e51ed
--- /dev/null
@@ -0,0 +1,6 @@
+
+f x = 2
+
+g x = 6
+
+f x = 3
diff --git a/ghc/tests/rename/should_fail/rnfail010.stderr b/ghc/tests/rename/should_fail/rnfail010.stderr
new file mode 100644 (file)
index 0000000..47a3b10
--- /dev/null
@@ -0,0 +1,8 @@
+rnfail010.hs:2:
+    Conflicting definitions for: `f'
+       Defined at rnfail010.hs:6
+       Defined at rnfail010.hs:2
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail011.hs b/ghc/tests/rename/should_fail/rnfail011.hs
new file mode 100644 (file)
index 0000000..b342618
--- /dev/null
@@ -0,0 +1,6 @@
+
+type A = Int
+
+type B = Bool
+
+type A = [Bool]
diff --git a/ghc/tests/rename/should_fail/rnfail011.stderr b/ghc/tests/rename/should_fail/rnfail011.stderr
new file mode 100644 (file)
index 0000000..510028c
--- /dev/null
@@ -0,0 +1,8 @@
+rnfail011.hs:2:
+    Conflicting definitions for: `A'
+       Defined at rnfail011.hs:6
+       Defined at rnfail011.hs:2
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail012.hs b/ghc/tests/rename/should_fail/rnfail012.hs
new file mode 100644 (file)
index 0000000..725b0d1
--- /dev/null
@@ -0,0 +1,9 @@
+
+class A a where
+ op1 :: a
+
+class B a where
+ op2 :: b -> b
+
+class A a where
+ op3 :: a
diff --git a/ghc/tests/rename/should_fail/rnfail012.stderr b/ghc/tests/rename/should_fail/rnfail012.stderr
new file mode 100644 (file)
index 0000000..98d8cec
--- /dev/null
@@ -0,0 +1,8 @@
+rnfail012.hs:2:
+    Conflicting definitions for: `A'
+       Defined at rnfail012.hs:9
+       Defined at rnfail012.hs:3
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail013.hs b/ghc/tests/rename/should_fail/rnfail013.hs
new file mode 100644 (file)
index 0000000..0c78946
--- /dev/null
@@ -0,0 +1,9 @@
+--!!! Conflicting constructors from two data type decls
+
+module Foo where
+
+data T1 = MkT Int
+
+data T2 = MkT Bool
+
+f (MkT x) = x
diff --git a/ghc/tests/rename/should_fail/rnfail013.stderr b/ghc/tests/rename/should_fail/rnfail013.stderr
new file mode 100644 (file)
index 0000000..bffacd0
--- /dev/null
@@ -0,0 +1,8 @@
+rnfail013.hs:3:
+    Conflicting definitions for: `MkT'
+       Defined at rnfail013.hs:9
+       Defined at rnfail013.hs:7
+
+
+Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail014.hs b/ghc/tests/rename/should_fail/rnfail014.hs
new file mode 100644 (file)
index 0000000..a9074e2
--- /dev/null
@@ -0,0 +1,17 @@
+{- Check that the context of a type does not
+   constrain any in-scope variables, and only constrains
+   type variables free in the type.
+-}
+
+module Foo where
+
+instance Eq a => Eq Bool where
+  (==) = error "help"
+
+
+f :: Eq a => Int -> Int
+f x = x
+
+
+class Foo a where
+  op :: Eq a => a -> a
diff --git a/ghc/tests/rename/should_fail/rnfail014.stderr b/ghc/tests/rename/should_fail/rnfail014.stderr
new file mode 100644 (file)
index 0000000..457ba99
--- /dev/null
@@ -0,0 +1,17 @@
+rnfail014.hs:12:
+    Context constrains type variable(s) `a'
+       that do not appear in `Int -> Int'
+       in the type signature for `f'
+rnfail014.hs:17:
+    Context constrains in-scope type variable(s) `a'
+       in the type signature for `op'
+rnfail014.hs:9:
+    Context constrains type variable(s) `a'
+       that do not appear in `Eq Bool'
+       in the type signature for an instance decl
+
+
+Compilation had errors