octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #59160] [Forge] Error installing OCL package,


From: anonymous
Subject: [Octave-bug-tracker] [bug #59160] [Forge] Error installing OCL package, "explicit specialization after instantiation"
Date: Tue, 22 Sep 2020 14:30:37 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:80.0) Gecko/20100101 Firefox/80.0

Follow-up Comment #1, bug #59160 (project octave):

Verbatim tags got messed up. Posting again.


octave:11> pkg install -forge ocl
ocl_array.cc:428:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (2, 2, k+1, dimensions.numel (1));
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:446:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (3, 3, k+1, dimensions.numel (2));
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:789:15: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
      octave::err_index_out_of_range (ial, i+1, ia (i).extent (dv (i)), dv
(i)); // throws
              ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:2066:1: error: explicit specialization of 'array_prog' after
instantiation
SPECIALIZE_OCLARRAY (FloatComplex,   single,  float2,   false,  false,  true 
);
^
ocl_array.cc:2049:39: note: expanded from macro 'SPECIALIZE_OCLARRAY'
  template <> OclProgram OclArray<T>::array_prog = OclProgram (); \
                                      ^
ocl_array.cc:263:3: note: implicit instantiation first required here
  array_prog.set_kernel_arg (kernel_index, 0, *this);
  ^
ocl_array.cc:2066:1: error: explicit specialization of 'kernel_indices' after
instantiation
SPECIALIZE_OCLARRAY (FloatComplex,   single,  float2,   false,  false,  true 
);
^
ocl_array.cc:2050:45: note: expanded from macro 'SPECIALIZE_OCLARRAY'
  template <> std::vector<int> OclArray<T>::kernel_indices  = std::vector<int>
(); \
                                            ^
ocl_array.cc:261:22: note: implicit instantiation first required here
  int kernel_index = kernel_indices [OclArrayKernels::real2complex_r];
                     ^
ocl_array.cc:2067:1: error: explicit specialization of 'array_prog' after
instantiation
SPECIALIZE_OCLARRAY (Complex,        double,  double2,  false,  false,  true 
);
^
ocl_array.cc:2049:39: note: expanded from macro 'SPECIALIZE_OCLARRAY'
  template <> OclProgram OclArray<T>::array_prog = OclProgram (); \
                                      ^
ocl_array.cc:243:3: note: implicit instantiation first required here
  array_prog.set_kernel_arg (kernel_index, 0, *this);
  ^
ocl_array.cc:2067:1: error: explicit specialization of 'kernel_indices' after
instantiation
SPECIALIZE_OCLARRAY (Complex,        double,  double2,  false,  false,  true 
);
^
ocl_array.cc:2050:45: note: expanded from macro 'SPECIALIZE_OCLARRAY'
  template <> std::vector<int> OclArray<T>::kernel_indices  = std::vector<int>
(); \
                                            ^
ocl_array.cc:241:22: note: implicit instantiation first required here
  int kernel_index = kernel_indices [OclArrayKernels::real2complex_r];
                     ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2089:1: note: in instantiation of member function
      'OclArray<octave_int<signed char> >::linear_slice' requested here
INSTANTIATE_OCLARRAY (octave_int8  );
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2090:1: note: in instantiation of member function
'OclArray<octave_int<short> >::linear_slice'
      requested here
INSTANTIATE_OCLARRAY (octave_int16 );
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2091:1: note: in instantiation of member function
'OclArray<octave_int<int> >::linear_slice'
      requested here
INSTANTIATE_OCLARRAY (octave_int32 );
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2092:1: note: in instantiation of member function
'OclArray<octave_int<long> >::linear_slice'
      requested here
INSTANTIATE_OCLARRAY (octave_int64 );
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2093:1: note: in instantiation of member function
'OclArray<octave_int<unsigned char>
      >::linear_slice' requested here
INSTANTIATE_OCLARRAY (octave_uint8 );
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2094:1: note: in instantiation of member function
'OclArray<octave_int<unsigned short>
      >::linear_slice' requested here
INSTANTIATE_OCLARRAY (octave_uint16);
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2095:1: note: in instantiation of member function
'OclArray<octave_int<unsigned int>
      >::linear_slice' requested here
