[make pointers to pointers to TyNodes work with the fgrin backend
John Meacham <john@repetae.net>**20070227041350] hunk ./C/FromGrin2.hs 326
+convertExp (Store v) | TyPtr TyNode == getType v = do
+    v <- convertVal v
+    tmp <- newVar ppnode_t
+    return ((tmp =* jhc_malloc (sizeof pnode_t)) & (dereference tmp =* v),tmp)
+convertExp (Fetch v) | getType v == TyPtr (TyPtr TyNode) = do
+    v <- convertVal v
+    return (mempty,dereference v)
+convertExp (Update v z) | getType z == TyPtr TyNode = do
+    v' <- convertVal v
+    z' <- convertVal z
+    return $ (dereference v' =* z',emptyExpression)
hunk ./C/FromGrin2.hs 340
-
hunk ./C/FromGrin2.hs 614
-convertExp (Fetch v) | getType v == TyPtr (TyPtr TyNode) = do
-    v <- convertVal v
-    return (mempty,dereference v)
hunk ./C/FromGrin2.hs 626
-convertExp (Store v) | TyPtr TyNode == getType v = do
-    v <- convertVal v
-    tmp <- newVar ppnode_t
-    return ((tmp `assign` jhc_malloc (sizeof pnode_t)) `mappend` (dereference tmp `assign` v),tmp)
hunk ./C/FromGrin2.hs 639
-convertExp (Update v@Var {} (NodeV t [])) | getType v == TyPtr TyNode = do
-    v' <- convertVal v
-    t' <- convertVal (Var t TyTag)
-    let tag = project' anyTag v'
-    return (tag `assign` t',emptyExpression)
hunk ./C/FromGrin2.hs 644
-convertExp (Update v z) | getType z == TyPtr TyNode = do
-    v' <- convertVal v
-    z' <- convertVal z
-    return $ (dereference v' `assign` z',emptyExpression)