summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjulie <julielangou@users.noreply.github.com>2016-02-11 03:01:43 +0000
committerjulie <julielangou@users.noreply.github.com>2016-02-11 03:01:43 +0000
commit5829163f3e7dd1d1d662d5a1c074f160d2f6957a (patch)
treed838ea898809b2cbe2b18a5e94a1628c5ae4666f
parent365668214f69f100ea15a2a038dce94fead8fbb2 (diff)
downloadlapack-5829163f3e7dd1d1d662d5a1c074f160d2f6957a.tar.gz
lapack-5829163f3e7dd1d1d662d5a1c074f160d2f6957a.tar.bz2
lapack-5829163f3e7dd1d1d662d5a1c074f160d2f6957a.zip
Applied patch provided by Dmitry Baksheev from Intel on Feb 9th 2016 on LAPACK Forum
Link: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4902&p=11774 Issue: ?TGSEN use of array SELECT on workspace query may SEGV Solution: Skip use of array SELECT on workspace query Make sense...
-rw-r--r--SRC/ctgsen.f2
-rw-r--r--SRC/dtgsen.f2
-rw-r--r--SRC/stgsen.f2
-rw-r--r--SRC/ztgsen.f2
4 files changed, 8 insertions, 0 deletions
diff --git a/SRC/ctgsen.f b/SRC/ctgsen.f
index d2ba8de8..894db3be 100644
--- a/SRC/ctgsen.f
+++ b/SRC/ctgsen.f
@@ -515,6 +515,7 @@
* subspaces.
*
M = 0
+ IF( .NOT.LQUERY .OR. IJOB.NE.0 ) THEN
DO 10 K = 1, N
ALPHA( K ) = A( K, K )
BETA( K ) = B( K, K )
@@ -526,6 +527,7 @@
$ M = M + 1
END IF
10 CONTINUE
+ END IF
*
IF( IJOB.EQ.1 .OR. IJOB.EQ.2 .OR. IJOB.EQ.4 ) THEN
LWMIN = MAX( 1, 2*M*(N-M) )
diff --git a/SRC/dtgsen.f b/SRC/dtgsen.f
index 82b17626..11928c36 100644
--- a/SRC/dtgsen.f
+++ b/SRC/dtgsen.f
@@ -542,6 +542,7 @@
*
M = 0
PAIR = .FALSE.
+ IF( .NOT.LQUERY .OR. IJOB.NE.0 ) THEN
DO 10 K = 1, N
IF( PAIR ) THEN
PAIR = .FALSE.
@@ -561,6 +562,7 @@
END IF
END IF
10 CONTINUE
+ END IF
*
IF( IJOB.EQ.1 .OR. IJOB.EQ.2 .OR. IJOB.EQ.4 ) THEN
LWMIN = MAX( 1, 4*N+16, 2*M*( N-M ) )
diff --git a/SRC/stgsen.f b/SRC/stgsen.f
index 90e1d945..294d9b1c 100644
--- a/SRC/stgsen.f
+++ b/SRC/stgsen.f
@@ -541,6 +541,7 @@
*
M = 0
PAIR = .FALSE.
+ IF( .NOT.LQUERY .OR. IJOB.NE.0 ) THEN
DO 10 K = 1, N
IF( PAIR ) THEN
PAIR = .FALSE.
@@ -560,6 +561,7 @@
END IF
END IF
10 CONTINUE
+ END IF
*
IF( IJOB.EQ.1 .OR. IJOB.EQ.2 .OR. IJOB.EQ.4 ) THEN
LWMIN = MAX( 1, 4*N+16, 2*M*(N-M) )
diff --git a/SRC/ztgsen.f b/SRC/ztgsen.f
index 4c991ec4..4d5eae2e 100644
--- a/SRC/ztgsen.f
+++ b/SRC/ztgsen.f
@@ -518,6 +518,7 @@
* subspaces.
*
M = 0
+ IF( .NOT.LQUERY .OR. IJOB.NE.0 ) THEN
DO 10 K = 1, N
ALPHA( K ) = A( K, K )
BETA( K ) = B( K, K )
@@ -529,6 +530,7 @@
$ M = M + 1
END IF
10 CONTINUE
+ END IF
*
IF( IJOB.EQ.1 .OR. IJOB.EQ.2 .OR. IJOB.EQ.4 ) THEN
LWMIN = MAX( 1, 2*M*( N-M ) )