[all-commits] [llvm/llvm-project] 592e93: [clang-repl] Fix REPL_EXTERNAL_VISIBILITY and buil...
Martin Storsjö via All-commits
all-commits at lists.llvm.org
Sun May 28 03:20:21 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 592e935e115ffb451eb9b782376711dab6558fe0
https://github.com/llvm/llvm-project/commit/592e935e115ffb451eb9b782376711dab6558fe0
Author: Martin Storsjö <martin at martin.st>
Date: 2023-05-28 (Sun, 28 May 2023)
Changed paths:
M clang/include/clang/Interpreter/Value.h
M clang/tools/clang-shlib/CMakeLists.txt
Log Message:
-----------
[clang-repl] Fix REPL_EXTERNAL_VISIBILITY and building libclang-cpp.dll for MinGW configurations
This fixes two issues that are observed after
5111286f06e1e10f24745007a45a830760f1790c:
For builds with GCC with LLVM_LINK_LLVM_DYLIB=ON, we previously got
build errors, as libclang-cpp.dll suddenly only contained the
functions that were marked dllexport via REPL_EXTERNAL_VISIBILITY,
instead of all symbols as expected.
For MinGW builds with Clang, building previously succeeded (as it
used either the __attribute__((visibility("default"))) annotation or
nothing at all), and the functions were exported from libclang-cpp.dll
if that was built, but the unit test failed (as neither of those cases
made the functions exported from an EXE).
Don't use the visibility attributes on MinGW targets for these purposes;
setting default visibility only makes a difference if building with
e.g. -fvisibility=hidden, but it doesn't make the symbols exported
from an EXE.
Differential Revision: https://reviews.llvm.org/D151620
Commit: 684facbb43ea0eccc6a579d2373781b422522d2d
https://github.com/llvm/llvm-project/commit/684facbb43ea0eccc6a579d2373781b422522d2d
Author: Martin Storsjö <martin at martin.st>
Date: 2023-05-28 (Sun, 28 May 2023)
Changed paths:
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
Log Message:
-----------
[libcxx] [test] Fix the new alloc tests for Windows
Use ASSERT_WITH_OPERATOR_NEW_FALLBACKS where relevant to waive
the known cases where operator new isn't overridden as expected,
in MinGW DLL configurations.
Clarify the reason for why the fallback in
new.delete.array/new.size_align_nothrow.replace.indirect doesn't
work as expected, which can be considered a vcruntime bug.
Differential Revision: https://reviews.llvm.org/D151304
Compare: https://github.com/llvm/llvm-project/compare/9efa4cdb5169...684facbb43ea
More information about the All-commits
mailing list