[project @ 2001-08-28 10:06:29 by simonpj]
authorsimonpj <unknown>
Tue, 28 Aug 2001 10:06:30 +0000 (10:06 +0000)
committersimonpj <unknown>
Tue, 28 Aug 2001 10:06:30 +0000 (10:06 +0000)
commitb0604aad2c311d8713c2497afa6373bd938d501b
tree6a6c5ef3c0dda4b794ed2ebf713db56a926be767
parentad6bc60d7330ec56c08fd81e1d992b5ed2db8a57
[project @ 2001-08-28 10:06:29 by simonpj]
----------------------------------------
Make isFFIArgumentTy understand newtypes
----------------------------------------

This fixes the bug Manuel reported:

newtype T = T (Ptr T)
foreign import ccall foo :: T -> IO (Ptr T)

  test.hs:6:
      Unacceptable argument type in foreign declaration: T

On the way, I moved isFFIArgumentTy and friends out of TysWiredIn,
where they didn't really belong, into TcType.  That in turn force
me to move isStrictType, and isPrimitiveType.
ghc/compiler/DEPEND-NOTES
ghc/compiler/basicTypes/DataCon.lhs
ghc/compiler/deSugar/DsCCall.lhs
ghc/compiler/prelude/TysWiredIn.lhs
ghc/compiler/simplCore/SimplUtils.lhs
ghc/compiler/typecheck/TcForeign.lhs
ghc/compiler/typecheck/TcMType.lhs
ghc/compiler/typecheck/TcType.lhs
ghc/compiler/types/Type.lhs