From b6b0577ecdbb9e18925d785467d1ede31b8ab75f Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Sat, 21 Mar 2009 21:01:25 +0000 Subject: [PATCH] Fixed directed variables (for the C++ backend) --- backends/GenerateC.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backends/GenerateC.hs b/backends/GenerateC.hs index 8721321..7fd1230 100644 --- a/backends/GenerateC.hs +++ b/backends/GenerateC.hs @@ -761,7 +761,10 @@ cgenVariableWithAM checkValid v mam return (tell ["("] >> cast >> tell ["(("] >> cg >> tell [")->data))"] , Pointer $ innerCT) _ -> inner v - inner (A.DirectedVariable _ _ v) = inner v + inner (A.DirectedVariable _ dir v) + = do (cg, ct) <- inner v + t <- astTypeOf v + return (call genDirectedVariable m t cg dir, ct) inner sv@(A.SubscriptedVariable m sub v) = case sub of A.Subscript _ subCheck _