INSTANTIATE_OCLARRAY (octave_uint32);
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2096:1: note: in instantiation of member function
'OclArray<octave_int<unsigned long>
      >::linear_slice' requested here
INSTANTIATE_OCLARRAY (octave_uint64);
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2097:1: note: in instantiation of member function
'OclArray<float>::linear_slice' requested here
INSTANTIATE_OCLARRAY (float        );
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2098:1: note: in instantiation of member function
'OclArray<double>::linear_slice' requested here
INSTANTIATE_OCLARRAY (double       );
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2099:1: note: in instantiation of member function
'OclArray<std::complex<float> >::linear_slice'
      requested here
INSTANTIATE_OCLARRAY (FloatComplex );
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:463:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, lo+1, numel ());
            ^
ocl_array.cc:2100:1: note: in instantiation of member function
'OclArray<std::complex<double> >::linear_slice'
      requested here
INSTANTIATE_OCLARRAY (Complex      );
^
ocl_array.cc:2086:18: note: expanded from macro 'INSTANTIATE_OCLARRAY'
  template class OclArray<T>;
                 ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
ocl_array.cc:469:13: warning: 'err_index_out_of_range' is deprecated
[-Wdeprecated-declarations]
    octave::err_index_out_of_range (1, 1, up, numel ());
            ^
