Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[simix] Dexbtization: remove xbt_dynar_t argument in simcall_comm_waitany
[simgrid.git] / src / smpi / smpi_mpi_dt.cpp
index 4d53ee2..43af712 100644 (file)
@@ -13,6 +13,7 @@
 #include "smpi_mpi_dt_private.h"
 #include "mc/mc.h"
 #include "xbt/replay.h"
+#include <xbt/ex.hpp>
 #include "simgrid/modelchecker.h"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_mpi_dt, smpi, "Logging specific to SMPI (datatype)");
@@ -287,7 +288,7 @@ int smpi_datatype_copy(void *sendbuf, int sendcount, MPI_Datatype sendtype,
  *  Copies noncontiguous data into contiguous memory.
  *  @param contiguous_vector - output vector
  *  @param noncontiguous_vector - input vector
- *  @param type - pointer contening :
+ *  @param type - pointer containing :
  *      - stride - stride of between noncontiguous data
  *      - block_length - the width or height of blocked matrix
  *      - count - the number of rows of matrix
@@ -495,7 +496,7 @@ void use_contiguous(MPI_Datatype* d){
 }
 
 /* Create a Sub type contiguous to be able to serialize and unserialize it the structure s_smpi_mpi_contiguous_t is
- * erived from s_smpi_subtype which required the functions unserialize and serialize */
+ * derived from s_smpi_subtype which required the functions unserialize and serialize */
 s_smpi_mpi_contiguous_t* smpi_datatype_contiguous_create( MPI_Aint lb, int block_count, MPI_Datatype old_type,
                                                   int size_oldtype){
   if(block_count==0)
@@ -549,7 +550,7 @@ int smpi_datatype_vector(int count, int blocklen, int stride, MPI_Datatype old_t
                          DT_FLAG_VECTOR);
     retval=MPI_SUCCESS;
   }else{
-    /* in this situation the data are contignous thus it's not required to serialize and unserialize it*/
+    /* in this situation the data are contiguous thus it's not required to serialize and unserialize it*/
     smpi_datatype_create(new_type, count * blocklen * smpi_datatype_size(old_type), 0, ((count -1) * stride + blocklen)*
                          smpi_datatype_size(old_type), 0, nullptr, DT_FLAG_VECTOR|DT_FLAG_CONTIGUOUS);
     retval=MPI_SUCCESS;
@@ -1570,7 +1571,7 @@ int smpi_type_attr_delete(MPI_Datatype type, int keyval){
   if(elem==nullptr)
     return MPI_ERR_ARG;
   if(elem->delete_fn!=MPI_NULL_DELETE_FN){
-    void * value;
+    void * value = nullptr;
     int flag;
     if(smpi_type_attr_get(type, keyval, &value, &flag)==MPI_SUCCESS){
       int ret = elem->delete_fn(type, keyval, value, &flag);
@@ -1590,18 +1591,16 @@ int smpi_type_attr_get(MPI_Datatype type, int keyval, void* attr_value, int* fla
     static_cast<smpi_type_key_elem>(xbt_dict_get_or_null_ext(smpi_type_keyvals, reinterpret_cast<const char*>(&keyval), sizeof(int)));
   if(elem==nullptr)
     return MPI_ERR_ARG;
-  xbt_ex_t ex;
   if(type->attributes==nullptr){
     *flag=0;
     return MPI_SUCCESS;
   }
-  TRY {
+  try {
     *static_cast<void**>(attr_value) = xbt_dict_get_ext(type->attributes, reinterpret_cast<const char*>(&keyval), sizeof(int));
     *flag=1;
   }
-  CATCH(ex) {
+  catch (xbt_ex& ex) {
     *flag=0;
-    xbt_ex_free(ex);
   }
   return MPI_SUCCESS;
 }
@@ -1614,7 +1613,7 @@ int smpi_type_attr_put(MPI_Datatype type, int keyval, void* attr_value){
   if(elem==nullptr)
     return MPI_ERR_ARG;
   int flag;
-  void* value;
+  void* value = nullptr;
   smpi_type_attr_get(type, keyval, &value, &flag);
   if(flag!=0 && elem->delete_fn!=MPI_NULL_DELETE_FN){
     int ret = elem->delete_fn(type, keyval, value, &flag);