[PATCH] D101972: Force visibility of llvm::Any to external
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 27 10:15:37 PDT 2021
rnk added a comment.
Thanks for the explanation, that makes sense to me.
I think, for portability reasons, we really don't want to go in the direction of D108690 <https://reviews.llvm.org/D108690>. We want to move in the direction of default hidden visibility, and explicitly marking publicly visible things.
Can the issue you've encountered be addressed by giving the classes which are passed across DSO boundaries default visibility? The issue shouldn't arise if a hidden class is not used across DSO boundaries, but if there are two template instantiations of the same class in two DSOs and that causes an issue, that suggests that such classes are being used in both DSOs.
Going further, I think it would be incorrect for the linker/loader to behave differently: I should be able to provide two different definitions of the hidden class `bar` in separate DSOs and neither they nor their template instantiations should conflict.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101972/new/
https://reviews.llvm.org/D101972
More information about the llvm-commits
mailing list