zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 26096e79d1610218106faa75f7dbb10b4b5bbe5a (tree)
parent 8d5c4a67a7dfe2e1fc07f84515d59405c4100b5c
Author: Andrew Kelley <superjoe30@gmail.com>
Date:   Tue, 28 Nov 2017 03:17:28 -0500

translate-c: fix clobbering primitive types

Diffstat:
Msrc/translate_c.cpp | 3+++
Mtest/translate_c.zig | 10++++++++++
2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/translate_c.cpp b/src/translate_c.cpp @@ -400,6 +400,9 @@ static AstNode *get_global(Context *c, Buf *name) { if (entry) return entry->value; } + if (c->codegen->primitive_type_table.maybe_get(name) != nullptr) { + return trans_create_node_symbol(c, name); + } return nullptr; } diff --git a/test/translate_c.zig b/test/translate_c.zig @@ -1162,4 +1162,14 @@ pub fn addCases(cases: &tests.TranslateCContext) { \\ return ~x; \\} ); + + cases.add("primitive types included in defined symbols", + \\int foo(int u32) { + \\ return u32; + \\} + , + \\pub fn foo(u32_0: c_int) -> c_int { + \\ return u32_0; + \\} + ); }