[all-commits] [llvm/llvm-project] 0d3eea: [clang-repl] Fix BUILD_SHARED_LIBS symbols from li...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Tue Nov 7 01:48:26 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0d3eeac8c0f45410398a87f72ae38ea6ae1c3073
      https://github.com/llvm/llvm-project/commit/0d3eeac8c0f45410398a87f72ae38ea6ae1c3073
  Author: Martin Storsjö <martin at martin.st>
  Date:   2023-11-07 (Tue, 07 Nov 2023)

  Changed paths:
    M clang/lib/Interpreter/CMakeLists.txt

  Log Message:
  -----------
  [clang-repl] Fix BUILD_SHARED_LIBS symbols from libclangInterpreter on MinGW (#71393)

A few symbols within libclangInterpreter have got explicit dllexport
attributes, in order to make them exported (and thus visible at runtime)
in any build, not only when they are part of e.g. a DLL libclang-cpp,
but also when they are part of a plain .exe.

Due to the explicit dllexports, these symbols would sidestep the regular
MinGW logic of exporting all symbols if there are no dllexports.
Therefore, for libclang-cpp, a separate fix was made in
592e935e115ffb451eb9b782376711dab6558fe0, to pass --export-all-symbols
to the build of libclang-cpp.

If building with BUILD_SHARED_LIBS enabled, then the same issue appears
in libclangInterpreter; pass the same flag --export-all-symbols there as
well, to make sure all symbols are visible, not only the ones that are
explicitly marked as dllexport.




More information about the All-commits mailing list