summaryrefslogtreecommitdiff
path: root/compiler/vectorise
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2012-02-15 14:55:23 +0000
committerIan Lynagh <igloo@earth.li>2012-02-16 13:01:02 +0000
commit546dd4f219ba05880e252e7fee6a2037a50ed3b3 (patch)
tree594d3a0bc49683608d9614a83a9eb1eead9e33f5 /compiler/vectorise
parentc56c0c90dfedd6acf6e146dd44a77f75a613a99b (diff)
downloadhaskell-546dd4f219ba05880e252e7fee6a2037a50ed3b3.tar.gz
Implement the CTYPE pragma; part of the CApiFFI extension
For now, the syntax is type {-# CTYPE "some C type" #-} Foo = ... newtype {-# CTYPE "some C type" #-} Foo = ... data {-# CTYPE "some C type" #-} Foo = ...
Diffstat (limited to 'compiler/vectorise')
-rw-r--r--compiler/vectorise/Vectorise/Generic/PData.hs1
-rw-r--r--compiler/vectorise/Vectorise/Type/Env.hs2
-rw-r--r--compiler/vectorise/Vectorise/Type/TyConDecl.hs1
3 files changed, 3 insertions, 1 deletions
diff --git a/compiler/vectorise/Vectorise/Generic/PData.hs b/compiler/vectorise/Vectorise/Generic/PData.hs
index 1026e95029..f860a4a900 100644
--- a/compiler/vectorise/Vectorise/Generic/PData.hs
+++ b/compiler/vectorise/Vectorise/Generic/PData.hs
@@ -47,6 +47,7 @@ buildDataFamInst name' fam_tc vect_tc rhs
pat_tys = [mkTyConApp vect_tc (mkTyVarTys tyvars)]
rep_tc = buildAlgTyCon name'
tyvars
+ Nothing
[] -- no stupid theta
rhs
rec_flag -- FIXME: is this ok?
diff --git a/compiler/vectorise/Vectorise/Type/Env.hs b/compiler/vectorise/Vectorise/Type/Env.hs
index 0051d072a4..dd4b923ca0 100644
--- a/compiler/vectorise/Vectorise/Type/Env.hs
+++ b/compiler/vectorise/Vectorise/Type/Env.hs
@@ -326,7 +326,7 @@ vectTypeEnv tycons vectTypeDecls vectClassDecls
origName = tyConName origTyCon
vectName = tyConName vectTyCon
- mkSyn canonName ty = mkSynTyCon canonName (typeKind ty) [] (SynonymTyCon ty) NoParentTyCon
+ mkSyn canonName ty = mkSynTyCon canonName (typeKind ty) [] Nothing (SynonymTyCon ty) NoParentTyCon
defDataCons
| isAbstract = return ()
diff --git a/compiler/vectorise/Vectorise/Type/TyConDecl.hs b/compiler/vectorise/Vectorise/Type/TyConDecl.hs
index 9b830446c8..9f682a86fd 100644
--- a/compiler/vectorise/Vectorise/Type/TyConDecl.hs
+++ b/compiler/vectorise/Vectorise/Type/TyConDecl.hs
@@ -96,6 +96,7 @@ vectTyConDecl tycon name'
; return $ buildAlgTyCon
name' -- new name
(tyConTyVars tycon) -- keep original type vars
+ Nothing
[] -- no stupid theta
rhs' -- new constructor defs
rec_flag -- whether recursive