src/codegen-proto.lisp: Include `;' in `var-inst' output.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 30 Aug 2015 09:59:45 +0000 (10:59 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sun, 30 Aug 2015 17:11:38 +0000 (18:11 +0100)
Because other kinds of decls will have their own semicolons.  Previously
the semicolons were added as part of the block output machinery.

src/codegen-proto.lisp

index 602b51e..743c89f 100644 (file)
 (definst var (stream :export t) (name type init)
   (pprint-c-type type stream name)
   (when init
-    (format stream " = ~A" init)))
+    (format stream " = ~A" init))
+  (write-char #\; stream))
 (definst set (stream :export t) (var expr)
   (format stream "~@<~A = ~@_~2I~A;~:>" var expr))
 (definst update (stream :export t) (var op expr)
 (definst expr (stream :export t) (expr)
   (format stream "~A;" expr))
 (definst block (stream :export t) (decls body)
-  (format stream "{~:@_~@<  ~2I~@[~{~A;~:@_~}~:@_~]~{~A~^~:@_~}~:>~:@_}"
+  (format stream "{~:@_~@<  ~2I~@[~{~A~:@_~}~:@_~]~{~A~^~:@_~}~:>~:@_}"
          decls body))
 (definst function (stream :export t) (name type body)
   (pprint-logical-block (stream nil)