diff --git a/ghc/tests/deriving/should_compile/drv008.hs b/ghc/tests/deriving/should_compile/drv008.hs
new file mode 100644
index 0000000000000000000000000000000000000000..da1391dbc9e4be9911d6c7e48bce8ed686ff6729
--- /dev/null
+++ b/ghc/tests/deriving/should_compile/drv008.hs
@@ -0,0 +1,5 @@
+--!!! deriving Ix on d. type with nullary constructors
+module ShouldSucceed where
+
+data AD = A | B | C | D deriving (Show, Ord, Eq, Ix)
+
diff --git a/ghc/tests/deriving/should_compile/drv009.hs b/ghc/tests/deriving/should_compile/drv009.hs
new file mode 100644
index 0000000000000000000000000000000000000000..e0ff3992d037db78a811ad5a9e7884dda71b78a2
--- /dev/null
+++ b/ghc/tests/deriving/should_compile/drv009.hs
@@ -0,0 +1,4 @@
+--!!! deriving Ix on d. type with one constructor
+module ShouldSucceed where
+
+data Pair a b = Pair a b deriving (Show, Ord, Eq, Ix)
diff --git a/ghc/tests/deriving/should_compile/drv010.hs b/ghc/tests/deriving/should_compile/drv010.hs
new file mode 100644
index 0000000000000000000000000000000000000000..e6814507990f51dc9998e2cd4c2e879b4fcb4bc1
--- /dev/null
+++ b/ghc/tests/deriving/should_compile/drv010.hs
@@ -0,0 +1,4 @@
+--!!! deriving Enum on d. type with nullary constructors
+module ShouldSucceed where
+
+data AD = A | B | C | D deriving (Enum)