Commit 26096e79d1

Andrew Kelley <superjoe30@gmail.com>
2017-11-28 09:17:28
translate-c: fix clobbering primitive types
1 parent 8d5c4a6
Changed files (2)
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;
 }
 
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;
+        \\}
+    );
 }