Browse Source

Merge pull request #2764 from martin-frbg/lapacktests

Fix array overruns in the LIN part of the LAPACK testsuite
tags/v0.3.11^2
Martin Kroeker GitHub 5 years ago
parent
commit
7219c9cb87
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 8 deletions
  1. +3
    -3
      lapack-netlib/TESTING/LIN/cdrvls.f
  2. +3
    -1
      lapack-netlib/TESTING/LIN/derrtsqr.f
  3. +3
    -1
      lapack-netlib/TESTING/LIN/serrtsqr.f
  4. +3
    -3
      lapack-netlib/TESTING/LIN/zdrvls.f

+ 3
- 3
lapack-netlib/TESTING/LIN/cdrvls.f View File

@@ -372,13 +372,13 @@
END IF END IF
* Compute workspace needed for CGELSY * Compute workspace needed for CGELSY
CALL CGELSY( M, N, NRHS, A, LDA, B, LDB, CALL CGELSY( M, N, NRHS, A, LDA, B, LDB,
$ IWQ, RCOND, CRANK, WQ, -1, RWORK,
$ IWQ, RCOND, CRANK, WQ, -1, RWQ,
$ INFO ) $ INFO )
LWORK_CGELSY = INT( WQ( 1 ) ) LWORK_CGELSY = INT( WQ( 1 ) )
LRWORK_CGELSY = 2*N LRWORK_CGELSY = 2*N
* Compute workspace needed for CGELSS * Compute workspace needed for CGELSS
CALL CGELSS( M, N, NRHS, A, LDA, B, LDB, S, CALL CGELSS( M, N, NRHS, A, LDA, B, LDB, S,
$ RCOND, CRANK, WQ, -1, RWORK, INFO )
$ RCOND, CRANK, WQ, -1, RWQ, INFO )
LWORK_CGELSS = INT( WQ( 1 ) ) LWORK_CGELSS = INT( WQ( 1 ) )
LRWORK_CGELSS = 5*MNMIN LRWORK_CGELSS = 5*MNMIN
* Compute workspace needed for CGELSD * Compute workspace needed for CGELSD
@@ -564,7 +564,7 @@
CALL CLARNV( 2, ISEED, NCOLS*NRHS, CALL CLARNV( 2, ISEED, NCOLS*NRHS,
$ WORK ) $ WORK )
CALL CSCAL( NCOLS*NRHS, CALL CSCAL( NCOLS*NRHS,
$ ONE / REAL( NCOLS ), WORK,
$ CONE / REAL( NCOLS ), WORK,
$ 1 ) $ 1 )
END IF END IF
CALL CGEMM( TRANS, 'No transpose', NROWS, CALL CGEMM( TRANS, 'No transpose', NROWS,


+ 3
- 1
lapack-netlib/TESTING/LIN/derrtsqr.f View File

@@ -77,7 +77,7 @@
* .. * ..
* .. Local Arrays .. * .. Local Arrays ..
DOUBLE PRECISION A( NMAX, NMAX ), T( NMAX, NMAX ), W( NMAX ), DOUBLE PRECISION A( NMAX, NMAX ), T( NMAX, NMAX ), W( NMAX ),
$ C( NMAX, NMAX ), TAU(NMAX)
$ C( NMAX, NMAX ), TAU(NMAX*2)
* .. * ..
* .. External Subroutines .. * .. External Subroutines ..
EXTERNAL ALAESM, CHKXER, DGEQR, EXTERNAL ALAESM, CHKXER, DGEQR,
@@ -137,6 +137,8 @@
* *
TAU(1)=1 TAU(1)=1
TAU(2)=1 TAU(2)=1
TAU(3)=1
TAU(4)=1
SRNAMT = 'DGEMQR' SRNAMT = 'DGEMQR'
NB=1 NB=1
INFOT = 1 INFOT = 1


+ 3
- 1
lapack-netlib/TESTING/LIN/serrtsqr.f View File

@@ -77,7 +77,7 @@
* .. * ..
* .. Local Arrays .. * .. Local Arrays ..
REAL A( NMAX, NMAX ), T( NMAX, NMAX ), W( NMAX ), REAL A( NMAX, NMAX ), T( NMAX, NMAX ), W( NMAX ),
$ C( NMAX, NMAX ), TAU(NMAX)
$ C( NMAX, NMAX ), TAU(NMAX*2)
* .. * ..
* .. External Subroutines .. * .. External Subroutines ..
EXTERNAL ALAESM, CHKXER, SGEQR, EXTERNAL ALAESM, CHKXER, SGEQR,
@@ -137,6 +137,8 @@
* *
TAU(1)=1 TAU(1)=1
TAU(2)=1 TAU(2)=1
TAU(3)=1
TAU(4)=1
SRNAMT = 'SGEMQR' SRNAMT = 'SGEMQR'
NB=1 NB=1
INFOT = 1 INFOT = 1


+ 3
- 3
lapack-netlib/TESTING/LIN/zdrvls.f View File

@@ -372,12 +372,12 @@
END IF END IF
* Compute workspace needed for ZGELSY * Compute workspace needed for ZGELSY
CALL ZGELSY( M, N, NRHS, A, LDA, B, LDB, IWQ, CALL ZGELSY( M, N, NRHS, A, LDA, B, LDB, IWQ,
$ RCOND, CRANK, WQ, -1, RWORK, INFO )
$ RCOND, CRANK, WQ, -1, RWQ, INFO )
LWORK_ZGELSY = INT( WQ( 1 ) ) LWORK_ZGELSY = INT( WQ( 1 ) )
LRWORK_ZGELSY = 2*N LRWORK_ZGELSY = 2*N
* Compute workspace needed for ZGELSS * Compute workspace needed for ZGELSS
CALL ZGELSS( M, N, NRHS, A, LDA, B, LDB, S, CALL ZGELSS( M, N, NRHS, A, LDA, B, LDB, S,
$ RCOND, CRANK, WQ, -1 , RWORK,
$ RCOND, CRANK, WQ, -1 , RWQ,
$ INFO ) $ INFO )
LWORK_ZGELSS = INT( WQ( 1 ) ) LWORK_ZGELSS = INT( WQ( 1 ) )
LRWORK_ZGELSS = 5*MNMIN LRWORK_ZGELSS = 5*MNMIN
@@ -564,7 +564,7 @@
CALL ZLARNV( 2, ISEED, NCOLS*NRHS, CALL ZLARNV( 2, ISEED, NCOLS*NRHS,
$ WORK ) $ WORK )
CALL ZSCAL( NCOLS*NRHS, CALL ZSCAL( NCOLS*NRHS,
$ ONE / DBLE( NCOLS ), WORK,
$ CONE / DBLE( NCOLS ), WORK,
$ 1 ) $ 1 )
END IF END IF
CALL ZGEMM( TRANS, 'No transpose', NROWS, CALL ZGEMM( TRANS, 'No transpose', NROWS,


Loading…
Cancel
Save