mirror of
https://github.com/ziglang/zig.git
synced 2026-02-13 04:48:20 +00:00
commit
e4a86d4653
13
src/ir.cpp
13
src/ir.cpp
@ -188,6 +188,19 @@ static ConstExprValue *const_ptr_pointee_unchecked(CodeGen *g, ConstExprValue *c
|
||||
assert(get_src_ptr_type(const_val->type) != nullptr);
|
||||
assert(const_val->special == ConstValSpecialStatic);
|
||||
ConstExprValue *result;
|
||||
|
||||
switch (type_has_one_possible_value(g, const_val->type->data.pointer.child_type)) {
|
||||
case OnePossibleValueInvalid:
|
||||
zig_unreachable();
|
||||
case OnePossibleValueYes:
|
||||
result = create_const_vals(1);
|
||||
result->type = const_val->type->data.pointer.child_type;
|
||||
result->special = ConstValSpecialStatic;
|
||||
return result;
|
||||
case OnePossibleValueNo:
|
||||
break;
|
||||
}
|
||||
|
||||
switch (const_val->data.x_ptr.special) {
|
||||
case ConstPtrSpecialInvalid:
|
||||
zig_unreachable();
|
||||
|
||||
@ -24,6 +24,7 @@ comptime {
|
||||
_ = @import("behavior/bugs/1851.zig");
|
||||
_ = @import("behavior/bugs/1914.zig");
|
||||
_ = @import("behavior/bugs/2006.zig");
|
||||
_ = @import("behavior/bugs/2346.zig");
|
||||
_ = @import("behavior/bugs/394.zig");
|
||||
_ = @import("behavior/bugs/421.zig");
|
||||
_ = @import("behavior/bugs/529.zig");
|
||||
|
||||
6
test/stage1/behavior/bugs/2346.zig
Normal file
6
test/stage1/behavior/bugs/2346.zig
Normal file
@ -0,0 +1,6 @@
|
||||
test "" {
|
||||
const a: *void = undefined;
|
||||
const b: *[1]void = a;
|
||||
const c: *[0]u8 = undefined;
|
||||
const d: []u8 = c;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user