diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2018-06-04 01:09:15 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2018-06-04 01:39:57 -0400 |
| commit | 96164ce61377b36bcaf0c4087ca9b1ab822b9457 (patch) | |
| tree | db4ab07dd179c8f72a05028edb6ad60bfabd4a74 /src/ast_render.cpp | |
| parent | 4c273126dfc44cf4fcf9d5d97bf1cb1da07d7bd7 (diff) | |
| download | zig-96164ce61377b36bcaf0c4087ca9b1ab822b9457.tar.gz zig-96164ce61377b36bcaf0c4087ca9b1ab822b9457.zip | |
disallow single-item pointer indexing
add pointer arithmetic for unknown length pointer
Diffstat (limited to 'src/ast_render.cpp')
| -rw-r--r-- | src/ast_render.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ast_render.cpp b/src/ast_render.cpp index f356f406b0..3785cb6ca1 100644 --- a/src/ast_render.cpp +++ b/src/ast_render.cpp @@ -625,7 +625,13 @@ static void render_node_extra(AstRender *ar, AstNode *node, bool grouped) { case NodeTypePointerType: { if (!grouped) fprintf(ar->f, "("); - fprintf(ar->f, "*"); + const char *star = "[*]"; + if (node->data.pointer_type.star_token != nullptr && + (node->data.pointer_type.star_token->id == TokenIdStar || node->data.pointer_type.star_token->id == TokenIdStarStar)) + { + star = "*"; + } + fprintf(ar->f, "%s", star); if (node->data.pointer_type.align_expr != nullptr) { fprintf(ar->f, "align("); render_node_grouped(ar, node->data.pointer_type.align_expr); |
