[clang] [libclang] Add missing dllexport annotation (PR #147108)
Tomohiro Kashiwada via cfe-commits
cfe-commits at lists.llvm.org
Sat Jul 5 15:06:21 PDT 2025
kikairoya wrote:
> > AFAIK the dllexport annotations have been added using some automated tools, so it may be good to find the person who added the other annotations, so it can be looked into why this was missing here, if the annotations otherwise were seemingly complete enough.
>
> Sorry, not sure if this applies here though, I guess the clang-c interface has been available as DLL with dllexports even before, while the C++ interfaces is what is getting dllexport attributes added.
According to git-blame, CINDEX_LINKAGE has been in use for over 16 years. https://github.com/llvm/llvm-project/blame/a124a46748357b9e654adce7a50318a5f0648e48/clang/include/clang-c/Index.h
> Still it may be good to figure out why this hasn't been an issue so far, for whoever otherwise were using these dllexport annotations.
I suspect it relates to module definition file (*.def). On MinGW, the symbol is properly exported without annotation.
```
$ llvm-readobj --coff-exports /ucrt64/bin/libclang.dll | grep clang_install
Name: clang_install_aborting_llvm_fatal_error_handler
```
I'll try dig it.
https://github.com/llvm/llvm-project/pull/147108
More information about the cfe-commits
mailing list