/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
+#include "smpi_process.hpp"
#include "mc/mc.h"
-#include "src/mc/mc_replay.h"
-#include "src/msg/msg_private.h"
-#include "src/simix/smx_private.h"
-#include "private.h"
#include "private.hpp"
-#include "smpi_process.hpp"
-#include "smpi_group.hpp"
#include "smpi_comm.hpp"
-
+#include "smpi_group.hpp"
+#include "src/mc/mc_replay.h"
+#include "src/msg/msg_private.hpp"
+#include "src/simix/smx_private.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_process, smpi, "Logging specific to SMPI (kernel)");
static char *get_mailbox_name(char *str, int index)
{
- snprintf(str, MAILBOX_NAME_MAXLEN, "SMPI-%0*x", static_cast<int> (sizeof(int) * 2), index);
+ snprintf(str, MAILBOX_NAME_MAXLEN, "SMPI-%0*x", static_cast<int>(sizeof(int) * 2), static_cast<unsigned>(index));
return str;
}
static char *get_mailbox_name_small(char *str, int index)
{
- snprintf(str, MAILBOX_NAME_MAXLEN, "small%0*x", static_cast<int> (sizeof(int) * 2), index);
+ snprintf(str, MAILBOX_NAME_MAXLEN, "small%0*x", static_cast<int>(sizeof(int) * 2), static_cast<unsigned>(index));
return str;
}
return process_;
}
-
/**
- * \brief Returns a structure that stores the location (filename + linenumber)
- * of the last calls to MPI_* functions.
+ * \brief Returns a structure that stores the location (filename + linenumber) of the last calls to MPI_* functions.
*
* \see smpi_trace_set_call_location
*/
}
char* instance_id = (*argv)[1];
- int rank = xbt_str_parse_int((*argv)[2], "Invalid rank: %s");
- smpi_deployment_register_process(instance_id, rank, index);
+ try {
+ int rank = std::stoi(std::string((*argv)[2]));
+ smpi_deployment_register_process(instance_id, rank, index);
+ } catch (std::invalid_argument& ia) {
+ throw std::invalid_argument(std::string("Invalid rank: ") + (*argv)[2]);
+ }
if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){
/* Now using segment index of the process */