[Diffusion] rL290025: [libclang] Remove the 'extern "C"' blocks from the implementation files.
NAKAMURA Takumi via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 19 17:00:08 PST 2016
chapuni added subscribers: cfe-commits, chapuni.
chapuni added a comment.
See r290113.
I saw linker error on mingw dll build.
Cannot export clang_findIncludesInFileWithBlock: symbol not defined
Cannot export clang_findReferencesInFileWithBlock: symbol not defined
Cannot export clang_visitChildrenWithBlock: symbol not defined
They are excluded from header files in clang/include/clang-c along has_feature(blocks).
mingw32-ld doesn't ignore nonexistent symbols but reports errors.
I suggest;
1. Define dummy bodies (or define dummy decls in headers)
2. Enhance add_llvm_symbol_exports to be capable of optional entries.
/cfe/trunk/tools/libclang/CIndexHigh.cpp:410 They are activated along has_feature(blocks).
/cfe/trunk/tools/libclang/CIndex.cpp:4165 It is activated when not has_feature(blocks).
https://reviews.llvm.org/rL290025
More information about the cfe-commits
mailing list