}
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);
}
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);
// 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);
}
}