aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt2016-02-08 17:27:28 -0800
committerPalmer Dabbelt2016-02-08 17:27:28 -0800
commit23903d52f501e42ae7a633ad6509d9352cf2f68c (patch)
tree351a992dccbad7ae156a72d6499ba90b4701f21c
parentf3c4c604549db6bbe824c29649bb05bba7470d8a (diff)
Escape printf argument before emitting them
-rw-r--r--src/main/stanza/passes.stanza2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/main/stanza/passes.stanza b/src/main/stanza/passes.stanza
index 503e16c4..60317a8e 100644
--- a/src/main/stanza/passes.stanza
+++ b/src/main/stanza/passes.stanza
@@ -2692,7 +2692,7 @@ defn emit-verilog (m:InModule) -> Module :
defn stop (ret:Int) -> Streamable :
["$fdisplay(32'h80000002,\"" ret "\");$finish;"]
defn printf (str:String,args:List<Expression>) -> Streamable :
- val str* = join(List(escape(str),args),",")
+ val str* = join(List(escape(str),map(escape,map(to-string,args))),",")
["$fwrite(32'h80000002," str* ");"]
defn delay (e:Expression, n:Int, clk:Expression) -> Expression :
var e* = e