diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-06-16 21:03:24 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-06-16 21:03:24 +0000 |
commit | 7c7aba6e5fef47a01a136be655b0a92cfd7090f6 (patch) | |
tree | 99ec531924f6078534b100ab9d7696abce848099 /unittests/Support/DynamicLibrary | |
parent | 7ab83427af0f77b59941ceba41d509d7d097b065 (diff) |
Notes
Diffstat (limited to 'unittests/Support/DynamicLibrary')
5 files changed, 23 insertions, 4 deletions
diff --git a/unittests/Support/DynamicLibrary/CMakeLists.txt b/unittests/Support/DynamicLibrary/CMakeLists.txt index 2fa4bf237d409..b5844381362e3 100644 --- a/unittests/Support/DynamicLibrary/CMakeLists.txt +++ b/unittests/Support/DynamicLibrary/CMakeLists.txt @@ -1,7 +1,9 @@ set(LLVM_LINK_COMPONENTS Support) -add_llvm_unittest(DynamicLibraryTests DynamicLibraryTest.cpp) +add_library(DynamicLibraryLib STATIC ExportedFuncs.cxx) +add_llvm_unittest(DynamicLibraryTests DynamicLibraryTest.cpp) +target_link_libraries(DynamicLibraryTests DynamicLibraryLib) export_executable_symbols(DynamicLibraryTests) function(dynlib_add_module NAME) diff --git a/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp b/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp index 80a20990de188..c54e1b7eed24d 100644 --- a/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp +++ b/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp @@ -19,8 +19,6 @@ using namespace llvm; using namespace llvm::sys; -extern "C" PIPSQUEAK_EXPORT const char *TestA() { return "ProcessCall"; } - std::string LibPath(const std::string Name = "PipSqueak") { const std::vector<testing::internal::string>& Argvs = testing::internal::GetArgvs(); const char *Argv0 = Argvs.size() > 0 ? Argvs[0].c_str() : "DynamicLibraryTests"; diff --git a/unittests/Support/DynamicLibrary/ExportedFuncs.cxx b/unittests/Support/DynamicLibrary/ExportedFuncs.cxx new file mode 100644 index 0000000000000..97f190b0b9bcc --- /dev/null +++ b/unittests/Support/DynamicLibrary/ExportedFuncs.cxx @@ -0,0 +1,16 @@ +//===- llvm/unittest/Support/DynamicLibrary/DynamicLibraryLib.cpp ---------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "PipSqueak.h" + +#ifndef PIPSQUEAK_TESTA_RETURN +#define PIPSQUEAK_TESTA_RETURN "ProcessCall" +#endif + +extern "C" PIPSQUEAK_EXPORT const char *TestA() { return PIPSQUEAK_TESTA_RETURN; } diff --git a/unittests/Support/DynamicLibrary/PipSqueak.cxx b/unittests/Support/DynamicLibrary/PipSqueak.cxx index 79cf59255a4f0..375d72c0b535f 100644 --- a/unittests/Support/DynamicLibrary/PipSqueak.cxx +++ b/unittests/Support/DynamicLibrary/PipSqueak.cxx @@ -45,4 +45,5 @@ extern "C" PIPSQUEAK_EXPORT void TestOrder(std::vector<std::string> &V) { Glb.Vec = &V; } -extern "C" PIPSQUEAK_EXPORT const char *TestA() { return "LibCall"; } +#define PIPSQUEAK_TESTA_RETURN "LibCall" +#include "ExportedFuncs.cxx" diff --git a/unittests/Support/DynamicLibrary/PipSqueak.h b/unittests/Support/DynamicLibrary/PipSqueak.h index 3e4f79a9a6f49..b44c61d64dfe4 100644 --- a/unittests/Support/DynamicLibrary/PipSqueak.h +++ b/unittests/Support/DynamicLibrary/PipSqueak.h @@ -29,4 +29,6 @@ #define PIPSQUEAK_EXPORT #endif +extern "C" PIPSQUEAK_EXPORT const char *TestA(); + #endif |