[PATCH] D155713: [clang] Fix interaction between dllimport and exclude_from_explicit_instantiation

Louis Dionne via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 5 11:50:06 PDT 2023


ldionne abandoned this revision.
ldionne added a comment.

In D155713#4592852 <https://reviews.llvm.org/D155713#4592852>, @hans wrote:

>> I think this does actually matter for libc++, I think I have seen this pattern:
>>
>>   template <typename T>
>>   struct Foo {
>>     _LIBCPP_FUNC_VIS _LIBCPP_EXCLUDE_FROM_ABI void method() { }
>>   };
>>
>> I can't find an instance right now, though. I think it comes up when you want to have a default visibility function, and also keep it out of the libc++ DSO interface.
>
> I guess the libc++ folks can answer if that's something that could occur.

I can't imagine why we'd want to hide something from the DSO but give it default visibility. It's not impossible that we have some of those, but I can't think of any right now and I'd definitely learn something new if I came across one of those. I believe it might make sense to diagnose when that happens and not try to handle this case.

I came back to this as part of the Github PR transition cleanup. Realistically, I don't believe I will have time to work on this in the near future and I also feel like I am not really the best person to fix this issue considering I am fluent neither with Clang nor with the semantics of DLLs. It'd be really great if someone could pick this up, but until then I'll need to abandon the patch to clear up my review queue, which has gotten completely unrealistic.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D155713/new/

https://reviews.llvm.org/D155713



More information about the cfe-commits mailing list