Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Too advanced syntax for gcc 4.8, default to some other ...
authordegomme <augustin.degomme@unibas.ch>
Thu, 16 Mar 2017 13:52:06 +0000 (14:52 +0100)
committerdegomme <augustin.degomme@unibas.ch>
Thu, 16 Mar 2017 13:52:06 +0000 (14:52 +0100)
Don't like it, though.

src/smpi/smpi_pmpi.cpp

index 696af30..7cedfd7 100644 (file)
@@ -2772,10 +2772,8 @@ MPI_Fint PMPI_Info_c2f(MPI_Info info){
 }
 
 int PMPI_Keyval_create(MPI_Copy_function* copy_fn, MPI_Delete_function* delete_fn, int* keyval, void* extra_state) {
 }
 
 int PMPI_Keyval_create(MPI_Copy_function* copy_fn, MPI_Delete_function* delete_fn, int* keyval, void* extra_state) {
-  smpi_copy_fn _copy_fn={};
-  smpi_delete_fn _delete_fn={};
-  _copy_fn.comm_copy_fn = copy_fn;
-  _delete_fn.comm_delete_fn = delete_fn;
+  smpi_copy_fn _copy_fn={copy_fn,nullptr,nullptr};
+  smpi_delete_fn _delete_fn={delete_fn,nullptr,nullptr};
   return Keyval::keyval_create<Comm>(_copy_fn, _delete_fn, keyval, extra_state);
 }
 
   return Keyval::keyval_create<Comm>(_copy_fn, _delete_fn, keyval, extra_state);
 }
 
@@ -2894,10 +2892,8 @@ int PMPI_Type_delete_attr (MPI_Datatype type, int type_keyval)
 int PMPI_Type_create_keyval(MPI_Type_copy_attr_function* copy_fn, MPI_Type_delete_attr_function* delete_fn, int* keyval,
                             void* extra_state)
 {
 int PMPI_Type_create_keyval(MPI_Type_copy_attr_function* copy_fn, MPI_Type_delete_attr_function* delete_fn, int* keyval,
                             void* extra_state)
 {
-  smpi_copy_fn _copy_fn={};
-  smpi_delete_fn _delete_fn={};
-  _copy_fn.type_copy_fn = copy_fn;
-  _delete_fn.type_delete_fn = delete_fn;
+  smpi_copy_fn _copy_fn={nullptr,copy_fn,nullptr};
+  smpi_delete_fn _delete_fn={nullptr,delete_fn,nullptr};
   return Keyval::keyval_create<Datatype>(_copy_fn, _delete_fn, keyval, extra_state);
 }
 
   return Keyval::keyval_create<Datatype>(_copy_fn, _delete_fn, keyval, extra_state);
 }
 
@@ -2953,10 +2949,8 @@ int PMPI_Win_delete_attr (MPI_Win win, int type_keyval)
 int PMPI_Win_create_keyval(MPI_Win_copy_attr_function* copy_fn, MPI_Win_delete_attr_function* delete_fn, int* keyval,
                             void* extra_state)
 {
 int PMPI_Win_create_keyval(MPI_Win_copy_attr_function* copy_fn, MPI_Win_delete_attr_function* delete_fn, int* keyval,
                             void* extra_state)
 {
-  smpi_copy_fn _copy_fn={};
-  smpi_delete_fn _delete_fn={};
-  _copy_fn.win_copy_fn = copy_fn;
-  _delete_fn.win_delete_fn = delete_fn;
+  smpi_copy_fn _copy_fn={nullptr, nullptr, copy_fn};
+  smpi_delete_fn _delete_fn={nullptr, nullptr, delete_fn};
   return Keyval::keyval_create<Win>(_copy_fn, _delete_fn, keyval, extra_state);
 }
 
   return Keyval::keyval_create<Win>(_copy_fn, _delete_fn, keyval, extra_state);
 }