zig

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

commit 175893913defb637fd14ea5d2b49bbdf79a3222d (tree)
parent 9b91c76088e784bb622008623059eca5bbcd8700
Author: Andrew Kelley <superjoe30@gmail.com>
Date:   Sat, 21 Oct 2017 13:14:10 -0400

fix compiler crash regarding type name of undefined

See #547

Diffstat:
Msrc/codegen.cpp | 1+
Mtest/cases/undefined.zig | 6++++++
2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/codegen.cpp b/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; } { diff --git a/test/cases/undefined.zig b/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)")); +}