Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Change malloc/free to new/delete.
[simgrid.git] / src / smpi / colls / allgather / allgather-3dmesh.cpp
index b3a8586..8d99c07 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2018. The SimGrid Team.
+/* Copyright (c) 2013-2019. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -96,12 +96,11 @@ namespace simgrid{
 namespace smpi{
 
 
-int Coll_allgather_3dmesh::allgather(void *send_buff, int send_count,
+int Coll_allgather_3dmesh::allgather(const void *send_buff, int send_count,
                                      MPI_Datatype send_type, void *recv_buff,
                                      int recv_count, MPI_Datatype recv_type,
                                      MPI_Comm comm)
 {
-  MPI_Request *req, *req_ptr;
   MPI_Aint extent;
 
   int i, src, dst, rank, num_procs, block_size, my_z_base;
@@ -133,9 +132,8 @@ int Coll_allgather_3dmesh::allgather(void *send_buff, int send_count,
 
   block_size = extent * send_count;
 
-  req = (MPI_Request *) xbt_malloc(num_reqs * sizeof(MPI_Request));
-
-  req_ptr = req;
+  MPI_Request* req     = new MPI_Request[num_reqs];
+  MPI_Request* req_ptr = req;
 
   // do local allgather/local copy
   recv_offset = rank * block_size;
@@ -206,7 +204,7 @@ int Coll_allgather_3dmesh::allgather(void *send_buff, int send_count,
   }
   Request::waitall(Z - 1, req, MPI_STATUSES_IGNORE);
 
-  free(req);
+  delete[] req;
 
   return MPI_SUCCESS;
 }