Fixed the generation of mobile array dereferences

This commit is contained in:
Neil Brown 2009-03-23 15:55:38 +00:00
parent 8af024e08d
commit 919781eabc

View File

@ -654,7 +654,11 @@ cgenVariableWithAM checkValid v am fct
do (cg, ct) <- inner v do (cg, ct) <- inner v
innerCT <- call getCType m innerT A.Original innerCT <- call getCType m innerT A.Original
let cast = tell ["("] >> genType innerT >> tell ["*)"] let cast = tell ["("] >> genType innerT >> tell ["*)"]
return (tell ["("] >> cast >> tell ["(("] >> cg >> tell [")->data))"] return (do tell ["("]
cast
tell ["(("]
dressUp m (cg, ct) (Pointer $ Plain "mt_array_t")
tell [")->data))"]
, Pointer $ innerCT) , Pointer $ innerCT)
_ -> inner v _ -> inner v
inner (A.DirectedVariable _ dir v) inner (A.DirectedVariable _ dir v)