diff options
author | Thomas Fransham <tfransham@gmail.com> | 2024-10-24 06:07:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-24 08:07:13 +0300 |
commit | b8fddca7bdb354d51e340c60aafe3dff1b35a195 (patch) | |
tree | 32cf454e09c96fa3c3595fcfa3c212af58024333 /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | 04f14e4d652a344fedea6de8df532e88a652bcc4 (diff) | |
download | llvm-b8fddca7bdb354d51e340c60aafe3dff1b35a195.zip llvm-b8fddca7bdb354d51e340c60aafe3dff1b35a195.tar.gz llvm-b8fddca7bdb354d51e340c60aafe3dff1b35a195.tar.bz2 |
[llvm] Support llvm::Any across shared libraries on windows (#108051)
This is part of the effort to support for enabling plugins on windows by
adding better support for building llvm as a DLL. The export macros used
here were added in #96630
Since shared library symbols aren't deduplicated across multiple
libraries on windows like Linux we have to manually explicitly import
and export `Any::TypeId` template instantiations for the uses of
`llvm::Any` in the LLVM codebase to support LLVM Windows shared library
builds.
This change ensures that external code, including LLVM's own tests, can
use PassManager callbacks when LLVM is built as a DLL.
I also removed the only use of llvm::Any for LoopNest that only existed
in debug code and there also doesn't seem to be any code creating
`Any<LoopNest>`
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions