Skip to content

Instantly share code, notes, and snippets.

@abhi18av
Created January 27, 2019 05:05
Show Gist options
  • Save abhi18av/1f0d7bf0512b9bacce39e7db07b1d939 to your computer and use it in GitHub Desktop.
Save abhi18av/1f0d7bf0512b9bacce39e7db07b1d939 to your computer and use it in GitHub Desktop.
The build log for the OWL library on AArch / arm64 architecture
 ___  ___ __ _| | _____      ____ _ _   _
/ __|/ __/ _` | |/ _ \ \ /\ / / _` | | | |
\__ \ (_| (_| | |  __/\ V  V / (_| | |_| |
|___/\___\__,_|_|\___| \_/\_/ \__,_|\__, |
                                    |___/

Welcome on Ubuntu Bionic Beaver (18.04 LTS) (GNU/Linux 4.4.127-mainline-rev1 aarch64 )

System information as of: Sun Jan 27 04:30:10 UTC 2019

System load:    0.00            Int IP Address: 10.10.38.105
Memory usage:   0.0%            Pub IP Address: 51.15.142.151
Usage on /:     16%             Swap usage:     0.0%
Local Users:    0               Processes:      113
Image build:    2018-07-03      System uptime:  18:23 hours
Disk vda:       l_ssd 50G

Documentation:  https://github.com/scaleway/image-ubuntu
Community:      https://github.com/scaleway/image-ubuntu
Image source:   https://github.com/scaleway/image-ubuntu

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.

148 packages can be updated.
77 updates are security updates.


*** System restart required ***
Last login: Sat Jan 26 20:51:12 2019 from 27.56.153.58
root@cub:~#
root@cub:~# cd eigen/
root@cub:~/eigen# make cleanall
ocamlfind remove eigen
Removed /root/.opam/default/lib/eigen/META
Removed /root/.opam/default/lib/stublibs/dlleigen_stubs.so
Removed /root/.opam/default/lib/stublibs/dlleigen_stubs.so.owner
Removed /root/.opam/default/lib/eigen
rm -rf _build setup.* myocamlbuild.ml _tags
rm -rf lib/META lib/*.mldylib lib/*.mllib lib/*.clib
rm -rf *.byte *.native
root@cub:~/eigen#
root@cub:~/eigen# cd ..
root@cub:~# cd owl/
root@cub:~/owl# make cleanall
dune uninstall && dune clean
The following <package>.install are missing:
- _build/default/owl-zoo.install
You need to run: dune build @install
Makefile:47: recipe for target 'cleanall' failed
make: *** [cleanall] Error 1
root@cub:~/owl# make clean
dune clean
root@cub:~/owl#


root@cub:~# EIGENPATH=/root/eigen
root@cub:~#
root@cub:~# eval $(opam config env) \
>     && make -C $EIGENPATH oasis \
>     && make -C $EIGENPATH && make -C $EIGENPATH install
[WARNING] Running as root is not recommended
make: Entering directory '/root/eigen'
oasis setup

ocaml setup.ml -configure

Configuration:
ocamlfind: ........................................... /root/.opam/default/bin/ocamlfind
ocamlc: .............................................. /root/.opam/default/bin/ocamlc.opt
ocamlopt: ............................................ /root/.opam/default/bin/ocamlopt.opt
ocamlbuild: .......................................... /root/.opam/default/bin/ocamlbuild
Package name: ........................................ eigen
Package version: ..................................... 0.1
os_type: ............................................. Unix
system: .............................................. linux
architecture: ........................................ arm64
ccomp_type: .......................................... cc
ocaml_version: ....................................... 4.07.1
standard_library_default: ............................ /root/.opam/default/lib/ocaml
standard_library: .................................... /root/.opam/default/lib/ocaml
standard_runtime: .................................... /root/.opam/default/bin/ocamlrun
bytecomp_c_compiler: ................................. gcc -O2 -fno-strict-aliasing -fwrapv -fPIC -D_FILE_OFFSET_BITS=64 -D_REENTRANT
native_c_compiler: ................................... gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT
model: ............................................... default
ext_obj: ............................................. .o
ext_asm: ............................................. .s
ext_lib: ............................................. .a
ext_dll: ............................................. .so
default_executable_name: ............................. a.out
systhread_supported: ................................. true
Install architecture-independent files dir: .......... /usr/local
Install architecture-dependent files in dir: ......... $prefix
User executables: .................................... $exec_prefix/bin
System admin executables: ............................ $exec_prefix/sbin
Program executables: ................................. $exec_prefix/libexec
Read-only single-machine data: ....................... $prefix/etc
Modifiable architecture-independent data: ............ $prefix/com
Modifiable single-machine data: ...................... $prefix/var
Object code libraries: ............................... $exec_prefix/lib
Read-only arch-independent data root: ................ $prefix/share
Read-only architecture-independent data: ............. $datarootdir
Info documentation: .................................. $datarootdir/info
Locale-dependent data: ............................... $datarootdir/locale
Man documentation: ................................... $datarootdir/man
Documentation root: .................................. $datarootdir/doc/$pkg_name
HTML documentation: .................................. $docdir
DVI documentation: ................................... $docdir
PDF documentation: ................................... $docdir
PS documentation: .................................... $docdir
findlib_version: ..................................... 1.8.0
is_native: ........................................... true
suffix_program: ......................................
Remove a file.: ...................................... rm -f
Remove a directory.: ................................. rm -rf
Turn ocaml debug flag on: ............................ true
Turn ocaml profile flag on: .......................... false
Compiler support generation of .cmxs.: ............... true
OCamlbuild additional flags: .........................
Create documentations: ............................... true
Compile tests executable and library and run them: ... false
pkg_ctypes: .......................................... /root/.opam/default/lib/ctypes
pkg_ctypes_stubs: .................................... /root/.opam/default/lib/ctypes

make: Leaving directory '/root/eigen'
make: Entering directory '/root/eigen'
ocaml setup.ml -build
make[1]: Entering directory '/root/eigen/lib'
g++ -O3 -std=c++11 -I. -I./unsupported/ -c -fPIC -ansi -Wno-extern-c-compat -Wno-c++11-long-long -Wno-invalid-partial-specialization -Ofast
-march=native -funroll-loops -ffast-math -flto eigen_tensor.cpp -o eigen_tensor.o
g++ -O3 -std=c++11 -I. -c -fPIC -ansi -Wno-extern-c-compat -Wno-c++11-long-long -Wno-invalid-partial-specialization -Ofast -march=native -funroll-loops -ffast-math -flto eigen_dsmat.cpp -o eigen_dsmat.o
g++ -O3 -std=c++11 -I. -c -fPIC -ansi -Wno-extern-c-compat -Wno-c++11-long-long -Wno-invalid-partial-specialization -Ofast -march=native -funroll-loops -ffast-math -flto eigen_spmat.cpp -o eigen_spmat.o
gcc-ar rvs libeigen.a eigen_dsmat.o eigen_spmat.o eigen_tensor.o
/usr/bin/ar: creating libeigen.a
a - eigen_dsmat.o
a - eigen_spmat.o
a - eigen_tensor.o
make[1]: Leaving directory '/root/eigen/lib'
make[1]: Entering directory '/root/eigen/lib'
rm -rf _build *.byte *.a *.o *.so *.cmo *.cmi
make[1]: Leaving directory '/root/eigen/lib'
/root/eigen
Finished, 1 target (0 cached) in 00:00:02.
+ /root/.opam/default/bin/ocamlfind ocamlmklib -o lib/eigen_stubs -Linclude -leigen -lstdc++ lib/eigen_utils_stubs.o lib/ffi_eigen_generated_stub.o
lib/eigen_spmat.h:259:8: warning: type of ‘c_eigen_spmat_z_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_print(struct c_spmat_z *m);
        ^
eigen_spmat_z.cpp:443:6: note: ‘c_eigen_spmat_z_print’ was previously declared here
eigen_spmat_z.cpp:443:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:258:21: warning: type of ‘c_eigen_spmat_z_sqrt’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_sqrt(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:437:12: note: ‘c_eigen_spmat_z_sqrt’ was previously declared here
eigen_spmat_z.cpp:437:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:257:21: warning: type of ‘c_eigen_spmat_z_neg’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_neg(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:428:12: note: ‘c_eigen_spmat_z_neg’ was previously declared here
eigen_spmat_z.cpp:428:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:256:17: warning: type of ‘c_eigen_spmat_z_sum’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_z_elt c_eigen_spmat_z_sum(struct c_spmat_z *m);
                 ^
eigen_spmat_z.cpp:386:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:386:15: note: ‘c_eigen_spmat_z_sum’ was previously declared here
eigen_spmat_z.cpp:386:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:255:21: warning: type of ‘c_eigen_spmat_z_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_div_scalar(struct c_spmat_z *m, c_spmat_z_elt a);
                     ^
eigen_spmat_z.cpp:376:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:376:12: note: ‘c_eigen_spmat_z_div_scalar’ was previously declared here
eigen_spmat_z.cpp:376:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:254:21: warning: type of ‘c_eigen_spmat_z_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_mul_scalar(struct c_spmat_z *m, c_spmat_z_elt a);
                     ^
eigen_spmat_z.cpp:369:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:369:12: note: ‘c_eigen_spmat_z_mul_scalar’ was previously declared here
eigen_spmat_z.cpp:369:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:253:21: warning: type of ‘c_eigen_spmat_z_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_sub_scalar(struct c_spmat_z *m, c_spmat_z_elt a);
                     ^
eigen_spmat_z.cpp:359:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:359:12: note: ‘c_eigen_spmat_z_sub_scalar’ was previously declared here
eigen_spmat_z.cpp:359:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:252:21: warning: type of ‘c_eigen_spmat_z_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_add_scalar(struct c_spmat_z *m, c_spmat_z_elt a);
                     ^
eigen_spmat_z.cpp:349:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:349:12: note: ‘c_eigen_spmat_z_add_scalar’ was previously declared here
eigen_spmat_z.cpp:349:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:251:21: warning: type of ‘c_eigen_spmat_z_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_gemm(struct c_spmat_z *m0, struct c_spmat_z *m1);
                     ^
eigen_spmat_z.cpp:342:12: note: ‘c_eigen_spmat_z_gemm’ was previously declared here
eigen_spmat_z.cpp:342:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:250:21: warning: type of ‘c_eigen_spmat_z_div’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_div(struct c_spmat_z *m0, struct c_spmat_z *m1);
                     ^
eigen_spmat_z.cpp:335:12: note: ‘c_eigen_spmat_z_div’ was previously declared here
eigen_spmat_z.cpp:335:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:249:21: warning: type of ‘c_eigen_spmat_z_mul’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_mul(struct c_spmat_z *m0, struct c_spmat_z *m1);
                     ^
eigen_spmat_z.cpp:328:12: note: ‘c_eigen_spmat_z_mul’ was previously declared here
eigen_spmat_z.cpp:328:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:248:21: warning: type of ‘c_eigen_spmat_z_sub’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_sub(struct c_spmat_z *m0, struct c_spmat_z *m1);
                     ^
eigen_spmat_z.cpp:321:12: note: ‘c_eigen_spmat_z_sub’ was previously declared here
eigen_spmat_z.cpp:321:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:247:21: warning: type of ‘c_eigen_spmat_z_add’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_add(struct c_spmat_z *m0, struct c_spmat_z *m1);
                     ^
eigen_spmat_z.cpp:314:12: note: ‘c_eigen_spmat_z_add’ was previously declared here
eigen_spmat_z.cpp:314:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:246:7: warning: type of ‘c_eigen_spmat_z_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_equal_or_smaller(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:308:5: note: ‘c_eigen_spmat_z_equal_or_smaller’ was previously declared here
eigen_spmat_z.cpp:308:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:245:7: warning: type of ‘c_eigen_spmat_z_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_equal_or_greater(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:302:5: note: ‘c_eigen_spmat_z_equal_or_greater’ was previously declared here
eigen_spmat_z.cpp:302:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:244:7: warning: type of ‘c_eigen_spmat_z_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_smaller(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:296:5: note: ‘c_eigen_spmat_z_is_smaller’ was previously declared here
eigen_spmat_z.cpp:296:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:243:7: warning: type of ‘c_eigen_spmat_z_is_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_greater(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:290:5: note: ‘c_eigen_spmat_z_is_greater’ was previously declared here
eigen_spmat_z.cpp:290:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:242:7: warning: type of ‘c_eigen_spmat_z_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_unequal(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:283:5: note: ‘c_eigen_spmat_z_is_unequal’ was previously declared here
eigen_spmat_z.cpp:283:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:241:7: warning: type of ‘c_eigen_spmat_z_is_equal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_equal(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:276:5: note: ‘c_eigen_spmat_z_is_equal’ was previously declared here
eigen_spmat_z.cpp:276:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:240:7: warning: type of ‘c_eigen_spmat_z_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_nonnegative(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:259:5: note: ‘c_eigen_spmat_z_is_nonnegative’ was previously declared here
eigen_spmat_z.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:239:7: warning: type of ‘c_eigen_spmat_z_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_nonpositive(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:242:5: note: ‘c_eigen_spmat_z_is_nonpositive’ was previously declared here
eigen_spmat_z.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:238:7: warning: type of ‘c_eigen_spmat_z_is_negative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_negative(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:222:5: note: ‘c_eigen_spmat_z_is_negative’ was previously declared here
eigen_spmat_z.cpp:222:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:237:7: warning: type of ‘c_eigen_spmat_z_is_positive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_positive(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:202:5: note: ‘c_eigen_spmat_z_is_positive’ was previously declared here
eigen_spmat_z.cpp:202:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:236:7: warning: type of ‘c_eigen_spmat_z_is_zero’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_zero(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:184:5: note: ‘c_eigen_spmat_z_is_zero’ was previously declared here
eigen_spmat_z.cpp:184:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:235:17: warning: type of ‘c_eigen_spmat_z_trace’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_z_elt c_eigen_spmat_z_trace(struct c_spmat_z *m);
                 ^
eigen_spmat_z.cpp:178:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:178:15: note: ‘c_eigen_spmat_z_trace’ was previously declared here
eigen_spmat_z.cpp:178:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:234:21: warning: type of ‘c_eigen_spmat_z_diagonal’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_diagonal(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:172:12: note: ‘c_eigen_spmat_z_diagonal’ was previously declared here
eigen_spmat_z.cpp:172:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:233:21: warning: type of ‘c_eigen_spmat_z_adjoint’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_adjoint(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:166:12: note: ‘c_eigen_spmat_z_adjoint’ was previously declared here
eigen_spmat_z.cpp:166:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:232:21: warning: type of ‘c_eigen_spmat_z_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_transpose(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:160:12: note: ‘c_eigen_spmat_z_transpose’ was previously declared here
eigen_spmat_z.cpp:160:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:231:21: warning: type of ‘c_eigen_spmat_z_col’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_col(struct c_spmat_z *m, INDEX i);
                     ^
eigen_spmat_z.cpp:154:12: note: ‘c_eigen_spmat_z_col’ was previously declared here
eigen_spmat_z.cpp:154:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:230:21: warning: type of ‘c_eigen_spmat_z_row’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_row(struct c_spmat_z *m, INDEX i);
                     ^
eigen_spmat_z.cpp:148:12: note: ‘c_eigen_spmat_z_row’ was previously declared here
eigen_spmat_z.cpp:148:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:229:21: warning: type of ‘c_eigen_spmat_z_clone’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_clone(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:142:12: note: ‘c_eigen_spmat_z_clone’ was previously declared here
eigen_spmat_z.cpp:142:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:228:10: warning: type of ‘c_eigen_spmat_z_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_z_outerindexptr(struct c_spmat_z *m);
          ^
eigen_spmat_z.cpp:135:8: note: ‘c_eigen_spmat_z_outerindexptr’ was previously declared here
eigen_spmat_z.cpp:135:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:227:10: warning: type of ‘c_eigen_spmat_z_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_z_innerindexptr(struct c_spmat_z *m);
          ^
eigen_spmat_z.cpp:128:8: note: ‘c_eigen_spmat_z_innerindexptr’ was previously declared here
eigen_spmat_z.cpp:128:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:226:18: warning: type of ‘c_eigen_spmat_z_valueptr’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_z_elt* c_eigen_spmat_z_valueptr(struct c_spmat_z *m, INDEX *l);
                  ^
eigen_spmat_z.cpp:120:16: note: ‘c_eigen_spmat_z_valueptr’ was previously declared here
eigen_spmat_z.cpp:120:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:225:8: warning: type of ‘c_eigen_spmat_z_prune’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_prune(struct c_spmat_z *m, c_spmat_z_elt ref, double eps);
        ^
eigen_spmat_z.cpp:114:6: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:114:6: note: ‘c_eigen_spmat_z_prune’ was previously declared here
eigen_spmat_z.cpp:114:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:224:8: warning: type of ‘c_eigen_spmat_z_reshape’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_reshape(struct c_spmat_z *m, INDEX rows, INDEX cols);
        ^
eigen_spmat_z.cpp:108:6: note: ‘c_eigen_spmat_z_reshape’ was previously declared here
eigen_spmat_z.cpp:108:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:223:8: warning: type of ‘c_eigen_spmat_z_uncompress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_uncompress(struct c_spmat_z *m);
        ^
eigen_spmat_z.cpp:103:6: note: ‘c_eigen_spmat_z_uncompress’ was previously declared here
eigen_spmat_z.cpp:103:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:222:8: warning: type of ‘c_eigen_spmat_z_compress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_compress(struct c_spmat_z *m);
        ^
eigen_spmat_z.cpp:98:6: note: ‘c_eigen_spmat_z_compress’ was previously declared here
eigen_spmat_z.cpp:98:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:221:7: warning: type of ‘c_eigen_spmat_z_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_compressed(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:93:5: note: ‘c_eigen_spmat_z_is_compressed’ was previously declared here
eigen_spmat_z.cpp:93:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:220:8: warning: type of ‘c_eigen_spmat_z_reset’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_reset(struct c_spmat_z *m);
        ^
eigen_spmat_z.cpp:88:6: note: ‘c_eigen_spmat_z_reset’ was previously declared here
eigen_spmat_z.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:219:8: warning: type of ‘c_eigen_spmat_z_insert’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_insert(struct c_spmat_z *m, INDEX i, INDEX j, c_spmat_z_elt x);
        ^
eigen_spmat_z.cpp:83:6: note: type mismatch in parameter 4
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:83:6: note: ‘c_eigen_spmat_z_insert’ was previously declared here
eigen_spmat_z.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:218:8: warning: type of ‘c_eigen_spmat_z_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_set(struct c_spmat_z *m, INDEX i, INDEX j, c_spmat_z_elt x);
        ^
eigen_spmat_z.cpp:78:6: note: type mismatch in parameter 4
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:78:6: note: ‘c_eigen_spmat_z_set’ was previously declared here
eigen_spmat_z.cpp:78:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:217:17: warning: type of ‘c_eigen_spmat_z_get’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_z_elt c_eigen_spmat_z_get(struct c_spmat_z *m, INDEX i, INDEX j);
                 ^
eigen_spmat_z.cpp:72:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:72:15: note: ‘c_eigen_spmat_z_get’ was previously declared here
eigen_spmat_z.cpp:72:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:216:9: warning: type of ‘c_eigen_spmat_z_nnz’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_z_nnz(struct c_spmat_z *m);
         ^
eigen_spmat_z.cpp:67:7: note: ‘c_eigen_spmat_z_nnz’ was previously declared here
eigen_spmat_z.cpp:67:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:215:9: warning: type of ‘c_eigen_spmat_z_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_z_cols(struct c_spmat_z *m);
         ^
eigen_spmat_z.cpp:62:7: note: ‘c_eigen_spmat_z_cols’ was previously declared here
eigen_spmat_z.cpp:62:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:214:9: warning: type of ‘c_eigen_spmat_z_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_z_rows(struct c_spmat_z *m);
         ^
eigen_spmat_z.cpp:57:7: note: ‘c_eigen_spmat_z_rows’ was previously declared here
eigen_spmat_z.cpp:57:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:213:21: warning: type of ‘c_eigen_spmat_z_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_eye(INDEX m);
                     ^
eigen_spmat_z.cpp:50:12: note: ‘c_eigen_spmat_z_eye’ was previously declared here
eigen_spmat_z.cpp:50:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:212:8: warning: type of ‘c_eigen_spmat_z_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_delete(struct c_spmat_z *m);
        ^
eigen_spmat_z.cpp:45:6: note: ‘c_eigen_spmat_z_delete’ was previously declared here
eigen_spmat_z.cpp:45:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:211:21: warning: type of ‘c_eigen_spmat_z_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_new(INDEX size, INDEX rows, INDEX cols);
                     ^
eigen_spmat_z.cpp:38:12: note: ‘c_eigen_spmat_z_new’ was previously declared here
eigen_spmat_z.cpp:38:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:204:8: warning: type of ‘c_eigen_spmat_c_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_print(struct c_spmat_c *m);
        ^
eigen_spmat_c.cpp:443:6: note: ‘c_eigen_spmat_c_print’ was previously declared here
eigen_spmat_c.cpp:443:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:203:21: warning: type of ‘c_eigen_spmat_c_sqrt’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_sqrt(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:437:12: note: ‘c_eigen_spmat_c_sqrt’ was previously declared here
eigen_spmat_c.cpp:437:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:202:21: warning: type of ‘c_eigen_spmat_c_neg’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_neg(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:428:12: note: ‘c_eigen_spmat_c_neg’ was previously declared here
eigen_spmat_c.cpp:428:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:201:17: warning: type of ‘c_eigen_spmat_c_sum’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_c_elt c_eigen_spmat_c_sum(struct c_spmat_c *m);
                 ^
eigen_spmat_c.cpp:386:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:386:15: note: ‘c_eigen_spmat_c_sum’ was previously declared here
eigen_spmat_c.cpp:386:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:200:21: warning: type of ‘c_eigen_spmat_c_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_div_scalar(struct c_spmat_c *m, c_spmat_c_elt a);
                     ^
eigen_spmat_c.cpp:376:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:376:12: note: ‘c_eigen_spmat_c_div_scalar’ was previously declared here
eigen_spmat_c.cpp:376:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:199:21: warning: type of ‘c_eigen_spmat_c_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_mul_scalar(struct c_spmat_c *m, c_spmat_c_elt a);
                     ^
eigen_spmat_c.cpp:369:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:369:12: note: ‘c_eigen_spmat_c_mul_scalar’ was previously declared here
eigen_spmat_c.cpp:369:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:198:21: warning: type of ‘c_eigen_spmat_c_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_sub_scalar(struct c_spmat_c *m, c_spmat_c_elt a);
                     ^
eigen_spmat_c.cpp:359:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:359:12: note: ‘c_eigen_spmat_c_sub_scalar’ was previously declared here
eigen_spmat_c.cpp:359:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:197:21: warning: type of ‘c_eigen_spmat_c_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_add_scalar(struct c_spmat_c *m, c_spmat_c_elt a);
                     ^
eigen_spmat_c.cpp:349:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:349:12: note: ‘c_eigen_spmat_c_add_scalar’ was previously declared here
eigen_spmat_c.cpp:349:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:196:21: warning: type of ‘c_eigen_spmat_c_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_gemm(struct c_spmat_c *m0, struct c_spmat_c *m1);
                     ^
eigen_spmat_c.cpp:342:12: note: ‘c_eigen_spmat_c_gemm’ was previously declared here
eigen_spmat_c.cpp:342:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:195:21: warning: type of ‘c_eigen_spmat_c_div’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_div(struct c_spmat_c *m0, struct c_spmat_c *m1);
                     ^
eigen_spmat_c.cpp:335:12: note: ‘c_eigen_spmat_c_div’ was previously declared here
eigen_spmat_c.cpp:335:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:194:21: warning: type of ‘c_eigen_spmat_c_mul’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_mul(struct c_spmat_c *m0, struct c_spmat_c *m1);
                     ^
eigen_spmat_c.cpp:328:12: note: ‘c_eigen_spmat_c_mul’ was previously declared here
eigen_spmat_c.cpp:328:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:193:21: warning: type of ‘c_eigen_spmat_c_sub’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_sub(struct c_spmat_c *m0, struct c_spmat_c *m1);
                     ^
eigen_spmat_c.cpp:321:12: note: ‘c_eigen_spmat_c_sub’ was previously declared here
eigen_spmat_c.cpp:321:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:192:21: warning: type of ‘c_eigen_spmat_c_add’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_add(struct c_spmat_c *m0, struct c_spmat_c *m1);
                     ^
eigen_spmat_c.cpp:314:12: note: ‘c_eigen_spmat_c_add’ was previously declared here
eigen_spmat_c.cpp:314:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:191:7: warning: type of ‘c_eigen_spmat_c_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_equal_or_smaller(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:308:5: note: ‘c_eigen_spmat_c_equal_or_smaller’ was previously declared here
eigen_spmat_c.cpp:308:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:190:7: warning: type of ‘c_eigen_spmat_c_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_equal_or_greater(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:302:5: note: ‘c_eigen_spmat_c_equal_or_greater’ was previously declared here
eigen_spmat_c.cpp:302:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:189:7: warning: type of ‘c_eigen_spmat_c_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_smaller(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:296:5: note: ‘c_eigen_spmat_c_is_smaller’ was previously declared here
eigen_spmat_c.cpp:296:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:188:7: warning: type of ‘c_eigen_spmat_c_is_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_greater(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:290:5: note: ‘c_eigen_spmat_c_is_greater’ was previously declared here
eigen_spmat_c.cpp:290:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:187:7: warning: type of ‘c_eigen_spmat_c_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_unequal(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:283:5: note: ‘c_eigen_spmat_c_is_unequal’ was previously declared here
eigen_spmat_c.cpp:283:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:186:7: warning: type of ‘c_eigen_spmat_c_is_equal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_equal(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:276:5: note: ‘c_eigen_spmat_c_is_equal’ was previously declared here
eigen_spmat_c.cpp:276:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:185:7: warning: type of ‘c_eigen_spmat_c_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_nonnegative(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:259:5: note: ‘c_eigen_spmat_c_is_nonnegative’ was previously declared here
eigen_spmat_c.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:184:7: warning: type of ‘c_eigen_spmat_c_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_nonpositive(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:242:5: note: ‘c_eigen_spmat_c_is_nonpositive’ was previously declared here
eigen_spmat_c.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:183:7: warning: type of ‘c_eigen_spmat_c_is_negative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_negative(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:222:5: note: ‘c_eigen_spmat_c_is_negative’ was previously declared here
eigen_spmat_c.cpp:222:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:182:7: warning: type of ‘c_eigen_spmat_c_is_positive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_positive(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:202:5: note: ‘c_eigen_spmat_c_is_positive’ was previously declared here
eigen_spmat_c.cpp:202:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:181:7: warning: type of ‘c_eigen_spmat_c_is_zero’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_zero(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:184:5: note: ‘c_eigen_spmat_c_is_zero’ was previously declared here
eigen_spmat_c.cpp:184:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:180:17: warning: type of ‘c_eigen_spmat_c_trace’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_c_elt c_eigen_spmat_c_trace(struct c_spmat_c *m);
                 ^
eigen_spmat_c.cpp:178:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:178:15: note: ‘c_eigen_spmat_c_trace’ was previously declared here
eigen_spmat_c.cpp:178:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:179:21: warning: type of ‘c_eigen_spmat_c_diagonal’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_diagonal(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:172:12: note: ‘c_eigen_spmat_c_diagonal’ was previously declared here
eigen_spmat_c.cpp:172:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:178:21: warning: type of ‘c_eigen_spmat_c_adjoint’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_adjoint(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:166:12: note: ‘c_eigen_spmat_c_adjoint’ was previously declared here
eigen_spmat_c.cpp:166:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:177:21: warning: type of ‘c_eigen_spmat_c_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_transpose(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:160:12: note: ‘c_eigen_spmat_c_transpose’ was previously declared here
eigen_spmat_c.cpp:160:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:176:21: warning: type of ‘c_eigen_spmat_c_col’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_col(struct c_spmat_c *m, INDEX i);
                     ^
eigen_spmat_c.cpp:154:12: note: ‘c_eigen_spmat_c_col’ was previously declared here
eigen_spmat_c.cpp:154:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:175:21: warning: type of ‘c_eigen_spmat_c_row’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_row(struct c_spmat_c *m, INDEX i);
                     ^
eigen_spmat_c.cpp:148:12: note: ‘c_eigen_spmat_c_row’ was previously declared here
eigen_spmat_c.cpp:148:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:174:21: warning: type of ‘c_eigen_spmat_c_clone’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_clone(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:142:12: note: ‘c_eigen_spmat_c_clone’ was previously declared here
eigen_spmat_c.cpp:142:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:173:10: warning: type of ‘c_eigen_spmat_c_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_c_outerindexptr(struct c_spmat_c *m);
          ^
eigen_spmat_c.cpp:135:8: note: ‘c_eigen_spmat_c_outerindexptr’ was previously declared here
eigen_spmat_c.cpp:135:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:172:10: warning: type of ‘c_eigen_spmat_c_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_c_innerindexptr(struct c_spmat_c *m);
          ^
eigen_spmat_c.cpp:128:8: note: ‘c_eigen_spmat_c_innerindexptr’ was previously declared here
eigen_spmat_c.cpp:128:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:171:18: warning: type of ‘c_eigen_spmat_c_valueptr’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_c_elt* c_eigen_spmat_c_valueptr(struct c_spmat_c *m, INDEX *l);
                  ^
eigen_spmat_c.cpp:120:16: note: ‘c_eigen_spmat_c_valueptr’ was previously declared here
eigen_spmat_c.cpp:120:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:170:8: warning: type of ‘c_eigen_spmat_c_prune’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_prune(struct c_spmat_c *m, c_spmat_c_elt ref, float eps);
        ^
eigen_spmat_c.cpp:114:6: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:114:6: note: ‘c_eigen_spmat_c_prune’ was previously declared here
eigen_spmat_c.cpp:114:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:169:8: warning: type of ‘c_eigen_spmat_c_reshape’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_reshape(struct c_spmat_c *m, INDEX rows, INDEX cols);
        ^
eigen_spmat_c.cpp:108:6: note: ‘c_eigen_spmat_c_reshape’ was previously declared here
eigen_spmat_c.cpp:108:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:168:8: warning: type of ‘c_eigen_spmat_c_uncompress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_uncompress(struct c_spmat_c *m);
        ^
eigen_spmat_c.cpp:103:6: note: ‘c_eigen_spmat_c_uncompress’ was previously declared here
eigen_spmat_c.cpp:103:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:167:8: warning: type of ‘c_eigen_spmat_c_compress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_compress(struct c_spmat_c *m);
        ^
eigen_spmat_c.cpp:98:6: note: ‘c_eigen_spmat_c_compress’ was previously declared here
eigen_spmat_c.cpp:98:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:166:7: warning: type of ‘c_eigen_spmat_c_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_compressed(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:93:5: note: ‘c_eigen_spmat_c_is_compressed’ was previously declared here
eigen_spmat_c.cpp:93:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:165:8: warning: type of ‘c_eigen_spmat_c_reset’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_reset(struct c_spmat_c *m);
        ^
eigen_spmat_c.cpp:88:6: note: ‘c_eigen_spmat_c_reset’ was previously declared here
eigen_spmat_c.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:164:8: warning: type of ‘c_eigen_spmat_c_insert’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_insert(struct c_spmat_c *m, INDEX i, INDEX j, c_spmat_c_elt x);
        ^
eigen_spmat_c.cpp:83:6: note: type mismatch in parameter 4
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:83:6: note: ‘c_eigen_spmat_c_insert’ was previously declared here
eigen_spmat_c.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:163:8: warning: type of ‘c_eigen_spmat_c_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_set(struct c_spmat_c *m, INDEX i, INDEX j, c_spmat_c_elt x);
        ^
eigen_spmat_c.cpp:78:6: note: type mismatch in parameter 4
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:78:6: note: ‘c_eigen_spmat_c_set’ was previously declared here
eigen_spmat_c.cpp:78:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:162:17: warning: type of ‘c_eigen_spmat_c_get’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_c_elt c_eigen_spmat_c_get(struct c_spmat_c *m, INDEX i, INDEX j);
                 ^
eigen_spmat_c.cpp:72:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:72:15: note: ‘c_eigen_spmat_c_get’ was previously declared here
eigen_spmat_c.cpp:72:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:161:9: warning: type of ‘c_eigen_spmat_c_nnz’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_c_nnz(struct c_spmat_c *m);
         ^
eigen_spmat_c.cpp:67:7: note: ‘c_eigen_spmat_c_nnz’ was previously declared here
eigen_spmat_c.cpp:67:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:160:9: warning: type of ‘c_eigen_spmat_c_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_c_cols(struct c_spmat_c *m);
         ^
eigen_spmat_c.cpp:62:7: note: ‘c_eigen_spmat_c_cols’ was previously declared here
eigen_spmat_c.cpp:62:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:159:9: warning: type of ‘c_eigen_spmat_c_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_c_rows(struct c_spmat_c *m);
         ^
eigen_spmat_c.cpp:57:7: note: ‘c_eigen_spmat_c_rows’ was previously declared here
eigen_spmat_c.cpp:57:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:158:21: warning: type of ‘c_eigen_spmat_c_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_eye(INDEX m);
                     ^
eigen_spmat_c.cpp:50:12: note: ‘c_eigen_spmat_c_eye’ was previously declared here
eigen_spmat_c.cpp:50:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:157:8: warning: type of ‘c_eigen_spmat_c_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_delete(struct c_spmat_c *m);
        ^
eigen_spmat_c.cpp:45:6: note: ‘c_eigen_spmat_c_delete’ was previously declared here
eigen_spmat_c.cpp:45:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:156:21: warning: type of ‘c_eigen_spmat_c_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_new(INDEX size, INDEX rows, INDEX cols);
                     ^
eigen_spmat_c.cpp:38:12: note: ‘c_eigen_spmat_c_new’ was previously declared here
eigen_spmat_c.cpp:38:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:149:8: warning: type of ‘c_eigen_spmat_d_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_print(struct c_spmat_d *m);
        ^
eigen_spmat_d.cpp:435:6: note: ‘c_eigen_spmat_d_print’ was previously declared here
eigen_spmat_d.cpp:435:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:148:21: warning: type of ‘c_eigen_spmat_d_sqrt’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_sqrt(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:429:12: note: ‘c_eigen_spmat_d_sqrt’ was previously declared here
eigen_spmat_d.cpp:429:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:147:21: warning: type of ‘c_eigen_spmat_d_neg’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_neg(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:420:12: note: ‘c_eigen_spmat_d_neg’ was previously declared here
eigen_spmat_d.cpp:420:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:146:21: warning: type of ‘c_eigen_spmat_d_abs’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_abs(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:414:12: note: ‘c_eigen_spmat_d_abs’ was previously declared here
eigen_spmat_d.cpp:414:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:145:10: warning: type of ‘c_eigen_spmat_d_max’ does not match original declaration [-Wlto-type-mismatch]
   double c_eigen_spmat_d_max(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:399:13: note: ‘c_eigen_spmat_d_max’ was previously declared here
eigen_spmat_d.cpp:399:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:144:10: warning: type of ‘c_eigen_spmat_d_min’ does not match original declaration [-Wlto-type-mismatch]
   double c_eigen_spmat_d_min(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:384:13: note: ‘c_eigen_spmat_d_min’ was previously declared here
eigen_spmat_d.cpp:384:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:143:10: warning: type of ‘c_eigen_spmat_d_sum’ does not match original declaration [-Wlto-type-mismatch]
   double c_eigen_spmat_d_sum(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:379:13: note: ‘c_eigen_spmat_d_sum’ was previously declared here
eigen_spmat_d.cpp:379:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:142:21: warning: type of ‘c_eigen_spmat_d_max2’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_max2(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:372:12: note: ‘c_eigen_spmat_d_max2’ was previously declared here
eigen_spmat_d.cpp:372:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:141:21: warning: type of ‘c_eigen_spmat_d_min2’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_min2(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:365:12: note: ‘c_eigen_spmat_d_min2’ was previously declared here
eigen_spmat_d.cpp:365:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:140:21: warning: type of ‘c_eigen_spmat_d_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_div_scalar(struct c_spmat_d *m, double a);
                     ^
eigen_spmat_d.cpp:356:12: note: ‘c_eigen_spmat_d_div_scalar’ was previously declared here
eigen_spmat_d.cpp:356:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:139:21: warning: type of ‘c_eigen_spmat_d_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_mul_scalar(struct c_spmat_d *m, double a);
                     ^
eigen_spmat_d.cpp:350:12: note: ‘c_eigen_spmat_d_mul_scalar’ was previously declared here
eigen_spmat_d.cpp:350:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:138:21: warning: type of ‘c_eigen_spmat_d_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_sub_scalar(struct c_spmat_d *m, double a);
                     ^
eigen_spmat_d.cpp:341:12: note: ‘c_eigen_spmat_d_sub_scalar’ was previously declared here
eigen_spmat_d.cpp:341:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:137:21: warning: type of ‘c_eigen_spmat_d_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_add_scalar(struct c_spmat_d *m, double a);
                     ^
eigen_spmat_d.cpp:332:12: note: ‘c_eigen_spmat_d_add_scalar’ was previously declared here
eigen_spmat_d.cpp:332:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:136:21: warning: type of ‘c_eigen_spmat_d_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_gemm(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:325:12: note: ‘c_eigen_spmat_d_gemm’ was previously declared here
eigen_spmat_d.cpp:325:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:135:21: warning: type of ‘c_eigen_spmat_d_div’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_div(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:318:12: note: ‘c_eigen_spmat_d_div’ was previously declared here
eigen_spmat_d.cpp:318:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:134:21: warning: type of ‘c_eigen_spmat_d_mul’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_mul(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:311:12: note: ‘c_eigen_spmat_d_mul’ was previously declared here
eigen_spmat_d.cpp:311:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:133:21: warning: type of ‘c_eigen_spmat_d_sub’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_sub(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:304:12: note: ‘c_eigen_spmat_d_sub’ was previously declared here
eigen_spmat_d.cpp:304:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:132:21: warning: type of ‘c_eigen_spmat_d_add’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_add(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:297:12: note: ‘c_eigen_spmat_d_add’ was previously declared here
eigen_spmat_d.cpp:297:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:131:7: warning: type of ‘c_eigen_spmat_d_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_equal_or_smaller(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:291:5: note: ‘c_eigen_spmat_d_equal_or_smaller’ was previously declared here
eigen_spmat_d.cpp:291:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:130:7: warning: type of ‘c_eigen_spmat_d_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_equal_or_greater(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:285:5: note: ‘c_eigen_spmat_d_equal_or_greater’ was previously declared here
eigen_spmat_d.cpp:285:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:129:7: warning: type of ‘c_eigen_spmat_d_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_smaller(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:279:5: note: ‘c_eigen_spmat_d_is_smaller’ was previously declared here
eigen_spmat_d.cpp:279:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:128:7: warning: type of ‘c_eigen_spmat_d_is_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_greater(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:273:5: note: ‘c_eigen_spmat_d_is_greater’ was previously declared here
eigen_spmat_d.cpp:273:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:127:7: warning: type of ‘c_eigen_spmat_d_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_unequal(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:266:5: note: ‘c_eigen_spmat_d_is_unequal’ was previously declared here
eigen_spmat_d.cpp:266:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:126:7: warning: type of ‘c_eigen_spmat_d_is_equal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_equal(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:259:5: note: ‘c_eigen_spmat_d_is_equal’ was previously declared here
eigen_spmat_d.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:125:7: warning: type of ‘c_eigen_spmat_d_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_nonnegative(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:242:5: note: ‘c_eigen_spmat_d_is_nonnegative’ was previously declared here
eigen_spmat_d.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:124:7: warning: type of ‘c_eigen_spmat_d_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_nonpositive(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:225:5: note: ‘c_eigen_spmat_d_is_nonpositive’ was previously declared here
eigen_spmat_d.cpp:225:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:123:7: warning: type of ‘c_eigen_spmat_d_is_negative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_negative(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:205:5: note: ‘c_eigen_spmat_d_is_negative’ was previously declared here
eigen_spmat_d.cpp:205:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:122:7: warning: type of ‘c_eigen_spmat_d_is_positive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_positive(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:185:5: note: ‘c_eigen_spmat_d_is_positive’ was previously declared here
eigen_spmat_d.cpp:185:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:121:7: warning: type of ‘c_eigen_spmat_d_is_zero’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_zero(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:167:5: note: ‘c_eigen_spmat_d_is_zero’ was previously declared here
eigen_spmat_d.cpp:167:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:120:10: warning: type of ‘c_eigen_spmat_d_trace’ does not match original declaration [-Wlto-type-mismatch]
   double c_eigen_spmat_d_trace(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:162:13: note: ‘c_eigen_spmat_d_trace’ was previously declared here
eigen_spmat_d.cpp:162:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:119:21: warning: type of ‘c_eigen_spmat_d_diagonal’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_diagonal(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:156:12: note: ‘c_eigen_spmat_d_diagonal’ was previously declared here
eigen_spmat_d.cpp:156:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:118:21: warning: type of ‘c_eigen_spmat_d_adjoint’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_adjoint(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:150:12: note: ‘c_eigen_spmat_d_adjoint’ was previously declared here
eigen_spmat_d.cpp:150:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:117:21: warning: type of ‘c_eigen_spmat_d_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_transpose(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:144:12: note: ‘c_eigen_spmat_d_transpose’ was previously declared here
eigen_spmat_d.cpp:144:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:116:21: warning: type of ‘c_eigen_spmat_d_col’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_col(struct c_spmat_d *m, INDEX i);
                     ^
eigen_spmat_d.cpp:138:12: note: ‘c_eigen_spmat_d_col’ was previously declared here
eigen_spmat_d.cpp:138:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:115:21: warning: type of ‘c_eigen_spmat_d_row’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_row(struct c_spmat_d *m, INDEX i);
                     ^
eigen_spmat_d.cpp:132:12: note: ‘c_eigen_spmat_d_row’ was previously declared here
eigen_spmat_d.cpp:132:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:114:21: warning: type of ‘c_eigen_spmat_d_clone’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_clone(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:126:12: note: ‘c_eigen_spmat_d_clone’ was previously declared here
eigen_spmat_d.cpp:126:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:113:10: warning: type of ‘c_eigen_spmat_d_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_d_outerindexptr(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:119:8: note: ‘c_eigen_spmat_d_outerindexptr’ was previously declared here
eigen_spmat_d.cpp:119:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:112:10: warning: type of ‘c_eigen_spmat_d_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_d_innerindexptr(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:112:8: note: ‘c_eigen_spmat_d_innerindexptr’ was previously declared here
eigen_spmat_d.cpp:112:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:111:11: warning: type of ‘c_eigen_spmat_d_valueptr’ does not match original declaration [-Wlto-type-mismatch]
   double* c_eigen_spmat_d_valueptr(struct c_spmat_d *m, INDEX *l);
           ^
eigen_spmat_d.cpp:104:14: note: ‘c_eigen_spmat_d_valueptr’ was previously declared here
eigen_spmat_d.cpp:104:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:110:8: warning: type of ‘c_eigen_spmat_d_prune’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_prune(struct c_spmat_d *m, double ref, double eps);
        ^
eigen_spmat_d.cpp:99:6: note: ‘c_eigen_spmat_d_prune’ was previously declared here
eigen_spmat_d.cpp:99:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:109:8: warning: type of ‘c_eigen_spmat_d_reshape’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_reshape(struct c_spmat_d *m, INDEX rows, INDEX cols);
        ^
eigen_spmat_d.cpp:93:6: note: ‘c_eigen_spmat_d_reshape’ was previously declared here
eigen_spmat_d.cpp:93:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:108:8: warning: type of ‘c_eigen_spmat_d_uncompress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_uncompress(struct c_spmat_d *m);
        ^
eigen_spmat_d.cpp:88:6: note: ‘c_eigen_spmat_d_uncompress’ was previously declared here
eigen_spmat_d.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:107:8: warning: type of ‘c_eigen_spmat_d_compress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_compress(struct c_spmat_d *m);
        ^
eigen_spmat_d.cpp:83:6: note: ‘c_eigen_spmat_d_compress’ was previously declared here
eigen_spmat_d.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:106:7: warning: type of ‘c_eigen_spmat_d_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_compressed(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:78:5: note: ‘c_eigen_spmat_d_is_compressed’ was previously declared here
eigen_spmat_d.cpp:78:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:105:8: warning: type of ‘c_eigen_spmat_d_reset’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_reset(struct c_spmat_d *m);
        ^
eigen_spmat_d.cpp:73:6: note: ‘c_eigen_spmat_d_reset’ was previously declared here
eigen_spmat_d.cpp:73:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:104:8: warning: type of ‘c_eigen_spmat_d_insert’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_insert(struct c_spmat_d *m, INDEX i, INDEX j, double x);
        ^
eigen_spmat_d.cpp:68:6: note: ‘c_eigen_spmat_d_insert’ was previously declared here
eigen_spmat_d.cpp:68:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:103:8: warning: type of ‘c_eigen_spmat_d_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_set(struct c_spmat_d *m, INDEX i, INDEX j, double x);
        ^
eigen_spmat_d.cpp:63:6: note: ‘c_eigen_spmat_d_set’ was previously declared here
eigen_spmat_d.cpp:63:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:102:10: warning: type of ‘c_eigen_spmat_d_get’ does not match original declaration [-Wlto-type-mismatch]
   double c_eigen_spmat_d_get(struct c_spmat_d *m, INDEX i, INDEX j);
          ^
eigen_spmat_d.cpp:58:13: note: ‘c_eigen_spmat_d_get’ was previously declared here
eigen_spmat_d.cpp:58:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:101:9: warning: type of ‘c_eigen_spmat_d_nnz’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_d_nnz(struct c_spmat_d *m);
         ^
eigen_spmat_d.cpp:53:7: note: ‘c_eigen_spmat_d_nnz’ was previously declared here
eigen_spmat_d.cpp:53:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:100:9: warning: type of ‘c_eigen_spmat_d_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_d_cols(struct c_spmat_d *m);
         ^
eigen_spmat_d.cpp:48:7: note: ‘c_eigen_spmat_d_cols’ was previously declared here
eigen_spmat_d.cpp:48:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:99:9: warning: type of ‘c_eigen_spmat_d_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_d_rows(struct c_spmat_d *m);
         ^
eigen_spmat_d.cpp:43:7: note: ‘c_eigen_spmat_d_rows’ was previously declared here
eigen_spmat_d.cpp:43:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:98:21: warning: type of ‘c_eigen_spmat_d_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_eye(INDEX m);
                     ^
eigen_spmat_d.cpp:36:12: note: ‘c_eigen_spmat_d_eye’ was previously declared here
eigen_spmat_d.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:97:8: warning: type of ‘c_eigen_spmat_d_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_delete(struct c_spmat_d *m);
        ^
eigen_spmat_d.cpp:31:6: note: ‘c_eigen_spmat_d_delete’ was previously declared here
eigen_spmat_d.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:96:21: warning: type of ‘c_eigen_spmat_d_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_new(INDEX size, INDEX rows, INDEX cols);
                     ^
eigen_spmat_d.cpp:24:12: note: ‘c_eigen_spmat_d_new’ was previously declared here
eigen_spmat_d.cpp:24:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:89:8: warning: type of ‘c_eigen_spmat_s_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_print(struct c_spmat_s *m);
        ^
eigen_spmat_s.cpp:435:6: note: ‘c_eigen_spmat_s_print’ was previously declared here
eigen_spmat_s.cpp:435:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:88:21: warning: type of ‘c_eigen_spmat_s_sqrt’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_sqrt(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:429:12: note: ‘c_eigen_spmat_s_sqrt’ was previously declared here
eigen_spmat_s.cpp:429:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:87:21: warning: type of ‘c_eigen_spmat_s_neg’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_neg(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:420:12: note: ‘c_eigen_spmat_s_neg’ was previously declared here
eigen_spmat_s.cpp:420:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:86:21: warning: type of ‘c_eigen_spmat_s_abs’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_abs(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:414:12: note: ‘c_eigen_spmat_s_abs’ was previously declared here
eigen_spmat_s.cpp:414:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:85:9: warning: type of ‘c_eigen_spmat_s_max’ does not match original declaration [-Wlto-type-mismatch]
   float c_eigen_spmat_s_max(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:399:13: note: ‘c_eigen_spmat_s_max’ was previously declared here
eigen_spmat_s.cpp:399:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:84:9: warning: type of ‘c_eigen_spmat_s_min’ does not match original declaration [-Wlto-type-mismatch]
   float c_eigen_spmat_s_min(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:384:13: note: ‘c_eigen_spmat_s_min’ was previously declared here
eigen_spmat_s.cpp:384:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:83:9: warning: type of ‘c_eigen_spmat_s_sum’ does not match original declaration [-Wlto-type-mismatch]
   float c_eigen_spmat_s_sum(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:379:13: note: ‘c_eigen_spmat_s_sum’ was previously declared here
eigen_spmat_s.cpp:379:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:82:21: warning: type of ‘c_eigen_spmat_s_max2’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_max2(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:372:12: note: ‘c_eigen_spmat_s_max2’ was previously declared here
eigen_spmat_s.cpp:372:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:81:21: warning: type of ‘c_eigen_spmat_s_min2’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_min2(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:365:12: note: ‘c_eigen_spmat_s_min2’ was previously declared here
eigen_spmat_s.cpp:365:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:80:21: warning: type of ‘c_eigen_spmat_s_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_div_scalar(struct c_spmat_s *m, float a);
                     ^
eigen_spmat_s.cpp:356:12: note: ‘c_eigen_spmat_s_div_scalar’ was previously declared here
eigen_spmat_s.cpp:356:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:79:21: warning: type of ‘c_eigen_spmat_s_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_mul_scalar(struct c_spmat_s *m, float a);
                     ^
eigen_spmat_s.cpp:350:12: note: ‘c_eigen_spmat_s_mul_scalar’ was previously declared here
eigen_spmat_s.cpp:350:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:78:21: warning: type of ‘c_eigen_spmat_s_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_sub_scalar(struct c_spmat_s *m, float a);
                     ^
eigen_spmat_s.cpp:341:12: note: ‘c_eigen_spmat_s_sub_scalar’ was previously declared here
eigen_spmat_s.cpp:341:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:77:21: warning: type of ‘c_eigen_spmat_s_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_add_scalar(struct c_spmat_s *m, float a);
                     ^
eigen_spmat_s.cpp:332:12: note: ‘c_eigen_spmat_s_add_scalar’ was previously declared here
eigen_spmat_s.cpp:332:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:76:21: warning: type of ‘c_eigen_spmat_s_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_gemm(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:325:12: note: ‘c_eigen_spmat_s_gemm’ was previously declared here
eigen_spmat_s.cpp:325:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:75:21: warning: type of ‘c_eigen_spmat_s_div’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_div(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:318:12: note: ‘c_eigen_spmat_s_div’ was previously declared here
eigen_spmat_s.cpp:318:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:74:21: warning: type of ‘c_eigen_spmat_s_mul’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_mul(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:311:12: note: ‘c_eigen_spmat_s_mul’ was previously declared here
eigen_spmat_s.cpp:311:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:73:21: warning: type of ‘c_eigen_spmat_s_sub’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_sub(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:304:12: note: ‘c_eigen_spmat_s_sub’ was previously declared here
eigen_spmat_s.cpp:304:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:72:21: warning: type of ‘c_eigen_spmat_s_add’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_add(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:297:12: note: ‘c_eigen_spmat_s_add’ was previously declared here
eigen_spmat_s.cpp:297:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:71:7: warning: type of ‘c_eigen_spmat_s_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_equal_or_smaller(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:291:5: note: ‘c_eigen_spmat_s_equal_or_smaller’ was previously declared here
eigen_spmat_s.cpp:291:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:70:7: warning: type of ‘c_eigen_spmat_s_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_equal_or_greater(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:285:5: note: ‘c_eigen_spmat_s_equal_or_greater’ was previously declared here
eigen_spmat_s.cpp:285:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:69:7: warning: type of ‘c_eigen_spmat_s_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_smaller(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:279:5: note: ‘c_eigen_spmat_s_is_smaller’ was previously declared here
eigen_spmat_s.cpp:279:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:68:7: warning: type of ‘c_eigen_spmat_s_is_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_greater(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:273:5: note: ‘c_eigen_spmat_s_is_greater’ was previously declared here
eigen_spmat_s.cpp:273:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:67:7: warning: type of ‘c_eigen_spmat_s_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_unequal(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:266:5: note: ‘c_eigen_spmat_s_is_unequal’ was previously declared here
eigen_spmat_s.cpp:266:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:66:7: warning: type of ‘c_eigen_spmat_s_is_equal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_equal(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:259:5: note: ‘c_eigen_spmat_s_is_equal’ was previously declared here
eigen_spmat_s.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:65:7: warning: type of ‘c_eigen_spmat_s_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_nonnegative(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:242:5: note: ‘c_eigen_spmat_s_is_nonnegative’ was previously declared here
eigen_spmat_s.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:64:7: warning: type of ‘c_eigen_spmat_s_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_nonpositive(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:225:5: note: ‘c_eigen_spmat_s_is_nonpositive’ was previously declared here
eigen_spmat_s.cpp:225:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:63:7: warning: type of ‘c_eigen_spmat_s_is_negative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_negative(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:205:5: note: ‘c_eigen_spmat_s_is_negative’ was previously declared here
eigen_spmat_s.cpp:205:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:62:7: warning: type of ‘c_eigen_spmat_s_is_positive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_positive(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:185:5: note: ‘c_eigen_spmat_s_is_positive’ was previously declared here
eigen_spmat_s.cpp:185:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:61:7: warning: type of ‘c_eigen_spmat_s_is_zero’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_zero(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:167:5: note: ‘c_eigen_spmat_s_is_zero’ was previously declared here
eigen_spmat_s.cpp:167:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:60:9: warning: type of ‘c_eigen_spmat_s_trace’ does not match original declaration [-Wlto-type-mismatch]
   float c_eigen_spmat_s_trace(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:162:13: note: ‘c_eigen_spmat_s_trace’ was previously declared here
eigen_spmat_s.cpp:162:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:59:21: warning: type of ‘c_eigen_spmat_s_diagonal’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_diagonal(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:156:12: note: ‘c_eigen_spmat_s_diagonal’ was previously declared here
eigen_spmat_s.cpp:156:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:58:21: warning: type of ‘c_eigen_spmat_s_adjoint’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_adjoint(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:150:12: note: ‘c_eigen_spmat_s_adjoint’ was previously declared here
eigen_spmat_s.cpp:150:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:57:21: warning: type of ‘c_eigen_spmat_s_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_transpose(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:144:12: note: ‘c_eigen_spmat_s_transpose’ was previously declared here
eigen_spmat_s.cpp:144:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:56:21: warning: type of ‘c_eigen_spmat_s_col’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_col(struct c_spmat_s *m, INDEX i);
                     ^
eigen_spmat_s.cpp:138:12: note: ‘c_eigen_spmat_s_col’ was previously declared here
eigen_spmat_s.cpp:138:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:55:21: warning: type of ‘c_eigen_spmat_s_row’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_row(struct c_spmat_s *m, INDEX i);
                     ^
eigen_spmat_s.cpp:132:12: note: ‘c_eigen_spmat_s_row’ was previously declared here
eigen_spmat_s.cpp:132:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:54:21: warning: type of ‘c_eigen_spmat_s_clone’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_clone(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:126:12: note: ‘c_eigen_spmat_s_clone’ was previously declared here
eigen_spmat_s.cpp:126:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:53:10: warning: type of ‘c_eigen_spmat_s_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_s_outerindexptr(struct c_spmat_s *m);
          ^
eigen_spmat_s.cpp:119:8: note: ‘c_eigen_spmat_s_outerindexptr’ was previously declared here
eigen_spmat_s.cpp:119:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:52:10: warning: type of ‘c_eigen_spmat_s_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_s_innerindexptr(struct c_spmat_s *m);
          ^
eigen_spmat_s.cpp:112:8: note: ‘c_eigen_spmat_s_innerindexptr’ was previously declared here
eigen_spmat_s.cpp:112:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:51:10: warning: type of ‘c_eigen_spmat_s_valueptr’ does not match original declaration [-Wlto-type-mismatch]
   float* c_eigen_spmat_s_valueptr(struct c_spmat_s *m, INDEX *l);
          ^
eigen_spmat_s.cpp:104:14: note: ‘c_eigen_spmat_s_valueptr’ was previously declared here
eigen_spmat_s.cpp:104:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:50:8: warning: type of ‘c_eigen_spmat_s_prune’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_prune(struct c_spmat_s *m, float ref, float eps);
        ^
eigen_spmat_s.cpp:99:6: note: ‘c_eigen_spmat_s_prune’ was previously declared here
eigen_spmat_s.cpp:99:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:49:8: warning: type of ‘c_eigen_spmat_s_reshape’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_reshape(struct c_spmat_s *m, INDEX rows, INDEX cols);
        ^
eigen_spmat_s.cpp:93:6: note: ‘c_eigen_spmat_s_reshape’ was previously declared here
eigen_spmat_s.cpp:93:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:48:8: warning: type of ‘c_eigen_spmat_s_uncompress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_uncompress(struct c_spmat_s *m);
        ^
eigen_spmat_s.cpp:88:6: note: ‘c_eigen_spmat_s_uncompress’ was previously declared here
eigen_spmat_s.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:47:8: warning: type of ‘c_eigen_spmat_s_compress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_compress(struct c_spmat_s *m);
        ^
eigen_spmat_s.cpp:83:6: note: ‘c_eigen_spmat_s_compress’ was previously declared here
eigen_spmat_s.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:46:7: warning: type of ‘c_eigen_spmat_s_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_compressed(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:78:5: note: ‘c_eigen_spmat_s_is_compressed’ was previously declared here
eigen_spmat_s.cpp:78:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:45:8: warning: type of ‘c_eigen_spmat_s_reset’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_reset(struct c_spmat_s *m);
        ^
eigen_spmat_s.cpp:73:6: note: ‘c_eigen_spmat_s_reset’ was previously declared here
eigen_spmat_s.cpp:73:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:44:8: warning: type of ‘c_eigen_spmat_s_insert’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_insert(struct c_spmat_s *m, INDEX i, INDEX j, float x);
        ^
eigen_spmat_s.cpp:68:6: note: ‘c_eigen_spmat_s_insert’ was previously declared here
eigen_spmat_s.cpp:68:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:43:8: warning: type of ‘c_eigen_spmat_s_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_set(struct c_spmat_s *m, INDEX i, INDEX j, float x);
        ^
eigen_spmat_s.cpp:63:6: note: ‘c_eigen_spmat_s_set’ was previously declared here
eigen_spmat_s.cpp:63:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:42:9: warning: type of ‘c_eigen_spmat_s_get’ does not match original declaration [-Wlto-type-mismatch]
   float c_eigen_spmat_s_get(struct c_spmat_s *m, INDEX i, INDEX j);
         ^
eigen_spmat_s.cpp:58:13: note: ‘c_eigen_spmat_s_get’ was previously declared here
eigen_spmat_s.cpp:58:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:41:9: warning: type of ‘c_eigen_spmat_s_nnz’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_s_nnz(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:53:7: note: ‘c_eigen_spmat_s_nnz’ was previously declared here
eigen_spmat_s.cpp:53:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:40:9: warning: type of ‘c_eigen_spmat_s_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_s_cols(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:48:7: note: ‘c_eigen_spmat_s_cols’ was previously declared here
eigen_spmat_s.cpp:48:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:39:9: warning: type of ‘c_eigen_spmat_s_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_s_rows(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:43:7: note: ‘c_eigen_spmat_s_rows’ was previously declared here
eigen_spmat_s.cpp:43:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:38:21: warning: type of ‘c_eigen_spmat_s_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_eye(INDEX m);
                     ^
eigen_spmat_s.cpp:36:12: note: ‘c_eigen_spmat_s_eye’ was previously declared here
eigen_spmat_s.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:37:8: warning: type of ‘c_eigen_spmat_s_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_delete(struct c_spmat_s *m);
        ^
eigen_spmat_s.cpp:31:6: note: ‘c_eigen_spmat_s_delete’ was previously declared here
eigen_spmat_s.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:36:21: warning: type of ‘c_eigen_spmat_s_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_new(INDEX size, INDEX rows, INDEX cols);
                     ^
eigen_spmat_s.cpp:24:12: note: ‘c_eigen_spmat_s_new’ was previously declared here
eigen_spmat_s.cpp:24:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:131:21: warning: type of ‘c_eigen_dsmat_z_inv’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_inv(c_dsmat_z_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_z.cpp:167:12: note: ‘c_eigen_dsmat_z_inv’ was previously declared here
eigen_dsmat_z.cpp:167:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:130:8: warning: type of ‘c_eigen_dsmat_z_colwise_op’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_colwise_op(int, c_dsmat_z_elt*, INDEX, INDEX, c_dsmat_z_elt*);
        ^
eigen_dsmat_z.cpp:150:6: note: ‘c_eigen_dsmat_z_colwise_op’ was previously declared here
eigen_dsmat_z.cpp:150:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:129:8: warning: type of ‘c_eigen_dsmat_z_rowwise_op’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_rowwise_op(int, c_dsmat_z_elt*, INDEX, INDEX, c_dsmat_z_elt*);
        ^
eigen_dsmat_z.cpp:133:6: note: ‘c_eigen_dsmat_z_rowwise_op’ was previously declared here
eigen_dsmat_z.cpp:133:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:128:8: warning: type of ‘c_eigen_dsmat_z_swap_cols’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_swap_cols(c_dsmat_z_elt*, INDEX, INDEX, INDEX, INDEX);
        ^
eigen_dsmat_z.cpp:127:6: note: ‘c_eigen_dsmat_z_swap_cols’ was previously declared here
eigen_dsmat_z.cpp:127:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:127:8: warning: type of ‘c_eigen_dsmat_z_swap_rows’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_swap_rows(c_dsmat_z_elt*, INDEX, INDEX, INDEX, INDEX);
        ^
eigen_dsmat_z.cpp:121:6: note: ‘c_eigen_dsmat_z_swap_rows’ was previously declared here
eigen_dsmat_z.cpp:121:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:126:21: warning: type of ‘c_eigen_dsmat_z_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_transpose(c_dsmat_z_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_z.cpp:115:12: note: ‘c_eigen_dsmat_z_transpose’ was previously declared here
eigen_dsmat_z.cpp:115:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:125:21: warning: type of ‘c_eigen_dsmat_z_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_gemm(c_dsmat_z_elt*, INDEX, INDEX, c_dsmat_z_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_z.cpp:108:12: note: ‘c_eigen_dsmat_z_gemm’ was previously declared here
eigen_dsmat_z.cpp:108:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:123:8: warning: type of ‘c_eigen_dsmat_z_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_print(struct c_dsmat_z *m);
        ^
eigen_dsmat_z.cpp:101:6: note: ‘c_eigen_dsmat_z_print’ was previously declared here
eigen_dsmat_z.cpp:101:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:122:18: warning: type of ‘c_eigen_dsmat_z_data’ does not match original declaration [-Wlto-type-mismatch]
   c_dsmat_z_elt* c_eigen_dsmat_z_data(struct c_dsmat_z *m);
                  ^
eigen_dsmat_z.cpp:96:16: note: ‘c_eigen_dsmat_z_data’ was previously declared here
eigen_dsmat_z.cpp:96:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:121:8: warning: type of ‘c_eigen_dsmat_z_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_set(struct c_dsmat_z *m, INDEX i, INDEX j, c_dsmat_z_elt x);
        ^
eigen_dsmat_z.cpp:91:6: note: type mismatch in parameter 4
eigen_dsmat.h:19:35: note: type ‘struct c_dsmat_z_elt’ should match type ‘c_dsmat_z_elt’
lib/eigen_dsmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_dsmat_z_elt;
                           ^
eigen_dsmat_z.cpp:91:6: note: ‘c_eigen_dsmat_z_set’ was previously declared here
eigen_dsmat_z.cpp:91:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:120:17: warning: type of ‘c_eigen_dsmat_z_get’ does not match original declaration [-Wlto-type-mismatch]
   c_dsmat_z_elt c_eigen_dsmat_z_get(struct c_dsmat_z *m, INDEX i, INDEX j);
                 ^
eigen_dsmat_z.cpp:85:15: note: return value type mismatch
eigen_dsmat.h:19:35: note: type ‘struct c_dsmat_z_elt’ should match type ‘c_dsmat_z_elt’
lib/eigen_dsmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_dsmat_z_elt;
                           ^
eigen_dsmat_z.cpp:85:15: note: ‘c_eigen_dsmat_z_get’ was previously declared here
eigen_dsmat_z.cpp:85:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:119:9: warning: type of ‘c_eigen_dsmat_z_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_z_cols(struct c_dsmat_z *m);
         ^
eigen_dsmat_z.cpp:80:7: note: ‘c_eigen_dsmat_z_cols’ was previously declared here
eigen_dsmat_z.cpp:80:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:118:9: warning: type of ‘c_eigen_dsmat_z_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_z_rows(struct c_dsmat_z *m);
         ^
eigen_dsmat_z.cpp:75:7: note: ‘c_eigen_dsmat_z_rows’ was previously declared here
eigen_dsmat_z.cpp:75:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:117:21: warning: type of ‘c_eigen_dsmat_z_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_eye(INDEX m);
                     ^
eigen_dsmat_z.cpp:68:12: note: ‘c_eigen_dsmat_z_eye’ was previously declared here
eigen_dsmat_z.cpp:68:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:116:21: warning: type of ‘c_eigen_dsmat_z_ones’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_ones(INDEX m, INDEX n);
                     ^
eigen_dsmat_z.cpp:62:12: note: ‘c_eigen_dsmat_z_ones’ was previously declared here
eigen_dsmat_z.cpp:62:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:115:21: warning: type of ‘c_eigen_dsmat_z_zeros’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_zeros(INDEX m, INDEX n);
                     ^
eigen_dsmat_z.cpp:55:12: note: ‘c_eigen_dsmat_z_zeros’ was previously declared here
eigen_dsmat_z.cpp:55:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:114:8: warning: type of ‘c_eigen_dsmat_z_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_delete(struct c_dsmat_z *m);
        ^
eigen_dsmat_z.cpp:50:6: note: ‘c_eigen_dsmat_z_delete’ was previously declared here
eigen_dsmat_z.cpp:50:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:113:21: warning: type of ‘c_eigen_dsmat_z_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_new(INDEX rows, INDEX cols);
                     ^
eigen_dsmat_z.cpp:45:12: note: ‘c_eigen_dsmat_z_new’ was previously declared here
eigen_dsmat_z.cpp:45:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:106:21: warning: type of ‘c_eigen_dsmat_c_inv’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_inv(c_dsmat_c_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_c.cpp:167:12: note: ‘c_eigen_dsmat_c_inv’ was previously declared here
eigen_dsmat_c.cpp:167:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:105:8: warning: type of ‘c_eigen_dsmat_c_colwise_op’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_colwise_op(int, c_dsmat_c_elt*, INDEX, INDEX, c_dsmat_c_elt*);
        ^
eigen_dsmat_c.cpp:150:6: note: ‘c_eigen_dsmat_c_colwise_op’ was previously declared here
eigen_dsmat_c.cpp:150:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:104:8: warning: type of ‘c_eigen_dsmat_c_rowwise_op’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_rowwise_op(int, c_dsmat_c_elt*, INDEX, INDEX, c_dsmat_c_elt*);
        ^
eigen_dsmat_c.cpp:133:6: note: ‘c_eigen_dsmat_c_rowwise_op’ was previously declared here
eigen_dsmat_c.cpp:133:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:103:8: warning: type of ‘c_eigen_dsmat_c_swap_cols’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_swap_cols(c_dsmat_c_elt*, INDEX, INDEX, INDEX, INDEX);
        ^
eigen_dsmat_c.cpp:127:6: note: ‘c_eigen_dsmat_c_swap_cols’ was previously declared here
eigen_dsmat_c.cpp:127:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:102:8: warning: type of ‘c_eigen_dsmat_c_swap_rows’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_swap_rows(c_dsmat_c_elt*, INDEX, INDEX, INDEX, INDEX);
        ^
eigen_dsmat_c.cpp:121:6: note: ‘c_eigen_dsmat_c_swap_rows’ was previously declared here
eigen_dsmat_c.cpp:121:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:101:21: warning: type of ‘c_eigen_dsmat_c_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_transpose(c_dsmat_c_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_c.cpp:115:12: note: ‘c_eigen_dsmat_c_transpose’ was previously declared here
eigen_dsmat_c.cpp:115:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:100:21: warning: type of ‘c_eigen_dsmat_c_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_gemm(c_dsmat_c_elt*, INDEX, INDEX, c_dsmat_c_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_c.cpp:108:12: note: ‘c_eigen_dsmat_c_gemm’ was previously declared here
eigen_dsmat_c.cpp:108:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:98:8: warning: type of ‘c_eigen_dsmat_c_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_print(struct c_dsmat_c *m);
        ^
eigen_dsmat_c.cpp:101:6: note: ‘c_eigen_dsmat_c_print’ was previously declared here
eigen_dsmat_c.cpp:101:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:97:18: warning: type of ‘c_eigen_dsmat_c_data’ does not match original declaration [-Wlto-type-mismatch]
   c_dsmat_c_elt* c_eigen_dsmat_c_data(struct c_dsmat_c *m);
                  ^
eigen_dsmat_c.cpp:96:16: note: ‘c_eigen_dsmat_c_data’ was previously declared here
eigen_dsmat_c.cpp:96:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:96:8: warning: type of ‘c_eigen_dsmat_c_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_set(struct c_dsmat_c *m, INDEX i, INDEX j, c_dsmat_c_elt x);
        ^
eigen_dsmat_c.cpp:91:6: note: type mismatch in parameter 4
eigen_dsmat.h:18:34: note: type ‘struct c_dsmat_c_elt’ should match type ‘c_dsmat_c_elt’
lib/eigen_dsmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_dsmat_c_elt;
                          ^
eigen_dsmat_c.cpp:91:6: note: ‘c_eigen_dsmat_c_set’ was previously declared here
eigen_dsmat_c.cpp:91:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:95:17: warning: type of ‘c_eigen_dsmat_c_get’ does not match original declaration [-Wlto-type-mismatch]
   c_dsmat_c_elt c_eigen_dsmat_c_get(struct c_dsmat_c *m, INDEX i, INDEX j);
                 ^
eigen_dsmat_c.cpp:85:15: note: return value type mismatch
eigen_dsmat.h:18:34: note: type ‘struct c_dsmat_c_elt’ should match type ‘c_dsmat_c_elt’
lib/eigen_dsmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_dsmat_c_elt;
                          ^
eigen_dsmat_c.cpp:85:15: note: ‘c_eigen_dsmat_c_get’ was previously declared here
eigen_dsmat_c.cpp:85:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:94:9: warning: type of ‘c_eigen_dsmat_c_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_c_cols(struct c_dsmat_c *m);
         ^
eigen_dsmat_c.cpp:80:7: note: ‘c_eigen_dsmat_c_cols’ was previously declared here
eigen_dsmat_c.cpp:80:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:93:9: warning: type of ‘c_eigen_dsmat_c_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_c_rows(struct c_dsmat_c *m);
         ^
eigen_dsmat_c.cpp:75:7: note: ‘c_eigen_dsmat_c_rows’ was previously declared here
eigen_dsmat_c.cpp:75:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:92:21: warning: type of ‘c_eigen_dsmat_c_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_eye(INDEX m);
                     ^
eigen_dsmat_c.cpp:68:12: note: ‘c_eigen_dsmat_c_eye’ was previously declared here
eigen_dsmat_c.cpp:68:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:91:21: warning: type of ‘c_eigen_dsmat_c_ones’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_ones(INDEX m, INDEX n);
                     ^
eigen_dsmat_c.cpp:62:12: note: ‘c_eigen_dsmat_c_ones’ was previously declared here
eigen_dsmat_c.cpp:62:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:90:21: warning: type of ‘c_eigen_dsmat_c_zeros’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_zeros(INDEX m, INDEX n);
                     ^
eigen_dsmat_c.cpp:55:12: note: ‘c_eigen_dsmat_c_zeros’ was previously declared here
eigen_dsmat_c.cpp:55:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:89:8: warning: type of ‘c_eigen_dsmat_c_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_delete(struct c_dsmat_c *m);
        ^
eigen_dsmat_c.cpp:50:6: note: ‘c_eigen_dsmat_c_delete’ was previously declared here
eigen_dsmat_c.cpp:50:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:88:21: warning: type of ‘c_eigen_dsmat_c_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_new(INDEX rows, INDEX cols);
                     ^
eigen_dsmat_c.cpp:45:12: note: ‘c_eigen_dsmat_c_new’ was previously declared here
eigen_dsmat_c.cpp:45:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:81:21: warning: type of ‘c_eigen_dsmat_d_inv’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_inv(dsmat_d_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_d.cpp:147:12: note: ‘c_eigen_dsmat_d_inv’ was previously declared here
eigen_dsmat_d.cpp:147:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:76:21: warning: type of ‘c_eigen_dsmat_d_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_transpose(dsmat_d_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_d.cpp:95:12: note: ‘c_eigen_dsmat_d_transpose’ was previously declared here
eigen_dsmat_d.cpp:95:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:75:21: warning: type of ‘c_eigen_dsmat_d_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_gemm(dsmat_d_elt*, INDEX, INDEX, dsmat_d_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_d.cpp:88:12: note: ‘c_eigen_dsmat_d_gemm’ was previously declared here
eigen_dsmat_d.cpp:88:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:73:8: warning: type of ‘c_eigen_dsmat_d_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_d_print(struct c_dsmat_d *m);
        ^
eigen_dsmat_d.cpp:81:6: note: ‘c_eigen_dsmat_d_print’ was previously declared here
eigen_dsmat_d.cpp:81:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:72:16: warning: type of ‘c_eigen_dsmat_d_data’ does not match original declaration [-Wlto-type-mismatch]
   dsmat_d_elt* c_eigen_dsmat_d_data(struct c_dsmat_d *m);
                ^
eigen_dsmat_d.cpp:76:14: note: ‘c_eigen_dsmat_d_data’ was previously declared here
eigen_dsmat_d.cpp:76:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:71:8: warning: type of ‘c_eigen_dsmat_d_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_d_set(struct c_dsmat_d *m, INDEX i, INDEX j, dsmat_d_elt x);
        ^
eigen_dsmat_d.cpp:71:6: note: ‘c_eigen_dsmat_d_set’ was previously declared here
eigen_dsmat_d.cpp:71:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:70:15: warning: type of ‘c_eigen_dsmat_d_get’ does not match original declaration [-Wlto-type-mismatch]
   dsmat_d_elt c_eigen_dsmat_d_get(struct c_dsmat_d *m, INDEX i, INDEX j);
               ^
eigen_dsmat_d.cpp:66:13: note: ‘c_eigen_dsmat_d_get’ was previously declared here
eigen_dsmat_d.cpp:66:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:69:9: warning: type of ‘c_eigen_dsmat_d_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_d_cols(struct c_dsmat_d *m);
         ^
eigen_dsmat_d.cpp:61:7: note: ‘c_eigen_dsmat_d_cols’ was previously declared here
eigen_dsmat_d.cpp:61:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:68:9: warning: type of ‘c_eigen_dsmat_d_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_d_rows(struct c_dsmat_d *m);
         ^
eigen_dsmat_d.cpp:56:7: note: ‘c_eigen_dsmat_d_rows’ was previously declared here
eigen_dsmat_d.cpp:56:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:67:21: warning: type of ‘c_eigen_dsmat_d_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_eye(INDEX m);
                     ^
eigen_dsmat_d.cpp:49:12: note: ‘c_eigen_dsmat_d_eye’ was previously declared here
eigen_dsmat_d.cpp:49:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:66:21: warning: type of ‘c_eigen_dsmat_d_ones’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_ones(INDEX m, INDEX n);
                     ^
eigen_dsmat_d.cpp:43:12: note: ‘c_eigen_dsmat_d_ones’ was previously declared here
eigen_dsmat_d.cpp:43:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:65:21: warning: type of ‘c_eigen_dsmat_d_zeros’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_zeros(INDEX m, INDEX n);
                     ^
eigen_dsmat_d.cpp:36:12: note: ‘c_eigen_dsmat_d_zeros’ was previously declared here
eigen_dsmat_d.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:64:8: warning: type of ‘c_eigen_dsmat_d_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_d_delete(struct c_dsmat_d *m);
        ^
eigen_dsmat_d.cpp:31:6: note: ‘c_eigen_dsmat_d_delete’ was previously declared here
eigen_dsmat_d.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:63:21: warning: type of ‘c_eigen_dsmat_d_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_new(INDEX rows, INDEX cols);
                     ^
eigen_dsmat_d.cpp:26:12: note: ‘c_eigen_dsmat_d_new’ was previously declared here
eigen_dsmat_d.cpp:26:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:56:21: warning: type of ‘c_eigen_dsmat_s_inv’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_inv(dsmat_s_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_s.cpp:159:12: note: ‘c_eigen_dsmat_s_inv’ was previously declared here
eigen_dsmat_s.cpp:159:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:51:21: warning: type of ‘c_eigen_dsmat_s_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_transpose(dsmat_s_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_s.cpp:109:12: note: ‘c_eigen_dsmat_s_transpose’ was previously declared here
eigen_dsmat_s.cpp:109:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:50:21: warning: type of ‘c_eigen_dsmat_s_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_gemm(dsmat_s_elt*, INDEX, INDEX, dsmat_s_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_s.cpp:102:12: note: ‘c_eigen_dsmat_s_gemm’ was previously declared here
eigen_dsmat_s.cpp:102:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:48:8: warning: type of ‘c_eigen_dsmat_s_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_s_print(struct c_dsmat_s *m);
        ^
eigen_dsmat_s.cpp:95:6: note: ‘c_eigen_dsmat_s_print’ was previously declared here
eigen_dsmat_s.cpp:95:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:47:8: warning: type of ‘c_eigen_dsmat_s_of_bigarray2’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_s_of_bigarray2(struct c_dsmat_s *x, dsmat_s_elt* y, INDEX m, INDEX n);
        ^
eigen_dsmat_s.cpp:89:6: note: ‘c_eigen_dsmat_s_of_bigarray2’ was previously declared here
eigen_dsmat_s.cpp:89:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:46:21: warning: type of ‘c_eigen_dsmat_s_of_bigarray’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_of_bigarray(dsmat_s_elt* x, INDEX m, INDEX n);
                     ^
eigen_dsmat_s.cpp:82:12: note: ‘c_eigen_dsmat_s_of_bigarray’ was previously declared here
eigen_dsmat_s.cpp:82:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:45:16: warning: type of ‘c_eigen_dsmat_s_data’ does not match original declaration [-Wlto-type-mismatch]
   dsmat_s_elt* c_eigen_dsmat_s_data(struct c_dsmat_s *m);
                ^
eigen_dsmat_s.cpp:76:14: note: ‘c_eigen_dsmat_s_data’ was previously declared here
eigen_dsmat_s.cpp:76:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:44:8: warning: type of ‘c_eigen_dsmat_s_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_s_set(struct c_dsmat_s *m, INDEX i, INDEX j, dsmat_s_elt x);
        ^
eigen_dsmat_s.cpp:71:6: note: ‘c_eigen_dsmat_s_set’ was previously declared here
eigen_dsmat_s.cpp:71:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:43:15: warning: type of ‘c_eigen_dsmat_s_get’ does not match original declaration [-Wlto-type-mismatch]
   dsmat_s_elt c_eigen_dsmat_s_get(struct c_dsmat_s *m, INDEX i, INDEX j);
               ^
eigen_dsmat_s.cpp:66:13: note: ‘c_eigen_dsmat_s_get’ was previously declared here
eigen_dsmat_s.cpp:66:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:42:9: warning: type of ‘c_eigen_dsmat_s_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_s_cols(struct c_dsmat_s *m);
         ^
eigen_dsmat_s.cpp:61:7: note: ‘c_eigen_dsmat_s_cols’ was previously declared here
eigen_dsmat_s.cpp:61:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:41:9: warning: type of ‘c_eigen_dsmat_s_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_s_rows(struct c_dsmat_s *m);
         ^
eigen_dsmat_s.cpp:56:7: note: ‘c_eigen_dsmat_s_rows’ was previously declared here
eigen_dsmat_s.cpp:56:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:40:21: warning: type of ‘c_eigen_dsmat_s_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_eye(INDEX m);
                     ^
eigen_dsmat_s.cpp:49:12: note: ‘c_eigen_dsmat_s_eye’ was previously declared here
eigen_dsmat_s.cpp:49:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:39:21: warning: type of ‘c_eigen_dsmat_s_ones’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_ones(INDEX m, INDEX n);
                     ^
eigen_dsmat_s.cpp:43:12: note: ‘c_eigen_dsmat_s_ones’ was previously declared here
eigen_dsmat_s.cpp:43:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:38:21: warning: type of ‘c_eigen_dsmat_s_zeros’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_zeros(INDEX m, INDEX n);
                     ^
eigen_dsmat_s.cpp:36:12: note: ‘c_eigen_dsmat_s_zeros’ was previously declared here
eigen_dsmat_s.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:37:8: warning: type of ‘c_eigen_dsmat_s_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_s_delete(struct c_dsmat_s *m);
        ^
eigen_dsmat_s.cpp:31:6: note: ‘c_eigen_dsmat_s_delete’ was previously declared here
eigen_dsmat_s.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:36:21: warning: type of ‘c_eigen_dsmat_s_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_new(INDEX rows, INDEX cols);
                     ^
eigen_dsmat_s.cpp:26:12: note: ‘c_eigen_dsmat_s_new’ was previously declared here
eigen_dsmat_s.cpp:26:12: note: code may be misoptimized unless -fno-strict-aliasing is used
In member function ‘__base_ctor ’,
    inlined from ‘reallocate’ at ./Eigen/src/SparseCore/CompressedStorage.h:234:38:
./Eigen/src/Core/util/Memory.h:589:13: warning: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
./Eigen/src/Core/util/Memory.h: In member function ‘reallocate’:
/usr/include/c++/7/new:122:7: note: in a call to allocation function ‘operator new []’ declared here
 void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
       ^
+ /root/.opam/default/bin/ocamlfind ocamlopt -shared -I lib -I lib lib/eigen.cmxa lib/ffi_eigen_bindings.cmx lib/ffi_eigen_generated.cmx lib/eigen_types.cmx lib/eigen_dsmat_c.cmx lib/eigen_dsmat_d.cmx lib/eigen_dsmat_s.cmx lib/eigen_dsmat_z.cmx lib/eigen_spmat_c.cmx lib/eigen_spmat_d.cmx lib/eigen_spmat_s.cmx lib/eigen_spmat_z.cmx lib/eigen_tensor_d.cmx lib/eigen_tensor_s.cmx lib/eigen_utils.cmx lib/eigen.cmx -o lib/eigen.cmxs
lib/eigen_spmat.h:259:8: warning: type of ‘c_eigen_spmat_z_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_print(struct c_spmat_z *m);
        ^
eigen_spmat_z.cpp:443:6: note: ‘c_eigen_spmat_z_print’ was previously declared here
eigen_spmat_z.cpp:443:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:258:21: warning: type of ‘c_eigen_spmat_z_sqrt’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_sqrt(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:437:12: note: ‘c_eigen_spmat_z_sqrt’ was previously declared here
eigen_spmat_z.cpp:437:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:257:21: warning: type of ‘c_eigen_spmat_z_neg’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_neg(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:428:12: note: ‘c_eigen_spmat_z_neg’ was previously declared here
eigen_spmat_z.cpp:428:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:256:17: warning: type of ‘c_eigen_spmat_z_sum’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_z_elt c_eigen_spmat_z_sum(struct c_spmat_z *m);
                 ^
eigen_spmat_z.cpp:386:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:386:15: note: ‘c_eigen_spmat_z_sum’ was previously declared here
eigen_spmat_z.cpp:386:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:255:21: warning: type of ‘c_eigen_spmat_z_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_div_scalar(struct c_spmat_z *m, c_spmat_z_elt a);
                     ^
eigen_spmat_z.cpp:376:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:376:12: note: ‘c_eigen_spmat_z_div_scalar’ was previously declared here
eigen_spmat_z.cpp:376:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:254:21: warning: type of ‘c_eigen_spmat_z_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_mul_scalar(struct c_spmat_z *m, c_spmat_z_elt a);
                     ^
eigen_spmat_z.cpp:369:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:369:12: note: ‘c_eigen_spmat_z_mul_scalar’ was previously declared here
eigen_spmat_z.cpp:369:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:253:21: warning: type of ‘c_eigen_spmat_z_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_sub_scalar(struct c_spmat_z *m, c_spmat_z_elt a);
                     ^
eigen_spmat_z.cpp:359:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:359:12: note: ‘c_eigen_spmat_z_sub_scalar’ was previously declared here
eigen_spmat_z.cpp:359:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:252:21: warning: type of ‘c_eigen_spmat_z_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_add_scalar(struct c_spmat_z *m, c_spmat_z_elt a);
                     ^
eigen_spmat_z.cpp:349:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:349:12: note: ‘c_eigen_spmat_z_add_scalar’ was previously declared here
eigen_spmat_z.cpp:349:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:251:21: warning: type of ‘c_eigen_spmat_z_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_gemm(struct c_spmat_z *m0, struct c_spmat_z *m1);
                     ^
eigen_spmat_z.cpp:342:12: note: ‘c_eigen_spmat_z_gemm’ was previously declared here
eigen_spmat_z.cpp:342:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:250:21: warning: type of ‘c_eigen_spmat_z_div’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_div(struct c_spmat_z *m0, struct c_spmat_z *m1);
                     ^
eigen_spmat_z.cpp:335:12: note: ‘c_eigen_spmat_z_div’ was previously declared here
eigen_spmat_z.cpp:335:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:249:21: warning: type of ‘c_eigen_spmat_z_mul’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_mul(struct c_spmat_z *m0, struct c_spmat_z *m1);
                     ^
eigen_spmat_z.cpp:328:12: note: ‘c_eigen_spmat_z_mul’ was previously declared here
eigen_spmat_z.cpp:328:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:248:21: warning: type of ‘c_eigen_spmat_z_sub’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_sub(struct c_spmat_z *m0, struct c_spmat_z *m1);
                     ^
eigen_spmat_z.cpp:321:12: note: ‘c_eigen_spmat_z_sub’ was previously declared here
eigen_spmat_z.cpp:321:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:247:21: warning: type of ‘c_eigen_spmat_z_add’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_add(struct c_spmat_z *m0, struct c_spmat_z *m1);
                     ^
eigen_spmat_z.cpp:314:12: note: ‘c_eigen_spmat_z_add’ was previously declared here
eigen_spmat_z.cpp:314:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:246:7: warning: type of ‘c_eigen_spmat_z_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_equal_or_smaller(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:308:5: note: ‘c_eigen_spmat_z_equal_or_smaller’ was previously declared here
eigen_spmat_z.cpp:308:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:245:7: warning: type of ‘c_eigen_spmat_z_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_equal_or_greater(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:302:5: note: ‘c_eigen_spmat_z_equal_or_greater’ was previously declared here
eigen_spmat_z.cpp:302:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:244:7: warning: type of ‘c_eigen_spmat_z_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_smaller(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:296:5: note: ‘c_eigen_spmat_z_is_smaller’ was previously declared here
eigen_spmat_z.cpp:296:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:243:7: warning: type of ‘c_eigen_spmat_z_is_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_greater(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:290:5: note: ‘c_eigen_spmat_z_is_greater’ was previously declared here
eigen_spmat_z.cpp:290:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:242:7: warning: type of ‘c_eigen_spmat_z_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_unequal(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:283:5: note: ‘c_eigen_spmat_z_is_unequal’ was previously declared here
eigen_spmat_z.cpp:283:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:241:7: warning: type of ‘c_eigen_spmat_z_is_equal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_equal(struct c_spmat_z *m0, struct c_spmat_z *m1);
       ^
eigen_spmat_z.cpp:276:5: note: ‘c_eigen_spmat_z_is_equal’ was previously declared here
eigen_spmat_z.cpp:276:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:240:7: warning: type of ‘c_eigen_spmat_z_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_nonnegative(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:259:5: note: ‘c_eigen_spmat_z_is_nonnegative’ was previously declared here
eigen_spmat_z.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:239:7: warning: type of ‘c_eigen_spmat_z_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_nonpositive(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:242:5: note: ‘c_eigen_spmat_z_is_nonpositive’ was previously declared here
eigen_spmat_z.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:238:7: warning: type of ‘c_eigen_spmat_z_is_negative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_negative(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:222:5: note: ‘c_eigen_spmat_z_is_negative’ was previously declared here
eigen_spmat_z.cpp:222:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:237:7: warning: type of ‘c_eigen_spmat_z_is_positive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_positive(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:202:5: note: ‘c_eigen_spmat_z_is_positive’ was previously declared here
eigen_spmat_z.cpp:202:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:236:7: warning: type of ‘c_eigen_spmat_z_is_zero’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_zero(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:184:5: note: ‘c_eigen_spmat_z_is_zero’ was previously declared here
eigen_spmat_z.cpp:184:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:235:17: warning: type of ‘c_eigen_spmat_z_trace’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_z_elt c_eigen_spmat_z_trace(struct c_spmat_z *m);
                 ^
eigen_spmat_z.cpp:178:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:178:15: note: ‘c_eigen_spmat_z_trace’ was previously declared here
eigen_spmat_z.cpp:178:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:234:21: warning: type of ‘c_eigen_spmat_z_diagonal’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_diagonal(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:172:12: note: ‘c_eigen_spmat_z_diagonal’ was previously declared here
eigen_spmat_z.cpp:172:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:233:21: warning: type of ‘c_eigen_spmat_z_adjoint’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_adjoint(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:166:12: note: ‘c_eigen_spmat_z_adjoint’ was previously declared here
eigen_spmat_z.cpp:166:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:232:21: warning: type of ‘c_eigen_spmat_z_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_transpose(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:160:12: note: ‘c_eigen_spmat_z_transpose’ was previously declared here
eigen_spmat_z.cpp:160:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:231:21: warning: type of ‘c_eigen_spmat_z_col’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_col(struct c_spmat_z *m, INDEX i);
                     ^
eigen_spmat_z.cpp:154:12: note: ‘c_eigen_spmat_z_col’ was previously declared here
eigen_spmat_z.cpp:154:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:230:21: warning: type of ‘c_eigen_spmat_z_row’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_row(struct c_spmat_z *m, INDEX i);
                     ^
eigen_spmat_z.cpp:148:12: note: ‘c_eigen_spmat_z_row’ was previously declared here
eigen_spmat_z.cpp:148:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:229:21: warning: type of ‘c_eigen_spmat_z_clone’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_clone(struct c_spmat_z *m);
                     ^
eigen_spmat_z.cpp:142:12: note: ‘c_eigen_spmat_z_clone’ was previously declared here
eigen_spmat_z.cpp:142:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:228:10: warning: type of ‘c_eigen_spmat_z_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_z_outerindexptr(struct c_spmat_z *m);
          ^
eigen_spmat_z.cpp:135:8: note: ‘c_eigen_spmat_z_outerindexptr’ was previously declared here
eigen_spmat_z.cpp:135:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:227:10: warning: type of ‘c_eigen_spmat_z_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_z_innerindexptr(struct c_spmat_z *m);
          ^
eigen_spmat_z.cpp:128:8: note: ‘c_eigen_spmat_z_innerindexptr’ was previously declared here
eigen_spmat_z.cpp:128:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:226:18: warning: type of ‘c_eigen_spmat_z_valueptr’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_z_elt* c_eigen_spmat_z_valueptr(struct c_spmat_z *m, INDEX *l);
                  ^
eigen_spmat_z.cpp:120:16: note: ‘c_eigen_spmat_z_valueptr’ was previously declared here
eigen_spmat_z.cpp:120:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:225:8: warning: type of ‘c_eigen_spmat_z_prune’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_prune(struct c_spmat_z *m, c_spmat_z_elt ref, double eps);
        ^
eigen_spmat_z.cpp:114:6: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:114:6: note: ‘c_eigen_spmat_z_prune’ was previously declared here
eigen_spmat_z.cpp:114:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:224:8: warning: type of ‘c_eigen_spmat_z_reshape’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_reshape(struct c_spmat_z *m, INDEX rows, INDEX cols);
        ^
eigen_spmat_z.cpp:108:6: note: ‘c_eigen_spmat_z_reshape’ was previously declared here
eigen_spmat_z.cpp:108:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:223:8: warning: type of ‘c_eigen_spmat_z_uncompress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_uncompress(struct c_spmat_z *m);
        ^
eigen_spmat_z.cpp:103:6: note: ‘c_eigen_spmat_z_uncompress’ was previously declared here
eigen_spmat_z.cpp:103:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:222:8: warning: type of ‘c_eigen_spmat_z_compress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_compress(struct c_spmat_z *m);
        ^
eigen_spmat_z.cpp:98:6: note: ‘c_eigen_spmat_z_compress’ was previously declared here
eigen_spmat_z.cpp:98:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:221:7: warning: type of ‘c_eigen_spmat_z_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_z_is_compressed(struct c_spmat_z *m);
       ^
eigen_spmat_z.cpp:93:5: note: ‘c_eigen_spmat_z_is_compressed’ was previously declared here
eigen_spmat_z.cpp:93:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:220:8: warning: type of ‘c_eigen_spmat_z_reset’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_reset(struct c_spmat_z *m);
        ^
eigen_spmat_z.cpp:88:6: note: ‘c_eigen_spmat_z_reset’ was previously declared here
eigen_spmat_z.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:219:8: warning: type of ‘c_eigen_spmat_z_insert’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_insert(struct c_spmat_z *m, INDEX i, INDEX j, c_spmat_z_elt x);
        ^
eigen_spmat_z.cpp:83:6: note: type mismatch in parameter 4
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:83:6: note: ‘c_eigen_spmat_z_insert’ was previously declared here
eigen_spmat_z.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:218:8: warning: type of ‘c_eigen_spmat_z_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_set(struct c_spmat_z *m, INDEX i, INDEX j, c_spmat_z_elt x);
        ^
eigen_spmat_z.cpp:78:6: note: type mismatch in parameter 4
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:78:6: note: ‘c_eigen_spmat_z_set’ was previously declared here
eigen_spmat_z.cpp:78:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:217:17: warning: type of ‘c_eigen_spmat_z_get’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_z_elt c_eigen_spmat_z_get(struct c_spmat_z *m, INDEX i, INDEX j);
                 ^
eigen_spmat_z.cpp:72:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_spmat_z_elt;
                           ^
eigen_spmat_z.cpp:72:15: note: ‘c_eigen_spmat_z_get’ was previously declared here
eigen_spmat_z.cpp:72:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:216:9: warning: type of ‘c_eigen_spmat_z_nnz’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_z_nnz(struct c_spmat_z *m);
         ^
eigen_spmat_z.cpp:67:7: note: ‘c_eigen_spmat_z_nnz’ was previously declared here
eigen_spmat_z.cpp:67:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:215:9: warning: type of ‘c_eigen_spmat_z_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_z_cols(struct c_spmat_z *m);
         ^
eigen_spmat_z.cpp:62:7: note: ‘c_eigen_spmat_z_cols’ was previously declared here
eigen_spmat_z.cpp:62:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:214:9: warning: type of ‘c_eigen_spmat_z_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_z_rows(struct c_spmat_z *m);
         ^
eigen_spmat_z.cpp:57:7: note: ‘c_eigen_spmat_z_rows’ was previously declared here
eigen_spmat_z.cpp:57:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:213:21: warning: type of ‘c_eigen_spmat_z_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_eye(INDEX m);
                     ^
eigen_spmat_z.cpp:50:12: note: ‘c_eigen_spmat_z_eye’ was previously declared here
eigen_spmat_z.cpp:50:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:212:8: warning: type of ‘c_eigen_spmat_z_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_z_delete(struct c_spmat_z *m);
        ^
eigen_spmat_z.cpp:45:6: note: ‘c_eigen_spmat_z_delete’ was previously declared here
eigen_spmat_z.cpp:45:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:211:21: warning: type of ‘c_eigen_spmat_z_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_z* c_eigen_spmat_z_new(INDEX size, INDEX rows, INDEX cols);
                     ^
eigen_spmat_z.cpp:38:12: note: ‘c_eigen_spmat_z_new’ was previously declared here
eigen_spmat_z.cpp:38:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:204:8: warning: type of ‘c_eigen_spmat_c_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_print(struct c_spmat_c *m);
        ^
eigen_spmat_c.cpp:443:6: note: ‘c_eigen_spmat_c_print’ was previously declared here
eigen_spmat_c.cpp:443:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:203:21: warning: type of ‘c_eigen_spmat_c_sqrt’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_sqrt(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:437:12: note: ‘c_eigen_spmat_c_sqrt’ was previously declared here
eigen_spmat_c.cpp:437:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:202:21: warning: type of ‘c_eigen_spmat_c_neg’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_neg(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:428:12: note: ‘c_eigen_spmat_c_neg’ was previously declared here
eigen_spmat_c.cpp:428:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:201:17: warning: type of ‘c_eigen_spmat_c_sum’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_c_elt c_eigen_spmat_c_sum(struct c_spmat_c *m);
                 ^
eigen_spmat_c.cpp:386:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:386:15: note: ‘c_eigen_spmat_c_sum’ was previously declared here
eigen_spmat_c.cpp:386:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:200:21: warning: type of ‘c_eigen_spmat_c_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_div_scalar(struct c_spmat_c *m, c_spmat_c_elt a);
                     ^
eigen_spmat_c.cpp:376:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:376:12: note: ‘c_eigen_spmat_c_div_scalar’ was previously declared here
eigen_spmat_c.cpp:376:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:199:21: warning: type of ‘c_eigen_spmat_c_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_mul_scalar(struct c_spmat_c *m, c_spmat_c_elt a);
                     ^
eigen_spmat_c.cpp:369:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:369:12: note: ‘c_eigen_spmat_c_mul_scalar’ was previously declared here
eigen_spmat_c.cpp:369:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:198:21: warning: type of ‘c_eigen_spmat_c_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_sub_scalar(struct c_spmat_c *m, c_spmat_c_elt a);
                     ^
eigen_spmat_c.cpp:359:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:359:12: note: ‘c_eigen_spmat_c_sub_scalar’ was previously declared here
eigen_spmat_c.cpp:359:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:197:21: warning: type of ‘c_eigen_spmat_c_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_add_scalar(struct c_spmat_c *m, c_spmat_c_elt a);
                     ^
eigen_spmat_c.cpp:349:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:349:12: note: ‘c_eigen_spmat_c_add_scalar’ was previously declared here
eigen_spmat_c.cpp:349:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:196:21: warning: type of ‘c_eigen_spmat_c_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_gemm(struct c_spmat_c *m0, struct c_spmat_c *m1);
                     ^
eigen_spmat_c.cpp:342:12: note: ‘c_eigen_spmat_c_gemm’ was previously declared here
eigen_spmat_c.cpp:342:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:195:21: warning: type of ‘c_eigen_spmat_c_div’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_div(struct c_spmat_c *m0, struct c_spmat_c *m1);
                     ^
eigen_spmat_c.cpp:335:12: note: ‘c_eigen_spmat_c_div’ was previously declared here
eigen_spmat_c.cpp:335:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:194:21: warning: type of ‘c_eigen_spmat_c_mul’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_mul(struct c_spmat_c *m0, struct c_spmat_c *m1);
                     ^
eigen_spmat_c.cpp:328:12: note: ‘c_eigen_spmat_c_mul’ was previously declared here
eigen_spmat_c.cpp:328:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:193:21: warning: type of ‘c_eigen_spmat_c_sub’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_sub(struct c_spmat_c *m0, struct c_spmat_c *m1);
                     ^
eigen_spmat_c.cpp:321:12: note: ‘c_eigen_spmat_c_sub’ was previously declared here
eigen_spmat_c.cpp:321:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:192:21: warning: type of ‘c_eigen_spmat_c_add’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_add(struct c_spmat_c *m0, struct c_spmat_c *m1);
                     ^
eigen_spmat_c.cpp:314:12: note: ‘c_eigen_spmat_c_add’ was previously declared here
eigen_spmat_c.cpp:314:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:191:7: warning: type of ‘c_eigen_spmat_c_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_equal_or_smaller(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:308:5: note: ‘c_eigen_spmat_c_equal_or_smaller’ was previously declared here
eigen_spmat_c.cpp:308:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:190:7: warning: type of ‘c_eigen_spmat_c_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_equal_or_greater(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:302:5: note: ‘c_eigen_spmat_c_equal_or_greater’ was previously declared here
eigen_spmat_c.cpp:302:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:189:7: warning: type of ‘c_eigen_spmat_c_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_smaller(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:296:5: note: ‘c_eigen_spmat_c_is_smaller’ was previously declared here
eigen_spmat_c.cpp:296:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:188:7: warning: type of ‘c_eigen_spmat_c_is_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_greater(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:290:5: note: ‘c_eigen_spmat_c_is_greater’ was previously declared here
eigen_spmat_c.cpp:290:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:187:7: warning: type of ‘c_eigen_spmat_c_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_unequal(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:283:5: note: ‘c_eigen_spmat_c_is_unequal’ was previously declared here
eigen_spmat_c.cpp:283:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:186:7: warning: type of ‘c_eigen_spmat_c_is_equal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_equal(struct c_spmat_c *m0, struct c_spmat_c *m1);
       ^
eigen_spmat_c.cpp:276:5: note: ‘c_eigen_spmat_c_is_equal’ was previously declared here
eigen_spmat_c.cpp:276:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:185:7: warning: type of ‘c_eigen_spmat_c_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_nonnegative(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:259:5: note: ‘c_eigen_spmat_c_is_nonnegative’ was previously declared here
eigen_spmat_c.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:184:7: warning: type of ‘c_eigen_spmat_c_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_nonpositive(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:242:5: note: ‘c_eigen_spmat_c_is_nonpositive’ was previously declared here
eigen_spmat_c.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:183:7: warning: type of ‘c_eigen_spmat_c_is_negative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_negative(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:222:5: note: ‘c_eigen_spmat_c_is_negative’ was previously declared here
eigen_spmat_c.cpp:222:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:182:7: warning: type of ‘c_eigen_spmat_c_is_positive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_positive(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:202:5: note: ‘c_eigen_spmat_c_is_positive’ was previously declared here
eigen_spmat_c.cpp:202:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:181:7: warning: type of ‘c_eigen_spmat_c_is_zero’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_zero(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:184:5: note: ‘c_eigen_spmat_c_is_zero’ was previously declared here
eigen_spmat_c.cpp:184:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:180:17: warning: type of ‘c_eigen_spmat_c_trace’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_c_elt c_eigen_spmat_c_trace(struct c_spmat_c *m);
                 ^
eigen_spmat_c.cpp:178:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:178:15: note: ‘c_eigen_spmat_c_trace’ was previously declared here
eigen_spmat_c.cpp:178:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:179:21: warning: type of ‘c_eigen_spmat_c_diagonal’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_diagonal(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:172:12: note: ‘c_eigen_spmat_c_diagonal’ was previously declared here
eigen_spmat_c.cpp:172:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:178:21: warning: type of ‘c_eigen_spmat_c_adjoint’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_adjoint(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:166:12: note: ‘c_eigen_spmat_c_adjoint’ was previously declared here
eigen_spmat_c.cpp:166:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:177:21: warning: type of ‘c_eigen_spmat_c_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_transpose(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:160:12: note: ‘c_eigen_spmat_c_transpose’ was previously declared here
eigen_spmat_c.cpp:160:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:176:21: warning: type of ‘c_eigen_spmat_c_col’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_col(struct c_spmat_c *m, INDEX i);
                     ^
eigen_spmat_c.cpp:154:12: note: ‘c_eigen_spmat_c_col’ was previously declared here
eigen_spmat_c.cpp:154:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:175:21: warning: type of ‘c_eigen_spmat_c_row’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_row(struct c_spmat_c *m, INDEX i);
                     ^
eigen_spmat_c.cpp:148:12: note: ‘c_eigen_spmat_c_row’ was previously declared here
eigen_spmat_c.cpp:148:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:174:21: warning: type of ‘c_eigen_spmat_c_clone’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_clone(struct c_spmat_c *m);
                     ^
eigen_spmat_c.cpp:142:12: note: ‘c_eigen_spmat_c_clone’ was previously declared here
eigen_spmat_c.cpp:142:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:173:10: warning: type of ‘c_eigen_spmat_c_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_c_outerindexptr(struct c_spmat_c *m);
          ^
eigen_spmat_c.cpp:135:8: note: ‘c_eigen_spmat_c_outerindexptr’ was previously declared here
eigen_spmat_c.cpp:135:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:172:10: warning: type of ‘c_eigen_spmat_c_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_c_innerindexptr(struct c_spmat_c *m);
          ^
eigen_spmat_c.cpp:128:8: note: ‘c_eigen_spmat_c_innerindexptr’ was previously declared here
eigen_spmat_c.cpp:128:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:171:18: warning: type of ‘c_eigen_spmat_c_valueptr’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_c_elt* c_eigen_spmat_c_valueptr(struct c_spmat_c *m, INDEX *l);
                  ^
eigen_spmat_c.cpp:120:16: note: ‘c_eigen_spmat_c_valueptr’ was previously declared here
eigen_spmat_c.cpp:120:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:170:8: warning: type of ‘c_eigen_spmat_c_prune’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_prune(struct c_spmat_c *m, c_spmat_c_elt ref, float eps);
        ^
eigen_spmat_c.cpp:114:6: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:114:6: note: ‘c_eigen_spmat_c_prune’ was previously declared here
eigen_spmat_c.cpp:114:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:169:8: warning: type of ‘c_eigen_spmat_c_reshape’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_reshape(struct c_spmat_c *m, INDEX rows, INDEX cols);
        ^
eigen_spmat_c.cpp:108:6: note: ‘c_eigen_spmat_c_reshape’ was previously declared here
eigen_spmat_c.cpp:108:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:168:8: warning: type of ‘c_eigen_spmat_c_uncompress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_uncompress(struct c_spmat_c *m);
        ^
eigen_spmat_c.cpp:103:6: note: ‘c_eigen_spmat_c_uncompress’ was previously declared here
eigen_spmat_c.cpp:103:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:167:8: warning: type of ‘c_eigen_spmat_c_compress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_compress(struct c_spmat_c *m);
        ^
eigen_spmat_c.cpp:98:6: note: ‘c_eigen_spmat_c_compress’ was previously declared here
eigen_spmat_c.cpp:98:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:166:7: warning: type of ‘c_eigen_spmat_c_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_c_is_compressed(struct c_spmat_c *m);
       ^
eigen_spmat_c.cpp:93:5: note: ‘c_eigen_spmat_c_is_compressed’ was previously declared here
eigen_spmat_c.cpp:93:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:165:8: warning: type of ‘c_eigen_spmat_c_reset’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_reset(struct c_spmat_c *m);
        ^
eigen_spmat_c.cpp:88:6: note: ‘c_eigen_spmat_c_reset’ was previously declared here
eigen_spmat_c.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:164:8: warning: type of ‘c_eigen_spmat_c_insert’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_insert(struct c_spmat_c *m, INDEX i, INDEX j, c_spmat_c_elt x);
        ^
eigen_spmat_c.cpp:83:6: note: type mismatch in parameter 4
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:83:6: note: ‘c_eigen_spmat_c_insert’ was previously declared here
eigen_spmat_c.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:163:8: warning: type of ‘c_eigen_spmat_c_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_set(struct c_spmat_c *m, INDEX i, INDEX j, c_spmat_c_elt x);
        ^
eigen_spmat_c.cpp:78:6: note: type mismatch in parameter 4
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:78:6: note: ‘c_eigen_spmat_c_set’ was previously declared here
eigen_spmat_c.cpp:78:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:162:17: warning: type of ‘c_eigen_spmat_c_get’ does not match original declaration [-Wlto-type-mismatch]
   c_spmat_c_elt c_eigen_spmat_c_get(struct c_spmat_c *m, INDEX i, INDEX j);
                 ^
eigen_spmat_c.cpp:72:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_spmat_c_elt;
                          ^
eigen_spmat_c.cpp:72:15: note: ‘c_eigen_spmat_c_get’ was previously declared here
eigen_spmat_c.cpp:72:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:161:9: warning: type of ‘c_eigen_spmat_c_nnz’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_c_nnz(struct c_spmat_c *m);
         ^
eigen_spmat_c.cpp:67:7: note: ‘c_eigen_spmat_c_nnz’ was previously declared here
eigen_spmat_c.cpp:67:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:160:9: warning: type of ‘c_eigen_spmat_c_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_c_cols(struct c_spmat_c *m);
         ^
eigen_spmat_c.cpp:62:7: note: ‘c_eigen_spmat_c_cols’ was previously declared here
eigen_spmat_c.cpp:62:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:159:9: warning: type of ‘c_eigen_spmat_c_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_c_rows(struct c_spmat_c *m);
         ^
eigen_spmat_c.cpp:57:7: note: ‘c_eigen_spmat_c_rows’ was previously declared here
eigen_spmat_c.cpp:57:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:158:21: warning: type of ‘c_eigen_spmat_c_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_eye(INDEX m);
                     ^
eigen_spmat_c.cpp:50:12: note: ‘c_eigen_spmat_c_eye’ was previously declared here
eigen_spmat_c.cpp:50:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:157:8: warning: type of ‘c_eigen_spmat_c_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_c_delete(struct c_spmat_c *m);
        ^
eigen_spmat_c.cpp:45:6: note: ‘c_eigen_spmat_c_delete’ was previously declared here
eigen_spmat_c.cpp:45:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:156:21: warning: type of ‘c_eigen_spmat_c_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_c* c_eigen_spmat_c_new(INDEX size, INDEX rows, INDEX cols);
                     ^
eigen_spmat_c.cpp:38:12: note: ‘c_eigen_spmat_c_new’ was previously declared here
eigen_spmat_c.cpp:38:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:149:8: warning: type of ‘c_eigen_spmat_d_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_print(struct c_spmat_d *m);
        ^
eigen_spmat_d.cpp:435:6: note: ‘c_eigen_spmat_d_print’ was previously declared here
eigen_spmat_d.cpp:435:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:148:21: warning: type of ‘c_eigen_spmat_d_sqrt’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_sqrt(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:429:12: note: ‘c_eigen_spmat_d_sqrt’ was previously declared here
eigen_spmat_d.cpp:429:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:147:21: warning: type of ‘c_eigen_spmat_d_neg’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_neg(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:420:12: note: ‘c_eigen_spmat_d_neg’ was previously declared here
eigen_spmat_d.cpp:420:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:146:21: warning: type of ‘c_eigen_spmat_d_abs’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_abs(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:414:12: note: ‘c_eigen_spmat_d_abs’ was previously declared here
eigen_spmat_d.cpp:414:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:145:10: warning: type of ‘c_eigen_spmat_d_max’ does not match original declaration [-Wlto-type-mismatch]
   double c_eigen_spmat_d_max(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:399:13: note: ‘c_eigen_spmat_d_max’ was previously declared here
eigen_spmat_d.cpp:399:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:144:10: warning: type of ‘c_eigen_spmat_d_min’ does not match original declaration [-Wlto-type-mismatch]
   double c_eigen_spmat_d_min(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:384:13: note: ‘c_eigen_spmat_d_min’ was previously declared here
eigen_spmat_d.cpp:384:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:143:10: warning: type of ‘c_eigen_spmat_d_sum’ does not match original declaration [-Wlto-type-mismatch]
   double c_eigen_spmat_d_sum(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:379:13: note: ‘c_eigen_spmat_d_sum’ was previously declared here
eigen_spmat_d.cpp:379:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:142:21: warning: type of ‘c_eigen_spmat_d_max2’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_max2(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:372:12: note: ‘c_eigen_spmat_d_max2’ was previously declared here
eigen_spmat_d.cpp:372:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:141:21: warning: type of ‘c_eigen_spmat_d_min2’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_min2(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:365:12: note: ‘c_eigen_spmat_d_min2’ was previously declared here
eigen_spmat_d.cpp:365:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:140:21: warning: type of ‘c_eigen_spmat_d_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_div_scalar(struct c_spmat_d *m, double a);
                     ^
eigen_spmat_d.cpp:356:12: note: ‘c_eigen_spmat_d_div_scalar’ was previously declared here
eigen_spmat_d.cpp:356:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:139:21: warning: type of ‘c_eigen_spmat_d_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_mul_scalar(struct c_spmat_d *m, double a);
                     ^
eigen_spmat_d.cpp:350:12: note: ‘c_eigen_spmat_d_mul_scalar’ was previously declared here
eigen_spmat_d.cpp:350:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:138:21: warning: type of ‘c_eigen_spmat_d_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_sub_scalar(struct c_spmat_d *m, double a);
                     ^
eigen_spmat_d.cpp:341:12: note: ‘c_eigen_spmat_d_sub_scalar’ was previously declared here
eigen_spmat_d.cpp:341:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:137:21: warning: type of ‘c_eigen_spmat_d_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_add_scalar(struct c_spmat_d *m, double a);
                     ^
eigen_spmat_d.cpp:332:12: note: ‘c_eigen_spmat_d_add_scalar’ was previously declared here
eigen_spmat_d.cpp:332:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:136:21: warning: type of ‘c_eigen_spmat_d_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_gemm(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:325:12: note: ‘c_eigen_spmat_d_gemm’ was previously declared here
eigen_spmat_d.cpp:325:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:135:21: warning: type of ‘c_eigen_spmat_d_div’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_div(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:318:12: note: ‘c_eigen_spmat_d_div’ was previously declared here
eigen_spmat_d.cpp:318:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:134:21: warning: type of ‘c_eigen_spmat_d_mul’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_mul(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:311:12: note: ‘c_eigen_spmat_d_mul’ was previously declared here
eigen_spmat_d.cpp:311:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:133:21: warning: type of ‘c_eigen_spmat_d_sub’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_sub(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:304:12: note: ‘c_eigen_spmat_d_sub’ was previously declared here
eigen_spmat_d.cpp:304:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:132:21: warning: type of ‘c_eigen_spmat_d_add’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_add(struct c_spmat_d *m0, struct c_spmat_d *m1);
                     ^
eigen_spmat_d.cpp:297:12: note: ‘c_eigen_spmat_d_add’ was previously declared here
eigen_spmat_d.cpp:297:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:131:7: warning: type of ‘c_eigen_spmat_d_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_equal_or_smaller(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:291:5: note: ‘c_eigen_spmat_d_equal_or_smaller’ was previously declared here
eigen_spmat_d.cpp:291:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:130:7: warning: type of ‘c_eigen_spmat_d_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_equal_or_greater(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:285:5: note: ‘c_eigen_spmat_d_equal_or_greater’ was previously declared here
eigen_spmat_d.cpp:285:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:129:7: warning: type of ‘c_eigen_spmat_d_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_smaller(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:279:5: note: ‘c_eigen_spmat_d_is_smaller’ was previously declared here
eigen_spmat_d.cpp:279:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:128:7: warning: type of ‘c_eigen_spmat_d_is_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_greater(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:273:5: note: ‘c_eigen_spmat_d_is_greater’ was previously declared here
eigen_spmat_d.cpp:273:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:127:7: warning: type of ‘c_eigen_spmat_d_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_unequal(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:266:5: note: ‘c_eigen_spmat_d_is_unequal’ was previously declared here
eigen_spmat_d.cpp:266:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:126:7: warning: type of ‘c_eigen_spmat_d_is_equal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_equal(struct c_spmat_d *m0, struct c_spmat_d *m1);
       ^
eigen_spmat_d.cpp:259:5: note: ‘c_eigen_spmat_d_is_equal’ was previously declared here
eigen_spmat_d.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:125:7: warning: type of ‘c_eigen_spmat_d_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_nonnegative(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:242:5: note: ‘c_eigen_spmat_d_is_nonnegative’ was previously declared here
eigen_spmat_d.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:124:7: warning: type of ‘c_eigen_spmat_d_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_nonpositive(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:225:5: note: ‘c_eigen_spmat_d_is_nonpositive’ was previously declared here
eigen_spmat_d.cpp:225:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:123:7: warning: type of ‘c_eigen_spmat_d_is_negative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_negative(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:205:5: note: ‘c_eigen_spmat_d_is_negative’ was previously declared here
eigen_spmat_d.cpp:205:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:122:7: warning: type of ‘c_eigen_spmat_d_is_positive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_positive(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:185:5: note: ‘c_eigen_spmat_d_is_positive’ was previously declared here
eigen_spmat_d.cpp:185:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:121:7: warning: type of ‘c_eigen_spmat_d_is_zero’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_zero(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:167:5: note: ‘c_eigen_spmat_d_is_zero’ was previously declared here
eigen_spmat_d.cpp:167:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:120:10: warning: type of ‘c_eigen_spmat_d_trace’ does not match original declaration [-Wlto-type-mismatch]
   double c_eigen_spmat_d_trace(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:162:13: note: ‘c_eigen_spmat_d_trace’ was previously declared here
eigen_spmat_d.cpp:162:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:119:21: warning: type of ‘c_eigen_spmat_d_diagonal’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_diagonal(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:156:12: note: ‘c_eigen_spmat_d_diagonal’ was previously declared here
eigen_spmat_d.cpp:156:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:118:21: warning: type of ‘c_eigen_spmat_d_adjoint’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_adjoint(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:150:12: note: ‘c_eigen_spmat_d_adjoint’ was previously declared here
eigen_spmat_d.cpp:150:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:117:21: warning: type of ‘c_eigen_spmat_d_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_transpose(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:144:12: note: ‘c_eigen_spmat_d_transpose’ was previously declared here
eigen_spmat_d.cpp:144:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:116:21: warning: type of ‘c_eigen_spmat_d_col’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_col(struct c_spmat_d *m, INDEX i);
                     ^
eigen_spmat_d.cpp:138:12: note: ‘c_eigen_spmat_d_col’ was previously declared here
eigen_spmat_d.cpp:138:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:115:21: warning: type of ‘c_eigen_spmat_d_row’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_row(struct c_spmat_d *m, INDEX i);
                     ^
eigen_spmat_d.cpp:132:12: note: ‘c_eigen_spmat_d_row’ was previously declared here
eigen_spmat_d.cpp:132:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:114:21: warning: type of ‘c_eigen_spmat_d_clone’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_clone(struct c_spmat_d *m);
                     ^
eigen_spmat_d.cpp:126:12: note: ‘c_eigen_spmat_d_clone’ was previously declared here
eigen_spmat_d.cpp:126:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:113:10: warning: type of ‘c_eigen_spmat_d_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_d_outerindexptr(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:119:8: note: ‘c_eigen_spmat_d_outerindexptr’ was previously declared here
eigen_spmat_d.cpp:119:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:112:10: warning: type of ‘c_eigen_spmat_d_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_d_innerindexptr(struct c_spmat_d *m);
          ^
eigen_spmat_d.cpp:112:8: note: ‘c_eigen_spmat_d_innerindexptr’ was previously declared here
eigen_spmat_d.cpp:112:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:111:11: warning: type of ‘c_eigen_spmat_d_valueptr’ does not match original declaration [-Wlto-type-mismatch]
   double* c_eigen_spmat_d_valueptr(struct c_spmat_d *m, INDEX *l);
           ^
eigen_spmat_d.cpp:104:14: note: ‘c_eigen_spmat_d_valueptr’ was previously declared here
eigen_spmat_d.cpp:104:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:110:8: warning: type of ‘c_eigen_spmat_d_prune’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_prune(struct c_spmat_d *m, double ref, double eps);
        ^
eigen_spmat_d.cpp:99:6: note: ‘c_eigen_spmat_d_prune’ was previously declared here
eigen_spmat_d.cpp:99:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:109:8: warning: type of ‘c_eigen_spmat_d_reshape’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_reshape(struct c_spmat_d *m, INDEX rows, INDEX cols);
        ^
eigen_spmat_d.cpp:93:6: note: ‘c_eigen_spmat_d_reshape’ was previously declared here
eigen_spmat_d.cpp:93:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:108:8: warning: type of ‘c_eigen_spmat_d_uncompress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_uncompress(struct c_spmat_d *m);
        ^
eigen_spmat_d.cpp:88:6: note: ‘c_eigen_spmat_d_uncompress’ was previously declared here
eigen_spmat_d.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:107:8: warning: type of ‘c_eigen_spmat_d_compress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_compress(struct c_spmat_d *m);
        ^
eigen_spmat_d.cpp:83:6: note: ‘c_eigen_spmat_d_compress’ was previously declared here
eigen_spmat_d.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:106:7: warning: type of ‘c_eigen_spmat_d_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_d_is_compressed(struct c_spmat_d *m);
       ^
eigen_spmat_d.cpp:78:5: note: ‘c_eigen_spmat_d_is_compressed’ was previously declared here
eigen_spmat_d.cpp:78:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:105:8: warning: type of ‘c_eigen_spmat_d_reset’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_reset(struct c_spmat_d *m);
        ^
eigen_spmat_d.cpp:73:6: note: ‘c_eigen_spmat_d_reset’ was previously declared here
eigen_spmat_d.cpp:73:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:104:8: warning: type of ‘c_eigen_spmat_d_insert’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_insert(struct c_spmat_d *m, INDEX i, INDEX j, double x);
        ^
eigen_spmat_d.cpp:68:6: note: ‘c_eigen_spmat_d_insert’ was previously declared here
eigen_spmat_d.cpp:68:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:103:8: warning: type of ‘c_eigen_spmat_d_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_set(struct c_spmat_d *m, INDEX i, INDEX j, double x);
        ^
eigen_spmat_d.cpp:63:6: note: ‘c_eigen_spmat_d_set’ was previously declared here
eigen_spmat_d.cpp:63:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:102:10: warning: type of ‘c_eigen_spmat_d_get’ does not match original declaration [-Wlto-type-mismatch]
   double c_eigen_spmat_d_get(struct c_spmat_d *m, INDEX i, INDEX j);
          ^
eigen_spmat_d.cpp:58:13: note: ‘c_eigen_spmat_d_get’ was previously declared here
eigen_spmat_d.cpp:58:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:101:9: warning: type of ‘c_eigen_spmat_d_nnz’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_d_nnz(struct c_spmat_d *m);
         ^
eigen_spmat_d.cpp:53:7: note: ‘c_eigen_spmat_d_nnz’ was previously declared here
eigen_spmat_d.cpp:53:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:100:9: warning: type of ‘c_eigen_spmat_d_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_d_cols(struct c_spmat_d *m);
         ^
eigen_spmat_d.cpp:48:7: note: ‘c_eigen_spmat_d_cols’ was previously declared here
eigen_spmat_d.cpp:48:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:99:9: warning: type of ‘c_eigen_spmat_d_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_d_rows(struct c_spmat_d *m);
         ^
eigen_spmat_d.cpp:43:7: note: ‘c_eigen_spmat_d_rows’ was previously declared here
eigen_spmat_d.cpp:43:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:98:21: warning: type of ‘c_eigen_spmat_d_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_eye(INDEX m);
                     ^
eigen_spmat_d.cpp:36:12: note: ‘c_eigen_spmat_d_eye’ was previously declared here
eigen_spmat_d.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:97:8: warning: type of ‘c_eigen_spmat_d_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_d_delete(struct c_spmat_d *m);
        ^
eigen_spmat_d.cpp:31:6: note: ‘c_eigen_spmat_d_delete’ was previously declared here
eigen_spmat_d.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:96:21: warning: type of ‘c_eigen_spmat_d_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_d* c_eigen_spmat_d_new(INDEX size, INDEX rows, INDEX cols);
                     ^
eigen_spmat_d.cpp:24:12: note: ‘c_eigen_spmat_d_new’ was previously declared here
eigen_spmat_d.cpp:24:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:89:8: warning: type of ‘c_eigen_spmat_s_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_print(struct c_spmat_s *m);
        ^
eigen_spmat_s.cpp:435:6: note: ‘c_eigen_spmat_s_print’ was previously declared here
eigen_spmat_s.cpp:435:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:88:21: warning: type of ‘c_eigen_spmat_s_sqrt’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_sqrt(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:429:12: note: ‘c_eigen_spmat_s_sqrt’ was previously declared here
eigen_spmat_s.cpp:429:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:87:21: warning: type of ‘c_eigen_spmat_s_neg’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_neg(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:420:12: note: ‘c_eigen_spmat_s_neg’ was previously declared here
eigen_spmat_s.cpp:420:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:86:21: warning: type of ‘c_eigen_spmat_s_abs’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_abs(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:414:12: note: ‘c_eigen_spmat_s_abs’ was previously declared here
eigen_spmat_s.cpp:414:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:85:9: warning: type of ‘c_eigen_spmat_s_max’ does not match original declaration [-Wlto-type-mismatch]
   float c_eigen_spmat_s_max(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:399:13: note: ‘c_eigen_spmat_s_max’ was previously declared here
eigen_spmat_s.cpp:399:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:84:9: warning: type of ‘c_eigen_spmat_s_min’ does not match original declaration [-Wlto-type-mismatch]
   float c_eigen_spmat_s_min(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:384:13: note: ‘c_eigen_spmat_s_min’ was previously declared here
eigen_spmat_s.cpp:384:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:83:9: warning: type of ‘c_eigen_spmat_s_sum’ does not match original declaration [-Wlto-type-mismatch]
   float c_eigen_spmat_s_sum(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:379:13: note: ‘c_eigen_spmat_s_sum’ was previously declared here
eigen_spmat_s.cpp:379:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:82:21: warning: type of ‘c_eigen_spmat_s_max2’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_max2(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:372:12: note: ‘c_eigen_spmat_s_max2’ was previously declared here
eigen_spmat_s.cpp:372:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:81:21: warning: type of ‘c_eigen_spmat_s_min2’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_min2(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:365:12: note: ‘c_eigen_spmat_s_min2’ was previously declared here
eigen_spmat_s.cpp:365:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:80:21: warning: type of ‘c_eigen_spmat_s_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_div_scalar(struct c_spmat_s *m, float a);
                     ^
eigen_spmat_s.cpp:356:12: note: ‘c_eigen_spmat_s_div_scalar’ was previously declared here
eigen_spmat_s.cpp:356:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:79:21: warning: type of ‘c_eigen_spmat_s_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_mul_scalar(struct c_spmat_s *m, float a);
                     ^
eigen_spmat_s.cpp:350:12: note: ‘c_eigen_spmat_s_mul_scalar’ was previously declared here
eigen_spmat_s.cpp:350:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:78:21: warning: type of ‘c_eigen_spmat_s_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_sub_scalar(struct c_spmat_s *m, float a);
                     ^
eigen_spmat_s.cpp:341:12: note: ‘c_eigen_spmat_s_sub_scalar’ was previously declared here
eigen_spmat_s.cpp:341:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:77:21: warning: type of ‘c_eigen_spmat_s_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_add_scalar(struct c_spmat_s *m, float a);
                     ^
eigen_spmat_s.cpp:332:12: note: ‘c_eigen_spmat_s_add_scalar’ was previously declared here
eigen_spmat_s.cpp:332:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:76:21: warning: type of ‘c_eigen_spmat_s_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_gemm(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:325:12: note: ‘c_eigen_spmat_s_gemm’ was previously declared here
eigen_spmat_s.cpp:325:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:75:21: warning: type of ‘c_eigen_spmat_s_div’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_div(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:318:12: note: ‘c_eigen_spmat_s_div’ was previously declared here
eigen_spmat_s.cpp:318:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:74:21: warning: type of ‘c_eigen_spmat_s_mul’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_mul(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:311:12: note: ‘c_eigen_spmat_s_mul’ was previously declared here
eigen_spmat_s.cpp:311:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:73:21: warning: type of ‘c_eigen_spmat_s_sub’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_sub(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:304:12: note: ‘c_eigen_spmat_s_sub’ was previously declared here
eigen_spmat_s.cpp:304:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:72:21: warning: type of ‘c_eigen_spmat_s_add’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_add(struct c_spmat_s *m0, struct c_spmat_s *m1);
                     ^
eigen_spmat_s.cpp:297:12: note: ‘c_eigen_spmat_s_add’ was previously declared here
eigen_spmat_s.cpp:297:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:71:7: warning: type of ‘c_eigen_spmat_s_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_equal_or_smaller(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:291:5: note: ‘c_eigen_spmat_s_equal_or_smaller’ was previously declared here
eigen_spmat_s.cpp:291:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:70:7: warning: type of ‘c_eigen_spmat_s_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_equal_or_greater(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:285:5: note: ‘c_eigen_spmat_s_equal_or_greater’ was previously declared here
eigen_spmat_s.cpp:285:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:69:7: warning: type of ‘c_eigen_spmat_s_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_smaller(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:279:5: note: ‘c_eigen_spmat_s_is_smaller’ was previously declared here
eigen_spmat_s.cpp:279:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:68:7: warning: type of ‘c_eigen_spmat_s_is_greater’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_greater(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:273:5: note: ‘c_eigen_spmat_s_is_greater’ was previously declared here
eigen_spmat_s.cpp:273:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:67:7: warning: type of ‘c_eigen_spmat_s_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_unequal(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:266:5: note: ‘c_eigen_spmat_s_is_unequal’ was previously declared here
eigen_spmat_s.cpp:266:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:66:7: warning: type of ‘c_eigen_spmat_s_is_equal’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_equal(struct c_spmat_s *m0, struct c_spmat_s *m1);
       ^
eigen_spmat_s.cpp:259:5: note: ‘c_eigen_spmat_s_is_equal’ was previously declared here
eigen_spmat_s.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:65:7: warning: type of ‘c_eigen_spmat_s_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_nonnegative(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:242:5: note: ‘c_eigen_spmat_s_is_nonnegative’ was previously declared here
eigen_spmat_s.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:64:7: warning: type of ‘c_eigen_spmat_s_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_nonpositive(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:225:5: note: ‘c_eigen_spmat_s_is_nonpositive’ was previously declared here
eigen_spmat_s.cpp:225:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:63:7: warning: type of ‘c_eigen_spmat_s_is_negative’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_negative(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:205:5: note: ‘c_eigen_spmat_s_is_negative’ was previously declared here
eigen_spmat_s.cpp:205:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:62:7: warning: type of ‘c_eigen_spmat_s_is_positive’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_positive(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:185:5: note: ‘c_eigen_spmat_s_is_positive’ was previously declared here
eigen_spmat_s.cpp:185:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:61:7: warning: type of ‘c_eigen_spmat_s_is_zero’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_zero(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:167:5: note: ‘c_eigen_spmat_s_is_zero’ was previously declared here
eigen_spmat_s.cpp:167:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:60:9: warning: type of ‘c_eigen_spmat_s_trace’ does not match original declaration [-Wlto-type-mismatch]
   float c_eigen_spmat_s_trace(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:162:13: note: ‘c_eigen_spmat_s_trace’ was previously declared here
eigen_spmat_s.cpp:162:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:59:21: warning: type of ‘c_eigen_spmat_s_diagonal’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_diagonal(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:156:12: note: ‘c_eigen_spmat_s_diagonal’ was previously declared here
eigen_spmat_s.cpp:156:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:58:21: warning: type of ‘c_eigen_spmat_s_adjoint’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_adjoint(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:150:12: note: ‘c_eigen_spmat_s_adjoint’ was previously declared here
eigen_spmat_s.cpp:150:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:57:21: warning: type of ‘c_eigen_spmat_s_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_transpose(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:144:12: note: ‘c_eigen_spmat_s_transpose’ was previously declared here
eigen_spmat_s.cpp:144:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:56:21: warning: type of ‘c_eigen_spmat_s_col’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_col(struct c_spmat_s *m, INDEX i);
                     ^
eigen_spmat_s.cpp:138:12: note: ‘c_eigen_spmat_s_col’ was previously declared here
eigen_spmat_s.cpp:138:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:55:21: warning: type of ‘c_eigen_spmat_s_row’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_row(struct c_spmat_s *m, INDEX i);
                     ^
eigen_spmat_s.cpp:132:12: note: ‘c_eigen_spmat_s_row’ was previously declared here
eigen_spmat_s.cpp:132:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:54:21: warning: type of ‘c_eigen_spmat_s_clone’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_clone(struct c_spmat_s *m);
                     ^
eigen_spmat_s.cpp:126:12: note: ‘c_eigen_spmat_s_clone’ was previously declared here
eigen_spmat_s.cpp:126:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:53:10: warning: type of ‘c_eigen_spmat_s_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_s_outerindexptr(struct c_spmat_s *m);
          ^
eigen_spmat_s.cpp:119:8: note: ‘c_eigen_spmat_s_outerindexptr’ was previously declared here
eigen_spmat_s.cpp:119:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:52:10: warning: type of ‘c_eigen_spmat_s_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
   INDEX* c_eigen_spmat_s_innerindexptr(struct c_spmat_s *m);
          ^
eigen_spmat_s.cpp:112:8: note: ‘c_eigen_spmat_s_innerindexptr’ was previously declared here
eigen_spmat_s.cpp:112:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:51:10: warning: type of ‘c_eigen_spmat_s_valueptr’ does not match original declaration [-Wlto-type-mismatch]
   float* c_eigen_spmat_s_valueptr(struct c_spmat_s *m, INDEX *l);
          ^
eigen_spmat_s.cpp:104:14: note: ‘c_eigen_spmat_s_valueptr’ was previously declared here
eigen_spmat_s.cpp:104:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:50:8: warning: type of ‘c_eigen_spmat_s_prune’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_prune(struct c_spmat_s *m, float ref, float eps);
        ^
eigen_spmat_s.cpp:99:6: note: ‘c_eigen_spmat_s_prune’ was previously declared here
eigen_spmat_s.cpp:99:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:49:8: warning: type of ‘c_eigen_spmat_s_reshape’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_reshape(struct c_spmat_s *m, INDEX rows, INDEX cols);
        ^
eigen_spmat_s.cpp:93:6: note: ‘c_eigen_spmat_s_reshape’ was previously declared here
eigen_spmat_s.cpp:93:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:48:8: warning: type of ‘c_eigen_spmat_s_uncompress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_uncompress(struct c_spmat_s *m);
        ^
eigen_spmat_s.cpp:88:6: note: ‘c_eigen_spmat_s_uncompress’ was previously declared here
eigen_spmat_s.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:47:8: warning: type of ‘c_eigen_spmat_s_compress’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_compress(struct c_spmat_s *m);
        ^
eigen_spmat_s.cpp:83:6: note: ‘c_eigen_spmat_s_compress’ was previously declared here
eigen_spmat_s.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:46:7: warning: type of ‘c_eigen_spmat_s_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
   int c_eigen_spmat_s_is_compressed(struct c_spmat_s *m);
       ^
eigen_spmat_s.cpp:78:5: note: ‘c_eigen_spmat_s_is_compressed’ was previously declared here
eigen_spmat_s.cpp:78:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:45:8: warning: type of ‘c_eigen_spmat_s_reset’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_reset(struct c_spmat_s *m);
        ^
eigen_spmat_s.cpp:73:6: note: ‘c_eigen_spmat_s_reset’ was previously declared here
eigen_spmat_s.cpp:73:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:44:8: warning: type of ‘c_eigen_spmat_s_insert’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_insert(struct c_spmat_s *m, INDEX i, INDEX j, float x);
        ^
eigen_spmat_s.cpp:68:6: note: ‘c_eigen_spmat_s_insert’ was previously declared here
eigen_spmat_s.cpp:68:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:43:8: warning: type of ‘c_eigen_spmat_s_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_set(struct c_spmat_s *m, INDEX i, INDEX j, float x);
        ^
eigen_spmat_s.cpp:63:6: note: ‘c_eigen_spmat_s_set’ was previously declared here
eigen_spmat_s.cpp:63:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:42:9: warning: type of ‘c_eigen_spmat_s_get’ does not match original declaration [-Wlto-type-mismatch]
   float c_eigen_spmat_s_get(struct c_spmat_s *m, INDEX i, INDEX j);
         ^
eigen_spmat_s.cpp:58:13: note: ‘c_eigen_spmat_s_get’ was previously declared here
eigen_spmat_s.cpp:58:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:41:9: warning: type of ‘c_eigen_spmat_s_nnz’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_s_nnz(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:53:7: note: ‘c_eigen_spmat_s_nnz’ was previously declared here
eigen_spmat_s.cpp:53:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:40:9: warning: type of ‘c_eigen_spmat_s_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_s_cols(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:48:7: note: ‘c_eigen_spmat_s_cols’ was previously declared here
eigen_spmat_s.cpp:48:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:39:9: warning: type of ‘c_eigen_spmat_s_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_spmat_s_rows(struct c_spmat_s *m);
         ^
eigen_spmat_s.cpp:43:7: note: ‘c_eigen_spmat_s_rows’ was previously declared here
eigen_spmat_s.cpp:43:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:38:21: warning: type of ‘c_eigen_spmat_s_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_eye(INDEX m);
                     ^
eigen_spmat_s.cpp:36:12: note: ‘c_eigen_spmat_s_eye’ was previously declared here
eigen_spmat_s.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:37:8: warning: type of ‘c_eigen_spmat_s_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_spmat_s_delete(struct c_spmat_s *m);
        ^
eigen_spmat_s.cpp:31:6: note: ‘c_eigen_spmat_s_delete’ was previously declared here
eigen_spmat_s.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:36:21: warning: type of ‘c_eigen_spmat_s_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_spmat_s* c_eigen_spmat_s_new(INDEX size, INDEX rows, INDEX cols);
                     ^
eigen_spmat_s.cpp:24:12: note: ‘c_eigen_spmat_s_new’ was previously declared here
eigen_spmat_s.cpp:24:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:131:21: warning: type of ‘c_eigen_dsmat_z_inv’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_inv(c_dsmat_z_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_z.cpp:167:12: note: ‘c_eigen_dsmat_z_inv’ was previously declared here
eigen_dsmat_z.cpp:167:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:130:8: warning: type of ‘c_eigen_dsmat_z_colwise_op’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_colwise_op(int, c_dsmat_z_elt*, INDEX, INDEX, c_dsmat_z_elt*);
        ^
eigen_dsmat_z.cpp:150:6: note: ‘c_eigen_dsmat_z_colwise_op’ was previously declared here
eigen_dsmat_z.cpp:150:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:129:8: warning: type of ‘c_eigen_dsmat_z_rowwise_op’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_rowwise_op(int, c_dsmat_z_elt*, INDEX, INDEX, c_dsmat_z_elt*);
        ^
eigen_dsmat_z.cpp:133:6: note: ‘c_eigen_dsmat_z_rowwise_op’ was previously declared here
eigen_dsmat_z.cpp:133:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:128:8: warning: type of ‘c_eigen_dsmat_z_swap_cols’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_swap_cols(c_dsmat_z_elt*, INDEX, INDEX, INDEX, INDEX);
        ^
eigen_dsmat_z.cpp:127:6: note: ‘c_eigen_dsmat_z_swap_cols’ was previously declared here
eigen_dsmat_z.cpp:127:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:127:8: warning: type of ‘c_eigen_dsmat_z_swap_rows’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_swap_rows(c_dsmat_z_elt*, INDEX, INDEX, INDEX, INDEX);
        ^
eigen_dsmat_z.cpp:121:6: note: ‘c_eigen_dsmat_z_swap_rows’ was previously declared here
eigen_dsmat_z.cpp:121:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:126:21: warning: type of ‘c_eigen_dsmat_z_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_transpose(c_dsmat_z_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_z.cpp:115:12: note: ‘c_eigen_dsmat_z_transpose’ was previously declared here
eigen_dsmat_z.cpp:115:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:125:21: warning: type of ‘c_eigen_dsmat_z_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_gemm(c_dsmat_z_elt*, INDEX, INDEX, c_dsmat_z_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_z.cpp:108:12: note: ‘c_eigen_dsmat_z_gemm’ was previously declared here
eigen_dsmat_z.cpp:108:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:123:8: warning: type of ‘c_eigen_dsmat_z_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_print(struct c_dsmat_z *m);
        ^
eigen_dsmat_z.cpp:101:6: note: ‘c_eigen_dsmat_z_print’ was previously declared here
eigen_dsmat_z.cpp:101:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:122:18: warning: type of ‘c_eigen_dsmat_z_data’ does not match original declaration [-Wlto-type-mismatch]
   c_dsmat_z_elt* c_eigen_dsmat_z_data(struct c_dsmat_z *m);
                  ^
eigen_dsmat_z.cpp:96:16: note: ‘c_eigen_dsmat_z_data’ was previously declared here
eigen_dsmat_z.cpp:96:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:121:8: warning: type of ‘c_eigen_dsmat_z_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_set(struct c_dsmat_z *m, INDEX i, INDEX j, c_dsmat_z_elt x);
        ^
eigen_dsmat_z.cpp:91:6: note: type mismatch in parameter 4
eigen_dsmat.h:19:35: note: type ‘struct c_dsmat_z_elt’ should match type ‘c_dsmat_z_elt’
lib/eigen_dsmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_dsmat_z_elt;
                           ^
eigen_dsmat_z.cpp:91:6: note: ‘c_eigen_dsmat_z_set’ was previously declared here
eigen_dsmat_z.cpp:91:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:120:17: warning: type of ‘c_eigen_dsmat_z_get’ does not match original declaration [-Wlto-type-mismatch]
   c_dsmat_z_elt c_eigen_dsmat_z_get(struct c_dsmat_z *m, INDEX i, INDEX j);
                 ^
eigen_dsmat_z.cpp:85:15: note: return value type mismatch
eigen_dsmat.h:19:35: note: type ‘struct c_dsmat_z_elt’ should match type ‘c_dsmat_z_elt’
lib/eigen_dsmat.h:28:27: note: the incompatible type is defined here
   typedef double _Complex c_dsmat_z_elt;
                           ^
eigen_dsmat_z.cpp:85:15: note: ‘c_eigen_dsmat_z_get’ was previously declared here
eigen_dsmat_z.cpp:85:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:119:9: warning: type of ‘c_eigen_dsmat_z_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_z_cols(struct c_dsmat_z *m);
         ^
eigen_dsmat_z.cpp:80:7: note: ‘c_eigen_dsmat_z_cols’ was previously declared here
eigen_dsmat_z.cpp:80:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:118:9: warning: type of ‘c_eigen_dsmat_z_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_z_rows(struct c_dsmat_z *m);
         ^
eigen_dsmat_z.cpp:75:7: note: ‘c_eigen_dsmat_z_rows’ was previously declared here
eigen_dsmat_z.cpp:75:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:117:21: warning: type of ‘c_eigen_dsmat_z_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_eye(INDEX m);
                     ^
eigen_dsmat_z.cpp:68:12: note: ‘c_eigen_dsmat_z_eye’ was previously declared here
eigen_dsmat_z.cpp:68:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:116:21: warning: type of ‘c_eigen_dsmat_z_ones’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_ones(INDEX m, INDEX n);
                     ^
eigen_dsmat_z.cpp:62:12: note: ‘c_eigen_dsmat_z_ones’ was previously declared here
eigen_dsmat_z.cpp:62:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:115:21: warning: type of ‘c_eigen_dsmat_z_zeros’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_zeros(INDEX m, INDEX n);
                     ^
eigen_dsmat_z.cpp:55:12: note: ‘c_eigen_dsmat_z_zeros’ was previously declared here
eigen_dsmat_z.cpp:55:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:114:8: warning: type of ‘c_eigen_dsmat_z_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_z_delete(struct c_dsmat_z *m);
        ^
eigen_dsmat_z.cpp:50:6: note: ‘c_eigen_dsmat_z_delete’ was previously declared here
eigen_dsmat_z.cpp:50:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:113:21: warning: type of ‘c_eigen_dsmat_z_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_z* c_eigen_dsmat_z_new(INDEX rows, INDEX cols);
                     ^
eigen_dsmat_z.cpp:45:12: note: ‘c_eigen_dsmat_z_new’ was previously declared here
eigen_dsmat_z.cpp:45:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:106:21: warning: type of ‘c_eigen_dsmat_c_inv’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_inv(c_dsmat_c_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_c.cpp:167:12: note: ‘c_eigen_dsmat_c_inv’ was previously declared here
eigen_dsmat_c.cpp:167:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:105:8: warning: type of ‘c_eigen_dsmat_c_colwise_op’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_colwise_op(int, c_dsmat_c_elt*, INDEX, INDEX, c_dsmat_c_elt*);
        ^
eigen_dsmat_c.cpp:150:6: note: ‘c_eigen_dsmat_c_colwise_op’ was previously declared here
eigen_dsmat_c.cpp:150:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:104:8: warning: type of ‘c_eigen_dsmat_c_rowwise_op’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_rowwise_op(int, c_dsmat_c_elt*, INDEX, INDEX, c_dsmat_c_elt*);
        ^
eigen_dsmat_c.cpp:133:6: note: ‘c_eigen_dsmat_c_rowwise_op’ was previously declared here
eigen_dsmat_c.cpp:133:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:103:8: warning: type of ‘c_eigen_dsmat_c_swap_cols’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_swap_cols(c_dsmat_c_elt*, INDEX, INDEX, INDEX, INDEX);
        ^
eigen_dsmat_c.cpp:127:6: note: ‘c_eigen_dsmat_c_swap_cols’ was previously declared here
eigen_dsmat_c.cpp:127:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:102:8: warning: type of ‘c_eigen_dsmat_c_swap_rows’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_swap_rows(c_dsmat_c_elt*, INDEX, INDEX, INDEX, INDEX);
        ^
eigen_dsmat_c.cpp:121:6: note: ‘c_eigen_dsmat_c_swap_rows’ was previously declared here
eigen_dsmat_c.cpp:121:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:101:21: warning: type of ‘c_eigen_dsmat_c_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_transpose(c_dsmat_c_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_c.cpp:115:12: note: ‘c_eigen_dsmat_c_transpose’ was previously declared here
eigen_dsmat_c.cpp:115:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:100:21: warning: type of ‘c_eigen_dsmat_c_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_gemm(c_dsmat_c_elt*, INDEX, INDEX, c_dsmat_c_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_c.cpp:108:12: note: ‘c_eigen_dsmat_c_gemm’ was previously declared here
eigen_dsmat_c.cpp:108:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:98:8: warning: type of ‘c_eigen_dsmat_c_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_print(struct c_dsmat_c *m);
        ^
eigen_dsmat_c.cpp:101:6: note: ‘c_eigen_dsmat_c_print’ was previously declared here
eigen_dsmat_c.cpp:101:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:97:18: warning: type of ‘c_eigen_dsmat_c_data’ does not match original declaration [-Wlto-type-mismatch]
   c_dsmat_c_elt* c_eigen_dsmat_c_data(struct c_dsmat_c *m);
                  ^
eigen_dsmat_c.cpp:96:16: note: ‘c_eigen_dsmat_c_data’ was previously declared here
eigen_dsmat_c.cpp:96:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:96:8: warning: type of ‘c_eigen_dsmat_c_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_set(struct c_dsmat_c *m, INDEX i, INDEX j, c_dsmat_c_elt x);
        ^
eigen_dsmat_c.cpp:91:6: note: type mismatch in parameter 4
eigen_dsmat.h:18:34: note: type ‘struct c_dsmat_c_elt’ should match type ‘c_dsmat_c_elt’
lib/eigen_dsmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_dsmat_c_elt;
                          ^
eigen_dsmat_c.cpp:91:6: note: ‘c_eigen_dsmat_c_set’ was previously declared here
eigen_dsmat_c.cpp:91:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:95:17: warning: type of ‘c_eigen_dsmat_c_get’ does not match original declaration [-Wlto-type-mismatch]
   c_dsmat_c_elt c_eigen_dsmat_c_get(struct c_dsmat_c *m, INDEX i, INDEX j);
                 ^
eigen_dsmat_c.cpp:85:15: note: return value type mismatch
eigen_dsmat.h:18:34: note: type ‘struct c_dsmat_c_elt’ should match type ‘c_dsmat_c_elt’
lib/eigen_dsmat.h:27:26: note: the incompatible type is defined here
   typedef float _Complex c_dsmat_c_elt;
                          ^
eigen_dsmat_c.cpp:85:15: note: ‘c_eigen_dsmat_c_get’ was previously declared here
eigen_dsmat_c.cpp:85:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:94:9: warning: type of ‘c_eigen_dsmat_c_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_c_cols(struct c_dsmat_c *m);
         ^
eigen_dsmat_c.cpp:80:7: note: ‘c_eigen_dsmat_c_cols’ was previously declared here
eigen_dsmat_c.cpp:80:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:93:9: warning: type of ‘c_eigen_dsmat_c_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_c_rows(struct c_dsmat_c *m);
         ^
eigen_dsmat_c.cpp:75:7: note: ‘c_eigen_dsmat_c_rows’ was previously declared here
eigen_dsmat_c.cpp:75:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:92:21: warning: type of ‘c_eigen_dsmat_c_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_eye(INDEX m);
                     ^
eigen_dsmat_c.cpp:68:12: note: ‘c_eigen_dsmat_c_eye’ was previously declared here
eigen_dsmat_c.cpp:68:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:91:21: warning: type of ‘c_eigen_dsmat_c_ones’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_ones(INDEX m, INDEX n);
                     ^
eigen_dsmat_c.cpp:62:12: note: ‘c_eigen_dsmat_c_ones’ was previously declared here
eigen_dsmat_c.cpp:62:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:90:21: warning: type of ‘c_eigen_dsmat_c_zeros’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_zeros(INDEX m, INDEX n);
                     ^
eigen_dsmat_c.cpp:55:12: note: ‘c_eigen_dsmat_c_zeros’ was previously declared here
eigen_dsmat_c.cpp:55:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:89:8: warning: type of ‘c_eigen_dsmat_c_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_c_delete(struct c_dsmat_c *m);
        ^
eigen_dsmat_c.cpp:50:6: note: ‘c_eigen_dsmat_c_delete’ was previously declared here
eigen_dsmat_c.cpp:50:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:88:21: warning: type of ‘c_eigen_dsmat_c_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_c* c_eigen_dsmat_c_new(INDEX rows, INDEX cols);
                     ^
eigen_dsmat_c.cpp:45:12: note: ‘c_eigen_dsmat_c_new’ was previously declared here
eigen_dsmat_c.cpp:45:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:81:21: warning: type of ‘c_eigen_dsmat_d_inv’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_inv(dsmat_d_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_d.cpp:147:12: note: ‘c_eigen_dsmat_d_inv’ was previously declared here
eigen_dsmat_d.cpp:147:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:76:21: warning: type of ‘c_eigen_dsmat_d_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_transpose(dsmat_d_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_d.cpp:95:12: note: ‘c_eigen_dsmat_d_transpose’ was previously declared here
eigen_dsmat_d.cpp:95:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:75:21: warning: type of ‘c_eigen_dsmat_d_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_gemm(dsmat_d_elt*, INDEX, INDEX, dsmat_d_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_d.cpp:88:12: note: ‘c_eigen_dsmat_d_gemm’ was previously declared here
eigen_dsmat_d.cpp:88:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:73:8: warning: type of ‘c_eigen_dsmat_d_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_d_print(struct c_dsmat_d *m);
        ^
eigen_dsmat_d.cpp:81:6: note: ‘c_eigen_dsmat_d_print’ was previously declared here
eigen_dsmat_d.cpp:81:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:72:16: warning: type of ‘c_eigen_dsmat_d_data’ does not match original declaration [-Wlto-type-mismatch]
   dsmat_d_elt* c_eigen_dsmat_d_data(struct c_dsmat_d *m);
                ^
eigen_dsmat_d.cpp:76:14: note: ‘c_eigen_dsmat_d_data’ was previously declared here
eigen_dsmat_d.cpp:76:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:71:8: warning: type of ‘c_eigen_dsmat_d_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_d_set(struct c_dsmat_d *m, INDEX i, INDEX j, dsmat_d_elt x);
        ^
eigen_dsmat_d.cpp:71:6: note: ‘c_eigen_dsmat_d_set’ was previously declared here
eigen_dsmat_d.cpp:71:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:70:15: warning: type of ‘c_eigen_dsmat_d_get’ does not match original declaration [-Wlto-type-mismatch]
   dsmat_d_elt c_eigen_dsmat_d_get(struct c_dsmat_d *m, INDEX i, INDEX j);
               ^
eigen_dsmat_d.cpp:66:13: note: ‘c_eigen_dsmat_d_get’ was previously declared here
eigen_dsmat_d.cpp:66:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:69:9: warning: type of ‘c_eigen_dsmat_d_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_d_cols(struct c_dsmat_d *m);
         ^
eigen_dsmat_d.cpp:61:7: note: ‘c_eigen_dsmat_d_cols’ was previously declared here
eigen_dsmat_d.cpp:61:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:68:9: warning: type of ‘c_eigen_dsmat_d_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_d_rows(struct c_dsmat_d *m);
         ^
eigen_dsmat_d.cpp:56:7: note: ‘c_eigen_dsmat_d_rows’ was previously declared here
eigen_dsmat_d.cpp:56:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:67:21: warning: type of ‘c_eigen_dsmat_d_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_eye(INDEX m);
                     ^
eigen_dsmat_d.cpp:49:12: note: ‘c_eigen_dsmat_d_eye’ was previously declared here
eigen_dsmat_d.cpp:49:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:66:21: warning: type of ‘c_eigen_dsmat_d_ones’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_ones(INDEX m, INDEX n);
                     ^
eigen_dsmat_d.cpp:43:12: note: ‘c_eigen_dsmat_d_ones’ was previously declared here
eigen_dsmat_d.cpp:43:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:65:21: warning: type of ‘c_eigen_dsmat_d_zeros’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_zeros(INDEX m, INDEX n);
                     ^
eigen_dsmat_d.cpp:36:12: note: ‘c_eigen_dsmat_d_zeros’ was previously declared here
eigen_dsmat_d.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:64:8: warning: type of ‘c_eigen_dsmat_d_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_d_delete(struct c_dsmat_d *m);
        ^
eigen_dsmat_d.cpp:31:6: note: ‘c_eigen_dsmat_d_delete’ was previously declared here
eigen_dsmat_d.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:63:21: warning: type of ‘c_eigen_dsmat_d_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_d* c_eigen_dsmat_d_new(INDEX rows, INDEX cols);
                     ^
eigen_dsmat_d.cpp:26:12: note: ‘c_eigen_dsmat_d_new’ was previously declared here
eigen_dsmat_d.cpp:26:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:56:21: warning: type of ‘c_eigen_dsmat_s_inv’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_inv(dsmat_s_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_s.cpp:159:12: note: ‘c_eigen_dsmat_s_inv’ was previously declared here
eigen_dsmat_s.cpp:159:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:51:21: warning: type of ‘c_eigen_dsmat_s_transpose’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_transpose(dsmat_s_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_s.cpp:109:12: note: ‘c_eigen_dsmat_s_transpose’ was previously declared here
eigen_dsmat_s.cpp:109:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:50:21: warning: type of ‘c_eigen_dsmat_s_gemm’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_gemm(dsmat_s_elt*, INDEX, INDEX, dsmat_s_elt*, INDEX, INDEX);
                     ^
eigen_dsmat_s.cpp:102:12: note: ‘c_eigen_dsmat_s_gemm’ was previously declared here
eigen_dsmat_s.cpp:102:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:48:8: warning: type of ‘c_eigen_dsmat_s_print’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_s_print(struct c_dsmat_s *m);
        ^
eigen_dsmat_s.cpp:95:6: note: ‘c_eigen_dsmat_s_print’ was previously declared here
eigen_dsmat_s.cpp:95:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:47:8: warning: type of ‘c_eigen_dsmat_s_of_bigarray2’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_s_of_bigarray2(struct c_dsmat_s *x, dsmat_s_elt* y, INDEX m, INDEX n);
        ^
eigen_dsmat_s.cpp:89:6: note: ‘c_eigen_dsmat_s_of_bigarray2’ was previously declared here
eigen_dsmat_s.cpp:89:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:46:21: warning: type of ‘c_eigen_dsmat_s_of_bigarray’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_of_bigarray(dsmat_s_elt* x, INDEX m, INDEX n);
                     ^
eigen_dsmat_s.cpp:82:12: note: ‘c_eigen_dsmat_s_of_bigarray’ was previously declared here
eigen_dsmat_s.cpp:82:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:45:16: warning: type of ‘c_eigen_dsmat_s_data’ does not match original declaration [-Wlto-type-mismatch]
   dsmat_s_elt* c_eigen_dsmat_s_data(struct c_dsmat_s *m);
                ^
eigen_dsmat_s.cpp:76:14: note: ‘c_eigen_dsmat_s_data’ was previously declared here
eigen_dsmat_s.cpp:76:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:44:8: warning: type of ‘c_eigen_dsmat_s_set’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_s_set(struct c_dsmat_s *m, INDEX i, INDEX j, dsmat_s_elt x);
        ^
eigen_dsmat_s.cpp:71:6: note: ‘c_eigen_dsmat_s_set’ was previously declared here
eigen_dsmat_s.cpp:71:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:43:15: warning: type of ‘c_eigen_dsmat_s_get’ does not match original declaration [-Wlto-type-mismatch]
   dsmat_s_elt c_eigen_dsmat_s_get(struct c_dsmat_s *m, INDEX i, INDEX j);
               ^
eigen_dsmat_s.cpp:66:13: note: ‘c_eigen_dsmat_s_get’ was previously declared here
eigen_dsmat_s.cpp:66:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:42:9: warning: type of ‘c_eigen_dsmat_s_cols’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_s_cols(struct c_dsmat_s *m);
         ^
eigen_dsmat_s.cpp:61:7: note: ‘c_eigen_dsmat_s_cols’ was previously declared here
eigen_dsmat_s.cpp:61:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:41:9: warning: type of ‘c_eigen_dsmat_s_rows’ does not match original declaration [-Wlto-type-mismatch]
   INDEX c_eigen_dsmat_s_rows(struct c_dsmat_s *m);
         ^
eigen_dsmat_s.cpp:56:7: note: ‘c_eigen_dsmat_s_rows’ was previously declared here
eigen_dsmat_s.cpp:56:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:40:21: warning: type of ‘c_eigen_dsmat_s_eye’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_eye(INDEX m);
                     ^
eigen_dsmat_s.cpp:49:12: note: ‘c_eigen_dsmat_s_eye’ was previously declared here
eigen_dsmat_s.cpp:49:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:39:21: warning: type of ‘c_eigen_dsmat_s_ones’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_ones(INDEX m, INDEX n);
                     ^
eigen_dsmat_s.cpp:43:12: note: ‘c_eigen_dsmat_s_ones’ was previously declared here
eigen_dsmat_s.cpp:43:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:38:21: warning: type of ‘c_eigen_dsmat_s_zeros’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_zeros(INDEX m, INDEX n);
                     ^
eigen_dsmat_s.cpp:36:12: note: ‘c_eigen_dsmat_s_zeros’ was previously declared here
eigen_dsmat_s.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:37:8: warning: type of ‘c_eigen_dsmat_s_delete’ does not match original declaration [-Wlto-type-mismatch]
   void c_eigen_dsmat_s_delete(struct c_dsmat_s *m);
        ^
eigen_dsmat_s.cpp:31:6: note: ‘c_eigen_dsmat_s_delete’ was previously declared here
eigen_dsmat_s.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:36:21: warning: type of ‘c_eigen_dsmat_s_new’ does not match original declaration [-Wlto-type-mismatch]
   struct c_dsmat_s* c_eigen_dsmat_s_new(INDEX rows, INDEX cols);
                     ^
eigen_dsmat_s.cpp:26:12: note: ‘c_eigen_dsmat_s_new’ was previously declared here
eigen_dsmat_s.cpp:26:12: note: code may be misoptimized unless -fno-strict-aliasing is used
In member function ‘__base_ctor ’,
    inlined from ‘reallocate’ at ./Eigen/src/SparseCore/CompressedStorage.h:234:38:
./Eigen/src/Core/util/Memory.h:589:13: warning: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
./Eigen/src/Core/util/Memory.h: In member function ‘reallocate’:
/usr/include/c++/7/new:122:7: note: in a call to allocation function ‘operator new []’ declared here
 void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
       ^
Finished, 53 targets (0 cached) in 00:07:42.
Phew ... it is done!
make: Leaving directory '/root/eigen'
make: Entering directory '/root/eigen'
ocaml setup.ml -uninstall
ocaml setup.ml -install
Installed /root/.opam/default/lib/eigen/eigen.ml
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.ml
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.ml
Installed /root/.opam/default/lib/eigen/eigen_types.ml
Installed /root/.opam/default/lib/eigen/eigen_utils.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.ml
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.ml
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.ml
Installed /root/.opam/default/lib/eigen/libeigen_stubs.a
Installed /root/.opam/default/lib/eigen/eigen.cma
Installed /root/.opam/default/lib/eigen/eigen.cmxa
Installed /root/.opam/default/lib/eigen/eigen.a
Installed /root/.opam/default/lib/eigen/eigen.cmxs
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.cmi
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.cmt
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.annot
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.cmi
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.cmt
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.annot
Installed /root/.opam/default/lib/eigen/eigen_utils.cmi
Installed /root/.opam/default/lib/eigen/eigen_utils.cmt
Installed /root/.opam/default/lib/eigen/eigen_utils.annot
Installed /root/.opam/default/lib/eigen/eigen_types.cmi
Installed /root/.opam/default/lib/eigen/eigen_types.cmt
Installed /root/.opam/default/lib/eigen/eigen_types.annot
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.cmi
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.cmt
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.annot
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.cmi
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.cmt
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.annot
Installed /root/.opam/default/lib/eigen/eigen.cmi
Installed /root/.opam/default/lib/eigen/eigen.cmt
Installed /root/.opam/default/lib/eigen/eigen.annot
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.cmx
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.cmx
Installed /root/.opam/default/lib/eigen/eigen_utils.cmx
Installed /root/.opam/default/lib/eigen/eigen_types.cmx
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.cmx
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.cmx
Installed /root/.opam/default/lib/eigen/eigen.cmx
Installed /root/.opam/default/lib/stublibs/dlleigen_stubs.so
Installed /root/.opam/default/lib/stublibs/dlleigen_stubs.so.owner
ocamlfind: [WARNING] You have installed DLLs but the directory /root/.opam/default/lib/stublibs is not mentioned in ld.conf
Installed /root/.opam/default/lib/eigen/META
make: Leaving directory '/root/eigen'
root@cub:~#
root@cub:~# export LD_LIBRARY_PATH=/root/.opam/default/lib/stublibs
root@cub:~# cp $EIGENPATH/_build/include/libeigen.a /usr/local/lib/
root@cub:~# OWLPATH=/root/owl
root@cub:~#
root@cub:~# cd $OWLPATH \
>     && eval `opam config env ` \
>     && make && make install
[WARNING] Running as root is not recommended

dune external-lib-deps --missing @install @runtest
dune build @install
      ocamlc bin/owl_bin_zoo.bc (exit 2)
(cd _build/default && /root/.opam/default/bin/ocamlc.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -o bin/owl_bin_zoo.bc -linkall -I /root/.opam/default/lib/bytes -I /root/.opam/default/lib/ctypes -I /root/.opam/default/lib/eigen -I /root/.opam/default/lib/integers -I /root/.opam/default/lib/ocaml-compiler-libs/toplevel -I /root/.opam/default/lib/ocaml/compiler-libs -I /root/.opam/default/lib/plplot -I src/base -I src/owl -I src/zoo /root/.opam/default/lib/ocaml/unix.cma /root/.opam/default/lib/ocaml/bigarray.cma /root/.opam/default/lib/integers/integers.cma /root/.opam/default/lib/ctypes/ctypes.cma /root/.opam/default/lib/ocaml/str.cma /root/.opam/default/lib/ctypes/cstubs.cma /root/.opam/default/lib/eigen/eigen.cma src/base/owl_base.cma /root/.opam/default/lib/plplot/plplot.cma src/owl/owl.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamlcommon.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamlbytecomp.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamltoplevel.cma /root/.opam/default/lib/ocaml-compiler-libs/toplevel/ocaml_toplevel.cma src/zoo/owl_zoo.cma bin/.owl_bin_zoo.eobjs/owl_bin_zoo.cmo)
File "_none_", line 1:
Error: Error on dynamically loaded library: ./src/owl/dllowl_stubs.so: ./src/owl/dllowl_stubs.so: undefined symbol: LAPACKE_dlagsy
    ocamlopt bin/owl_bin_viz.exe (exit 2)
(cd _build/default && /root/.opam/default/bin/ocamlopt.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -o bin/owl_bin_viz.exe -linkall -I /root/.opam/default/lib/bytes -I /root/.opam/default/lib/ctypes -I /root/.opam/default/lib/eigen -I /root/.opam/default/lib/integers -I /root/.opam/default/lib/plplot -I src/base -I src/owl /root/.opam/default/lib/ocaml/unix.cmxa /root/.opam/default/lib/ocaml/bigarray.cmxa /root/.opam/default/lib/integers/integers.cmxa /root/.opam/default/lib/ctypes/ctypes.cmxa /root/.opam/default/lib/ocaml/str.cmxa /root/.opam/default/lib/ctypes/cstubs.cmxa /root/.opam/default/lib/eigen/eigen.cmxa src/base/owl_base.cmxa /root/.opam/default/lib/plplot/plplot.cmxa src/owl/owl.cmxa bin/.owl_bin_viz.eobjs/owl_bin_viz.cmx)
lib/eigen_spmat.h:259:8: warning: type of ‘c_eigen_spmat_z_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:443:6: note: ‘c_eigen_spmat_z_print’ was previously declared here
eigen_spmat_z.cpp:443:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:258:21: warning: type of ‘c_eigen_spmat_z_sqrt’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:437:12: note: ‘c_eigen_spmat_z_sqrt’ was previously declared here
eigen_spmat_z.cpp:437:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:257:21: warning: type of ‘c_eigen_spmat_z_neg’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:428:12: note: ‘c_eigen_spmat_z_neg’ was previously declared here
eigen_spmat_z.cpp:428:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:256:17: warning: type of ‘c_eigen_spmat_z_sum’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:386:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:386:15: note: ‘c_eigen_spmat_z_sum’ was previously declared here
eigen_spmat_z.cpp:386:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:255:21: warning: type of ‘c_eigen_spmat_z_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:376:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:376:12: note: ‘c_eigen_spmat_z_div_scalar’ was previously declared here
eigen_spmat_z.cpp:376:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:254:21: warning: type of ‘c_eigen_spmat_z_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:369:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:369:12: note: ‘c_eigen_spmat_z_mul_scalar’ was previously declared here
eigen_spmat_z.cpp:369:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:253:21: warning: type of ‘c_eigen_spmat_z_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:359:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:359:12: note: ‘c_eigen_spmat_z_sub_scalar’ was previously declared here
eigen_spmat_z.cpp:359:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:252:21: warning: type of ‘c_eigen_spmat_z_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:349:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:349:12: note: ‘c_eigen_spmat_z_add_scalar’ was previously declared here
eigen_spmat_z.cpp:349:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:251:21: warning: type of ‘c_eigen_spmat_z_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:342:12: note: ‘c_eigen_spmat_z_gemm’ was previously declared here
eigen_spmat_z.cpp:342:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:250:21: warning: type of ‘c_eigen_spmat_z_div’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:335:12: note: ‘c_eigen_spmat_z_div’ was previously declared here
eigen_spmat_z.cpp:335:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:249:21: warning: type of ‘c_eigen_spmat_z_mul’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:328:12: note: ‘c_eigen_spmat_z_mul’ was previously declared here
eigen_spmat_z.cpp:328:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:248:21: warning: type of ‘c_eigen_spmat_z_sub’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:321:12: note: ‘c_eigen_spmat_z_sub’ was previously declared here
eigen_spmat_z.cpp:321:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:247:21: warning: type of ‘c_eigen_spmat_z_add’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:314:12: note: ‘c_eigen_spmat_z_add’ was previously declared here
eigen_spmat_z.cpp:314:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:246:7: warning: type of ‘c_eigen_spmat_z_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:308:5: note: ‘c_eigen_spmat_z_equal_or_smaller’ was previously declared here
eigen_spmat_z.cpp:308:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:245:7: warning: type of ‘c_eigen_spmat_z_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:302:5: note: ‘c_eigen_spmat_z_equal_or_greater’ was previously declared here
eigen_spmat_z.cpp:302:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:244:7: warning: type of ‘c_eigen_spmat_z_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:296:5: note: ‘c_eigen_spmat_z_is_smaller’ was previously declared here
eigen_spmat_z.cpp:296:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:243:7: warning: type of ‘c_eigen_spmat_z_is_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:290:5: note: ‘c_eigen_spmat_z_is_greater’ was previously declared here
eigen_spmat_z.cpp:290:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:242:7: warning: type of ‘c_eigen_spmat_z_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:283:5: note: ‘c_eigen_spmat_z_is_unequal’ was previously declared here
eigen_spmat_z.cpp:283:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:241:7: warning: type of ‘c_eigen_spmat_z_is_equal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:276:5: note: ‘c_eigen_spmat_z_is_equal’ was previously declared here
eigen_spmat_z.cpp:276:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:240:7: warning: type of ‘c_eigen_spmat_z_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:259:5: note: ‘c_eigen_spmat_z_is_nonnegative’ was previously declared here
eigen_spmat_z.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:239:7: warning: type of ‘c_eigen_spmat_z_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:242:5: note: ‘c_eigen_spmat_z_is_nonpositive’ was previously declared here
eigen_spmat_z.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:238:7: warning: type of ‘c_eigen_spmat_z_is_negative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:222:5: note: ‘c_eigen_spmat_z_is_negative’ was previously declared here
eigen_spmat_z.cpp:222:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:237:7: warning: type of ‘c_eigen_spmat_z_is_positive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:202:5: note: ‘c_eigen_spmat_z_is_positive’ was previously declared here
eigen_spmat_z.cpp:202:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:236:7: warning: type of ‘c_eigen_spmat_z_is_zero’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:184:5: note: ‘c_eigen_spmat_z_is_zero’ was previously declared here
eigen_spmat_z.cpp:184:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:235:17: warning: type of ‘c_eigen_spmat_z_trace’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:178:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:178:15: note: ‘c_eigen_spmat_z_trace’ was previously declared here
eigen_spmat_z.cpp:178:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:234:21: warning: type of ‘c_eigen_spmat_z_diagonal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:172:12: note: ‘c_eigen_spmat_z_diagonal’ was previously declared here
eigen_spmat_z.cpp:172:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:233:21: warning: type of ‘c_eigen_spmat_z_adjoint’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:166:12: note: ‘c_eigen_spmat_z_adjoint’ was previously declared here
eigen_spmat_z.cpp:166:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:232:21: warning: type of ‘c_eigen_spmat_z_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:160:12: note: ‘c_eigen_spmat_z_transpose’ was previously declared here
eigen_spmat_z.cpp:160:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:231:21: warning: type of ‘c_eigen_spmat_z_col’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:154:12: note: ‘c_eigen_spmat_z_col’ was previously declared here
eigen_spmat_z.cpp:154:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:230:21: warning: type of ‘c_eigen_spmat_z_row’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:148:12: note: ‘c_eigen_spmat_z_row’ was previously declared here
eigen_spmat_z.cpp:148:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:229:21: warning: type of ‘c_eigen_spmat_z_clone’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:142:12: note: ‘c_eigen_spmat_z_clone’ was previously declared here
eigen_spmat_z.cpp:142:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:228:10: warning: type of ‘c_eigen_spmat_z_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:135:8: note: ‘c_eigen_spmat_z_outerindexptr’ was previously declared here
eigen_spmat_z.cpp:135:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:227:10: warning: type of ‘c_eigen_spmat_z_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:128:8: note: ‘c_eigen_spmat_z_innerindexptr’ was previously declared here
eigen_spmat_z.cpp:128:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:226:18: warning: type of ‘c_eigen_spmat_z_valueptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:120:16: note: ‘c_eigen_spmat_z_valueptr’ was previously declared here
eigen_spmat_z.cpp:120:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:225:8: warning: type of ‘c_eigen_spmat_z_prune’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:114:6: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:114:6: note: ‘c_eigen_spmat_z_prune’ was previously declared here
eigen_spmat_z.cpp:114:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:224:8: warning: type of ‘c_eigen_spmat_z_reshape’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:108:6: note: ‘c_eigen_spmat_z_reshape’ was previously declared here
eigen_spmat_z.cpp:108:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:223:8: warning: type of ‘c_eigen_spmat_z_uncompress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:103:6: note: ‘c_eigen_spmat_z_uncompress’ was previously declared here
eigen_spmat_z.cpp:103:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:222:8: warning: type of ‘c_eigen_spmat_z_compress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:98:6: note: ‘c_eigen_spmat_z_compress’ was previously declared here
eigen_spmat_z.cpp:98:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:221:7: warning: type of ‘c_eigen_spmat_z_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:93:5: note: ‘c_eigen_spmat_z_is_compressed’ was previously declared here
eigen_spmat_z.cpp:93:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:220:8: warning: type of ‘c_eigen_spmat_z_reset’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:88:6: note: ‘c_eigen_spmat_z_reset’ was previously declared here
eigen_spmat_z.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:219:8: warning: type of ‘c_eigen_spmat_z_insert’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:83:6: note: type mismatch in parameter 4
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:83:6: note: ‘c_eigen_spmat_z_insert’ was previously declared here
eigen_spmat_z.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:218:8: warning: type of ‘c_eigen_spmat_z_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:78:6: note: type mismatch in parameter 4
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:78:6: note: ‘c_eigen_spmat_z_set’ was previously declared here
eigen_spmat_z.cpp:78:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:217:17: warning: type of ‘c_eigen_spmat_z_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:72:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:72:15: note: ‘c_eigen_spmat_z_get’ was previously declared here
eigen_spmat_z.cpp:72:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:216:9: warning: type of ‘c_eigen_spmat_z_nnz’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:67:7: note: ‘c_eigen_spmat_z_nnz’ was previously declared here
eigen_spmat_z.cpp:67:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:215:9: warning: type of ‘c_eigen_spmat_z_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:62:7: note: ‘c_eigen_spmat_z_cols’ was previously declared here
eigen_spmat_z.cpp:62:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:214:9: warning: type of ‘c_eigen_spmat_z_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:57:7: note: ‘c_eigen_spmat_z_rows’ was previously declared here
eigen_spmat_z.cpp:57:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:213:21: warning: type of ‘c_eigen_spmat_z_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:50:12: note: ‘c_eigen_spmat_z_eye’ was previously declared here
eigen_spmat_z.cpp:50:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:212:8: warning: type of ‘c_eigen_spmat_z_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:45:6: note: ‘c_eigen_spmat_z_delete’ was previously declared here
eigen_spmat_z.cpp:45:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:211:21: warning: type of ‘c_eigen_spmat_z_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:38:12: note: ‘c_eigen_spmat_z_new’ was previously declared here
eigen_spmat_z.cpp:38:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:204:8: warning: type of ‘c_eigen_spmat_c_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:443:6: note: ‘c_eigen_spmat_c_print’ was previously declared here
eigen_spmat_c.cpp:443:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:203:21: warning: type of ‘c_eigen_spmat_c_sqrt’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:437:12: note: ‘c_eigen_spmat_c_sqrt’ was previously declared here
eigen_spmat_c.cpp:437:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:202:21: warning: type of ‘c_eigen_spmat_c_neg’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:428:12: note: ‘c_eigen_spmat_c_neg’ was previously declared here
eigen_spmat_c.cpp:428:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:201:17: warning: type of ‘c_eigen_spmat_c_sum’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:386:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:386:15: note: ‘c_eigen_spmat_c_sum’ was previously declared here
eigen_spmat_c.cpp:386:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:200:21: warning: type of ‘c_eigen_spmat_c_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:376:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:376:12: note: ‘c_eigen_spmat_c_div_scalar’ was previously declared here
eigen_spmat_c.cpp:376:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:199:21: warning: type of ‘c_eigen_spmat_c_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:369:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:369:12: note: ‘c_eigen_spmat_c_mul_scalar’ was previously declared here
eigen_spmat_c.cpp:369:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:198:21: warning: type of ‘c_eigen_spmat_c_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:359:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:359:12: note: ‘c_eigen_spmat_c_sub_scalar’ was previously declared here
eigen_spmat_c.cpp:359:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:197:21: warning: type of ‘c_eigen_spmat_c_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:349:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:349:12: note: ‘c_eigen_spmat_c_add_scalar’ was previously declared here
eigen_spmat_c.cpp:349:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:196:21: warning: type of ‘c_eigen_spmat_c_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:342:12: note: ‘c_eigen_spmat_c_gemm’ was previously declared here
eigen_spmat_c.cpp:342:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:195:21: warning: type of ‘c_eigen_spmat_c_div’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:335:12: note: ‘c_eigen_spmat_c_div’ was previously declared here
eigen_spmat_c.cpp:335:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:194:21: warning: type of ‘c_eigen_spmat_c_mul’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:328:12: note: ‘c_eigen_spmat_c_mul’ was previously declared here
eigen_spmat_c.cpp:328:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:193:21: warning: type of ‘c_eigen_spmat_c_sub’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:321:12: note: ‘c_eigen_spmat_c_sub’ was previously declared here
eigen_spmat_c.cpp:321:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:192:21: warning: type of ‘c_eigen_spmat_c_add’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:314:12: note: ‘c_eigen_spmat_c_add’ was previously declared here
eigen_spmat_c.cpp:314:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:191:7: warning: type of ‘c_eigen_spmat_c_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:308:5: note: ‘c_eigen_spmat_c_equal_or_smaller’ was previously declared here
eigen_spmat_c.cpp:308:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:190:7: warning: type of ‘c_eigen_spmat_c_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:302:5: note: ‘c_eigen_spmat_c_equal_or_greater’ was previously declared here
eigen_spmat_c.cpp:302:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:189:7: warning: type of ‘c_eigen_spmat_c_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:296:5: note: ‘c_eigen_spmat_c_is_smaller’ was previously declared here
eigen_spmat_c.cpp:296:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:188:7: warning: type of ‘c_eigen_spmat_c_is_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:290:5: note: ‘c_eigen_spmat_c_is_greater’ was previously declared here
eigen_spmat_c.cpp:290:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:187:7: warning: type of ‘c_eigen_spmat_c_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:283:5: note: ‘c_eigen_spmat_c_is_unequal’ was previously declared here
eigen_spmat_c.cpp:283:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:186:7: warning: type of ‘c_eigen_spmat_c_is_equal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:276:5: note: ‘c_eigen_spmat_c_is_equal’ was previously declared here
eigen_spmat_c.cpp:276:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:185:7: warning: type of ‘c_eigen_spmat_c_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:259:5: note: ‘c_eigen_spmat_c_is_nonnegative’ was previously declared here
eigen_spmat_c.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:184:7: warning: type of ‘c_eigen_spmat_c_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:242:5: note: ‘c_eigen_spmat_c_is_nonpositive’ was previously declared here
eigen_spmat_c.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:183:7: warning: type of ‘c_eigen_spmat_c_is_negative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:222:5: note: ‘c_eigen_spmat_c_is_negative’ was previously declared here
eigen_spmat_c.cpp:222:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:182:7: warning: type of ‘c_eigen_spmat_c_is_positive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:202:5: note: ‘c_eigen_spmat_c_is_positive’ was previously declared here
eigen_spmat_c.cpp:202:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:181:7: warning: type of ‘c_eigen_spmat_c_is_zero’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:184:5: note: ‘c_eigen_spmat_c_is_zero’ was previously declared here
eigen_spmat_c.cpp:184:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:180:17: warning: type of ‘c_eigen_spmat_c_trace’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:178:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:178:15: note: ‘c_eigen_spmat_c_trace’ was previously declared here
eigen_spmat_c.cpp:178:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:179:21: warning: type of ‘c_eigen_spmat_c_diagonal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:172:12: note: ‘c_eigen_spmat_c_diagonal’ was previously declared here
eigen_spmat_c.cpp:172:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:178:21: warning: type of ‘c_eigen_spmat_c_adjoint’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:166:12: note: ‘c_eigen_spmat_c_adjoint’ was previously declared here
eigen_spmat_c.cpp:166:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:177:21: warning: type of ‘c_eigen_spmat_c_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:160:12: note: ‘c_eigen_spmat_c_transpose’ was previously declared here
eigen_spmat_c.cpp:160:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:176:21: warning: type of ‘c_eigen_spmat_c_col’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:154:12: note: ‘c_eigen_spmat_c_col’ was previously declared here
eigen_spmat_c.cpp:154:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:175:21: warning: type of ‘c_eigen_spmat_c_row’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:148:12: note: ‘c_eigen_spmat_c_row’ was previously declared here
eigen_spmat_c.cpp:148:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:174:21: warning: type of ‘c_eigen_spmat_c_clone’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:142:12: note: ‘c_eigen_spmat_c_clone’ was previously declared here
eigen_spmat_c.cpp:142:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:173:10: warning: type of ‘c_eigen_spmat_c_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:135:8: note: ‘c_eigen_spmat_c_outerindexptr’ was previously declared here
eigen_spmat_c.cpp:135:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:172:10: warning: type of ‘c_eigen_spmat_c_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:128:8: note: ‘c_eigen_spmat_c_innerindexptr’ was previously declared here
eigen_spmat_c.cpp:128:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:171:18: warning: type of ‘c_eigen_spmat_c_valueptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:120:16: note: ‘c_eigen_spmat_c_valueptr’ was previously declared here
eigen_spmat_c.cpp:120:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:170:8: warning: type of ‘c_eigen_spmat_c_prune’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:114:6: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:114:6: note: ‘c_eigen_spmat_c_prune’ was previously declared here
eigen_spmat_c.cpp:114:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:169:8: warning: type of ‘c_eigen_spmat_c_reshape’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:108:6: note: ‘c_eigen_spmat_c_reshape’ was previously declared here
eigen_spmat_c.cpp:108:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:168:8: warning: type of ‘c_eigen_spmat_c_uncompress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:103:6: note: ‘c_eigen_spmat_c_uncompress’ was previously declared here
eigen_spmat_c.cpp:103:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:167:8: warning: type of ‘c_eigen_spmat_c_compress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:98:6: note: ‘c_eigen_spmat_c_compress’ was previously declared here
eigen_spmat_c.cpp:98:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:166:7: warning: type of ‘c_eigen_spmat_c_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:93:5: note: ‘c_eigen_spmat_c_is_compressed’ was previously declared here
eigen_spmat_c.cpp:93:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:165:8: warning: type of ‘c_eigen_spmat_c_reset’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:88:6: note: ‘c_eigen_spmat_c_reset’ was previously declared here
eigen_spmat_c.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:164:8: warning: type of ‘c_eigen_spmat_c_insert’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:83:6: note: type mismatch in parameter 4
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:83:6: note: ‘c_eigen_spmat_c_insert’ was previously declared here
eigen_spmat_c.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:163:8: warning: type of ‘c_eigen_spmat_c_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:78:6: note: type mismatch in parameter 4
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:78:6: note: ‘c_eigen_spmat_c_set’ was previously declared here
eigen_spmat_c.cpp:78:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:162:17: warning: type of ‘c_eigen_spmat_c_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:72:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:72:15: note: ‘c_eigen_spmat_c_get’ was previously declared here
eigen_spmat_c.cpp:72:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:161:9: warning: type of ‘c_eigen_spmat_c_nnz’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:67:7: note: ‘c_eigen_spmat_c_nnz’ was previously declared here
eigen_spmat_c.cpp:67:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:160:9: warning: type of ‘c_eigen_spmat_c_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:62:7: note: ‘c_eigen_spmat_c_cols’ was previously declared here
eigen_spmat_c.cpp:62:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:159:9: warning: type of ‘c_eigen_spmat_c_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:57:7: note: ‘c_eigen_spmat_c_rows’ was previously declared here
eigen_spmat_c.cpp:57:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:158:21: warning: type of ‘c_eigen_spmat_c_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:50:12: note: ‘c_eigen_spmat_c_eye’ was previously declared here
eigen_spmat_c.cpp:50:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:157:8: warning: type of ‘c_eigen_spmat_c_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:45:6: note: ‘c_eigen_spmat_c_delete’ was previously declared here
eigen_spmat_c.cpp:45:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:156:21: warning: type of ‘c_eigen_spmat_c_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:38:12: note: ‘c_eigen_spmat_c_new’ was previously declared here
eigen_spmat_c.cpp:38:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:149:8: warning: type of ‘c_eigen_spmat_d_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:435:6: note: ‘c_eigen_spmat_d_print’ was previously declared here
eigen_spmat_d.cpp:435:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:148:21: warning: type of ‘c_eigen_spmat_d_sqrt’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:429:12: note: ‘c_eigen_spmat_d_sqrt’ was previously declared here
eigen_spmat_d.cpp:429:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:147:21: warning: type of ‘c_eigen_spmat_d_neg’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:420:12: note: ‘c_eigen_spmat_d_neg’ was previously declared here
eigen_spmat_d.cpp:420:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:146:21: warning: type of ‘c_eigen_spmat_d_abs’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:414:12: note: ‘c_eigen_spmat_d_abs’ was previously declared here
eigen_spmat_d.cpp:414:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:145:10: warning: type of ‘c_eigen_spmat_d_max’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:399:13: note: ‘c_eigen_spmat_d_max’ was previously declared here
eigen_spmat_d.cpp:399:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:144:10: warning: type of ‘c_eigen_spmat_d_min’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:384:13: note: ‘c_eigen_spmat_d_min’ was previously declared here
eigen_spmat_d.cpp:384:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:143:10: warning: type of ‘c_eigen_spmat_d_sum’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:379:13: note: ‘c_eigen_spmat_d_sum’ was previously declared here
eigen_spmat_d.cpp:379:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:142:21: warning: type of ‘c_eigen_spmat_d_max2’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:372:12: note: ‘c_eigen_spmat_d_max2’ was previously declared here
eigen_spmat_d.cpp:372:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:141:21: warning: type of ‘c_eigen_spmat_d_min2’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:365:12: note: ‘c_eigen_spmat_d_min2’ was previously declared here
eigen_spmat_d.cpp:365:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:140:21: warning: type of ‘c_eigen_spmat_d_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:356:12: note: ‘c_eigen_spmat_d_div_scalar’ was previously declared here
eigen_spmat_d.cpp:356:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:139:21: warning: type of ‘c_eigen_spmat_d_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:350:12: note: ‘c_eigen_spmat_d_mul_scalar’ was previously declared here
eigen_spmat_d.cpp:350:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:138:21: warning: type of ‘c_eigen_spmat_d_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:341:12: note: ‘c_eigen_spmat_d_sub_scalar’ was previously declared here
eigen_spmat_d.cpp:341:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:137:21: warning: type of ‘c_eigen_spmat_d_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:332:12: note: ‘c_eigen_spmat_d_add_scalar’ was previously declared here
eigen_spmat_d.cpp:332:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:136:21: warning: type of ‘c_eigen_spmat_d_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:325:12: note: ‘c_eigen_spmat_d_gemm’ was previously declared here
eigen_spmat_d.cpp:325:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:135:21: warning: type of ‘c_eigen_spmat_d_div’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:318:12: note: ‘c_eigen_spmat_d_div’ was previously declared here
eigen_spmat_d.cpp:318:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:134:21: warning: type of ‘c_eigen_spmat_d_mul’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:311:12: note: ‘c_eigen_spmat_d_mul’ was previously declared here
eigen_spmat_d.cpp:311:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:133:21: warning: type of ‘c_eigen_spmat_d_sub’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:304:12: note: ‘c_eigen_spmat_d_sub’ was previously declared here
eigen_spmat_d.cpp:304:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:132:21: warning: type of ‘c_eigen_spmat_d_add’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:297:12: note: ‘c_eigen_spmat_d_add’ was previously declared here
eigen_spmat_d.cpp:297:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:131:7: warning: type of ‘c_eigen_spmat_d_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:291:5: note: ‘c_eigen_spmat_d_equal_or_smaller’ was previously declared here
eigen_spmat_d.cpp:291:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:130:7: warning: type of ‘c_eigen_spmat_d_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:285:5: note: ‘c_eigen_spmat_d_equal_or_greater’ was previously declared here
eigen_spmat_d.cpp:285:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:129:7: warning: type of ‘c_eigen_spmat_d_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:279:5: note: ‘c_eigen_spmat_d_is_smaller’ was previously declared here
eigen_spmat_d.cpp:279:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:128:7: warning: type of ‘c_eigen_spmat_d_is_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:273:5: note: ‘c_eigen_spmat_d_is_greater’ was previously declared here
eigen_spmat_d.cpp:273:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:127:7: warning: type of ‘c_eigen_spmat_d_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:266:5: note: ‘c_eigen_spmat_d_is_unequal’ was previously declared here
eigen_spmat_d.cpp:266:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:126:7: warning: type of ‘c_eigen_spmat_d_is_equal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:259:5: note: ‘c_eigen_spmat_d_is_equal’ was previously declared here
eigen_spmat_d.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:125:7: warning: type of ‘c_eigen_spmat_d_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:242:5: note: ‘c_eigen_spmat_d_is_nonnegative’ was previously declared here
eigen_spmat_d.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:124:7: warning: type of ‘c_eigen_spmat_d_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:225:5: note: ‘c_eigen_spmat_d_is_nonpositive’ was previously declared here
eigen_spmat_d.cpp:225:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:123:7: warning: type of ‘c_eigen_spmat_d_is_negative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:205:5: note: ‘c_eigen_spmat_d_is_negative’ was previously declared here
eigen_spmat_d.cpp:205:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:122:7: warning: type of ‘c_eigen_spmat_d_is_positive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:185:5: note: ‘c_eigen_spmat_d_is_positive’ was previously declared here
eigen_spmat_d.cpp:185:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:121:7: warning: type of ‘c_eigen_spmat_d_is_zero’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:167:5: note: ‘c_eigen_spmat_d_is_zero’ was previously declared here
eigen_spmat_d.cpp:167:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:120:10: warning: type of ‘c_eigen_spmat_d_trace’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:162:13: note: ‘c_eigen_spmat_d_trace’ was previously declared here
eigen_spmat_d.cpp:162:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:119:21: warning: type of ‘c_eigen_spmat_d_diagonal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:156:12: note: ‘c_eigen_spmat_d_diagonal’ was previously declared here
eigen_spmat_d.cpp:156:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:118:21: warning: type of ‘c_eigen_spmat_d_adjoint’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:150:12: note: ‘c_eigen_spmat_d_adjoint’ was previously declared here
eigen_spmat_d.cpp:150:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:117:21: warning: type of ‘c_eigen_spmat_d_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:144:12: note: ‘c_eigen_spmat_d_transpose’ was previously declared here
eigen_spmat_d.cpp:144:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:116:21: warning: type of ‘c_eigen_spmat_d_col’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:138:12: note: ‘c_eigen_spmat_d_col’ was previously declared here
eigen_spmat_d.cpp:138:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:115:21: warning: type of ‘c_eigen_spmat_d_row’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:132:12: note: ‘c_eigen_spmat_d_row’ was previously declared here
eigen_spmat_d.cpp:132:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:114:21: warning: type of ‘c_eigen_spmat_d_clone’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:126:12: note: ‘c_eigen_spmat_d_clone’ was previously declared here
eigen_spmat_d.cpp:126:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:113:10: warning: type of ‘c_eigen_spmat_d_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:119:8: note: ‘c_eigen_spmat_d_outerindexptr’ was previously declared here
eigen_spmat_d.cpp:119:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:112:10: warning: type of ‘c_eigen_spmat_d_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:112:8: note: ‘c_eigen_spmat_d_innerindexptr’ was previously declared here
eigen_spmat_d.cpp:112:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:111:11: warning: type of ‘c_eigen_spmat_d_valueptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:104:14: note: ‘c_eigen_spmat_d_valueptr’ was previously declared here
eigen_spmat_d.cpp:104:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:110:8: warning: type of ‘c_eigen_spmat_d_prune’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:99:6: note: ‘c_eigen_spmat_d_prune’ was previously declared here
eigen_spmat_d.cpp:99:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:109:8: warning: type of ‘c_eigen_spmat_d_reshape’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:93:6: note: ‘c_eigen_spmat_d_reshape’ was previously declared here
eigen_spmat_d.cpp:93:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:108:8: warning: type of ‘c_eigen_spmat_d_uncompress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:88:6: note: ‘c_eigen_spmat_d_uncompress’ was previously declared here
eigen_spmat_d.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:107:8: warning: type of ‘c_eigen_spmat_d_compress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:83:6: note: ‘c_eigen_spmat_d_compress’ was previously declared here
eigen_spmat_d.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:106:7: warning: type of ‘c_eigen_spmat_d_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:78:5: note: ‘c_eigen_spmat_d_is_compressed’ was previously declared here
eigen_spmat_d.cpp:78:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:105:8: warning: type of ‘c_eigen_spmat_d_reset’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:73:6: note: ‘c_eigen_spmat_d_reset’ was previously declared here
eigen_spmat_d.cpp:73:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:104:8: warning: type of ‘c_eigen_spmat_d_insert’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:68:6: note: ‘c_eigen_spmat_d_insert’ was previously declared here
eigen_spmat_d.cpp:68:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:103:8: warning: type of ‘c_eigen_spmat_d_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:63:6: note: ‘c_eigen_spmat_d_set’ was previously declared here
eigen_spmat_d.cpp:63:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:102:10: warning: type of ‘c_eigen_spmat_d_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:58:13: note: ‘c_eigen_spmat_d_get’ was previously declared here
eigen_spmat_d.cpp:58:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:101:9: warning: type of ‘c_eigen_spmat_d_nnz’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:53:7: note: ‘c_eigen_spmat_d_nnz’ was previously declared here
eigen_spmat_d.cpp:53:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:100:9: warning: type of ‘c_eigen_spmat_d_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:48:7: note: ‘c_eigen_spmat_d_cols’ was previously declared here
eigen_spmat_d.cpp:48:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:99:9: warning: type of ‘c_eigen_spmat_d_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:43:7: note: ‘c_eigen_spmat_d_rows’ was previously declared here
eigen_spmat_d.cpp:43:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:98:21: warning: type of ‘c_eigen_spmat_d_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:36:12: note: ‘c_eigen_spmat_d_eye’ was previously declared here
eigen_spmat_d.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:97:8: warning: type of ‘c_eigen_spmat_d_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:31:6: note: ‘c_eigen_spmat_d_delete’ was previously declared here
eigen_spmat_d.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:96:21: warning: type of ‘c_eigen_spmat_d_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:24:12: note: ‘c_eigen_spmat_d_new’ was previously declared here
eigen_spmat_d.cpp:24:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:89:8: warning: type of ‘c_eigen_spmat_s_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:435:6: note: ‘c_eigen_spmat_s_print’ was previously declared here
eigen_spmat_s.cpp:435:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:88:21: warning: type of ‘c_eigen_spmat_s_sqrt’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:429:12: note: ‘c_eigen_spmat_s_sqrt’ was previously declared here
eigen_spmat_s.cpp:429:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:87:21: warning: type of ‘c_eigen_spmat_s_neg’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:420:12: note: ‘c_eigen_spmat_s_neg’ was previously declared here
eigen_spmat_s.cpp:420:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:86:21: warning: type of ‘c_eigen_spmat_s_abs’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:414:12: note: ‘c_eigen_spmat_s_abs’ was previously declared here
eigen_spmat_s.cpp:414:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:85:9: warning: type of ‘c_eigen_spmat_s_max’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:399:13: note: ‘c_eigen_spmat_s_max’ was previously declared here
eigen_spmat_s.cpp:399:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:84:9: warning: type of ‘c_eigen_spmat_s_min’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:384:13: note: ‘c_eigen_spmat_s_min’ was previously declared here
eigen_spmat_s.cpp:384:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:83:9: warning: type of ‘c_eigen_spmat_s_sum’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:379:13: note: ‘c_eigen_spmat_s_sum’ was previously declared here
eigen_spmat_s.cpp:379:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:82:21: warning: type of ‘c_eigen_spmat_s_max2’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:372:12: note: ‘c_eigen_spmat_s_max2’ was previously declared here
eigen_spmat_s.cpp:372:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:81:21: warning: type of ‘c_eigen_spmat_s_min2’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:365:12: note: ‘c_eigen_spmat_s_min2’ was previously declared here
eigen_spmat_s.cpp:365:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:80:21: warning: type of ‘c_eigen_spmat_s_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:356:12: note: ‘c_eigen_spmat_s_div_scalar’ was previously declared here
eigen_spmat_s.cpp:356:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:79:21: warning: type of ‘c_eigen_spmat_s_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:350:12: note: ‘c_eigen_spmat_s_mul_scalar’ was previously declared here
eigen_spmat_s.cpp:350:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:78:21: warning: type of ‘c_eigen_spmat_s_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:341:12: note: ‘c_eigen_spmat_s_sub_scalar’ was previously declared here
eigen_spmat_s.cpp:341:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:77:21: warning: type of ‘c_eigen_spmat_s_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:332:12: note: ‘c_eigen_spmat_s_add_scalar’ was previously declared here
eigen_spmat_s.cpp:332:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:76:21: warning: type of ‘c_eigen_spmat_s_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:325:12: note: ‘c_eigen_spmat_s_gemm’ was previously declared here
eigen_spmat_s.cpp:325:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:75:21: warning: type of ‘c_eigen_spmat_s_div’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:318:12: note: ‘c_eigen_spmat_s_div’ was previously declared here
eigen_spmat_s.cpp:318:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:74:21: warning: type of ‘c_eigen_spmat_s_mul’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:311:12: note: ‘c_eigen_spmat_s_mul’ was previously declared here
eigen_spmat_s.cpp:311:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:73:21: warning: type of ‘c_eigen_spmat_s_sub’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:304:12: note: ‘c_eigen_spmat_s_sub’ was previously declared here
eigen_spmat_s.cpp:304:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:72:21: warning: type of ‘c_eigen_spmat_s_add’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:297:12: note: ‘c_eigen_spmat_s_add’ was previously declared here
eigen_spmat_s.cpp:297:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:71:7: warning: type of ‘c_eigen_spmat_s_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:291:5: note: ‘c_eigen_spmat_s_equal_or_smaller’ was previously declared here
eigen_spmat_s.cpp:291:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:70:7: warning: type of ‘c_eigen_spmat_s_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:285:5: note: ‘c_eigen_spmat_s_equal_or_greater’ was previously declared here
eigen_spmat_s.cpp:285:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:69:7: warning: type of ‘c_eigen_spmat_s_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:279:5: note: ‘c_eigen_spmat_s_is_smaller’ was previously declared here
eigen_spmat_s.cpp:279:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:68:7: warning: type of ‘c_eigen_spmat_s_is_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:273:5: note: ‘c_eigen_spmat_s_is_greater’ was previously declared here
eigen_spmat_s.cpp:273:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:67:7: warning: type of ‘c_eigen_spmat_s_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:266:5: note: ‘c_eigen_spmat_s_is_unequal’ was previously declared here
eigen_spmat_s.cpp:266:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:66:7: warning: type of ‘c_eigen_spmat_s_is_equal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:259:5: note: ‘c_eigen_spmat_s_is_equal’ was previously declared here
eigen_spmat_s.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:65:7: warning: type of ‘c_eigen_spmat_s_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:242:5: note: ‘c_eigen_spmat_s_is_nonnegative’ was previously declared here
eigen_spmat_s.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:64:7: warning: type of ‘c_eigen_spmat_s_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:225:5: note: ‘c_eigen_spmat_s_is_nonpositive’ was previously declared here
eigen_spmat_s.cpp:225:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:63:7: warning: type of ‘c_eigen_spmat_s_is_negative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:205:5: note: ‘c_eigen_spmat_s_is_negative’ was previously declared here
eigen_spmat_s.cpp:205:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:62:7: warning: type of ‘c_eigen_spmat_s_is_positive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:185:5: note: ‘c_eigen_spmat_s_is_positive’ was previously declared here
eigen_spmat_s.cpp:185:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:61:7: warning: type of ‘c_eigen_spmat_s_is_zero’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:167:5: note: ‘c_eigen_spmat_s_is_zero’ was previously declared here
eigen_spmat_s.cpp:167:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:60:9: warning: type of ‘c_eigen_spmat_s_trace’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:162:13: note: ‘c_eigen_spmat_s_trace’ was previously declared here
eigen_spmat_s.cpp:162:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:59:21: warning: type of ‘c_eigen_spmat_s_diagonal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:156:12: note: ‘c_eigen_spmat_s_diagonal’ was previously declared here
eigen_spmat_s.cpp:156:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:58:21: warning: type of ‘c_eigen_spmat_s_adjoint’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:150:12: note: ‘c_eigen_spmat_s_adjoint’ was previously declared here
eigen_spmat_s.cpp:150:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:57:21: warning: type of ‘c_eigen_spmat_s_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:144:12: note: ‘c_eigen_spmat_s_transpose’ was previously declared here
eigen_spmat_s.cpp:144:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:56:21: warning: type of ‘c_eigen_spmat_s_col’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:138:12: note: ‘c_eigen_spmat_s_col’ was previously declared here
eigen_spmat_s.cpp:138:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:55:21: warning: type of ‘c_eigen_spmat_s_row’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:132:12: note: ‘c_eigen_spmat_s_row’ was previously declared here
eigen_spmat_s.cpp:132:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:54:21: warning: type of ‘c_eigen_spmat_s_clone’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:126:12: note: ‘c_eigen_spmat_s_clone’ was previously declared here
eigen_spmat_s.cpp:126:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:53:10: warning: type of ‘c_eigen_spmat_s_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:119:8: note: ‘c_eigen_spmat_s_outerindexptr’ was previously declared here
eigen_spmat_s.cpp:119:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:52:10: warning: type of ‘c_eigen_spmat_s_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:112:8: note: ‘c_eigen_spmat_s_innerindexptr’ was previously declared here
eigen_spmat_s.cpp:112:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:51:10: warning: type of ‘c_eigen_spmat_s_valueptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:104:14: note: ‘c_eigen_spmat_s_valueptr’ was previously declared here
eigen_spmat_s.cpp:104:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:50:8: warning: type of ‘c_eigen_spmat_s_prune’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:99:6: note: ‘c_eigen_spmat_s_prune’ was previously declared here
eigen_spmat_s.cpp:99:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:49:8: warning: type of ‘c_eigen_spmat_s_reshape’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:93:6: note: ‘c_eigen_spmat_s_reshape’ was previously declared here
eigen_spmat_s.cpp:93:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:48:8: warning: type of ‘c_eigen_spmat_s_uncompress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:88:6: note: ‘c_eigen_spmat_s_uncompress’ was previously declared here
eigen_spmat_s.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:47:8: warning: type of ‘c_eigen_spmat_s_compress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:83:6: note: ‘c_eigen_spmat_s_compress’ was previously declared here
eigen_spmat_s.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:46:7: warning: type of ‘c_eigen_spmat_s_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:78:5: note: ‘c_eigen_spmat_s_is_compressed’ was previously declared here
eigen_spmat_s.cpp:78:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:45:8: warning: type of ‘c_eigen_spmat_s_reset’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:73:6: note: ‘c_eigen_spmat_s_reset’ was previously declared here
eigen_spmat_s.cpp:73:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:44:8: warning: type of ‘c_eigen_spmat_s_insert’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:68:6: note: ‘c_eigen_spmat_s_insert’ was previously declared here
eigen_spmat_s.cpp:68:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:43:8: warning: type of ‘c_eigen_spmat_s_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:63:6: note: ‘c_eigen_spmat_s_set’ was previously declared here
eigen_spmat_s.cpp:63:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:42:9: warning: type of ‘c_eigen_spmat_s_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:58:13: note: ‘c_eigen_spmat_s_get’ was previously declared here
eigen_spmat_s.cpp:58:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:41:9: warning: type of ‘c_eigen_spmat_s_nnz’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:53:7: note: ‘c_eigen_spmat_s_nnz’ was previously declared here
eigen_spmat_s.cpp:53:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:40:9: warning: type of ‘c_eigen_spmat_s_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:48:7: note: ‘c_eigen_spmat_s_cols’ was previously declared here
eigen_spmat_s.cpp:48:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:39:9: warning: type of ‘c_eigen_spmat_s_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:43:7: note: ‘c_eigen_spmat_s_rows’ was previously declared here
eigen_spmat_s.cpp:43:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:38:21: warning: type of ‘c_eigen_spmat_s_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:36:12: note: ‘c_eigen_spmat_s_eye’ was previously declared here
eigen_spmat_s.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:37:8: warning: type of ‘c_eigen_spmat_s_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:31:6: note: ‘c_eigen_spmat_s_delete’ was previously declared here
eigen_spmat_s.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:36:21: warning: type of ‘c_eigen_spmat_s_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:24:12: note: ‘c_eigen_spmat_s_new’ was previously declared here
eigen_spmat_s.cpp:24:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:131:21: warning: type of ‘c_eigen_dsmat_z_inv’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:167:12: note: ‘c_eigen_dsmat_z_inv’ was previously declared here
eigen_dsmat_z.cpp:167:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:130:8: warning: type of ‘c_eigen_dsmat_z_colwise_op’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:150:6: note: ‘c_eigen_dsmat_z_colwise_op’ was previously declared here
eigen_dsmat_z.cpp:150:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:129:8: warning: type of ‘c_eigen_dsmat_z_rowwise_op’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:133:6: note: ‘c_eigen_dsmat_z_rowwise_op’ was previously declared here
eigen_dsmat_z.cpp:133:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:128:8: warning: type of ‘c_eigen_dsmat_z_swap_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:127:6: note: ‘c_eigen_dsmat_z_swap_cols’ was previously declared here
eigen_dsmat_z.cpp:127:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:127:8: warning: type of ‘c_eigen_dsmat_z_swap_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:121:6: note: ‘c_eigen_dsmat_z_swap_rows’ was previously declared here
eigen_dsmat_z.cpp:121:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:126:21: warning: type of ‘c_eigen_dsmat_z_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:115:12: note: ‘c_eigen_dsmat_z_transpose’ was previously declared here
eigen_dsmat_z.cpp:115:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:125:21: warning: type of ‘c_eigen_dsmat_z_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:108:12: note: ‘c_eigen_dsmat_z_gemm’ was previously declared here
eigen_dsmat_z.cpp:108:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:123:8: warning: type of ‘c_eigen_dsmat_z_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:101:6: note: ‘c_eigen_dsmat_z_print’ was previously declared here
eigen_dsmat_z.cpp:101:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:122:18: warning: type of ‘c_eigen_dsmat_z_data’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:96:16: note: ‘c_eigen_dsmat_z_data’ was previously declared here
eigen_dsmat_z.cpp:96:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:121:8: warning: type of ‘c_eigen_dsmat_z_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:91:6: note: type mismatch in parameter 4
eigen_dsmat.h:19:35: note: type ‘struct c_dsmat_z_elt’ should match type ‘c_dsmat_z_elt’
lib/eigen_dsmat.h:28:27: note: the incompatible type is defined here
eigen_dsmat_z.cpp:91:6: note: ‘c_eigen_dsmat_z_set’ was previously declared here
eigen_dsmat_z.cpp:91:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:120:17: warning: type of ‘c_eigen_dsmat_z_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:85:15: note: return value type mismatch
eigen_dsmat.h:19:35: note: type ‘struct c_dsmat_z_elt’ should match type ‘c_dsmat_z_elt’
lib/eigen_dsmat.h:28:27: note: the incompatible type is defined here
eigen_dsmat_z.cpp:85:15: note: ‘c_eigen_dsmat_z_get’ was previously declared here
eigen_dsmat_z.cpp:85:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:119:9: warning: type of ‘c_eigen_dsmat_z_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:80:7: note: ‘c_eigen_dsmat_z_cols’ was previously declared here
eigen_dsmat_z.cpp:80:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:118:9: warning: type of ‘c_eigen_dsmat_z_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:75:7: note: ‘c_eigen_dsmat_z_rows’ was previously declared here
eigen_dsmat_z.cpp:75:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:117:21: warning: type of ‘c_eigen_dsmat_z_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:68:12: note: ‘c_eigen_dsmat_z_eye’ was previously declared here
eigen_dsmat_z.cpp:68:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:116:21: warning: type of ‘c_eigen_dsmat_z_ones’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:62:12: note: ‘c_eigen_dsmat_z_ones’ was previously declared here
eigen_dsmat_z.cpp:62:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:115:21: warning: type of ‘c_eigen_dsmat_z_zeros’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:55:12: note: ‘c_eigen_dsmat_z_zeros’ was previously declared here
eigen_dsmat_z.cpp:55:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:114:8: warning: type of ‘c_eigen_dsmat_z_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:50:6: note: ‘c_eigen_dsmat_z_delete’ was previously declared here
eigen_dsmat_z.cpp:50:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:113:21: warning: type of ‘c_eigen_dsmat_z_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:45:12: note: ‘c_eigen_dsmat_z_new’ was previously declared here
eigen_dsmat_z.cpp:45:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:106:21: warning: type of ‘c_eigen_dsmat_c_inv’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:167:12: note: ‘c_eigen_dsmat_c_inv’ was previously declared here
eigen_dsmat_c.cpp:167:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:105:8: warning: type of ‘c_eigen_dsmat_c_colwise_op’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:150:6: note: ‘c_eigen_dsmat_c_colwise_op’ was previously declared here
eigen_dsmat_c.cpp:150:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:104:8: warning: type of ‘c_eigen_dsmat_c_rowwise_op’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:133:6: note: ‘c_eigen_dsmat_c_rowwise_op’ was previously declared here
eigen_dsmat_c.cpp:133:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:103:8: warning: type of ‘c_eigen_dsmat_c_swap_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:127:6: note: ‘c_eigen_dsmat_c_swap_cols’ was previously declared here
eigen_dsmat_c.cpp:127:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:102:8: warning: type of ‘c_eigen_dsmat_c_swap_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:121:6: note: ‘c_eigen_dsmat_c_swap_rows’ was previously declared here
eigen_dsmat_c.cpp:121:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:101:21: warning: type of ‘c_eigen_dsmat_c_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:115:12: note: ‘c_eigen_dsmat_c_transpose’ was previously declared here
eigen_dsmat_c.cpp:115:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:100:21: warning: type of ‘c_eigen_dsmat_c_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:108:12: note: ‘c_eigen_dsmat_c_gemm’ was previously declared here
eigen_dsmat_c.cpp:108:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:98:8: warning: type of ‘c_eigen_dsmat_c_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:101:6: note: ‘c_eigen_dsmat_c_print’ was previously declared here
eigen_dsmat_c.cpp:101:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:97:18: warning: type of ‘c_eigen_dsmat_c_data’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:96:16: note: ‘c_eigen_dsmat_c_data’ was previously declared here
eigen_dsmat_c.cpp:96:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:96:8: warning: type of ‘c_eigen_dsmat_c_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:91:6: note: type mismatch in parameter 4
eigen_dsmat.h:18:34: note: type ‘struct c_dsmat_c_elt’ should match type ‘c_dsmat_c_elt’
lib/eigen_dsmat.h:27:26: note: the incompatible type is defined here
eigen_dsmat_c.cpp:91:6: note: ‘c_eigen_dsmat_c_set’ was previously declared here
eigen_dsmat_c.cpp:91:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:95:17: warning: type of ‘c_eigen_dsmat_c_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:85:15: note: return value type mismatch
eigen_dsmat.h:18:34: note: type ‘struct c_dsmat_c_elt’ should match type ‘c_dsmat_c_elt’
lib/eigen_dsmat.h:27:26: note: the incompatible type is defined here
eigen_dsmat_c.cpp:85:15: note: ‘c_eigen_dsmat_c_get’ was previously declared here
eigen_dsmat_c.cpp:85:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:94:9: warning: type of ‘c_eigen_dsmat_c_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:80:7: note: ‘c_eigen_dsmat_c_cols’ was previously declared here
eigen_dsmat_c.cpp:80:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:93:9: warning: type of ‘c_eigen_dsmat_c_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:75:7: note: ‘c_eigen_dsmat_c_rows’ was previously declared here
eigen_dsmat_c.cpp:75:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:92:21: warning: type of ‘c_eigen_dsmat_c_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:68:12: note: ‘c_eigen_dsmat_c_eye’ was previously declared here
eigen_dsmat_c.cpp:68:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:91:21: warning: type of ‘c_eigen_dsmat_c_ones’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:62:12: note: ‘c_eigen_dsmat_c_ones’ was previously declared here
eigen_dsmat_c.cpp:62:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:90:21: warning: type of ‘c_eigen_dsmat_c_zeros’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:55:12: note: ‘c_eigen_dsmat_c_zeros’ was previously declared here
eigen_dsmat_c.cpp:55:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:89:8: warning: type of ‘c_eigen_dsmat_c_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:50:6: note: ‘c_eigen_dsmat_c_delete’ was previously declared here
eigen_dsmat_c.cpp:50:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:88:21: warning: type of ‘c_eigen_dsmat_c_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:45:12: note: ‘c_eigen_dsmat_c_new’ was previously declared here
eigen_dsmat_c.cpp:45:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:81:21: warning: type of ‘c_eigen_dsmat_d_inv’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:147:12: note: ‘c_eigen_dsmat_d_inv’ was previously declared here
eigen_dsmat_d.cpp:147:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:76:21: warning: type of ‘c_eigen_dsmat_d_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:95:12: note: ‘c_eigen_dsmat_d_transpose’ was previously declared here
eigen_dsmat_d.cpp:95:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:75:21: warning: type of ‘c_eigen_dsmat_d_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:88:12: note: ‘c_eigen_dsmat_d_gemm’ was previously declared here
eigen_dsmat_d.cpp:88:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:73:8: warning: type of ‘c_eigen_dsmat_d_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:81:6: note: ‘c_eigen_dsmat_d_print’ was previously declared here
eigen_dsmat_d.cpp:81:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:72:16: warning: type of ‘c_eigen_dsmat_d_data’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:76:14: note: ‘c_eigen_dsmat_d_data’ was previously declared here
eigen_dsmat_d.cpp:76:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:71:8: warning: type of ‘c_eigen_dsmat_d_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:71:6: note: ‘c_eigen_dsmat_d_set’ was previously declared here
eigen_dsmat_d.cpp:71:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:70:15: warning: type of ‘c_eigen_dsmat_d_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:66:13: note: ‘c_eigen_dsmat_d_get’ was previously declared here
eigen_dsmat_d.cpp:66:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:69:9: warning: type of ‘c_eigen_dsmat_d_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:61:7: note: ‘c_eigen_dsmat_d_cols’ was previously declared here
eigen_dsmat_d.cpp:61:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:68:9: warning: type of ‘c_eigen_dsmat_d_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:56:7: note: ‘c_eigen_dsmat_d_rows’ was previously declared here
eigen_dsmat_d.cpp:56:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:67:21: warning: type of ‘c_eigen_dsmat_d_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:49:12: note: ‘c_eigen_dsmat_d_eye’ was previously declared here
eigen_dsmat_d.cpp:49:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:66:21: warning: type of ‘c_eigen_dsmat_d_ones’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:43:12: note: ‘c_eigen_dsmat_d_ones’ was previously declared here
eigen_dsmat_d.cpp:43:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:65:21: warning: type of ‘c_eigen_dsmat_d_zeros’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:36:12: note: ‘c_eigen_dsmat_d_zeros’ was previously declared here
eigen_dsmat_d.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:64:8: warning: type of ‘c_eigen_dsmat_d_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:31:6: note: ‘c_eigen_dsmat_d_delete’ was previously declared here
eigen_dsmat_d.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:63:21: warning: type of ‘c_eigen_dsmat_d_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:26:12: note: ‘c_eigen_dsmat_d_new’ was previously declared here
eigen_dsmat_d.cpp:26:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:56:21: warning: type of ‘c_eigen_dsmat_s_inv’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:159:12: note: ‘c_eigen_dsmat_s_inv’ was previously declared here
eigen_dsmat_s.cpp:159:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:51:21: warning: type of ‘c_eigen_dsmat_s_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:109:12: note: ‘c_eigen_dsmat_s_transpose’ was previously declared here
eigen_dsmat_s.cpp:109:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:50:21: warning: type of ‘c_eigen_dsmat_s_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:102:12: note: ‘c_eigen_dsmat_s_gemm’ was previously declared here
eigen_dsmat_s.cpp:102:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:48:8: warning: type of ‘c_eigen_dsmat_s_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:95:6: note: ‘c_eigen_dsmat_s_print’ was previously declared here
eigen_dsmat_s.cpp:95:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:47:8: warning: type of ‘c_eigen_dsmat_s_of_bigarray2’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:89:6: note: ‘c_eigen_dsmat_s_of_bigarray2’ was previously declared here
eigen_dsmat_s.cpp:89:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:46:21: warning: type of ‘c_eigen_dsmat_s_of_bigarray’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:82:12: note: ‘c_eigen_dsmat_s_of_bigarray’ was previously declared here
eigen_dsmat_s.cpp:82:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:45:16: warning: type of ‘c_eigen_dsmat_s_data’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:76:14: note: ‘c_eigen_dsmat_s_data’ was previously declared here
eigen_dsmat_s.cpp:76:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:44:8: warning: type of ‘c_eigen_dsmat_s_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:71:6: note: ‘c_eigen_dsmat_s_set’ was previously declared here
eigen_dsmat_s.cpp:71:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:43:15: warning: type of ‘c_eigen_dsmat_s_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:66:13: note: ‘c_eigen_dsmat_s_get’ was previously declared here
eigen_dsmat_s.cpp:66:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:42:9: warning: type of ‘c_eigen_dsmat_s_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:61:7: note: ‘c_eigen_dsmat_s_cols’ was previously declared here
eigen_dsmat_s.cpp:61:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:41:9: warning: type of ‘c_eigen_dsmat_s_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:56:7: note: ‘c_eigen_dsmat_s_rows’ was previously declared here
eigen_dsmat_s.cpp:56:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:40:21: warning: type of ‘c_eigen_dsmat_s_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:49:12: note: ‘c_eigen_dsmat_s_eye’ was previously declared here
eigen_dsmat_s.cpp:49:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:39:21: warning: type of ‘c_eigen_dsmat_s_ones’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:43:12: note: ‘c_eigen_dsmat_s_ones’ was previously declared here
eigen_dsmat_s.cpp:43:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:38:21: warning: type of ‘c_eigen_dsmat_s_zeros’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:36:12: note: ‘c_eigen_dsmat_s_zeros’ was previously declared here
eigen_dsmat_s.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:37:8: warning: type of ‘c_eigen_dsmat_s_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:31:6: note: ‘c_eigen_dsmat_s_delete’ was previously declared here
eigen_dsmat_s.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:36:21: warning: type of ‘c_eigen_dsmat_s_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:26:12: note: ‘c_eigen_dsmat_s_new’ was previously declared here
eigen_dsmat_s.cpp:26:12: note: code may be misoptimized unless -fno-strict-aliasing is used
In member function ‘__base_ctor ’,
    inlined from ‘reallocate’ at ./Eigen/src/SparseCore/CompressedStorage.h:234:38:
./Eigen/src/Core/util/Memory.h:589:13: warning: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
./Eigen/src/Core/util/Memory.h: In member function ‘reallocate’:
/usr/include/c++/7/new:122:7: note: in a call to allocation function ‘operator new []’ declared here
 void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
       ^
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_391_LAPACKE_slagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15413: undefined reference to `LAPACKE_slagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_392_LAPACKE_dlagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15446: undefined reference to `LAPACKE_dlagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_393_LAPACKE_clagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15479: undefined reference to `LAPACKE_clagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_394_LAPACKE_zlagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15512: undefined reference to `LAPACKE_zlagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_429_LAPACKE_slatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16509: undefined reference to `LAPACKE_slatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_430_LAPACKE_dlatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16558: undefined reference to `LAPACKE_dlatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_431_LAPACKE_clatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16607: undefined reference to `LAPACKE_clatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_432_LAPACKE_zlatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16656: undefined reference to `LAPACKE_zlatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_923_LAPACKE_claghe':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33633: undefined reference to `LAPACKE_claghe'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_924_LAPACKE_zlaghe':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33661: undefined reference to `LAPACKE_zlaghe'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_925_LAPACKE_slagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33689: undefined reference to `LAPACKE_slagsy'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_926_LAPACKE_dlagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33717: undefined reference to `LAPACKE_dlagsy'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_927_LAPACKE_clagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33745: undefined reference to `LAPACKE_clagsy'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_928_LAPACKE_zlagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33773: undefined reference to `LAPACKE_zlagsy'
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking
Makefile:13: recipe for target 'build' failed
make: *** [build] Error 1
root@cub:~/owl#
root@cub:~/owl#

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment