Build #4 for eigen-2.1.1

[all reports]

Package eigen-2.1.1
Install BuildFailed
Docs NotTried
Tests NotTried
Time submitted 2016-12-02 17:00:49.351341 UTC
Compiler ghc-8.0.1.20161018
OS linux
Arch x86_64
Dependencies base-4.9.0.0, bytestring-0.10.8.1, primitive-0.6.1.0, transformers-0.5.2.0, vector-0.11.0.0
Flags none

Code Coverage

No Code Coverage was submitted for this report.

Build log

[view raw]

Resolving dependencies...
Configuring primitive-0.6.1.0...
Building primitive-0.6.1.0...
Installed primitive-0.6.1.0
Configuring vector-0.11.0.0...
Building vector-0.11.0.0...
Installed vector-0.11.0.0
Downloading eigen-2.1.1...
Configuring eigen-2.1.1...
Building eigen-2.1.1...
Failed to install eigen-2.1.1
Build log ( /home/builder/.cabal/logs/eigen-2.1.1.log ):
cabal: Entering directory '/tmp/cabal-tmp-32350/eigen-2.1.1'
Configuring eigen-2.1.1...
Building eigen-2.1.1...
Preprocessing library eigen-2.1.1...
[1 of 7] Compiling Data.Eigen.Internal ( dist/build/Data/Eigen/Internal.hs, dist/build/Data/Eigen/Internal.o )

Data/Eigen/Internal.hsc:10:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
[2 of 7] Compiling Data.Eigen.Matrix.Mutable ( Data/Eigen/Matrix/Mutable.hs, dist/build/Data/Eigen/Matrix/Mutable.o )
[3 of 7] Compiling Data.Eigen.Matrix ( Data/Eigen/Matrix.hs, dist/build/Data/Eigen/Matrix.o )

Data/Eigen/Matrix.hs:110:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
[4 of 7] Compiling Data.Eigen.LA    ( Data/Eigen/LA.hs, dist/build/Data/Eigen/LA.o )

Data/Eigen/LA.hs:113:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
[5 of 7] Compiling Data.Eigen.Parallel ( Data/Eigen/Parallel.hs, dist/build/Data/Eigen/Parallel.o )
[6 of 7] Compiling Data.Eigen.SparseMatrix ( Data/Eigen/SparseMatrix.hs, dist/build/Data/Eigen/SparseMatrix.o )

Data/Eigen/SparseMatrix.hs:61:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()
[7 of 7] Compiling Data.Eigen.SparseLA ( Data/Eigen/SparseLA.hs, dist/build/Data/Eigen/SparseLA.o )

Data/Eigen/SparseLA.hs:137:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()

cbits/eigen-sparse-la.cpp:10:40: error:
     error: reference to ‘ConjugateGradient’ is ambiguous
     template <class T> struct S0 { typedef ConjugateGradient< SparseMatrix <T> > type; };
                                            ^

In file included from cbits/eigen-sparse-la.cpp:1:0: error: 

cbits/eigen-sparse-la.h:28:2: error:
     note: candidates are: Solver ConjugateGradient
      ConjugateGradient,
      ^

In file included from cbits/eigen-sparse-la.h:14:0: error:
    0,
                     from cbits/eigen-sparse-la.cpp:1:

eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h:96:7: error:
     note:                 template<class _MatrixType, int _UpLo, class _Preconditioner> class Eigen::ConjugateGradient
     class ConjugateGradient;
           ^

cbits/eigen-sparse-la.cpp:10:40: error:
     error: ‘ConjugateGradient’ does not name a type
     template <class T> struct S0 { typedef ConjugateGradient< SparseMatrix <T> > type; };
                                            ^

cbits/eigen-sparse-la.cpp:11:40: error:
     error: reference to ‘BiCGSTAB’ is ambiguous
     template <class T> struct S1 { typedef BiCGSTAB< SparseMatrix <T> > type; };
                                            ^

In file included from cbits/eigen-sparse-la.cpp:1:0: error: 

cbits/eigen-sparse-la.h:29:2: error:
     note: candidates are: Solver BiCGSTAB
      BiCGSTAB,
      ^

In file included from cbits/eigen-sparse-la.h:15:0: error:
    0,
                     from cbits/eigen-sparse-la.cpp:1:

eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h:112:7: error:
     note:                 template<class _MatrixType, class _Preconditioner> class Eigen::BiCGSTAB
     class BiCGSTAB;
           ^

