aboutsummaryrefslogtreecommitdiff
path: root/SRC/ztgsen.f
diff options
context:
space:
mode:
authorlangou <langou@users.noreply.github.com>2009-05-10 20:59:05 +0000
committerlangou <langou@users.noreply.github.com>2009-05-10 20:59:05 +0000
commit5a71683a1ac4f40b50e9220bcc5de6f272a077c8 (patch)
tree46c6b97506c1dfc6644b234b2cbe26aacb30d368 /SRC/ztgsen.f
parent9c2e9f0bcaa09a539cc3afde42aab85a5b2b4a9e (diff)
[[ I did not really want to commit the previous commit, this is the follow-up commit ... ]]
Bug report sent by Alexander V. Kobotov (from Intel) on Mon, 6 Apr 2009 to "lapack@cs.utk.edu". "(d/s)tgsen.f: iwork(1) always referenced: line 455: iwork( 1 ) = LIWMIN, documentation says that if IJOB=0 it shouldn't, so NULL pointer causes a sigfault." (There is indeed the same problem for the WORK array and the IWORK array in the complex routines.) I have changed the header of the routines ctgsen.f, dtgsen.f, stgsen.f, and ztgsen.f. A Fortran array needs to be of size at least 1. So IWORK is of size at least 1. It was indeed written in the header of the routine: "IWORK (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))" So since IWORK is of size at least 1, there is no reason not to reference it. When there is a workspace query with IJOB.EQ.0, WORK(1) and IWORK(1) are both set to 1.
Diffstat (limited to 'SRC/ztgsen.f')
-rw-r--r--SRC/ztgsen.f3
1 files changed, 1 insertions, 2 deletions
diff --git a/SRC/ztgsen.f b/SRC/ztgsen.f
index ff7dcae7..5e4e4fda 100644
--- a/SRC/ztgsen.f
+++ b/SRC/ztgsen.f
@@ -155,8 +155,7 @@
* If IJOB = 0 or 1, DIF is not referenced.
*
* WORK (workspace/output) COMPLEX*16 array, dimension (MAX(1,LWORK))
-* IF IJOB = 0, WORK is not referenced. Otherwise,
-* on exit, if INFO = 0, WORK(1) returns the optimal LWORK.
+* On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
*
* LWORK (input) INTEGER
* The dimension of the array WORK. LWORK >= 1