[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 3.2.0
From: |
Michael Goffioul |
Subject: |
Re: 3.2.0 |
Date: |
Wed, 20 May 2009 21:01:04 +0100 |
Yes, it fixes the problem. Note that the following files are affected
by the same problem:
CmplxQR.cc
dbleQR.cc
fCmplxQR.cc
floatQR.cc
Michael.
On Wed, May 20, 2009 at 7:23 PM, John W. Eaton <address@hidden> wrote:
> As I understand it, the problem is that the F77_XFCN macro uses
> setjmp inside a for loop which uses I again after the call to setjmp.
> So if I is placed in a register, it might be invalid if the function
> called by F77_XFCN ends up doing a longjmp. Declaring I as volatile
> prevents GCC from placing it in a register, so the value is still
> valid after a longjmp.
>
> Does the following change avoid the problem you are seeing? If so, I
> don't have a problem with making changes like this as needed.
>
> jwe
>
>
> diff --git a/liboctave/CmplxQR.cc b/liboctave/CmplxQR.cc
> --- a/liboctave/CmplxQR.cc
> +++ b/liboctave/CmplxQR.cc
> @@ -323,10 +323,11 @@
> OCTAVE_LOCAL_BUFFER (double, rw, kmax);
> for (volatile octave_idx_type i = 0; i < js.length (); i++)
> {
> + octave_idx_type ii = i;
> ComplexColumnVector utmp = u.column (jsi(i));
> - F77_XFCN (zqrinc, ZQRINC, (m, n + i, std::min (kmax, k + i),
> + F77_XFCN (zqrinc, ZQRINC, (m, n + ii, std::min (kmax, k + ii),
> q.fortran_vec (), q.rows (),
> - r.fortran_vec (), r.rows (), js(i) + 1,
> + r.fortran_vec (), r.rows (), js(ii) + 1,
> utmp.data (), rw));
> }
> }
>
>
- Re: 3.2.0, (continued)
- Re: 3.2.0, Jaroslav Hajek, 2009/05/19
- Re: 3.2.0, Robert T. Short, 2009/05/19
Re: 3.2.0, Michael Goffioul, 2009/05/19
- Re: 3.2.0, Jaroslav Hajek, 2009/05/19
- Re: 3.2.0, Michael Goffioul, 2009/05/19
- Re: 3.2.0, John W. Eaton, 2009/05/20
- Re: 3.2.0,
Michael Goffioul <=
Re: 3.2.0, Michael Goffioul, 2009/05/20
Re: 3.2.0, Jaroslav Hajek, 2009/05/20
Re: 3.2.0, Michael Goffioul, 2009/05/20
Re: 3.2.0, Jaroslav Hajek, 2009/05/20
Re: 3.2.0, Michael Goffioul, 2009/05/20
Re: 3.2.0, Jaroslav Hajek, 2009/05/21
Re: 3.2.0, Michael Goffioul, 2009/05/21
Re: 3.2.0, Jaroslav Hajek, 2009/05/21
Re: 3.2.0, Michael Goffioul, 2009/05/21
Re: 3.2.0, Tatsuro MATSUOKA, 2009/05/20