diff --git a/ghc/tests/deSugar/should_compile/ds002.stderr b/ghc/tests/deSugar/should_compile/ds002.stderr
index beaeb336242ba9f93814c513466c07c115d44f4d..a5435e88d21c250684cb58b0baa939eaec30308f 100644
--- a/ghc/tests/deSugar/should_compile/ds002.stderr
+++ b/ghc/tests/deSugar/should_compile/ds002.stderr
@@ -1,3 +1,4 @@
+
 ds002.hs:7: Pattern match(es) are overlapped in the definition of function `f':
 	    f y = ...
 	    f z = ...
diff --git a/ghc/tests/deSugar/should_compile/ds003.stderr b/ghc/tests/deSugar/should_compile/ds003.stderr
index 188cae5d4ad958f9e7ff22da5288d40714a33ba7..c7a52de00510b3626ef7ed1422c58784aaef1495 100644
--- a/ghc/tests/deSugar/should_compile/ds003.stderr
+++ b/ghc/tests/deSugar/should_compile/ds003.stderr
@@ -1,3 +1,4 @@
+
 ds003.hs:5: Pattern match(es) are overlapped in the definition of function `f':
 	    f (x : (x1 : (x2 : x3))) ~(y, ys) z = ...
 	    f x y True = ...
diff --git a/ghc/tests/deSugar/should_compile/ds019.stderr b/ghc/tests/deSugar/should_compile/ds019.stderr
index 874b393d40e818ea83ec03060c26293e2d256bcb..318885bc0f28322c55e70f1a76585c184ccdaa4c 100644
--- a/ghc/tests/deSugar/should_compile/ds019.stderr
+++ b/ghc/tests/deSugar/should_compile/ds019.stderr
@@ -1,3 +1,4 @@
+
 ds019.hs:5: Pattern match(es) are overlapped in the definition of function `f':
 	    f d (j, k) p = ...
 	    f (e, f, g) l q = ...
diff --git a/ghc/tests/deSugar/should_compile/ds020.stderr b/ghc/tests/deSugar/should_compile/ds020.stderr
index 909af82d9a2fd842fcd580c54741e1021c8ba369..d75568c9d4741206c30c84b6968e886c1300e2d8 100644
--- a/ghc/tests/deSugar/should_compile/ds020.stderr
+++ b/ghc/tests/deSugar/should_compile/ds020.stderr
@@ -1,3 +1,4 @@
+
 ds020.hs:5: Pattern match(es) are overlapped in the definition of function `a':
 	    a ~(~[], ~[], ~[]) = ...
 
diff --git a/ghc/tests/deSugar/should_compile/ds022.stderr b/ghc/tests/deSugar/should_compile/ds022.stderr
index 380086f9a02a58fe73af606368197efb1cab760c..d935cb46ccd5b0f1a0ead8da5131892a354359ef 100644
--- a/ghc/tests/deSugar/should_compile/ds022.stderr
+++ b/ghc/tests/deSugar/should_compile/ds022.stderr
@@ -1,3 +1,4 @@
+
 ds022.hs:20: Pattern match(es) are overlapped in the definition of function `i':
 	    i 1 1.1 = ...
 	    i 2 2.2 = ...
diff --git a/ghc/tests/deSugar/should_compile/ds040.stderr b/ghc/tests/deSugar/should_compile/ds040.stderr
index c20c84f9a35babb8991cfde1aa19c3d371ebe913..f420d6a719677735f211adf483613853831fa09e 100644
--- a/ghc/tests/deSugar/should_compile/ds040.stderr
+++ b/ghc/tests/deSugar/should_compile/ds040.stderr
@@ -1,3 +1,4 @@
+
 ds040.hs:7: Pattern match(es) are overlapped in the definition of function `^^^^':
 	    ^^^^ _ _ = ...
 
diff --git a/ghc/tests/deSugar/should_compile/ds043.hs b/ghc/tests/deSugar/should_compile/ds043.hs
new file mode 100644
index 0000000000000000000000000000000000000000..5c7d746b8ba7d0ccaac5179189175160ef499678
--- /dev/null
+++ b/ghc/tests/deSugar/should_compile/ds043.hs
@@ -0,0 +1,11 @@
+-- !!! Checking the exhaustiveness of constructor
+-- !!! with labelled fields.
+module ShouldCompile where
+
+data E = B { a,b,c,d,e,f :: Bool }
+
+bug x =
+ case x of
+  B _ _ _ _ True False    -> undefined
+  B {e=True, f=False}     -> undefined
+  B {a=a,f=False,e=False} -> undefined
diff --git a/ghc/tests/deSugar/should_compile/ds043.stderr b/ghc/tests/deSugar/should_compile/ds043.stderr
new file mode 100644
index 0000000000000000000000000000000000000000..4ffb3fb090a25417eb39a67488760a7e615dd79b
--- /dev/null
+++ b/ghc/tests/deSugar/should_compile/ds043.stderr
@@ -0,0 +1,6 @@
+
+ds043.hs:8: Pattern match(es) are overlapped in a group of case alternatives beginning
+						 (B _ _ _ _ True False):
+	    B {e = True, f = False} -> ...
+
+