Commit 78a7bb108a
Changed files (3)
src
codegen
test
behavior
bugs
src/codegen/llvm.zig
@@ -1916,7 +1916,7 @@ pub const Object = struct {
if (ty.castTag(.@"struct")) |payload| {
const struct_obj = payload.data;
- if (struct_obj.layout == .Packed) {
+ if (struct_obj.layout == .Packed and struct_obj.haveFieldTypes()) {
const info = struct_obj.backing_int_ty.intInfo(target);
const dwarf_encoding: c_uint = switch (info.signedness) {
.signed => DW.ATE.signed,
test/behavior/bugs/13159.zig
@@ -0,0 +1,14 @@
+const std = @import("std");
+const expect = std.testing.expect;
+
+const Bar = packed struct {
+ const Baz = enum {
+ fizz,
+ buzz,
+ };
+};
+
+test {
+ var foo = Bar.Baz.fizz;
+ try expect(foo == .fizz);
+}
test/behavior.zig
@@ -109,6 +109,7 @@ test {
_ = @import("behavior/bugs/13128.zig");
_ = @import("behavior/bugs/13164.zig");
_ = @import("behavior/bugs/13171.zig");
+ _ = @import("behavior/bugs/13159.zig");
_ = @import("behavior/byteswap.zig");
_ = @import("behavior/byval_arg_var.zig");
_ = @import("behavior/call.zig");