diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-02-05 19:55:37 -0500 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-02-05 19:55:37 -0500 |
| commit | d26bb3ae2e9add11ef350e5d7b040dfbe10539be (patch) | |
| tree | 0a1fe05353903df166f87e9bfb3aaafc89d3ddbd /src/ast_render.cpp | |
| parent | 7749ffd797e927f93051060db49b76c595879697 (diff) | |
| download | zig-d26bb3ae2e9add11ef350e5d7b040dfbe10539be.tar.gz zig-d26bb3ae2e9add11ef350e5d7b040dfbe10539be.zip | |
fix assigning to const ptr through struct or index
Diffstat (limited to 'src/ast_render.cpp')
| -rw-r--r-- | src/ast_render.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/ast_render.cpp b/src/ast_render.cpp index c8767031b2..b1e1306c7c 100644 --- a/src/ast_render.cpp +++ b/src/ast_render.cpp @@ -786,11 +786,13 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) { } case NodeTypeTryExpr: { - const char *var_str = node->data.try_expr.var_is_const ? "const" : "var"; - const char *var_name = buf_ptr(node->data.try_expr.var_symbol); - const char *ptr_str = node->data.try_expr.var_is_ptr ? "*" : ""; - fprintf(ar->f, "try (%s %s%s", var_str, ptr_str, var_name); - fprintf(ar->f, " = "); + fprintf(ar->f, "try ("); + if (node->data.try_expr.var_symbol) { + const char *var_str = node->data.try_expr.var_is_const ? "const" : "var"; + const char *var_name = buf_ptr(node->data.try_expr.var_symbol); + const char *ptr_str = node->data.try_expr.var_is_ptr ? "*" : ""; + fprintf(ar->f, "%s %s%s = ", var_str, ptr_str, var_name); + } render_node_grouped(ar, node->data.try_expr.target_node); fprintf(ar->f, ") "); render_node_grouped(ar, node->data.try_expr.then_node); |