cbits/eigen-sparse-la.cpp:11:40: error:
     error: ‘BiCGSTAB’ does not name a type
     template <class T> struct S1 { typedef BiCGSTAB< SparseMatrix <T> > type; };
                                            ^

cbits/eigen-sparse-la.cpp:12:40: error:
     error: reference to ‘SparseLU’ is ambiguous
     template <class T> struct S2 { typedef SparseLU< SparseMatrix <T> > type; };
                                            ^

In file included from cbits/eigen-sparse-la.cpp:1:0: error: 

cbits/eigen-sparse-la.h:30:2: error:
     note: candidates are: Solver SparseLU
      SparseLU,
      ^

In file included from eigen3/Eigen/SparseLU:47:0: error:
    0,
                     from cbits/eigen-sparse-la.h:20,
                     from cbits/eigen-sparse-la.cpp:1:

eigen3/Eigen/src/SparseLU/SparseLU.h:17:110: error:
     note:                 template<class _MatrixType, class _OrderingType> class Eigen::SparseLU
     template <typename _MatrixType, typename _OrderingType = COLAMDOrdering<typename _MatrixType::Index> > class SparseLU;
                                                                                                                  ^

cbits/eigen-sparse-la.cpp:12:40: error:
     error: ‘SparseLU’ does not name a type
     template <class T> struct S2 { typedef SparseLU< SparseMatrix <T> > type; };
                                            ^

cbits/eigen-sparse-la.cpp:13:40: error:
     error: reference to ‘SparseQR’ is ambiguous
     template <class T> struct S3 { typedef SparseQR< SparseMatrix <T>, COLAMDOrdering<typename SparseMatrix<T>::Index> > type; };
                                            ^

In file included from cbits/eigen-sparse-la.cpp:1:0: error: 

cbits/eigen-sparse-la.h:31:2: error:
     note: candidates are: Solver SparseQR
      SparseQR
      ^

In file included from eigen3/Eigen/SparseQR:29:0: error:
    0,
                     from cbits/eigen-sparse-la.h:21,
                     from cbits/eigen-sparse-la.cpp:1:

eigen3/Eigen/src/SparseQR/SparseQR.h:16:60: error:
     note:                 template<class MatrixType, class OrderingType> class Eigen::SparseQR
     template<typename MatrixType, typename OrderingType> class SparseQR;
                                                                ^

cbits/eigen-sparse-la.cpp:13:40: error:
     error: ‘SparseQR’ does not name a type
     template <class T> struct S3 { typedef SparseQR< SparseMatrix <T>, COLAMDOrdering<typename SparseMatrix<T>::Index> > type; };
                                            ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_newSolver(int, int, void**)’:

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:77:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
     ^