/usr/local/include/octave-7.0.0/octave/lo-array-errwarn.h:134:3: note:
'err_index_out_of_range' has been
      explicitly marked deprecated here
  OCTAVE_DEPRECATED (6, "use err_index_out_of_range (int, int,
octave_idx_type, octave_idx_type, const d...
  ^
/usr/local/include/octave-7.0.0/octave/octave-config.h:77:59: note: expanded
from macro 'OCTAVE_DEPRECATED'
#      define OCTAVE_DEPRECATED(ver, msg) __attribute__ ((__deprecated__))
                                                          ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<double> >::t_id'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::type_id' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:187:43: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( double, octave_ocl_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<double> >::t_id' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<double> >::t_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:187:43: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( double, octave_ocl_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<double> >::t_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<double> >::c_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:187:43: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( double, octave_ocl_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<double> >::c_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<float> >::t_id'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::type_id' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:188:43: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( single, octave_ocl_float_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<float> >::t_id' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<float> >::t_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:188:43: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( single, octave_ocl_float_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<float> >::t_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<float> >::c_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:188:43: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( single, octave_ocl_float_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<float> >::c_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_id'
required here, but no definition is
      available [-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::type_id'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:189:51: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( double_complex, octave_ocl_complex_matrix )
                                                  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_name'
required here, but no definition is
      available [-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:189:51: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( double_complex, octave_ocl_complex_matrix )
                                                  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::c_name'
required here, but no definition is
      available [-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:189:51: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( double_complex, octave_ocl_complex_matrix )
                                                  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<std::complex<float>
      > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::type_id'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:190:51: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( single_complex,
octave_ocl_float_complex_matrix )
                                                  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<std::complex<float>
      > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:190:51: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( single_complex,
octave_ocl_float_complex_matrix )
                                                  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<std::complex<float>
      > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:190:51: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( single_complex,
octave_ocl_float_complex_matrix )
                                                  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<signed
      char> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::type_id'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:191:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int8,   octave_ocl_int8_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<signed
      char> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:191:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int8,   octave_ocl_int8_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::t_name' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<signed
      char> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:191:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int8,   octave_ocl_int8_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::c_name' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<short> >
      >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::type_id'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:192:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int16,  octave_ocl_int16_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<short> >
      >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:192:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int16,  octave_ocl_int16_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<short> >
      >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:192:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int16,  octave_ocl_int16_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<int> >
      >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::type_id' requested
here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:193:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int32,  octave_ocl_int32_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<int> >
      >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:193:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int32,  octave_ocl_int32_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<int> >
      >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:193:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int32,  octave_ocl_int32_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<long> >
      >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::type_id'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:194:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int64,  octave_ocl_int64_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<long> >
      >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:194:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int64,  octave_ocl_int64_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<long> >
      >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:194:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( int64,  octave_ocl_int64_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      char> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> > >::type_id'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:195:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint8,  octave_ocl_uint8_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> > >::t_id' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      char> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:195:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint8,  octave_ocl_uint8_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      char> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:195:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint8,  octave_ocl_uint8_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      short> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::type_id' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:196:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint16, octave_ocl_uint16_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> > >::t_id'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      short> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:196:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint16, octave_ocl_uint16_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      short> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:196:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint16, octave_ocl_uint16_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      int> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >::type_id'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:197:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint32, octave_ocl_uint32_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      int> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:197:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint32, octave_ocl_uint32_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      int> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:197:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint32, octave_ocl_uint32_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      long> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> > >::type_id'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:198:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint64, octave_ocl_uint64_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> > >::t_id' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:178:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL int type_id (void) const { return t_id; }                   \
                                              ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      long> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:198:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint64, octave_ocl_uint64_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_program.cc:26:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      long> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_program.cc:198:43: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::octave_base_ocl_matrix' requested here
      SET_KERNEL_OUTARG_OCL_TYPE( uint64, octave_ocl_uint64_matrix )
                                          ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<double> >::t_id'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:93:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::static_type_id' requested here
  OCL_CAT_TYPE( octave_ocl_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<double> >::t_id' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<double> >::t_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:93:17: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<double> >::t_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<double> >::c_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:93:17: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<double> >::c_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<float> >::t_id'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:94:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::static_type_id' requested here
  OCL_CAT_TYPE( octave_ocl_float_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<float> >::t_id' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
27 warnings and 4 errors generated.
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<float> >::t_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:94:17: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_float_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<float> >::t_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<float> >::c_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:94:17: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_float_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<float> >::c_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_id'
required here, but no definition is
      available [-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:95:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> >
>::static_type_id' requested here
  OCL_CAT_TYPE( octave_ocl_complex_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
make: *** [Makefile:75: ocl_array.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_name'
required here, but no definition is
      available [-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:95:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_complex_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::c_name'
required here, but no definition is
      available [-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:95:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_complex_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<std::complex<float>
      > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:96:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> >
>::static_type_id' requested here
  OCL_CAT_TYPE( octave_ocl_float_complex_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<std::complex<float>
      > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:96:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_float_complex_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<std::complex<float>
      > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:96:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_float_complex_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<signed
      char> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:97:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::static_type_id' requested here
  OCL_CAT_TYPE( octave_ocl_int8_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<signed
      char> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:97:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_int8_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::t_name' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<signed
      char> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:97:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_int8_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::c_name' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<short> >
      >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:98:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::static_type_id'
requested here
  OCL_CAT_TYPE( octave_ocl_int16_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<short> >
      >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:98:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_int16_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<short> >
      >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:98:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_int16_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<int> >
      >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:99:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::static_type_id'
requested here
  OCL_CAT_TYPE( octave_ocl_int32_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<int> >
      >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:99:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_int32_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<int> >
      >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:99:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_int32_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<long> >
      >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:100:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::static_type_id'
requested here
  OCL_CAT_TYPE( octave_ocl_int64_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<long> >
      >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:100:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_int64_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<long> >
      >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:100:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_int64_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      char> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:101:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::static_type_id' requested here
  OCL_CAT_TYPE( octave_ocl_uint8_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> > >::t_id' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      char> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:101:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_uint8_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      char> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:101:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_uint8_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      short> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:102:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::static_type_id' requested here
  OCL_CAT_TYPE( octave_ocl_uint16_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> > >::t_id'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      short> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:102:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_uint16_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      short> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:102:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_uint16_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      int> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:103:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::static_type_id' requested here
  OCL_CAT_TYPE( octave_ocl_uint32_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      int> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:103:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_uint32_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      int> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:103:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_uint32_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      long> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_fcns.cc:104:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::static_type_id' requested here
  OCL_CAT_TYPE( octave_ocl_uint64_matrix )
  ^
ocl_ov_matrix_fcns.cc:80:21: note: expanded from macro 'OCL_CAT_TYPE'
  if (type_id == T::static_type_id ()) { \
                    ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> > >::t_id' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      long> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:104:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_uint64_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_fcns.cc:37:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      long> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_fcns.cc:104:17: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::octave_base_ocl_matrix' requested here
  OCL_CAT_TYPE( octave_ocl_uint64_matrix )
                ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<double> >::t_id'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::static_type_id' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:554:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<double> >,
octave_matrix, octave_scalar>' requested here
  oclmat_install < octave_ocl_matrix, octave_matrix, octave_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<double> >::t_id' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<double> >::t_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<double> > >' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:554:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<double> >,
octave_matrix, octave_scalar>' requested here
  oclmat_install < octave_ocl_matrix, octave_matrix, octave_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<double> >::t_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<double> >::c_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<double>
      >::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<double> > >' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:554:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<double> >,
octave_matrix, octave_scalar>' requested here
  oclmat_install < octave_ocl_matrix, octave_matrix, octave_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<double> >::c_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<float> >::t_id'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::static_type_id' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:555:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<float> >,
octave_float_matrix, octave_float_scalar>'
      requested here
  oclmat_install < octave_ocl_float_matrix, octave_float_matrix,
octave_float_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<float> >::t_id' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<float> >::t_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<float> > >' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:555:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<float> >,
octave_float_matrix, octave_float_scalar>'
      requested here
  oclmat_install < octave_ocl_float_matrix, octave_float_matrix,
octave_float_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<float> >::t_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<float> >::c_name'
      required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
'octave_base_ocl_matrix<OclArray<float>
      >::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<float> > >' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:555:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<float> >,
octave_float_matrix, octave_float_scalar>'
      requested here
  oclmat_install < octave_ocl_float_matrix, octave_float_matrix,
octave_float_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<float> >::c_name' is explicitly
instantiated in another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_id'
required here, but no definition is
      available [-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> >
>::static_type_id' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:556:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<std::complex<double> >
>, octave_complex_matrix,
      octave_complex>' requested here
  oclmat_install < octave_ocl_complex_matrix, octave_complex_matrix,
octave_complex > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_name'
required here, but no definition is
      available [-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<std::complex<double> > > >'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:556:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<std::complex<double> >
>, octave_complex_matrix,
      octave_complex>' requested here
  oclmat_install < octave_ocl_complex_matrix, octave_complex_matrix,
octave_complex > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::c_name'
required here, but no definition is
      available [-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<double> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<std::complex<double> > > >'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:556:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<std::complex<double> >
>, octave_complex_matrix,
      octave_complex>' requested here
  oclmat_install < octave_ocl_complex_matrix, octave_complex_matrix,
octave_complex > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<double> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<std::complex<float>
      > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> >
>::static_type_id' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:557:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<std::complex<float> > >,
octave_float_complex_matrix,
      octave_float_complex>' requested here
  oclmat_install < octave_ocl_float_complex_matrix,
octave_float_complex_matrix, octave_float_complex > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<std::complex<float>
      > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<std::complex<float> > > >'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:557:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<std::complex<float> > >,
octave_float_complex_matrix,
      octave_float_complex>' requested here
  oclmat_install < octave_ocl_float_complex_matrix,
octave_float_complex_matrix, octave_float_complex > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<std::complex<float>
      > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<std::complex<float> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<std::complex<float> > > >'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:557:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<std::complex<float> > >,
octave_float_complex_matrix,
      octave_float_complex>' requested here
  oclmat_install < octave_ocl_float_complex_matrix,
octave_float_complex_matrix, octave_float_complex > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<std::complex<float> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<signed
      char> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::static_type_id' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:558:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<signed char>
> >, octave_int8_matrix,
      octave_int8_scalar>' requested here
  oclmat_install < octave_ocl_int8_matrix, octave_int8_matrix,
octave_int8_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<signed
      char> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<signed char> > >
>' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:558:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<signed char>
> >, octave_int8_matrix,
      octave_int8_scalar>' requested here
  oclmat_install < octave_ocl_int8_matrix, octave_int8_matrix,
octave_int8_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::t_name' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<signed
      char> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<signed char> > >
>' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:558:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<signed char>
> >, octave_int8_matrix,
      octave_int8_scalar>' requested here
  oclmat_install < octave_ocl_int8_matrix, octave_int8_matrix,
octave_int8_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<signed char> > >::c_name' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<short> >
      >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::static_type_id'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:559:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<short> > >,
octave_int16_matrix,
      octave_int16_scalar>' requested here
  oclmat_install < octave_ocl_int16_matrix, octave_int16_matrix,
octave_int16_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<short> >
      >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<short> > > >'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:559:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<short> > >,
octave_int16_matrix,
      octave_int16_scalar>' requested here
  oclmat_install < octave_ocl_int16_matrix, octave_int16_matrix,
octave_int16_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<short> >
      >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<short> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<short> > > >'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:559:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<short> > >,
octave_int16_matrix,
      octave_int16_scalar>' requested here
  oclmat_install < octave_ocl_int16_matrix, octave_int16_matrix,
octave_int16_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<short> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<int> >
      >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::static_type_id'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:560:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<int> > >,
octave_int32_matrix,
      octave_int32_scalar>' requested here
  oclmat_install < octave_ocl_int32_matrix, octave_int32_matrix,
octave_int32_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<int> >
      >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<int> > > >'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:560:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<int> > >,
octave_int32_matrix,
      octave_int32_scalar>' requested here
  oclmat_install < octave_ocl_int32_matrix, octave_int32_matrix,
octave_int32_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<int> >
      >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<int> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<int> > > >'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:560:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<int> > >,
octave_int32_matrix,
      octave_int32_scalar>' requested here
  oclmat_install < octave_ocl_int32_matrix, octave_int32_matrix,
octave_int32_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<int> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<long> >
      >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::static_type_id'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:561:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<long> > >,
octave_int64_matrix,
      octave_int64_scalar>' requested here
  oclmat_install < octave_ocl_int64_matrix, octave_int64_matrix,
octave_int64_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<long> >
      >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::type_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<long> > > >'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:561:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<long> > >,
octave_int64_matrix,
      octave_int64_scalar>' requested here
  oclmat_install < octave_ocl_int64_matrix, octave_int64_matrix,
octave_int64_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::t_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<long> >
      >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::class_name'
requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<long> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<long> > > >'
requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:561:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<long> > >,
octave_int64_matrix,
      octave_int64_scalar>' requested here
  oclmat_install < octave_ocl_int64_matrix, octave_int64_matrix,
octave_int64_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<long> > >::c_name' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      char> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::static_type_id' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:562:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned
char> > >, octave_uint8_matrix,
      octave_uint8_scalar>' requested here
  oclmat_install < octave_ocl_uint8_matrix, octave_uint8_matrix,
octave_uint8_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> > >::t_id' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      char> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
> >' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:562:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned
char> > >, octave_uint8_matrix,
      octave_uint8_scalar>' requested here
  oclmat_install < octave_ocl_uint8_matrix, octave_uint8_matrix,
octave_uint8_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      char> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<unsigned char> >
> >' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:562:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned
char> > >, octave_uint8_matrix,
      octave_uint8_scalar>' requested here
  oclmat_install < octave_ocl_uint8_matrix, octave_uint8_matrix,
octave_uint8_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned char> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      short> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::static_type_id' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:563:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned
short> > >, octave_uint16_matrix,
      octave_uint16_scalar>' requested here
  oclmat_install < octave_ocl_uint16_matrix, octave_uint16_matrix,
octave_uint16_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> > >::t_id'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      short> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
> >' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:563:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned
short> > >, octave_uint16_matrix,
      octave_uint16_scalar>' requested here
  oclmat_install < octave_ocl_uint16_matrix, octave_uint16_matrix,
octave_uint16_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      short> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<unsigned short> >
> >' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:563:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned
short> > >, octave_uint16_matrix,
      octave_uint16_scalar>' requested here
  oclmat_install < octave_ocl_uint16_matrix, octave_uint16_matrix,
octave_uint16_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned short> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      int> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::static_type_id' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:564:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned int>
> >, octave_uint32_matrix,
      octave_uint32_scalar>' requested here
  oclmat_install < octave_ocl_uint32_matrix, octave_uint32_matrix,
octave_uint32_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >::t_id' is
explicitly instantiated in another
      translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      int> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >
>' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:564:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned int>
> >, octave_uint32_matrix,
      octave_uint32_scalar>' requested here
  oclmat_install < octave_ocl_uint32_matrix, octave_uint32_matrix,
octave_uint32_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      int> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >
>' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:564:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned int>
> >, octave_uint32_matrix,
      octave_uint32_scalar>' requested here
  oclmat_install < octave_ocl_uint32_matrix, octave_uint32_matrix,
octave_uint32_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned int> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      long> > >::t_id' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
ocl_ov_matrix_ops.cc:426:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::static_type_id' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
  ^
ocl_ov_matrix_ops.cc:70:25: note: expanded from macro 'OCL_INSTALL_UNOP'
  (octave_value::op, t::static_type_id (), f < t >);
                        ^
ocl_ov_matrix_ops.cc:565:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned
long> > >, octave_uint64_matrix,
      octave_uint64_scalar>' requested here
  oclmat_install < octave_ocl_uint64_matrix, octave_uint64_matrix,
octave_uint64_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:188:16: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int t_id;                                                    \
               ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> > >::t_id' is
explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:181:47: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static int static_type_id (void) { return t_id; }                   \
                                              ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      long> > >::t_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::type_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
> >' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:565:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned
long> > >, octave_uint64_matrix,
      octave_uint64_scalar>' requested here
  oclmat_install < octave_ocl_uint64_matrix, octave_uint64_matrix,
octave_uint64_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:189:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string t_name;                                    \
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> > >::t_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:179:57: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string type_name (void) const { return t_name; }       \
                                                        ^
In file included from ocl_ov_matrix_ops.cc:35:
./ocl_ov_matrix.h:487:3: warning: instantiation of variable
'octave_base_ocl_matrix<OclArray<octave_int<unsigned
      long> > >::c_name' required here, but no definition is available
[-Wundefined-var-template]
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
./ocl_ov_matrix.h:71:3: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::class_name' requested here
  octave_base_ocl_matrix (const AT& m)
  ^
ocl_ov_matrix_ops.cc:373:1: note: in instantiation of member function
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
>::octave_base_ocl_matrix' requested here
OCL_DEFNDUNOP_OP (oclmat_not, !)
^
ocl_ov_matrix_ops.cc:175:16: note: expanded from macro 'OCL_DEFNDUNOP_OP'
    return new octave_value_type (op v.ocl_array_value ()); \
               ^
ocl_ov_matrix_ops.cc:426:59: note: in instantiation of function template
specialization
      'oclmat_not<octave_base_ocl_matrix<OclArray<octave_int<unsigned long> >
> >' requested here
  OCL_INSTALL_UNOP (op_not, octave_value_ocl_matrix_type, oclmat_not);
                                                          ^
ocl_ov_matrix_ops.cc:565:3: note: in instantiation of function template
specialization
      'oclmat_install<octave_base_ocl_matrix<OclArray<octave_int<unsigned
long> > >, octave_uint64_matrix,
      octave_uint64_scalar>' requested here
  oclmat_install < octave_ocl_uint64_matrix, octave_uint64_matrix,
octave_uint64_scalar > ();
  ^
./ocl_ov_matrix.h:487:3: note: forward declaration of template entity is here
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:190:30: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    static const std::string c_name;
                             ^
./ocl_ov_matrix.h:487:3: note: add an explicit instantiation declaration to
suppress this warning if
      'octave_base_ocl_matrix<OclArray<octave_int<unsigned long> > >::c_name'
is explicitly instantiated in
      another translation unit
/usr/local/include/octave-7.0.0/octave/ov-base.h:171:3: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA'
  DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG)
  ^
/usr/local/include/octave-7.0.0/octave/ov-base.h:180:58: note: expanded from
macro
      'DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2'
    VIRTUAL std::string class_name (void) const { return c_name; }      \
                                                         ^
36 warnings generated.
36 warnings generated.
36 warnings generated.
make: Entering directory '/tmp/oct-sHWWNp/ocl/src'
/usr/local/bin/mkoctfile-7.0.0 -c ocl_constant.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_lib.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_context.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_context_obj.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_program.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_memobj.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_array.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_array_prog.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_ov_matrix.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_ov_matrix_ops.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_ov_matrix_fcns.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_ov_program.cc
/usr/local/bin/mkoctfile-7.0.0 -c ocl_ov_types.cc
make: Leaving directory '/tmp/oct-sHWWNp/ocl/src'

error: pkg: error running 'make' for the ocl package.
error: called from
    configure_make at line 110 column 9
    install at line 196 column 7
    pkg at line 568 column 9


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?59160>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]