# HG changeset patch # User jwe # Date 1175654227 0 # Node ID 7e958a1532c6880f2f6bd18fbf4759e8d95453a8 # Parent 89ed13fec6fe3d6802aa0aa6ab4a5aa5f5a1ae19 [project @ 2007-04-04 02:37:07 by jwe] diff --git a/liboctave/CMatrix.cc b/liboctave/CMatrix.cc --- a/liboctave/CMatrix.cc +++ b/liboctave/CMatrix.cc @@ -985,7 +985,7 @@ int calc_cond) const { MatrixType mattype (*this); - return inverse (mattype, info, rcond, 0, 0); + return inverse (mattype, info, rcond, force, calc_cond); } ComplexMatrix @@ -1041,7 +1041,7 @@ octave_idx_type ztrcon_info = 0; char job = '1'; - OCTAVE_LOCAL_BUFFER (Complex, cwork, 2 * nr); + OCTAVE_LOCAL_BUFFER (Complex, cwork, 2*nr); OCTAVE_LOCAL_BUFFER (double, rwork, nr); F77_XFCN (ztrcon, ZTRCON, (F77_CONST_CHAR_ARG2 (&job, 1), diff --git a/liboctave/CSparse.cc b/liboctave/CSparse.cc --- a/liboctave/CSparse.cc +++ b/liboctave/CSparse.cc @@ -5828,7 +5828,8 @@ CHOLMOD_NAME(free_dense) (&X, cm); CHOLMOD_NAME(free_factor) (&L, cm); CHOLMOD_NAME(finish) (cm); - CHOLMOD_NAME(print_common) (" ", cm); + static char tmp[] = " "; + CHOLMOD_NAME(print_common) (tmp, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; } #else @@ -6104,7 +6105,8 @@ CHOLMOD_NAME(free_sparse) (&X, cm); CHOLMOD_NAME(free_factor) (&L, cm); CHOLMOD_NAME(finish) (cm); - CHOLMOD_NAME(print_common) (" ", cm); + static char tmp[] = " "; + CHOLMOD_NAME(print_common) (tmp, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; } #else @@ -6396,7 +6398,8 @@ CHOLMOD_NAME(free_dense) (&X, cm); CHOLMOD_NAME(free_factor) (&L, cm); CHOLMOD_NAME(finish) (cm); - CHOLMOD_NAME(print_common) (" ", cm); + static char tmp[] = " "; + CHOLMOD_NAME(print_common) (tmp, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; } #else @@ -6651,7 +6654,8 @@ CHOLMOD_NAME(free_sparse) (&X, cm); CHOLMOD_NAME(free_factor) (&L, cm); CHOLMOD_NAME(finish) (cm); - CHOLMOD_NAME(print_common) (" ", cm); + static char tmp[] = " "; + CHOLMOD_NAME(print_common) (tmp, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; } #else diff --git a/liboctave/ChangeLog b/liboctave/ChangeLog --- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,5 +1,17 @@ 2007-04-03 John W. Eaton + * intNDArray.cc (intNDArray): Delete spurious semicolon. + + * CMatrix.cc (ComplexMatrix::tinverse): Use Array and + fortran_vec method instead of OCTAVE_LOCAL_BUFFER to avoid + "maybe clobbered by vfork" warning. + + * Sparse-op-defs.h (SPARSE_CUMSUM): Add parens to avoid ambiguous + if/else. + + * oct-spparms.h (octave_sparse_params): Define copy constructor + and destructor. + * Array.cc (assignN): Don't resize dimension if corresponding index is empty. diff --git a/liboctave/Sparse-op-defs.h b/liboctave/Sparse-op-defs.h --- a/liboctave/Sparse-op-defs.h +++ b/liboctave/Sparse-op-defs.h @@ -1461,10 +1461,12 @@ { \ t += data(j); \ if (t != ELT_TYPE ()) \ - if (j == cidx(i+1) - 1) \ - nel += nr - ridx(j); \ - else \ - nel += ridx(j+1) - ridx(j); \ + { \ + if (j == cidx(i+1) - 1) \ + nel += nr - ridx(j); \ + else \ + nel += ridx(j+1) - ridx(j); \ + } \ } \ } \ retval = RET_TYPE (nr, nc, nel); \ diff --git a/liboctave/dSparse.cc b/liboctave/dSparse.cc --- a/liboctave/dSparse.cc +++ b/liboctave/dSparse.cc @@ -6053,7 +6053,8 @@ CHOLMOD_NAME(free_dense) (&X, cm); CHOLMOD_NAME(free_factor) (&L, cm); CHOLMOD_NAME(finish) (cm); - CHOLMOD_NAME(print_common) (" ", cm); + static char tmp[] = " "; + CHOLMOD_NAME(print_common) (tmp, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; } #else @@ -6300,7 +6301,8 @@ CHOLMOD_NAME(free_sparse) (&X, cm); CHOLMOD_NAME(free_factor) (&L, cm); CHOLMOD_NAME(finish) (cm); - CHOLMOD_NAME(print_common) (" ", cm); + static char tmp[] = " "; + CHOLMOD_NAME(print_common) (tmp, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; } #else @@ -6564,7 +6566,8 @@ CHOLMOD_NAME(free_dense) (&X, cm); CHOLMOD_NAME(free_factor) (&L, cm); CHOLMOD_NAME(finish) (cm); - CHOLMOD_NAME(print_common) (" ", cm); + static char tmp[] = " "; + CHOLMOD_NAME(print_common) (tmp, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; } #else @@ -6831,7 +6834,8 @@ CHOLMOD_NAME(free_sparse) (&X, cm); CHOLMOD_NAME(free_factor) (&L, cm); CHOLMOD_NAME(finish) (cm); - CHOLMOD_NAME(print_common) (" ", cm); + static char tmp[] = " "; + CHOLMOD_NAME(print_common) (tmp, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; } #else diff --git a/liboctave/data-conv.cc b/liboctave/data-conv.cc --- a/liboctave/data-conv.cc +++ b/liboctave/data-conv.cc @@ -26,6 +26,7 @@ #endif #include +#include #include #include diff --git a/liboctave/intNDArray.cc b/liboctave/intNDArray.cc --- a/liboctave/intNDArray.cc +++ b/liboctave/intNDArray.cc @@ -98,7 +98,7 @@ intNDArray intNDArray::concat (const intNDArray& rb, const Array& ra_idx) { - if (rb.numel () > 0); + if (rb.numel () > 0) insert (rb, ra_idx); return *this; } diff --git a/liboctave/oct-fftw.cc b/liboctave/oct-fftw.cc --- a/liboctave/oct-fftw.cc +++ b/liboctave/oct-fftw.cc @@ -102,7 +102,7 @@ } #define CHECK_SIMD_ALIGNMENT(x) \ - ((reinterpret_cast (x)) & 0xF == 0) + (((reinterpret_cast (x)) & 0xF) == 0) fftw_plan octave_fftw_planner::create_plan (int dir, const int rank, diff --git a/liboctave/oct-inttypes.h b/liboctave/oct-inttypes.h --- a/liboctave/oct-inttypes.h +++ b/liboctave/oct-inttypes.h @@ -24,6 +24,8 @@ #if !defined (octave_inttypes_h) #define octave_inttypes_h 1 +#include + #include #include diff --git a/liboctave/oct-sort.cc b/liboctave/oct-sort.cc --- a/liboctave/oct-sort.cc +++ b/liboctave/oct-sort.cc @@ -85,6 +85,7 @@ #endif #include +#include #include "lo-mappers.h" #include "quit.h" diff --git a/liboctave/oct-spparms.h b/liboctave/oct-spparms.h --- a/liboctave/oct-spparms.h +++ b/liboctave/oct-spparms.h @@ -50,6 +50,22 @@ public: + octave_sparse_params (const octave_sparse_params& a) + : params (a.params), keys (a.keys) { } + + octave_sparse_params& operator = (const octave_sparse_params& a) + { + if (&a != this) + { + params = a.params; + keys = a.keys; + } + + return *this; + } + + ~octave_sparse_params (void) { } + static bool instance_ok (void); static void defaults (void); diff --git a/liboctave/oct-syscalls.cc b/liboctave/oct-syscalls.cc --- a/liboctave/oct-syscalls.cc +++ b/liboctave/oct-syscalls.cc @@ -26,6 +26,7 @@ #endif #include +#include #include diff --git a/liboctave/sparse-base-chol.cc b/liboctave/sparse-base-chol.cc --- a/liboctave/sparse-base-chol.cc +++ b/liboctave/sparse-base-chol.cc @@ -214,10 +214,12 @@ perms(i) = static_cast(Lfactor->Perm)[i]; } + static char tmp[] = " "; + BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; CHOLMOD_NAME(free_factor) (&Lfactor, cm); CHOLMOD_NAME(finish) (cm); - CHOLMOD_NAME(print_common) (" ", cm); + CHOLMOD_NAME(print_common) (tmp, cm); END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE; #else (*current_liboctave_error_handler) diff --git a/src/dirfns.cc b/src/dirfns.cc --- a/src/dirfns.cc +++ b/src/dirfns.cc @@ -147,7 +147,7 @@ DEFALIAS (chdir, cd); -DEFUN (pwd, , nargout, +DEFUN (pwd, , , "-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} pwd ()\n\ Return the current working directory.\n\