mstorsjo marked an inline comment as done.
mstorsjo added inline comments.
================
Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:2519-2520
return VarLinkage;
+ // On Windows, WeakODR is a no-op, boiling down to the same as normal
external
+ // linkage.
+ if (CGM.getTriple().isOSWindows())
----------------
rnk wrote:
> I would say that this is inaccurate. It greatly affects what the optimizer is
> allowed to do.
>
> It looks like we forgot to put a comdat on these things, is that not the
> correct fix?
Oh, ok.
The full case I was trying to fix (but forgot to recheck after changing this
bit) is that when used with `-ffunction-sections`, the tls wrapper function
ends up as comdat `one_only`, which then gives multiple definition errors. So
perhaps the issue is in the handling of `-ffunction-sections` wrt weak_odr?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71572/new/
https://reviews.llvm.org/D71572
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits