Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Restore explicitely defined constructor (with empty body).
[simgrid.git] / src / smpi / include / smpi_comm.hpp
index 828b752..06280b2 100644 (file)
@@ -17,23 +17,24 @@ namespace simgrid{
 namespace smpi{
 
 class Comm : public F2C, public Keyval{
+  friend Topo;
   MPI_Group group_;
-  SMPI_Topo_type topoType_;
+  SMPI_Topo_type topoType_ = MPI_INVALID_TOPO;
   MPI_Topology topo_; // to be replaced by an union
-  int refcount_;
-  MPI_Comm leaders_comm_; // inter-node communicator
-  MPI_Comm intra_comm_;   // intra-node communicator . For MPI_COMM_WORLD this can't be used, as var is global.
-  // use an intracomm stored in the process data instead
-  int* leaders_map_; // who is the leader of each process
-  int is_uniform_;
-  int* non_uniform_map_;        // set if smp nodes have a different number of processes allocated
-  int is_blocked_;              // are ranks allocated on the same smp node contiguous ?
-  int is_smp_comm_;             // set to 0 in case this is already an intra-comm or a leader-comm to avoid recursivity
+  int refcount_          = 1;
+  MPI_Comm leaders_comm_ = MPI_COMM_NULL; // inter-node communicator
+  MPI_Comm intra_comm_   = MPI_COMM_NULL; // intra-node communicator. For MPI_COMM_WORLD this can't be used, as var is
+                                          // global. Use an intracomm stored in the process data instead
+  int* leaders_map_     = nullptr;        // who is the leader of each process
+  int is_uniform_       = 1;
+  int* non_uniform_map_ = nullptr; // set if smp nodes have a different number of processes allocated
+  int is_blocked_       = 0;       // are ranks allocated on the same smp node contiguous ?
+  int is_smp_comm_;             // set to 0 in case this is already an intra-comm or a leader-comm to avoid recursion
   std::list<MPI_Win> rma_wins_; // attached windows for synchronization.
   std::string name_;
-  MPI_Info info_;
+  MPI_Info info_ = MPI_INFO_NULL;
   int id_;
-  MPI_Errhandler errhandler_;
+  MPI_Errhandler errhandler_ = MPI_ERRORS_ARE_FATAL;
 
 public:
   static std::unordered_map<int, smpi_key_elem> keyvals_;