summaryrefslogtreecommitdiffstats
path: root/third_party/highway/hwy/hwy.version
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/highway/hwy/hwy.version')
-rw-r--r--third_party/highway/hwy/hwy.version19
1 files changed, 19 insertions, 0 deletions
diff --git a/third_party/highway/hwy/hwy.version b/third_party/highway/hwy/hwy.version
new file mode 100644
index 0000000000..9ff6be6a2d
--- /dev/null
+++ b/third_party/highway/hwy/hwy.version
@@ -0,0 +1,19 @@
+HWY_0 {
+ global:
+ extern "C++" {
+ *hwy::*;
+ };
+
+ local:
+ # Hide all the std namespace symbols. std namespace is explicitly marked
+ # as visibility(default) and header-only functions or methods (such as those
+ # from templates) should be exposed in shared libraries as weak symbols but
+ # this is only needed when we expose those types in the shared library API
+ # in any way. We don't use C++ std types in the API and we also don't
+ # support exceptions in the library.
+ # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36022 for a discussion
+ # about this.
+ extern "C++" {
+ *std::*;
+ };
+};