A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use plain pointers instead of references to pointer.
[simgrid.git]
/
src
/
smpi
/
mpi
/
smpi_f2c.cpp
diff --git
a/src/smpi/mpi/smpi_f2c.cpp
b/src/smpi/mpi/smpi_f2c.cpp
index
680c850
..
a1e6be7
100644
(file)
--- a/
src/smpi/mpi/smpi_f2c.cpp
+++ b/
src/smpi/mpi/smpi_f2c.cpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2007-202
1
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2007-202
3
. The SimGrid Team. All rights reserved. */
/* 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. */
/* 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. */
@@
-6,27
+6,28
@@
#include "smpi_f2c.hpp"
#include "private.hpp"
#include "src/smpi/include/smpi_actor.hpp"
#include "smpi_f2c.hpp"
#include "private.hpp"
#include "src/smpi/include/smpi_actor.hpp"
+#include "src/instr/instr_smpi.hpp"
-
int mpi_in_place_
;
-
int mpi_bottom_
;
-
int mpi_status_ignore_
;
-
int mpi_statuses_ignore_
;
+
const int mpi_in_place_ = -222
;
+
const int mpi_bottom_ = -111
;
+
const int mpi_status_ignore_ = 0
;
+
const int mpi_statuses_ignore_ = 0
;
-namespace simgrid{
-namespace smpi{
+namespace simgrid::smpi {
-std::un
ordered_map<int, F2C*>* F2C::f2c_lookup_
= nullptr;
+std::un
ique_ptr<F2C::f2c_lookup_type> F2C::f2c_lookup_
= nullptr;
int F2C::f2c_id_ = 0;
int F2C::f2c_id_ = 0;
+F2C::f2c_lookup_type::size_type F2C::num_default_handles_ = 0;
// Keep it non trivially-constructible, or it will break MC+smpi on FreeBSD with Clang (don't ask why)
F2C::F2C() = default;
int F2C::add_f()
{
// Keep it non trivially-constructible, or it will break MC+smpi on FreeBSD with Clang (don't ask why)
F2C::F2C() = default;
int F2C::add_f()
{
- if (f2c_lookup_ == nullptr)
- f2c_lookup_ = new std::unordered_map<int, F2C*>();
-
- my_f2c_id_ = f2c_id();
+ allocate_lookup();
+ if (auto const* loc = smpi_process()->call_location(); loc && loc->linenumber != 0)
+ call_location_= std::string (loc->filename + ":" + std::to_string(loc->linenumber));
+ my_f2c_id_ =
global_
f2c_id();
(*f2c_lookup_)[my_f2c_id_] = this;
f2c_id_increment();
return my_f2c_id_;
(*f2c_lookup_)[my_f2c_id_] = this;
f2c_id_increment();
return my_f2c_id_;
@@
-34,9
+35,7
@@
int F2C::add_f()
int F2C::c2f()
{
int F2C::c2f()
{
- if (f2c_lookup_ == nullptr) {
- f2c_lookup_ = new std::unordered_map<int, F2C*>();
- }
+ allocate_lookup();
if(my_f2c_id_==-1)
/* this function wasn't found, add it */
if(my_f2c_id_==-1)
/* this function wasn't found, add it */
@@
-47,8
+46,7
@@
int F2C::c2f()
F2C* F2C::f2c(int id)
{
F2C* F2C::f2c(int id)
{
- if (f2c_lookup_ == nullptr)
- f2c_lookup_ = new std::unordered_map<int, F2C*>();
+ allocate_lookup();
if(id >= 0){
auto comm = f2c_lookup_->find(id);
if(id >= 0){
auto comm = f2c_lookup_->find(id);
@@
-57,5
+55,4
@@
F2C* F2C::f2c(int id)
return nullptr;
}
return nullptr;
}
-}
-}
+} // namespace simgrid::smpi