Commit 175893913d

Andrew Kelley <superjoe30@gmail.com>
2017-10-21 19:14:10
fix compiler crash regarding type name of undefined
See #547
1 parent 9b91c76
Changed files (2)
src/codegen.cpp
@@ -4554,6 +4554,7 @@ static void define_builtin_types(CodeGen *g) {
     {
         TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdUndefLit);
         buf_init_from_str(&entry->name, "(undefined)");
+        entry->zero_bits = true;
         g->builtin_types.entry_undef = entry;
     }
     {
test/cases/undefined.zig
@@ -1,4 +1,5 @@
 const assert = @import("std").debug.assert;
+const mem = @import("std").mem;
 
 fn initStaticArray() -> [10]i32 {
     var array: [10]i32 = undefined;
@@ -60,3 +61,8 @@ test "assign undefined to struct with method" {
         assert(foo.x == 3);
     }
 }
+
+test "type name of undefined" {
+  const x  = undefined;
+  assert(mem.eql(u8, @typeName(@typeOf(x)), "(undefined)"));
+}