Andrew Kelley
253906fb93
zig fmt: 2nd arg multiline string
2021-02-22 16:00:21 -07:00
Isaac Freund
45634851de
zig fmt: fix firstToken() for extern fn_protos
2021-02-22 23:51:54 +01:00
Isaac Freund
550688f427
zig fmt: insert trailing comma in switches
2021-02-22 23:51:54 +01:00
Isaac Freund
f3ee10b454
zig fmt: fix comments ending with EOF after decls
...
Achieve this by reducing the amount of special casing to handle EOF so
that the already correct logic for normal comments does not need to be
duplicated.
2021-02-22 18:32:37 +01:00
Isaac Freund
ce9b3ee0f9
parser: anytype is not a vaild return type
2021-02-22 17:38:09 +01:00
Isaac Freund
34c08a91d5
zig fmt: fix formatting of parser tests
2021-02-22 17:37:17 +01:00
Veikka Tuominen
928790364a
zig fmt: correct Node.firstToken for .fn_decl, add error for missing container
2021-02-22 17:39:41 +02:00
Veikka Tuominen
69d5a106da
render: handle comments ending in EOF
2021-02-22 16:59:44 +02:00
Veikka Tuominen
67dac2936c
parser: warn on missing for loop payload, recover from invalid global error set access
2021-02-22 10:04:05 +02:00
Andrew Kelley
621ad241d6
zig fmt: if nested
2021-02-21 20:25:31 -07:00
Andrew Kelley
c6efb23796
zig fmt: rewrite inline functions as callconv(.Inline)
2021-02-21 18:20:46 -07:00
Andrew Kelley
878e99d580
parser: fix recovery for missing semicolons
2021-02-21 18:04:23 -07:00
Andrew Kelley
1247b7b9ef
parser: modify another recovery test case
...
Zig no longer has `error` as the global error set; it is now a special
case keyword. The new parse error message is correct.
2021-02-21 18:00:37 -07:00
Andrew Kelley
79f1876367
parser: remove support for recovering from extra top level end curlies
...
After #35 is implemented,
we should be able to recover from this *at any indentation level*,
reporting a parse error and yet also parsing all the decls even
inside structs. Until then, I don't want to add any hacks to make
this work.
2021-02-21 17:57:04 -07:00
Andrew Kelley
2da2123128
parser: remove support for a recovery test case
...
I don't understand the idea here of this kind of recovery. If we
want to resurrect this test case we need some comments on it to explain
the purpose, example use cases, expected behavior, etc.
2021-02-21 17:37:39 -07:00
Andrew Kelley
866f7dc7d6
parser: support more recovery test cases
2021-02-21 17:37:10 -07:00
Andrew Kelley
88d0e77b97
parse: implement error for invalid bit range and alignment
2021-02-21 00:18:20 -07:00
Andrew Kelley
8fee41b1d5
stage2: AST: clean up parse errors
...
* struct instead of tagged union
* delete dead code
* simplify parser code
* remove unnecessary metaprogramming
2021-02-19 18:04:52 -07:00
Isaac Freund
95b95ea33e
stage2: make same line doc comments a parse error
...
Allowing same line doc comments causes some ambiguity as to how
generated docs should represent the case in which both same line
and preceding line doc comments are present:
/// preceding line
const foobar = 42; /// same line
Furthermore disallowing these makes things simpler as there is now only
one way to add a doc comment to a decl or struct field.
2021-02-19 22:59:27 +01:00
Veikka Tuominen
d672c20b8a
Merge pull request #7479 from ziglang/translate-c-ast
...
Make translate-c use intermediate AST
2021-02-19 13:03:29 +02:00
Isaac Freund
895fb2bd6d
zig fmt: implement 'zig fmt: (on|off)' directives
...
With the new implementation, these now work anywhere in the source code
as opposed to only at the top level.
2021-02-16 23:20:53 +01:00
Veikka Tuominen
78fba4e021
translate-c: get all run-translated-c tests passing
2021-02-16 16:40:43 +02:00
Isaac Freund
bbf5a4d7c5
zig fmt: fix inferred error union return types
2021-02-15 13:54:48 +01:00
Isaac Freund
24798b84ad
zig fmt: implement multiline string literals
2021-02-13 16:57:34 -08:00
Isaac Freund
75ba8d8db6
zig fmt: remove empty lines at start/end of block
2021-02-13 16:57:34 -08:00
Andrew Kelley
a9db40e870
zig fmt: add failing test case for inline/callconv conversion
2021-02-11 23:53:04 -07:00
Andrew Kelley
b4e344bcf8
Merge remote-tracking branch 'origin/master' into ast-memory-layout
...
Conflicts:
* lib/std/zig/ast.zig
* lib/std/zig/parse.zig
* lib/std/zig/parser_test.zig
* lib/std/zig/render.zig
* src/Module.zig
* src/zir.zig
I resolved some of the conflicts by reverting a small portion of
@tadeokondrak's stage2 logic here regarding `callconv(.Inline)`.
It will need to get reworked as part of this branch.
2021-02-11 23:45:40 -07:00
Andrew Kelley
3d0f4b9030
stage2: start reworking Module/astgen for memory layout changes
...
This commit does not reach any particular milestone, it is
work-in-progress towards getting things to build.
There's a `@panic("TODO")` in translate-c that should be removed when
working on translate-c stuff.
2021-02-11 23:29:55 -07:00
Isaac Freund
faa3fa65ac
zig fmt: implement line comments
2021-02-11 15:49:49 -08:00
Tadeo Kondrak
5dfe0e7e8f
Convert inline fn to callconv(.Inline) everywhere
2021-02-10 20:06:12 -07:00
Isaac Freund
4c8caf3343
zig fmt: implement Tree.lastToken() for all nodes
2021-02-10 11:53:53 -08:00
Isaac Freund
515d4920e7
zig fmt: fix 0 element struct and array init
2021-02-10 11:53:53 -08:00
Isaac Freund
5df7fc36c6
zig fmt: implement Tree.lastToken() for struct init
2021-02-10 11:53:53 -08:00
Isaac Freund
928f6f48a6
zig fmt: implement Tree.lastToken() for array init
2021-02-10 11:53:53 -08:00
Isaac Freund
3110a73486
zig fmt: implement Tree.lastToken() for array types
2021-02-10 11:53:53 -08:00
Isaac Freund
8c4f3e5a31
zig fmt: fix render of pointers with ** tokens
2021-02-10 11:53:53 -08:00
Isaac Freund
a524e57090
zig fmt: support bodyless function decls
...
extern function declarations do not have a body, so allow setting
the rhs for FnDecl to 0 to indicate this is the case.
2021-02-10 11:53:53 -08:00
Isaac Freund
80b719d967
zig fmt: fix typo in firstToken() for pointer types
2021-02-10 11:53:53 -08:00
Andrew Kelley
58db3d2775
zig fmt: re-enable now-passing test cases
2021-02-09 23:07:29 -07:00
Andrew Kelley
fa5fcdd734
zig fmt: fix regression with many container members
2021-02-09 22:42:00 -07:00
Andrew Kelley
36eee7bc6c
zig fmt: anytype, fn calls with one param, trailing commas
...
and extra newlines between top level declarations
2021-02-09 22:26:21 -07:00
Andrew Kelley
25bcf4eb99
zig fmt: grouped expressions
2021-02-09 21:17:43 -07:00
Andrew Kelley
7295d4b807
zig fmt: suspend blocks
2021-02-09 20:35:43 -07:00
Andrew Kelley
ebf04c56e1
zig fmt: usingnamespace
2021-02-09 20:17:47 -07:00
Andrew Kelley
39acc4c020
zig fmt: for loops
2021-02-09 20:08:40 -07:00
Andrew Kelley
1c79eea125
zig fmt: while loops
2021-02-09 17:23:57 -07:00
Andrew Kelley
bcafc51e58
zig fmt: fn protos and anytype
2021-02-09 14:41:50 -07:00
Andrew Kelley
b1d8a0a5a6
zig fmt: asm expressions
2021-02-08 22:03:23 -07:00
Isaac Freund
d869133a9f
zig fmt: implement switches
2021-02-08 15:41:31 -08:00
Isaac Freund
837cd748a8
zig fmt: fix block lbrace indent
2021-02-08 15:41:31 -08:00