diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-02-10 00:14:30 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-02-10 00:14:30 -0500 |
| commit | b8cbe3872e702ab8ec388e75cb711330a45825b0 (patch) | |
| tree | 3f0162c85bee328083466f1c2d164eb4035450bb /src/parser.cpp | |
| parent | caf672c49586f1af5e3d41ae200aded991b8b0f7 (diff) | |
| download | zig-b8cbe3872e702ab8ec388e75cb711330a45825b0.tar.gz zig-b8cbe3872e702ab8ec388e75cb711330a45825b0.zip | |
added C pointer type and implicit int-to-ptr for this type
See #1059
Diffstat (limited to 'src/parser.cpp')
| -rw-r--r-- | src/parser.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/parser.cpp b/src/parser.cpp index 1c1af87c51..160a7268b0 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -2779,6 +2779,7 @@ static AstNode *ast_parse_array_type_start(ParseContext *pc) { // <- ASTERISK // / ASTERISK2 // / LBRACKET ASTERISK RBRACKET +// / LBRACKET ASTERISK C RBRACKET static AstNode *ast_parse_ptr_type_start(ParseContext *pc) { Token *asterisk = eat_token_if(pc, TokenIdStar); if (asterisk != nullptr) { @@ -2804,6 +2805,13 @@ static AstNode *ast_parse_ptr_type_start(ParseContext *pc) { return res; } + Token *cptr = eat_token_if(pc, TokenIdBracketStarCBracket); + if (cptr != nullptr) { + AstNode *res = ast_create_node(pc, NodeTypePointerType, cptr); + res->data.pointer_type.star_token = cptr; + return res; + } + return nullptr; } |
