diff options
| author | Eric Fiselier <eric@efcs.ca> | 2016-09-16 00:13:55 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2016-09-16 00:13:55 +0000 |
| commit | 1fbaf535d6a4555a751d1285889a7a1f52dfafc5 (patch) | |
| tree | c29e6003acfaac96824d9ef596c677fd0dfde243 | |
| parent | 1b17a4b7b4e6cfb2ece4e243bed47ec5bb81affa (diff) | |
| download | bcm5719-llvm-1fbaf535d6a4555a751d1285889a7a1f52dfafc5.tar.gz bcm5719-llvm-1fbaf535d6a4555a751d1285889a7a1f52dfafc5.zip | |
Use _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY in valarray to support attribute((internal_linkage)).
The externally instantiated member functions must be declared using
_LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY, not _LIBCPP_INLINE_VISIBILITY, in
order to be properly exported when using __attribute__((internal_linkage)).
Otherwise the explicit instantiations will obviously have internal linkage and
will not be exported from the dylib.
llvm-svn: 281684
| -rw-r--r-- | libcxx/include/valarray | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libcxx/include/valarray b/libcxx/include/valarray index bde644e8719..2325c54f7c6 100644 --- a/libcxx/include/valarray +++ b/libcxx/include/valarray @@ -802,8 +802,8 @@ public: // construct/destroy: _LIBCPP_INLINE_VISIBILITY valarray() : __begin_(0), __end_(0) {} - _LIBCPP_INLINE_VISIBILITY - inline explicit valarray(size_t __n); + inline _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY + explicit valarray(size_t __n); _LIBCPP_INLINE_VISIBILITY valarray(const value_type& __x, size_t __n); valarray(const value_type* __p, size_t __n); @@ -819,7 +819,7 @@ public: valarray(const gslice_array<value_type>& __ga); valarray(const mask_array<value_type>& __ma); valarray(const indirect_array<value_type>& __ia); - inline _LIBCPP_INLINE_VISIBILITY + inline _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY ~valarray(); // assignment: |

