pirama created this revision. pirama added reviewers: beanz, mgorny. Herald added a project: clang. Herald added a subscriber: cfe-commits.
In libclang-cpp, export only symbols from the clang namespace or clang_* (functions for the C interface). This fixes the use case where a tool depends on both libclang-cpp and libLLVM. Without this change, command-line registries from libLLVMSupport are exported by libclang-cpp and gets deduped with symbols of the same name from libLLVM . But, the arguments get registered separately from both the libraries during startup, resulting in an error. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D78033 Files: clang/tools/clang-shlib/CMakeLists.txt clang/tools/clang-shlib/libclang-cpp.exports Index: clang/tools/clang-shlib/libclang-cpp.exports =================================================================== --- /dev/null +++ clang/tools/clang-shlib/libclang-cpp.exports @@ -0,0 +1,2 @@ +_Z*5clang* +clang_* Index: clang/tools/clang-shlib/CMakeLists.txt =================================================================== --- clang/tools/clang-shlib/CMakeLists.txt +++ clang/tools/clang-shlib/CMakeLists.txt @@ -36,6 +36,8 @@ set(INSTALL_WITH_TOOLCHAIN INSTALL_WITH_TOOLCHAIN) endif() +set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/libclang-cpp.exports) + add_clang_library(clang-cpp SHARED ${INSTALL_WITH_TOOLCHAIN}
Index: clang/tools/clang-shlib/libclang-cpp.exports =================================================================== --- /dev/null +++ clang/tools/clang-shlib/libclang-cpp.exports @@ -0,0 +1,2 @@ +_Z*5clang* +clang_* Index: clang/tools/clang-shlib/CMakeLists.txt =================================================================== --- clang/tools/clang-shlib/CMakeLists.txt +++ clang/tools/clang-shlib/CMakeLists.txt @@ -36,6 +36,8 @@ set(INSTALL_WITH_TOOLCHAIN INSTALL_WITH_TOOLCHAIN) endif() +set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/libclang-cpp.exports) + add_clang_library(clang-cpp SHARED ${INSTALL_WITH_TOOLCHAIN}
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits