From 486f708677442b1a528addbd6696799c95bf2a0d Mon Sep 17 00:00:00 2001 From: julie Date: Thu, 18 Mar 2010 19:41:50 +0000 Subject: bug0049 :: output parameter GIVPTR stays uninitialized in case of quick exit (n.eq.0) or if the rank-1 modifier is small enough in *laed8 sent by Alexander Kobotov (Intel) on Wed, 3 Feb 2010 to lapack@cs.utk.edu --- SRC/claed8.f | 8 +++++++- SRC/dlaed8.f | 8 +++++++- SRC/slaed8.f | 8 +++++++- SRC/zlaed8.f | 8 +++++++- 4 files changed, 28 insertions(+), 4 deletions(-) (limited to 'SRC') diff --git a/SRC/claed8.f b/SRC/claed8.f index 07cf124c..79ac0314 100644 --- a/SRC/claed8.f +++ b/SRC/claed8.f @@ -174,6 +174,13 @@ RETURN END IF * +* Need to initialize GIVPTR to O here in case of quick exit +* to prevent an unspecified code behavior (usually sigfault) +* when IWORK array on entry to *stedc is not zeroed +* (or at least some IWORK entries which used in *laed7 for GIVPTR). +* + GIVPTR = 0 +* * Quick return if possible * IF( N.EQ.0 ) @@ -241,7 +248,6 @@ * components of Z are zero in this new basis. * K = 0 - GIVPTR = 0 K2 = N + 1 DO 60 J = 1, N IF( RHO*ABS( Z( J ) ).LE.TOL ) THEN diff --git a/SRC/dlaed8.f b/SRC/dlaed8.f index 7f2dc584..b9cafded 100644 --- a/SRC/dlaed8.f +++ b/SRC/dlaed8.f @@ -189,6 +189,13 @@ RETURN END IF * +* Need to initialize GIVPTR to O here in case of quick exit +* to prevent an unspecified code behavior (usually sigfault) +* when IWORK array on entry to *stedc is not zeroed +* (or at least some IWORK entries which used in *laed7 for GIVPTR). +* + GIVPTR = 0 +* * Quick return if possible * IF( N.EQ.0 ) @@ -263,7 +270,6 @@ * components of Z are zero in this new basis. * K = 0 - GIVPTR = 0 K2 = N + 1 DO 70 J = 1, N IF( RHO*ABS( Z( J ) ).LE.TOL ) THEN diff --git a/SRC/slaed8.f b/SRC/slaed8.f index 93e55b47..a83ef83c 100644 --- a/SRC/slaed8.f +++ b/SRC/slaed8.f @@ -189,6 +189,13 @@ RETURN END IF * +* Need to initialize GIVPTR to O here in case of quick exit +* to prevent an unspecified code behavior (usually sigfault) +* when IWORK array on entry to *stedc is not zeroed +* (or at least some IWORK entries which used in *laed7 for GIVPTR). +* + GIVPTR = 0 +* * Quick return if possible * IF( N.EQ.0 ) @@ -263,7 +270,6 @@ * components of Z are zero in this new basis. * K = 0 - GIVPTR = 0 K2 = N + 1 DO 70 J = 1, N IF( RHO*ABS( Z( J ) ).LE.TOL ) THEN diff --git a/SRC/zlaed8.f b/SRC/zlaed8.f index 801724ef..5c0b492a 100644 --- a/SRC/zlaed8.f +++ b/SRC/zlaed8.f @@ -174,6 +174,13 @@ RETURN END IF * +* Need to initialize GIVPTR to O here in case of quick exit +* to prevent an unspecified code behavior (usually sigfault) +* when IWORK array on entry to *stedc is not zeroed +* (or at least some IWORK entries which used in *laed7 for GIVPTR). +* + GIVPTR = 0 +* * Quick return if possible * IF( N.EQ.0 ) @@ -241,7 +248,6 @@ * components of Z are zero in this new basis. * K = 0 - GIVPTR = 0 K2 = N + 1 DO 60 J = 1, N IF( RHO*ABS( Z( J ) ).LE.TOL ) THEN -- cgit v1.2.3