Bug report sent by Alexander V. Kobotov (from Intel) on Mon, 6 Apr 2009 to "lapack...
authorlangou <langou@users.noreply.github.com>
Sun, 10 May 2009 20:51:42 +0000 (20:51 +0000)
committerlangou <langou@users.noreply.github.com>
Sun, 10 May 2009 20:51:42 +0000 (20:51 +0000)
commit9c2e9f0bcaa09a539cc3afde42aab85a5b2b4a9e
tree6c3495b766ce71457b33074fb52e5045f9f134b4
parent12483e500fcc6cd69d43dffc51b4cda2f172c36a
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 array work.

I have changed the header of the routines ctgsen.f, dtgsen.f, stgsen.f, and
ztgsen.f. No matter what an array needs to be of size at least 1. So
IWORK is of size at least 1. It was 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, IWORK(1) is set to 1.
SRC/ctgsen.f
SRC/dtgsen.f
SRC/stgsen.f
SRC/ztgsen.f