diff --git a/src/Zir.zig b/src/Zir.zig index 4fecfd3c50..1f1da17949 100644 --- a/src/Zir.zig +++ b/src/Zir.zig @@ -3416,8 +3416,9 @@ pub const DeclIterator = struct { it.extra_index += 5; // src_hash(4) + line(1) const name = it.zir.nullTerminatedString(it.zir.extra[it.extra_index]); it.extra_index += 3; // name(1) + value(1) + doc_comment(1) - it.extra_index += @as(u1, @truncate(flags >> 2)); - it.extra_index += @as(u1, @truncate(flags >> 3)); + it.extra_index += @as(u1, @truncate(flags >> 2)); // align + it.extra_index += @as(u1, @truncate(flags >> 3)); // link_section + it.extra_index += @as(u1, @truncate(flags >> 3)); // address_space return Item{ .sub_index = sub_index, diff --git a/test/behavior.zig b/test/behavior.zig index f288606a07..287a9d7ea8 100644 --- a/test/behavior.zig +++ b/test/behavior.zig @@ -228,6 +228,7 @@ test { _ = @import("behavior/type.zig"); _ = @import("behavior/type_info.zig"); _ = @import("behavior/type_info_only_pub_decls.zig"); + _ = @import("behavior/type_info_mul_linksection_addrspace_decls.zig"); _ = @import("behavior/typename.zig"); _ = @import("behavior/undefined.zig"); _ = @import("behavior/underscore.zig"); diff --git a/test/behavior/type_info_mul_linksection_addrspace_decls.zig b/test/behavior/type_info_mul_linksection_addrspace_decls.zig new file mode 100644 index 0000000000..cfb9b556df --- /dev/null +++ b/test/behavior/type_info_mul_linksection_addrspace_decls.zig @@ -0,0 +1,12 @@ +const std = @import("std"); +const expect = std.testing.expect; + +pub const a linksection("sec_a") = 0; +pub const b linksection("sec_b") = 0; +pub const c addrspace("space_c") = 0; +pub const d addrspace("space_d") = 0; + +test { + const decls = @typeInfo(@This()).Struct.decls; + try expect(decls.len == 4); +}