Fix workspace allocation in LAPACKE strsen/dtrsen (Reference-LAPACK PR 1144)pull/5373/head
| @@ -78,6 +78,12 @@ lapack_int LAPACKE_dtrsen( int matrix_layout, char job, char compq, | |||||
| info = LAPACK_WORK_MEMORY_ERROR; | info = LAPACK_WORK_MEMORY_ERROR; | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| } else { | |||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) ); | |||||
| if( iwork == NULL ) { | |||||
| info = LAPACK_WORK_MEMORY_ERROR; | |||||
| goto exit_level_0; | |||||
| } | |||||
| } | } | ||||
| work = (double*)LAPACKE_malloc( sizeof(double) * lwork ); | work = (double*)LAPACKE_malloc( sizeof(double) * lwork ); | ||||
| if( work == NULL ) { | if( work == NULL ) { | ||||
| @@ -77,7 +77,14 @@ lapack_int LAPACKE_strsen( int matrix_layout, char job, char compq, | |||||
| info = LAPACK_WORK_MEMORY_ERROR; | info = LAPACK_WORK_MEMORY_ERROR; | ||||
| goto exit_level_0; | goto exit_level_0; | ||||
| } | } | ||||
| } else { | |||||
| iwork = (lapack_int*)LAPACKE_malloc( sizeof(lapack_int) ); | |||||
| if( iwork == NULL ) { | |||||
| info = LAPACK_WORK_MEMORY_ERROR; | |||||
| goto exit_level_0; | |||||
| } | |||||
| } | } | ||||
| work = (float*)LAPACKE_malloc( sizeof(float) * lwork ); | work = (float*)LAPACKE_malloc( sizeof(float) * lwork ); | ||||
| if( work == NULL ) { | if( work == NULL ) { | ||||
| info = LAPACK_WORK_MEMORY_ERROR; | info = LAPACK_WORK_MEMORY_ERROR; | ||||