| ... | ... | @@ -2257,6 +2257,7 @@ pub const Key = union(enum) { |
| 2257 | 2257 | /// The `Nav` corresponding to this extern symbol. |
| 2258 | 2258 | /// This is ignored by hashing and equality. |
| 2259 | 2259 | owner_nav: Nav.Index, |
| 2260 | source: Tag.Extern.Flags.Source, |
| 2260 | 2261 | }; |
| 2261 | 2262 | |
| 2262 | 2263 | pub const Func = struct { |
| ... | ... | @@ -2859,7 +2860,7 @@ pub const Key = union(enum) { |
| 2859 | 2860 | asBytes(&e.is_threadlocal) ++ asBytes(&e.is_dll_import) ++ |
| 2860 | 2861 | asBytes(&e.relocation) ++ |
| 2861 | 2862 | asBytes(&e.is_const) ++ asBytes(&e.alignment) ++ asBytes(&e.@"addrspace") ++ |
| 2862 | | asBytes(&e.zir_index)), |
| 2863 | asBytes(&e.zir_index) ++ &[1]u8{@intFromEnum(e.source)}), |
| 2863 | 2864 | }; |
| 2864 | 2865 | } |
| 2865 | 2866 | |
| ... | ... | @@ -2958,7 +2959,8 @@ pub const Key = union(enum) { |
| 2958 | 2959 | a_info.is_const == b_info.is_const and |
| 2959 | 2960 | a_info.alignment == b_info.alignment and |
| 2960 | 2961 | a_info.@"addrspace" == b_info.@"addrspace" and |
| 2961 | | a_info.zir_index == b_info.zir_index; |
| 2962 | a_info.zir_index == b_info.zir_index and |
| 2963 | a_info.source == b_info.source; |
| 2962 | 2964 | }, |
| 2963 | 2965 | .func => |a_info| { |
| 2964 | 2966 | const b_info = b.func; |
| ... | ... | @@ -5967,7 +5969,10 @@ pub const Tag = enum(u8) { |
| 5967 | 5969 | is_threadlocal: bool, |
| 5968 | 5970 | is_dll_import: bool, |
| 5969 | 5971 | relocation: std.builtin.ExternOptions.Relocation, |
| 5970 | | _: u25 = 0, |
| 5972 | source: Source, |
| 5973 | _: u24 = 0, |
| 5974 | |
| 5975 | pub const Source = enum(u1) { builtin, syntax }; |
| 5971 | 5976 | }; |
| 5972 | 5977 | }; |
| 5973 | 5978 | |
| ... | ... | @@ -7320,6 +7325,7 @@ pub fn indexToKey(ip: *const InternPool, index: Index) Key { |
| 7320 | 7325 | .@"addrspace" = nav.status.fully_resolved.@"addrspace", |
| 7321 | 7326 | .zir_index = extra.zir_index, |
| 7322 | 7327 | .owner_nav = extra.owner_nav, |
| 7328 | .source = extra.flags.source, |
| 7323 | 7329 | } }; |
| 7324 | 7330 | }, |
| 7325 | 7331 | .func_instance => .{ .func = ip.extraFuncInstance(unwrapped_index.tid, unwrapped_index.getExtra(ip), data) }, |
| ... | ... | @@ -9212,6 +9218,7 @@ pub fn getExtern( |
| 9212 | 9218 | .is_threadlocal = key.is_threadlocal, |
| 9213 | 9219 | .is_dll_import = key.is_dll_import, |
| 9214 | 9220 | .relocation = key.relocation, |
| 9221 | .source = key.source, |
| 9215 | 9222 | }, |
| 9216 | 9223 | .zir_index = key.zir_index, |
| 9217 | 9224 | .owner_nav = owner_nav, |