changeset 29245:33496684ca5d

intxNDArray: Export template instantiations (patch #8919). * int8NDArray.cc, int16NDArray.cc, int32NDArray.cc, int64NDArray.cc, uint8NDArray.cc, uint16NDArray.cc, uint32NDArray.cc, uint64NDArray.cc: Set visibility attribute on instantiations of intNDArray<T> template class with clang. * intNDArray.cc (INSTANTIATE_INTNDARRAY): Add function macro.
author Markus Mützel <markus.muetzel@gmx.de>
date Fri, 01 Jan 2021 18:56:25 +0100
parents d1473e75d7d6
children 1b2845593788
files liboctave/array/int16NDArray.cc liboctave/array/int32NDArray.cc liboctave/array/int64NDArray.cc liboctave/array/int8NDArray.cc liboctave/array/intNDArray.cc liboctave/array/uint16NDArray.cc liboctave/array/uint32NDArray.cc liboctave/array/uint64NDArray.cc liboctave/array/uint8NDArray.cc
diffstat 9 files changed, 14 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/array/int16NDArray.cc	Fri Jan 01 17:33:04 2021 +0100
+++ b/liboctave/array/int16NDArray.cc	Fri Jan 01 18:56:25 2021 +0100
@@ -33,7 +33,7 @@
 
 #include "bsxfun-defs.cc"
 
-template class intNDArray<octave_int16>;
+INSTANTIATE_INTNDARRAY (octave_int16);
 
 template OCTAVE_API
 std::ostream&
--- a/liboctave/array/int32NDArray.cc	Fri Jan 01 17:33:04 2021 +0100
+++ b/liboctave/array/int32NDArray.cc	Fri Jan 01 18:56:25 2021 +0100
@@ -33,7 +33,7 @@
 
 #include "bsxfun-defs.cc"
 
-template class intNDArray<octave_int32>;
+INSTANTIATE_INTNDARRAY (octave_int32);
 
 template OCTAVE_API
 std::ostream&
--- a/liboctave/array/int64NDArray.cc	Fri Jan 01 17:33:04 2021 +0100
+++ b/liboctave/array/int64NDArray.cc	Fri Jan 01 18:56:25 2021 +0100
@@ -33,7 +33,7 @@
 
 #include "bsxfun-defs.cc"
 
-template class intNDArray<octave_int64>;
+INSTANTIATE_INTNDARRAY (octave_int64);
 
 template OCTAVE_API
 std::ostream&
--- a/liboctave/array/int8NDArray.cc	Fri Jan 01 17:33:04 2021 +0100
+++ b/liboctave/array/int8NDArray.cc	Fri Jan 01 18:56:25 2021 +0100
@@ -33,7 +33,7 @@
 
 #include "bsxfun-defs.cc"
 
-template class intNDArray<octave_int8>;
+INSTANTIATE_INTNDARRAY (octave_int8);
 
 template OCTAVE_API
 std::ostream&
--- a/liboctave/array/intNDArray.cc	Fri Jan 01 17:33:04 2021 +0100
+++ b/liboctave/array/intNDArray.cc	Fri Jan 01 18:56:25 2021 +0100
@@ -300,3 +300,9 @@
 {
   return do_mx_diff_op<T> (*this, dim, order, mx_inline_diff);
 }
+
+#if defined (__clang__)
+#  define INSTANTIATE_INTNDARRAY(T) template class OCTAVE_API intNDArray<T>
+#else
+#  define INSTANTIATE_INTNDARRAY(T) template class intNDArray<T>
+#endif
--- a/liboctave/array/uint16NDArray.cc	Fri Jan 01 17:33:04 2021 +0100
+++ b/liboctave/array/uint16NDArray.cc	Fri Jan 01 18:56:25 2021 +0100
@@ -33,7 +33,7 @@
 
 #include "bsxfun-defs.cc"
 
-template class intNDArray<octave_uint16>;
+INSTANTIATE_INTNDARRAY (octave_uint16);
 
 template OCTAVE_API
 std::ostream&
--- a/liboctave/array/uint32NDArray.cc	Fri Jan 01 17:33:04 2021 +0100
+++ b/liboctave/array/uint32NDArray.cc	Fri Jan 01 18:56:25 2021 +0100
@@ -33,7 +33,7 @@
 
 #include "bsxfun-defs.cc"
 
-template class intNDArray<octave_uint32>;
+INSTANTIATE_INTNDARRAY (octave_uint32);
 
 template OCTAVE_API
 std::ostream&
--- a/liboctave/array/uint64NDArray.cc	Fri Jan 01 17:33:04 2021 +0100
+++ b/liboctave/array/uint64NDArray.cc	Fri Jan 01 18:56:25 2021 +0100
@@ -33,7 +33,7 @@
 
 #include "bsxfun-defs.cc"
 
-template class intNDArray<octave_uint64>;
+INSTANTIATE_INTNDARRAY (octave_uint64);
 
 template OCTAVE_API
 std::ostream&
--- a/liboctave/array/uint8NDArray.cc	Fri Jan 01 17:33:04 2021 +0100
+++ b/liboctave/array/uint8NDArray.cc	Fri Jan 01 18:56:25 2021 +0100
@@ -33,7 +33,7 @@
 
 #include "bsxfun-defs.cc"
 
-template class intNDArray<octave_uint8>;
+INSTANTIATE_INTNDARRAY (octave_uint8);
 
 template OCTAVE_API
 std::ostream&