From 79920e874f1fa4191cd758fd6597d582fa52c447 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Sun, 30 Mar 2025 11:17:05 +0200 Subject: Compile: Generate slightly less redundant C code --- src/Compile.hs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/Compile.hs') diff --git a/src/Compile.hs b/src/Compile.hs index b4261ca..7bbb043 100644 --- a/src/Compile.hs +++ b/src/Compile.hs @@ -1082,9 +1082,12 @@ compile' env = \case compileAssign :: String -> SList (Const String) env -> Ex env t -> CompM String compileAssign prefix env e = do e' <- compile' env e - name <- genName' prefix - emit $ SVarDecl True (repSTy (typeOf e)) name e' - return name + case e' of + CELit name -> return name + _ -> do + name <- genName' prefix + emit $ SVarDecl True (repSTy (typeOf e)) name e' + return name data Increment = Increment | Decrement deriving (Show) -- cgit v1.2.3-70-g09d2