diff --git a/ghc/tests/ccall/should_compile/cc002.hs b/ghc/tests/ccall/should_compile/cc002.hs
new file mode 100644
index 0000000000000000000000000000000000000000..d3ed1f15db94d4288fd549a8bd915716ca48b8c1
--- /dev/null
+++ b/ghc/tests/ccall/should_compile/cc002.hs
@@ -0,0 +1,9 @@
+--!!! cc002 -- ccall with ambiguous result (should be defaulted to ())
+module ShouldCompile where
+
+a :: IO ()
+a = do
+ _ccall_ a
+ return ()
+
+	
diff --git a/ghc/tests/ccall/should_fail/cc001.hs b/ghc/tests/ccall/should_fail/cc001.hs
new file mode 100644
index 0000000000000000000000000000000000000000..f0dd58c8ff75b751f28122d22422698fbcb755d9
--- /dev/null
+++ b/ghc/tests/ccall/should_fail/cc001.hs
@@ -0,0 +1,5 @@
+--!!! cc002 -- ccall with ambiguous argument
+module Test where
+
+f :: IO ()
+f = _ccall_ foo (undefined ())
diff --git a/ghc/tests/ccall/should_fail/cc001.stderr b/ghc/tests/ccall/should_fail/cc001.stderr
new file mode 100644
index 0000000000000000000000000000000000000000..33177e444c3397c2b764d8774673e5b1e90d2fd3
--- /dev/null
+++ b/ghc/tests/ccall/should_fail/cc001.stderr
@@ -0,0 +1,7 @@
+ 
+cc001.hs:5:
+    Cannot resolve the ambiguous context (PrelGHC.CCallable aJC)
+	`PrelGHC.CCallable aJC' arising from an argument in the _ccall_ to `foo', namely `(Prelude.undefined ())' at cc001.hs:5
+
+
+Compilation had errors