Veikka Tuominen
d7460db044
translate-c: render a bunch of simple nodes and calls
2021-02-16 16:40:39 +02:00
Isaac Freund
bbf5a4d7c5
zig fmt: fix inferred error union return types
2021-02-15 13:54:48 +01:00
Andrew Kelley
c2b4d51749
astgen: update a handful of expression types to new mem layout
...
break, continue, blocks, bit_not, negation, identifiers, string
literals, integer literals, inline assembly
also gave multiline string literals a different node tag from regular
string literals, for code clarity and to avoid an unnecessary load from
token_tags array.
2021-02-13 21:40:12 -07: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
7630a5c566
stage2: more progress towards Module/astgen building with new mem layout
2021-02-12 23:47:17 -07: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
Veikka Tuominen
288e180598
snake_case render.Space
2021-02-12 02:14:07 +02:00
Veikka Tuominen
bb22490fcc
snake_case Node.Tag
2021-02-12 02:12:43 +02:00
Veikka Tuominen
e2289961c6
snake_case Token.Tag
2021-02-12 02:12:00 +02:00
Isaac Freund
faa3fa65ac
zig fmt: implement line comments
2021-02-11 15:49:49 -08:00
Isaac Freund
b6448a533d
zig fmt: fix Tree.lastToken() for empty *Two nodes
2021-02-11 15:49:49 -08:00
Tadeo Kondrak
1c15091bc8
stage1: switch from inline fn to callconv(.Inline)
2021-02-10 20:06:13 -07:00
Tadeo Kondrak
5dfe0e7e8f
Convert inline fn to callconv(.Inline) everywhere
2021-02-10 20:06:12 -07:00
Tadeo Kondrak
9c797fe3ac
std.zig: reformat inline fn to callconv(.Inline)
2021-02-10 20:06:11 -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
Jonathan Marler
1480c42806
require specifier for arrayish types
2021-02-09 22:25:52 -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
9d87e6aeb8
zig fmt: remove dead code
...
likely these will be resurrected to make array literal cases pass.
2021-02-09 22:29:01 -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
Isaac Freund
aaf13a2bb3
zig fmt: implement break
2021-02-08 15:41:31 -08:00
Isaac Freund
57cec38e61
std/zig/ast: fix Tree.lastToken() for blocks
...
The fact that blocks may end in a semicolon but this semicolon is not
counted by recursive lastToken() evaluation on the sub expression causes
off-by-one errors for lastToken() on blocks currently.
To fix this, introduce BlockSemicolon and BlockTwoSemicolon following
the pattern used for trailing commas in e.g. builtin function arguments.
2021-02-07 14:51:37 -08:00
Isaac Freund
0e38362d24
zig fmt: split Slice and SliceSentinel
...
This saves 4 whole bytes in the common case where there is no sentinel.
2021-02-07 14:51:37 -08:00
Isaac Freund
1d71b19c0d
zig fmt: implement error set decls
2021-02-07 14:51:37 -08:00
Isaac Freund
bb7b5ee2ac
zig fmt: implement catch and return
2021-02-07 12:04:32 -08:00
Isaac Freund
0929fcbc34
zig fmt: implement slices
2021-02-07 12:04:32 -08:00
Isaac Freund
33915cb1ed
zig fmt: implement pointer types
...
rename PtrType => PtrTypeBitRange, SliceType => PtrType
This rename was done as the current SliceType is used for non-bitrange
pointers as well as slices and because PtrTypeSentinel/PtrTypeAligned
are also used for slices. Therefore using the same Ptr prefix for all
these pointer/slice nodes is an improvement.
2021-02-06 21:29:45 -08:00
Andrew Kelley
d898945786
zig fmt: builtin call with trailing comma
2021-02-05 20:38:30 -07:00
Andrew Kelley
409ca88829
zig fmt: trailing comma in fn parameter list
2021-02-05 17:46:15 -07:00
Andrew Kelley
16a2562c3f
zig fmt: implement container decls
2021-02-05 15:47:18 -07:00
Andrew Kelley
cf42ae178d
std.MultiArrayList: use @memset builtin for undefined
...
See comment for more details
2021-02-05 15:45:33 -07:00