authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-12-10 15:39:59+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-12-10 15:40:30+01:00
logabc8ddcfa9e229b4c9a53dc6cc757a6835fd15a5
treefa2b8d195f49145ac9f25e52124ba359419f2ec6
parent2da956b84a1f26ea9b52e2314e8393cffba95df2
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

llvm: fix aliases not having linkage, visibility, etc set


1 files changed, 16 insertions(+), 0 deletions(-)

src/codegen/llvm.zig+16
......@@ -1787,6 +1787,22 @@ pub const Object = struct {
17871787 global_index.toConst(),
17881788 );
17891789 try alias_index.rename(exp_name, &o.builder);
1790
1791 const alias_global_index = alias_index.ptrConst(&o.builder).global;
1792 alias_global_index.setUnnamedAddr(.default, &o.builder);
1793 if (comp.config.dll_export_fns)
1794 alias_global_index.setDllStorageClass(.dllexport, &o.builder);
1795 alias_global_index.setLinkage(switch (first_export.opts.linkage) {
1796 .internal => unreachable,
1797 .strong => .external,
1798 .weak => .weak_odr,
1799 .link_once => .linkonce_odr,
1800 }, &o.builder);
1801 alias_global_index.setVisibility(switch (first_export.opts.visibility) {
1802 .default => .default,
1803 .hidden => .hidden,
1804 .protected => .protected,
1805 }, &o.builder);
17901806 }
17911807 }
17921808