aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorVexu <git@vexu.eu>2020-05-16 17:37:19 +0300
committerGitHub <noreply@github.com>2020-05-16 17:37:19 +0300
commit74f7d710bb18b2ea40235af0ee25acdf189ea089 (patch)
tree3b45136af1dbda34bcf48e08c42b5a121e9143bf /lib
parentd061e5854a0891a3d4290183aa4f9d033d10d8c2 (diff)
parent3e375ee2b92db3ab4603c5f42f5a7fce8610ccab (diff)
downloadzig-74f7d710bb18b2ea40235af0ee25acdf189ea089.tar.gz
zig-74f7d710bb18b2ea40235af0ee25acdf189ea089.zip
Merge pull request #5032 from LakeByTheWoods/redo_translate_c
Translate C: Redo Add comment containing c source location for failed decls.
Diffstat (limited to 'lib')
-rw-r--r--lib/std/zig/render.zig6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/std/zig/render.zig b/lib/std/zig/render.zig
index ba3714b4a7..2de5022876 100644
--- a/lib/std/zig/render.zig
+++ b/lib/std/zig/render.zig
@@ -2332,8 +2332,10 @@ fn renderTokenOffset(
}
while (true) {
- assert(loc.line != 0);
- const newline_count = if (loc.line == 1) @as(u8, 1) else @as(u8, 2);
+ // translate-c doesn't generate correct newlines
+ // in generated code (loc.line == 0) so treat that case
+ // as though there was meant to be a newline between the tokens
+ const newline_count = if (loc.line <= 1) @as(u8, 1) else @as(u8, 2);
try stream.writeByteNTimes('\n', newline_count);
try stream.writeByteNTimes(' ', indent);
try stream.writeAll(mem.trimRight(u8, tree.tokenSlicePtr(next_token), " "));