-
Notifications
You must be signed in to change notification settings - Fork 519
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Exported all additional symbols on macOS.
Many functions in libc++ are marked with _LIBCPP_INLINE_VISIBILITY. This means they are only exported when actually used. This is why exporting just the templates themselves failed to export their functions but listing the functions themselves worked. We need to define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS to have the functions always exported. We use _LIBCPP_VERSION to detect if we use libc++ i.e. Clang's standard C++ library. Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
- Loading branch information
Showing
8 changed files
with
55 additions
and
16 deletions.
There are no files selected for viewing
13 changes: 9 additions & 4 deletions
13
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std-symbols.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,12 @@ | ||
#include <ciso646> | ||
|
||
#ifdef _LIBCPP_VERSION | ||
#define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS | ||
#endif | ||
|
||
#include <string> | ||
|
||
|
||
template __attribute__((visibility("default"))) std::basic_string<char, std::char_traits<char>, std::allocator<char>>::basic_string(); | ||
template __attribute__((visibility("default"))) std::basic_string<char, std::char_traits<char>, std::allocator<char>>::~basic_string() noexcept; | ||
template __attribute__((visibility("default"))) std::basic_string<char, std::char_traits<char>, std::allocator<char>>& std::basic_string<char, std::char_traits<char>, std::allocator<char>>::assign(const std::basic_string<char, std::char_traits<char>, std::allocator<char>>::value_type*); | ||
template __attribute__((visibility("default"))) const std::basic_string<char, std::char_traits<char>, std::allocator<char>>::value_type* std::basic_string<char, std::char_traits<char>, std::allocator<char>>::c_str() const noexcept; | ||
template class std::char_traits<char>; | ||
template class std::allocator<char>; | ||
template class std::basic_string<char, std::char_traits<char>, std::allocator<char>>; |
6 changes: 6 additions & 0 deletions
6
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std-symbols.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 9 additions & 4 deletions
13
src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std-symbols.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,12 @@ | ||
#include <ciso646> | ||
|
||
#ifdef _LIBCPP_VERSION | ||
#define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS | ||
#endif | ||
|
||
#include <string> | ||
|
||
|
||
template __attribute__((visibility("default"))) std::basic_string<char, std::char_traits<char>, std::allocator<char>>::basic_string(); | ||
template __attribute__((visibility("default"))) std::basic_string<char, std::char_traits<char>, std::allocator<char>>::~basic_string() noexcept; | ||
template __attribute__((visibility("default"))) std::basic_string<char, std::char_traits<char>, std::allocator<char>>& std::basic_string<char, std::char_traits<char>, std::allocator<char>>::assign(const std::basic_string<char, std::char_traits<char>, std::allocator<char>>::value_type*); | ||
template __attribute__((visibility("default"))) const std::basic_string<char, std::char_traits<char>, std::allocator<char>>::value_type* std::basic_string<char, std::char_traits<char>, std::allocator<char>>::c_str() const noexcept; | ||
template class std::char_traits<char>; | ||
template class std::allocator<char>; | ||
template class std::basic_string<char, std::char_traits<char>, std::allocator<char>>; |
6 changes: 6 additions & 0 deletions
6
src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std-symbols.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 6 additions & 0 deletions
6
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std-symbols.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 6 additions & 0 deletions
6
src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std-symbols.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters