XBT_DEBUG("Copy the data over");
if(smpi_is_shared(buff, src_private_blocks, &src_offset)) {
src_private_blocks = shift_and_frame_private_blocks(src_private_blocks, src_offset, buff_size);
- if (src_private_blocks.size()==0){//simple shared malloc ... return.
+ if (src_private_blocks.empty()) { // simple shared malloc ... return.
XBT_VERB("Sender is shared. Let's ignore it.");
smpi_cleanup_comm_after_copy(comm, buff);
return;
}
else {
src_private_blocks.clear();
- src_private_blocks.push_back(std::make_pair(0, buff_size));
+ src_private_blocks.emplace_back(0, buff_size);
}
if (smpi_is_shared((char*)comm->dst_buff_, dst_private_blocks, &dst_offset)) {
dst_private_blocks = shift_and_frame_private_blocks(dst_private_blocks, dst_offset, buff_size);
- if (dst_private_blocks.size()==0){//simple shared malloc ... return.
+ if (dst_private_blocks.empty()) { // simple shared malloc ... return.
XBT_VERB("Receiver is shared. Let's ignore it.");
smpi_cleanup_comm_after_copy(comm, buff);
return;
}
else {
dst_private_blocks.clear();
- dst_private_blocks.push_back(std::make_pair(0, buff_size));
+ dst_private_blocks.emplace_back(0, buff_size);
}
check_blocks(src_private_blocks, buff_size);
check_blocks(dst_private_blocks, buff_size);
(static_cast<char*>(buff) < smpi_data_exe_start + smpi_data_exe_size)) {
XBT_DEBUG("Privatization : We are copying from a zone inside global memory... Saving data to temp buffer !");
smpi_switch_data_segment(comm->src_actor_->iface());
- tmpbuff = static_cast<void*>(xbt_malloc(buff_size));
+ tmpbuff = xbt_malloc(buff_size);
memcpy_private(tmpbuff, buff, private_blocks);
}
// first. Hence, we start at ++(events.begin())!
for (Tokenizer::iterator events_it = ++(event_tokens.begin()); events_it != event_tokens.end(); ++events_it) {
int event_code = PAPI_NULL;
- char* event_name = const_cast<char*>((*events_it).c_str());
+ auto* event_name = const_cast<char*>((*events_it).c_str());
if (PAPI_event_name_to_code(event_name, &event_code) != PAPI_OK) {
XBT_CRITICAL("Could not find PAPI event '%s'. Skipping.", event_name);
continue;
static int smpi_run_entry_point(const F& entry_point, const std::string& executable_path, std::vector<std::string> args)
{
// copy C strings, we need them writable
- std::vector<char*>* args4argv = new std::vector<char*>(args.size());
+ auto* args4argv = new std::vector<char*>(args.size());
std::transform(begin(args), end(args), begin(*args4argv), [](const std::string& s) { return xbt_strdup(s.c_str()); });
// set argv[0] to executable_path
// TODO, remove the number of functions involved here
static smpi_entry_point_type smpi_resolve_function(void* handle)
{
- smpi_fortran_entry_point_type entry_point_fortran = (smpi_fortran_entry_point_type)dlsym(handle, "user_main_");
+ auto* entry_point_fortran = reinterpret_cast<smpi_fortran_entry_point_type>(dlsym(handle, "user_main_"));
if (entry_point_fortran != nullptr) {
return [entry_point_fortran](int, char**) {
entry_point_fortran();
};
}
- smpi_c_entry_point_type entry_point = (smpi_c_entry_point_type)dlsym(handle, "main");
+ auto* entry_point = reinterpret_cast<smpi_c_entry_point_type>(dlsym(handle, "main"));
if (entry_point != nullptr) {
return entry_point;
}
XBT_DEBUG("Copy %" PRIdMAX " bytes into %s", static_cast<intmax_t>(fdin_size), target.c_str());
#if SG_HAVE_SENDFILE
- ssize_t sent_size = sendfile(fdout, fdin, NULL, fdin_size);
+ ssize_t sent_size = sendfile(fdout, fdin, nullptr, fdin_size);
if (sent_size == fdin_size) {
close(fdin);
close(fdout);
#endif
// If this point is reached, sendfile() actually is not available. Copy file by hand.
const int bufsize = 1024 * 1024 * 4;
- char* buf = new char[bufsize];
+ auto* buf = new char[bufsize];
while (int got = read(fdin, buf, bufsize)) {
if (got == -1) {
xbt_assert(errno == EINTR, "Cannot read from %s", src.c_str());
#if not defined(__APPLE__) && not defined(__HAIKU__)
static int visit_libs(struct dl_phdr_info* info, size_t, void* data)
{
- char* libname = (char*)(data);
+ auto* libname = static_cast<char*>(data);
const char *path = info->dlpi_name;
if(strstr(path, libname)){
strncpy(libname, path, 512);
#else
xbt_die("smpi/privatize-libs is not (yet) compatible with OSX nor with Haiku");
#endif
- privatize_libs_paths.push_back(fullpath);
+ privatize_libs_paths.emplace_back(fullpath);
dlclose(libhandle);
}
}