Mercurial > octave
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