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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to