diff options
| author | zond <zondolfin@gmail.com> | 2025-10-21 14:20:26 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-21 13:20:26 +0100 | 
| commit | fbcd82aab5ff4b762bd476618857a26e576c76f0 (patch) | |
| tree | fdac4685b431ddb3d936fece9ebd57a505f3365d /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | |
| parent | 186182bb64f0595033b4338f019e773c477e420d (diff) | |
| download | llvm-fbcd82aab5ff4b762bd476618857a26e576c76f0.zip llvm-fbcd82aab5ff4b762bd476618857a26e576c76f0.tar.gz llvm-fbcd82aab5ff4b762bd476618857a26e576c76f0.tar.bz2  | |
[Windows] Fix Registry static data members not exported by extract_symbols.py in static builds with plugin support (#163391)
When building LLVM statically (without BUILD_SHARED_LIBS) on Windows with
LLVM_EXPORT_SYMBOLS_FOR_PLUGINS=ON, external plugins cannot register through
llvm::Registry<clang::PluginASTAction> because:
Static data members (Head, Tail) are filtered out during symbol export by
extract_symbols.py because they don't match the function signature patterns
that the script looks for.
This patch fixes the issue by adding pattern matching to extract_symbols.py
to recognize and export Registry static data members.
Note: When LLVM is built with /Zc:dllexportInlines-, inlined functions
aren't exported as symbols, and the plugin must also compile with
/Zc:dllexportInlines- to inline them instead of referencing non-exported
symbols.
Fixes #163367
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions
