changeset 29722:9a8a6a99a0a7

Re-instantiate signature of macro that is part of the API (bug #60608). * Array.cc (NO_INSTANTIATE_ARRAY_SORT_API): No macro that takes a visibility attribute as argument. (NO_INSTANTIATE_ARRAY_SORT): Add macro with previous signature. * Array-jit.cc, Array-tc.cc, Array-idx-vec.cc, Array-voidp.cc: Use new macro name.
author Markus Mützel <markus.muetzel@gmx.de>
date Wed, 02 Jun 2021 20:05:45 +0200
parents 24effbddcbe8
children 6858992dfadf
files libinterp/template-inst/Array-jit.cc libinterp/template-inst/Array-tc.cc liboctave/array/Array-idx-vec.cc liboctave/array/Array-voidp.cc liboctave/array/Array.cc
diffstat 5 files changed, 10 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/template-inst/Array-jit.cc	Wed Jun 02 18:37:44 2021 +0200
+++ b/libinterp/template-inst/Array-jit.cc	Wed Jun 02 20:05:45 2021 +0200
@@ -40,7 +40,7 @@
 extern template class Array<octave::idx_vector>;
 extern template class Array<octave_idx_type>;
 
-NO_INSTANTIATE_ARRAY_SORT (octave::jit_function, OCTINTERP_API);
+NO_INSTANTIATE_ARRAY_SORT_API (octave::jit_function, OCTINTERP_API);
 
 // Visibility attributes are ignored on template instantiation.
 // As a work-around, set visibility to default overriding compiler options.
--- a/libinterp/template-inst/Array-tc.cc	Wed Jun 02 18:37:44 2021 +0200
+++ b/libinterp/template-inst/Array-tc.cc	Wed Jun 02 20:05:45 2021 +0200
@@ -54,13 +54,13 @@
 // Visibility attributes are ignored on template instantiation.
 // As a work-around, set visibility to default overriding compiler options.
 #pragma GCC visibility push(default)
-NO_INSTANTIATE_ARRAY_SORT (octave_value, OCTINTERP_API);
+NO_INSTANTIATE_ARRAY_SORT_API (octave_value, OCTINTERP_API);
 INSTANTIATE_ARRAY (octave_value, OCTINTERP_API);
 
-NO_INSTANTIATE_ARRAY_SORT (octave_value *, OCTINTERP_API);
+NO_INSTANTIATE_ARRAY_SORT_API (octave_value *, OCTINTERP_API);
 INSTANTIATE_ARRAY (octave_value *, OCTINTERP_API);
 
-NO_INSTANTIATE_ARRAY_SORT (octave::cdef_object, OCTINTERP_API);
+NO_INSTANTIATE_ARRAY_SORT_API (octave::cdef_object, OCTINTERP_API);
 INSTANTIATE_ARRAY (octave::cdef_object, OCTINTERP_API);
 #pragma GCC visibility pop
 
--- a/liboctave/array/Array-idx-vec.cc	Wed Jun 02 18:37:44 2021 +0200
+++ b/liboctave/array/Array-idx-vec.cc	Wed Jun 02 20:05:45 2021 +0200
@@ -39,6 +39,6 @@
 
 extern template class Array<octave_idx_type>;
 
-NO_INSTANTIATE_ARRAY_SORT (octave::idx_vector, OCTAVE_API);
+NO_INSTANTIATE_ARRAY_SORT_API (octave::idx_vector, OCTAVE_API);
 
 INSTANTIATE_ARRAY (octave::idx_vector, OCTAVE_API);
--- a/liboctave/array/Array-voidp.cc	Wed Jun 02 18:37:44 2021 +0200
+++ b/liboctave/array/Array-voidp.cc	Wed Jun 02 20:05:45 2021 +0200
@@ -40,6 +40,6 @@
 extern template class Array<octave::idx_vector>;
 extern template class Array<octave_idx_type>;
 
-NO_INSTANTIATE_ARRAY_SORT (void *, OCTAVE_API);
+NO_INSTANTIATE_ARRAY_SORT_API (void *, OCTAVE_API);
 
 INSTANTIATE_ARRAY (void *, OCTAVE_API);
--- a/liboctave/array/Array.cc	Wed Jun 02 18:37:44 2021 +0200
+++ b/liboctave/array/Array.cc	Wed Jun 02 20:05:45 2021 +0200
@@ -2471,7 +2471,7 @@
   return m;
 }
 
-#define NO_INSTANTIATE_ARRAY_SORT(T, API)                               \
+#define NO_INSTANTIATE_ARRAY_SORT_API(T, API)                           \
   template <> API Array<T>                                              \
   Array<T>::sort (int, sortmode) const                                  \
   {                                                                     \
@@ -2524,10 +2524,12 @@
     return Array<octave_idx_type> ();                                   \
   }                                                                     \
   template <> API Array<T>                                              \
-  Array<T>::nth_element (const octave::idx_vector&, int) const {                \
+  Array<T>::nth_element (const octave::idx_vector&, int) const {        \
     return Array<T> ();                                                 \
   }
 
+#define NO_INSTANTIATE_ARRAY_SORT(T) NO_INSTANTIATE_ARRAY_SORT_API (T,)
+
 template <typename T>
 Array<T>
 Array<T>::diag (octave_idx_type k) const