From ab772069b4c76e3e4ef6e553d6bbfe7aaaf71708 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Wed, 15 Feb 2023 22:35:52 +0100
Subject: [PATCH] Silent compilation warnings

---
 compute/zgesvd.c                              | 22 +++++++++----------
 cudablas/compute/cuda_zlarfb.c                |  3 ++-
 cudablas/compute/cuda_zparfb.c                |  2 +-
 runtime/starpu/codelets/codelet_zgersum.c     | 13 +++++++----
 .../starpu/interface/cham_tile_interface.c    |  2 +-
 testing/testing_zcheck_svd.c                  |  3 ++-
 6 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/compute/zgesvd.c b/compute/zgesvd.c
index bdc66a5c2..945783ccb 100644
--- a/compute/zgesvd.c
+++ b/compute/zgesvd.c
@@ -489,11 +489,10 @@ int CHAMELEON_zgesvd_Tile_Async( cham_job_t jobu, cham_job_t jobvt,
     /* On exit, U and VT are updated with bidiagonal matrix singular vectors */
 #if !defined(CHAMELEON_SIMULATION)
     {
-        int nru, ncvt;
+        cham_uplo_t uplo;
+        int info, nru, ncvt;
+
         switch ( jobu ) {
-            case ChamNoVec :
-                nru = 0;
-                break;
             case ChamOVec :
             case ChamAllVec :
                 nru = M;
@@ -501,13 +500,11 @@ int CHAMELEON_zgesvd_Tile_Async( cham_job_t jobu, cham_job_t jobvt,
             case ChamSVec :
                 nru = MINMN;
                 break;
+            case ChamNoVec :
             default:
-            ;
+                nru = 0;
         }
         switch ( jobvt ) {
-            case ChamNoVec :
-                ncvt = 0;
-                break;
             case ChamOVec :
             case ChamAllVec :
                 ncvt = N;
@@ -515,12 +512,13 @@ int CHAMELEON_zgesvd_Tile_Async( cham_job_t jobu, cham_job_t jobvt,
             case ChamSVec :
                 ncvt = MINMN;
                 break;
+            case ChamNoVec :
             default:
-            ;
+                ncvt = 0;
         }
-        cham_uplo_t uplo = M >= N ? ChamUpper : ChamLower;
-        int info = LAPACKE_zbdsqr( LAPACK_COL_MAJOR, chameleon_lapack_const(uplo), MINMN,
-                                   ncvt, nru, 0, S, E, VT, LDVT, U, LDU, NULL, 1 );
+        uplo = M >= N ? ChamUpper : ChamLower;
+        info = LAPACKE_zbdsqr( LAPACK_COL_MAJOR, chameleon_lapack_const(uplo), MINMN,
+                               ncvt, nru, 0, S, E, VT, LDVT, U, LDU, NULL, 1 );
         if ( info != 0 ) {
             fprintf(stderr, "CHAMELEON_zgesvd_Tile_Async: LAPACKE_zbdsqr = %d\n", info );
         }
diff --git a/cudablas/compute/cuda_zlarfb.c b/cudablas/compute/cuda_zlarfb.c
index 6f460d351..5039d0265 100644
--- a/cudablas/compute/cuda_zlarfb.c
+++ b/cudablas/compute/cuda_zlarfb.c
@@ -157,5 +157,6 @@ CUDA_zlarfb( cham_side_t side, cham_trans_t trans,
                           CUBLAS_SADDR(zone),  C,    LDC );
         assert( rc == CUBLAS_STATUS_SUCCESS );
     }
-    return CHAMELEON_SUCCESS;
+
+    return (rc == CUBLAS_STATUS_SUCCESS) ? CHAMELEON_SUCCESS : CHAMELEON_ERR_UNEXPECTED;
 }
diff --git a/cudablas/compute/cuda_zparfb.c b/cudablas/compute/cuda_zparfb.c
index ee2329d39..39aaa7586 100644
--- a/cudablas/compute/cuda_zparfb.c
+++ b/cudablas/compute/cuda_zparfb.c
@@ -525,5 +525,5 @@ CUDA_zparfb( cham_side_t side, cham_trans_t trans,
         return CHAMELEON_ERR_NOT_SUPPORTED;
     }
 
-    return CHAMELEON_SUCCESS;
+    return (rc == CUBLAS_STATUS_SUCCESS) ? CHAMELEON_SUCCESS : CHAMELEON_ERR_UNEXPECTED;
 }
diff --git a/runtime/starpu/codelets/codelet_zgersum.c b/runtime/starpu/codelets/codelet_zgersum.c
index 079302b05..5a53839a6 100644
--- a/runtime/starpu/codelets/codelet_zgersum.c
+++ b/runtime/starpu/codelets/codelet_zgersum.c
@@ -45,10 +45,14 @@ cl_zgersum_redux_cpu_func( void *descr[], void *cl_arg )
 static void
 cl_zgersum_redux_cuda_func( void *descr[], void *cl_arg )
 {
-    cublasHandle_t        handle = starpu_cublas_get_local_handle();
-    CHAMELEON_Complex64_t zone   = 1.;
-    CHAM_tile_t          *tileA;
-    CHAM_tile_t          *tileB;
+#if defined(PRECISION_z) || defined(PRECISION_c)
+    cuDoubleComplex zone  = make_cuDoubleComplex(1.0, 0.0);
+#else
+    double zone  = 1.0;
+#endif /* defined(PRECISION_z) || defined(PRECISION_c) */
+    cublasHandle_t  handle = starpu_cublas_get_local_handle();
+    CHAM_tile_t    *tileA;
+    CHAM_tile_t    *tileB;
 
     tileA = cti_interface_get(descr[0]);
     tileB = cti_interface_get(descr[1]);
@@ -99,6 +103,7 @@ cl_zgersum_init_cuda_func( void *descr[], void *cl_arg )
     assert( rc == CUBLAS_STATUS_SUCCESS );
 
     (void)cl_arg;
+    (void)rc;
 }
 #endif /* defined(CHAMELEON_USE_CUDA) */
 #endif /* !defined(CHAMELEON_SIMULATION) */
diff --git a/runtime/starpu/interface/cham_tile_interface.c b/runtime/starpu/interface/cham_tile_interface.c
index f74623e63..51e6a4b04 100644
--- a/runtime/starpu/interface/cham_tile_interface.c
+++ b/runtime/starpu/interface/cham_tile_interface.c
@@ -115,7 +115,7 @@ cti_init( void *data_interface )
 
 static void
 cti_register_data_handle( starpu_data_handle_t  handle,
-                          int                   home_node,
+                          unsigned int          home_node,
                           void                 *data_interface )
 {
     starpu_cham_tile_interface_t *cham_tile_interface = (starpu_cham_tile_interface_t *) data_interface;
diff --git a/testing/testing_zcheck_svd.c b/testing/testing_zcheck_svd.c
index b09602679..f6d9c9046 100644
--- a/testing/testing_zcheck_svd.c
+++ b/testing/testing_zcheck_svd.c
@@ -229,7 +229,8 @@ int check_zgesvd( run_arg_list_t *args, cham_job_t jobu, cham_job_t jobvt, CHAM_
 {
     int info_solution;
     int rank = CHAMELEON_Comm_rank();
-    CHAMELEON_Complex64_t *Ainit, *A;
+    CHAMELEON_Complex64_t *Ainit = NULL;
+    CHAMELEON_Complex64_t *A     = NULL;
     int M    = descA->m;
     int N    = descA->n;
     int LDA  = descA->lm;
-- 
GitLab