diff liboctave/array/dSparse.cc @ 22135:407c66ae1e20

reduce warnings from GCC's link-time optimization feature (bug #48531) * f77-fcn.h (F77_DBLE_CMPLX, F77_CMPLX): Use C types instead of typedefs for std::complex<T> types. (F77_CMPLX_ARG, F77_CONST_CMPLX_ARG, F77_DBLE_CMPLX_ARG, F77_CONST_DBLE_CMPLX_ARG): New macros. * dot.cc, ordschur.cc, qz.cc, CColVector.cc, CMatrix.cc, CRowVector.cc, CSparse.cc, dSparse.cc, fCColVector.cc, fCMatrix.cc, fCRowVector.cc, f77-fcn.h, EIG.cc, aepbalance.cc, chol.cc, eigs-base.cc, fEIG.cc, gepbalance.cc, hess.cc, lo-specfun.cc, lu.cc, oct-convn.cc, qr.cc, qrp.cc, schur.cc, svd.cc: Use new macros for passing complex arguments to Fortran function. Always pass pointers to complex arguments.
author John W. Eaton <jwe@octave.org>
date Mon, 18 Jul 2016 09:38:57 -0400
parents 59cadee1c74b
children e43d83253e28
line wrap: on
line diff
--- a/liboctave/array/dSparse.cc	Mon Jul 18 09:56:41 2016 -0400
+++ b/liboctave/array/dSparse.cc	Mon Jul 18 09:38:57 2016 -0400
@@ -4146,7 +4146,7 @@
           retval = b;
           Complex *result = retval.fortran_vec ();
 
-          F77_XFCN (zptsv, ZPTSV, (nr, b_nc, D, DL, result,
+          F77_XFCN (zptsv, ZPTSV, (nr, b_nc, D, F77_DBLE_CMPLX_ARG (DL), F77_DBLE_CMPLX_ARG (result),
                                    b_nr, err));
 
           if (err != 0)
@@ -4204,7 +4204,7 @@
           retval = b;
           Complex *result = retval.fortran_vec ();
 
-          F77_XFCN (zgtsv, ZGTSV, (nr, b_nc, DL, D, DU, result,
+          F77_XFCN (zgtsv, ZGTSV, (nr, b_nc, F77_DBLE_CMPLX_ARG (DL), F77_DBLE_CMPLX_ARG (D), F77_DBLE_CMPLX_ARG (DU), F77_DBLE_CMPLX_ARG (result),
                                    b_nr, err));
 
           if (err != 0)