cbits/eigen-sparse-la.cpp:77:61: error:
     error: no matching function for call to ‘sparse_la_newSolver(void**&)’
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:77:61: error:
     note: candidate is:
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note: template<class T, class M, class S> const char* sparse_la_newSolver(void**)
     RET sparse_la_newSolver(void** p) {
         ^

cbits/eigen-sparse-la.cpp:73:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:77:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_newSolver, (int code, int s, void** p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_freeSolver(int, int, void*)’:

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:84:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
     ^

cbits/eigen-sparse-la.cpp:84:61: error:
     error: no matching function for call to ‘sparse_la_freeSolver(void*&)’
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:84:61: error:
     note: candidate is:
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note: template<class T, class M, class S> const char* sparse_la_freeSolver(void*)
     RET sparse_la_freeSolver(void* p) {
         ^

cbits/eigen-sparse-la.cpp:80:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:84:61: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_freeSolver, (int code, int s, void* p), (p));
                                                                 ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_factorize(int, int, void*, void*)’:

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:91:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:91:71: error:
     error: no matching function for call to ‘sparse_la_factorize(void*&, void*&)’
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:91:71: error:
     note: candidate is:
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note: template<class T, class M, class S> const char* sparse_la_factorize(void*, void*)
     RET sparse_la_factorize(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:87:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:91:71: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_factorize, (int code, int s, void* p, void* a), (p,a));
                                                                           ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_analyzePattern(int, int, void*, void*)’:

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:98:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:98:76: error:
     error: no matching function for call to ‘sparse_la_analyzePattern(void*&, void*&)’
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:98:76: error:
     note: candidate is:
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note: template<class T, class M, class S> const char* sparse_la_analyzePattern(void*, void*)
     RET sparse_la_analyzePattern(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:94:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:98:76: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_analyzePattern, (int code, int s, void* p, void* a), (p,a));
                                                                                ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_compute(int, int, void*, void*)’:

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:105:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
     ^

cbits/eigen-sparse-la.cpp:105:69: error:
     error: no matching function for call to ‘sparse_la_compute(void*&, void*&)’
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:105:69: error:
     note: candidate is:
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note: template<class T, class M, class S> const char* sparse_la_compute(void*, void*)
     RET sparse_la_compute(void* p, void* a) {
         ^

cbits/eigen-sparse-la.cpp:101:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:105:69: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_compute, (int code, int s, void* p, void* a), (p,a));
                                                                         ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_tolerance(int, int, void*, double*)’:

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:112:79: error:
     error: no matching function for call to ‘sparse_la_tolerance(void*&, double*&)’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:112:79: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note: template<class T, class M, class S> const char* sparse_la_tolerance(void*, double*)
     RET sparse_la_tolerance(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:112:79: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:112:79: error:
     error: no matching function for call to ‘sparse_la_tolerance(void*&, double*&)’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:112:79: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note: template<class T, class M, class S> const char* sparse_la_tolerance(void*, double*)
     RET sparse_la_tolerance(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:112:79: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:112:79: error:
     error: no matching function for call to ‘sparse_la_tolerance(void*&, double*&)’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:112:79: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note: template<class T, class M, class S> const char* sparse_la_tolerance(void*, double*)
     RET sparse_la_tolerance(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:112:79: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:112:79: error:
     error: no matching function for call to ‘sparse_la_tolerance(void*&, double*&)’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:112:79: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note: template<class T, class M, class S> const char* sparse_la_tolerance(void*, double*)
     RET sparse_la_tolerance(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:112:79: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:112:79: error:
     error: no matching function for call to ‘sparse_la_tolerance(void*&, double*&)’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:112:79: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note: template<class T, class M, class S> const char* sparse_la_tolerance(void*, double*)
     RET sparse_la_tolerance(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:112:79: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:112:79: error:
     error: no matching function for call to ‘sparse_la_tolerance(void*&, double*&)’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:112:79: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note: template<class T, class M, class S> const char* sparse_la_tolerance(void*, double*)
     RET sparse_la_tolerance(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:112:79: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:112:79: error:
     error: no matching function for call to ‘sparse_la_tolerance(void*&, double*&)’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:112:79: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note: template<class T, class M, class S> const char* sparse_la_tolerance(void*, double*)
     RET sparse_la_tolerance(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:112:79: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:112:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:112:79: error:
     error: no matching function for call to ‘sparse_la_tolerance(void*&, double*&)’
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:112:79: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note: template<class T, class M, class S> const char* sparse_la_tolerance(void*, double*)
     RET sparse_la_tolerance(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:108:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:112:79: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_tolerance, (int code, int s, void* p, double* x), (p,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_setTolerance(int, int, void*, double)’:

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:119:81: error:
     error: no matching function for call to ‘sparse_la_setTolerance(void*&, double&)’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:119:81: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setTolerance(void*, double)
     RET sparse_la_setTolerance(void* p, double x) {
         ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:119:81: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:119:81: error:
     error: no matching function for call to ‘sparse_la_setTolerance(void*&, double&)’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:119:81: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setTolerance(void*, double)
     RET sparse_la_setTolerance(void* p, double x) {
         ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:119:81: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:119:81: error:
     error: no matching function for call to ‘sparse_la_setTolerance(void*&, double&)’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:119:81: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setTolerance(void*, double)
     RET sparse_la_setTolerance(void* p, double x) {
         ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:119:81: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:119:81: error:
     error: no matching function for call to ‘sparse_la_setTolerance(void*&, double&)’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:119:81: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setTolerance(void*, double)
     RET sparse_la_setTolerance(void* p, double x) {
         ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:119:81: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:119:81: error:
     error: no matching function for call to ‘sparse_la_setTolerance(void*&, double&)’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:119:81: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setTolerance(void*, double)
     RET sparse_la_setTolerance(void* p, double x) {
         ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:119:81: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:119:81: error:
     error: no matching function for call to ‘sparse_la_setTolerance(void*&, double&)’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:119:81: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setTolerance(void*, double)
     RET sparse_la_setTolerance(void* p, double x) {
         ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:119:81: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:119:81: error:
     error: no matching function for call to ‘sparse_la_setTolerance(void*&, double&)’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:119:81: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setTolerance(void*, double)
     RET sparse_la_setTolerance(void* p, double x) {
         ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:119:81: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:119:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:119:81: error:
     error: no matching function for call to ‘sparse_la_setTolerance(void*&, double&)’
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:119:81: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setTolerance(void*, double)
     RET sparse_la_setTolerance(void* p, double x) {
         ^

cbits/eigen-sparse-la.cpp:115:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:119:81: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setTolerance, (int code, int s, void* p, double x), (p,x));
                                                                                     ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_maxIterations(int, int, void*, int*)’:

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:126:80: error:
     error: no matching function for call to ‘sparse_la_maxIterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:126:80: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note: template<class T, class M, class S> const char* sparse_la_maxIterations(void*, int*)
     RET sparse_la_maxIterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:126:80: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:126:80: error:
     error: no matching function for call to ‘sparse_la_maxIterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:126:80: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note: template<class T, class M, class S> const char* sparse_la_maxIterations(void*, int*)
     RET sparse_la_maxIterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:126:80: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:126:80: error:
     error: no matching function for call to ‘sparse_la_maxIterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:126:80: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note: template<class T, class M, class S> const char* sparse_la_maxIterations(void*, int*)
     RET sparse_la_maxIterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:126:80: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:126:80: error:
     error: no matching function for call to ‘sparse_la_maxIterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:126:80: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note: template<class T, class M, class S> const char* sparse_la_maxIterations(void*, int*)
     RET sparse_la_maxIterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:126:80: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:126:80: error:
     error: no matching function for call to ‘sparse_la_maxIterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:126:80: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note: template<class T, class M, class S> const char* sparse_la_maxIterations(void*, int*)
     RET sparse_la_maxIterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:126:80: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:126:80: error:
     error: no matching function for call to ‘sparse_la_maxIterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:126:80: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note: template<class T, class M, class S> const char* sparse_la_maxIterations(void*, int*)
     RET sparse_la_maxIterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:126:80: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:126:80: error:
     error: no matching function for call to ‘sparse_la_maxIterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:126:80: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note: template<class T, class M, class S> const char* sparse_la_maxIterations(void*, int*)
     RET sparse_la_maxIterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:126:80: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:126:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:126:80: error:
     error: no matching function for call to ‘sparse_la_maxIterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:126:80: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note: template<class T, class M, class S> const char* sparse_la_maxIterations(void*, int*)
     RET sparse_la_maxIterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:122:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:126:80: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_maxIterations, (int code, int s, void* p, int* x), (p,x));
                                                                                    ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_setMaxIterations(int, int, void*, int)’:

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:133:82: error:
     error: no matching function for call to ‘sparse_la_setMaxIterations(void*&, int&)’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:133:82: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setMaxIterations(void*, int)
     RET sparse_la_setMaxIterations(void* p, int x) {
         ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:133:82: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:133:82: error:
     error: no matching function for call to ‘sparse_la_setMaxIterations(void*&, int&)’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:133:82: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setMaxIterations(void*, int)
     RET sparse_la_setMaxIterations(void* p, int x) {
         ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:133:82: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:133:82: error:
     error: no matching function for call to ‘sparse_la_setMaxIterations(void*&, int&)’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:133:82: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setMaxIterations(void*, int)
     RET sparse_la_setMaxIterations(void* p, int x) {
         ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:133:82: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:133:82: error:
     error: no matching function for call to ‘sparse_la_setMaxIterations(void*&, int&)’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:133:82: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setMaxIterations(void*, int)
     RET sparse_la_setMaxIterations(void* p, int x) {
         ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:133:82: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:133:82: error:
     error: no matching function for call to ‘sparse_la_setMaxIterations(void*&, int&)’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:133:82: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setMaxIterations(void*, int)
     RET sparse_la_setMaxIterations(void* p, int x) {
         ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:133:82: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:133:82: error:
     error: no matching function for call to ‘sparse_la_setMaxIterations(void*&, int&)’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:133:82: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setMaxIterations(void*, int)
     RET sparse_la_setMaxIterations(void* p, int x) {
         ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:133:82: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:133:82: error:
     error: no matching function for call to ‘sparse_la_setMaxIterations(void*&, int&)’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:133:82: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setMaxIterations(void*, int)
     RET sparse_la_setMaxIterations(void* p, int x) {
         ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:133:82: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:133:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:133:82: error:
     error: no matching function for call to ‘sparse_la_setMaxIterations(void*&, int&)’
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:133:82: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note: template<class T, class M, class S> const char* sparse_la_setMaxIterations(void*, int)
     RET sparse_la_setMaxIterations(void* p, int x) {
         ^

cbits/eigen-sparse-la.cpp:129:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:133:82: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_setMaxIterations, (int code, int s, void* p, int x), (p,x));
                                                                                      ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_info(int, int, void*, int*)’:

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:140:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:140:65: error:
     error: no matching function for call to ‘sparse_la_info(void*&, int*&)’
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:140:65: error:
     note: candidate is:
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note: template<class T, class M, class S> const char* sparse_la_info(void*, int*)
     RET sparse_la_info(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:136:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:140:65: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_info, (int code, int s, void* p, int* x), (p,x));
                                                                     ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_error(int, int, void*, double*)’:

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:147:75: error:
     error: no matching function for call to ‘sparse_la_error(void*&, double*&)’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:147:75: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note: template<class T, class M, class S> const char* sparse_la_error(void*, double*)
     RET sparse_la_error(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:147:75: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:147:75: error:
     error: no matching function for call to ‘sparse_la_error(void*&, double*&)’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:147:75: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note: template<class T, class M, class S> const char* sparse_la_error(void*, double*)
     RET sparse_la_error(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:147:75: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:147:75: error:
     error: no matching function for call to ‘sparse_la_error(void*&, double*&)’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:147:75: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note: template<class T, class M, class S> const char* sparse_la_error(void*, double*)
     RET sparse_la_error(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:147:75: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:147:75: error:
     error: no matching function for call to ‘sparse_la_error(void*&, double*&)’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:147:75: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note: template<class T, class M, class S> const char* sparse_la_error(void*, double*)
     RET sparse_la_error(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:147:75: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:147:75: error:
     error: no matching function for call to ‘sparse_la_error(void*&, double*&)’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:147:75: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note: template<class T, class M, class S> const char* sparse_la_error(void*, double*)
     RET sparse_la_error(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:147:75: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:147:75: error:
     error: no matching function for call to ‘sparse_la_error(void*&, double*&)’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:147:75: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note: template<class T, class M, class S> const char* sparse_la_error(void*, double*)
     RET sparse_la_error(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:147:75: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:147:75: error:
     error: no matching function for call to ‘sparse_la_error(void*&, double*&)’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:147:75: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note: template<class T, class M, class S> const char* sparse_la_error(void*, double*)
     RET sparse_la_error(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:147:75: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:147:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:147:75: error:
     error: no matching function for call to ‘sparse_la_error(void*&, double*&)’
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:147:75: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note: template<class T, class M, class S> const char* sparse_la_error(void*, double*)
     RET sparse_la_error(void* p, double* x) {
         ^

cbits/eigen-sparse-la.cpp:143:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:147:75: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_error, (int code, int s, void* p, double* x), (p,x));
                                                                               ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_iterations(int, int, void*, int*)’:

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:52:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:154:77: error:
     error: no matching function for call to ‘sparse_la_iterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:154:77: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note: template<class T, class M, class S> const char* sparse_la_iterations(void*, int*)
     RET sparse_la_iterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:154:77: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:52:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:53:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:154:77: error:
     error: no matching function for call to ‘sparse_la_iterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:154:77: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note: template<class T, class M, class S> const char* sparse_la_iterations(void*, int*)
     RET sparse_la_iterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:154:77: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:53:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:56:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:154:77: error:
     error: no matching function for call to ‘sparse_la_iterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:154:77: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note: template<class T, class M, class S> const char* sparse_la_iterations(void*, int*)
     RET sparse_la_iterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:154:77: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:56:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:57:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:154:77: error:
     error: no matching function for call to ‘sparse_la_iterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:154:77: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note: template<class T, class M, class S> const char* sparse_la_iterations(void*, int*)
     RET sparse_la_iterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:154:77: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:57:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:60:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:154:77: error:
     error: no matching function for call to ‘sparse_la_iterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:154:77: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note: template<class T, class M, class S> const char* sparse_la_iterations(void*, int*)
     RET sparse_la_iterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:154:77: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:60:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:61:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:154:77: error:
     error: no matching function for call to ‘sparse_la_iterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:154:77: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note: template<class T, class M, class S> const char* sparse_la_iterations(void*, int*)
     RET sparse_la_iterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:154:77: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:61:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:64:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:154:77: error:
     error: no matching function for call to ‘sparse_la_iterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:154:77: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note: template<class T, class M, class S> const char* sparse_la_iterations(void*, int*)
     RET sparse_la_iterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:154:77: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:64:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:65:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:154:1: error:
     note: in expansion of macro ‘API_ITERATIVE’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
     ^

cbits/eigen-sparse-la.cpp:154:77: error:
     error: no matching function for call to ‘sparse_la_iterations(void*&, int*&)’
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:154:77: error:
     note: candidate is:
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note: template<class T, class M, class S> const char* sparse_la_iterations(void*, int*)
     RET sparse_la_iterations(void* p, int* x) {
         ^

cbits/eigen-sparse-la.cpp:150:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:154:77: error:
     error: template argument 3 is invalid
     API_ITERATIVE(sparse_la_iterations, (int code, int s, void* p, int* x), (p,x));
                                                                                 ^

cbits/eigen-sparse-la.cpp:65:55: error:
     note: in definition of macro ‘API_ITERATIVE’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^
cbits/eigen-sparse-la.cpp: In function ‘const char* eigen_sparse_la_solve(int, int, void*, void*, void**)’:

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:20:41: error:
     error: ‘type’ is not a member of ‘S0<float>’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:20:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T0, M0, S0<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:21:41: error:
     error: ‘type’ is not a member of ‘S1<float>’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:21:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T0, M0, S1<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:22:41: error:
     error: ‘type’ is not a member of ‘S2<float>’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:22:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T0, M0, S2<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:23:41: error:
     error: ‘type’ is not a member of ‘S3<float>’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:23:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T0, M0, S3<T0>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:26:41: error:
     error: ‘type’ is not a member of ‘S0<double>’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:26:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T1, M1 ,S0<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:27:41: error:
     error: ‘type’ is not a member of ‘S1<double>’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:27:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T1, M1 ,S1<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:28:41: error:
     error: ‘type’ is not a member of ‘S2<double>’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:28:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T1, M1 ,S2<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:29:41: error:
     error: ‘type’ is not a member of ‘S3<double>’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:29:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T1, M1 ,S3<T1>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:32:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<float> >’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:32:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T2, M2, S0<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:33:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<float> >’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:33:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T2, M2, S1<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:34:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<float> >’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:34:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T2, M2, S2<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:35:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<float> >’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:35:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T2, M2, S3<T2>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:38:41: error:
     error: ‘type’ is not a member of ‘S0<std::complex<double> >’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:38:55: error:
     note: in definition of macro ‘API_ALL’
                 case 0: return name<T3, M3, S0<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:39:41: error:
     error: ‘type’ is not a member of ‘S1<std::complex<double> >’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:39:55: error:
     note: in definition of macro ‘API_ALL’
                 case 1: return name<T3, M3, S1<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:40:41: error:
     error: ‘type’ is not a member of ‘S2<std::complex<double> >’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:40:55: error:
     note: in definition of macro ‘API_ALL’
                 case 2: return name<T3, M3, S2<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:41:41: error:
     error: ‘type’ is not a member of ‘S3<std::complex<double> >’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                             ^

cbits/eigen-sparse-la.cpp:161:1: error:
     note: in expansion of macro ‘API_ALL’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
     ^

cbits/eigen-sparse-la.cpp:161:79: error:
     error: no matching function for call to ‘sparse_la_solve(void*&, void*&, void**&)’
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:161:79: error:
     note: candidate is:
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note: template<class T, class M, class S> const char* sparse_la_solve(void*, void*, void**)
     RET sparse_la_solve(void* p, void* b, void** x) {
         ^

cbits/eigen-sparse-la.cpp:157:5: error:
     note:   template argument deduction/substitution failed:

cbits/eigen-sparse-la.cpp:161:79: error:
     error: template argument 3 is invalid
     API_ALL(sparse_la_solve, (int code, int s, void* p, void* b, void** x), (p,b,x));
                                                                                   ^

cbits/eigen-sparse-la.cpp:41:55: error:
     note: in definition of macro ‘API_ALL’
                 case 3: return name<T3, M3, S3<T3>::type >call;\
                                                           ^
`gcc' failed in phase `C Compiler'. (Exit code: 1)
cabal: Leaving directory '/tmp/cabal-tmp-32350/eigen-2.1.1'
cabal: Error: some packages failed to install:
eigen-2.1.1 failed during the building phase. The exception was:
ExitFailure 1

Test log

No test log was submitted for this report.