Skip to content
Snippets Groups Projects
Commit 040b7dea authored by Simon Marlow's avatar Simon Marlow
Browse files

[project @ 2000-09-05 12:38:26 by simonmar]

Add tests for newtypes in foreign declarations.
parent e64ce004
No related merge requests found
......@@ -7,6 +7,7 @@ SRC_HC_OPTS += -dcore-lint -fglasgow-exts
# Note that these tests are still in a state of flux... don't believe errors
# they report. In fact, these aren't really very good tests at all...
cc004_HC_OPTS = -fvia-C
cc005_HC_OPTS = -fvia-C
cc006_HC_OPTS = -fvia-C -fno-prune-tydecls
......
-- !!! cc008 -- foreign export dynamic returning newtype of Addr
module Test where
import Addr
newtype Ptr a = Ptr Addr
foreign export dynamic mkFoo :: IO () -> IO (Ptr Int)
-- !!! cc009 -- foreign label returning newtype of Addr
module Test where
import Addr
newtype Ptr a = Ptr Addr
foreign label foo :: Ptr Int
-- !!! illegal types in foreign export delarations
module ShouldFail where
import PrelGHC
foreign export foo :: Int# -> IO ()
foo i | i ==# 0# = return ()
foreign export bar :: Int -> Int#
bar _ = 42#
cc005.hs:7:
Unacceptable argument type in foreign declaration: Int#
When checking declaration:
foreign export _ccall "foo" foo :: Int# -> IO ()
cc005.hs:10:
Unacceptable result type in foreign declaration: Int#
When checking declaration:
foreign export _ccall "bar" bar :: Int -> Int#
Compilation had errors
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment