X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1d2b3b745feba3c5069fe4fdab54a1832fde11e6..61302ab3da72749ae0972c1d2fec766746737600:/src/mc/mcer_ignore.cpp diff --git a/src/mc/mcer_ignore.cpp b/src/mc/mcer_ignore.cpp index 4c752035be..f9cc9e7fe2 100644 --- a/src/mc/mcer_ignore.cpp +++ b/src/mc/mcer_ignore.cpp @@ -5,7 +5,7 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "internal_config.h" -#include "mc_object_info.h" +#include "mc_dwarf.hpp" #include "mc/mc_private.h" #include "smpi/private.h" #include "mc/mc_snapshot.h" @@ -13,6 +13,10 @@ #include "mc/mc_protocol.h" #include "mc/mc_client.h" +#include "mc/Frame.hpp" +#include "mc/Variable.hpp" +#include "mc/ObjectInformation.hpp" + extern "C" { XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mcer_ignore, mc, @@ -111,18 +115,18 @@ void MC_heap_region_ignore_remove(void *address, size_t size) void MCer_ignore_global_variable(const char *name) { - mc_process_t process = &mc_model_checker->process(); + simgrid::mc::Process* process = &mc_model_checker->process(); xbt_assert(!process->object_infos.empty(), "MC subsystem not initialized"); - for (std::shared_ptr const& info : process->object_infos) { + for (std::shared_ptr const& info : process->object_infos) { // Binary search: int start = 0; int end = info->global_variables.size() - 1; while (start <= end) { unsigned int cursor = (start + end) / 2; - mc_variable_t current_var = &info->global_variables[cursor]; - int cmp = strcmp(current_var->name.c_str(), name); + simgrid::mc::Variable* current_var = &info->global_variables[cursor]; + int cmp = current_var->name.compare(name); if (cmp == 0) { info->global_variables.erase( info->global_variables.begin() + cursor); @@ -141,25 +145,25 @@ void MCer_ignore_global_variable(const char *name) static void mc_ignore_local_variable_in_scope(const char *var_name, const char *subprogram_name, - mc_frame_t subprogram, - mc_frame_t scope); + simgrid::mc::Frame* subprogram, + simgrid::mc::Frame* scope); static void MC_ignore_local_variable_in_object(const char *var_name, const char *subprogram_name, - mc_object_info_t info); + simgrid::mc::ObjectInformation* info); void MC_ignore_local_variable(const char *var_name, const char *frame_name) { - mc_process_t process = &mc_model_checker->process(); + simgrid::mc::Process* process = &mc_model_checker->process(); if (strcmp(frame_name, "*") == 0) frame_name = NULL; - for (std::shared_ptr const& info : process->object_infos) + for (std::shared_ptr const& info : process->object_infos) MC_ignore_local_variable_in_object(var_name, frame_name, info.get()); } static void MC_ignore_local_variable_in_object(const char *var_name, const char *subprogram_name, - mc_object_info_t info) + simgrid::mc::ObjectInformation* info) { for (auto& entry : info->subprograms) mc_ignore_local_variable_in_scope( @@ -179,8 +183,8 @@ static void MC_ignore_local_variable_in_object(const char *var_name, */ static void mc_ignore_local_variable_in_scope(const char *var_name, const char *subprogram_name, - mc_frame_t subprogram, - mc_frame_t scope) + simgrid::mc::Frame* subprogram, + simgrid::mc::Frame* scope) { // Processing of direct variables: @@ -196,9 +200,9 @@ static void mc_ignore_local_variable_in_scope(const char *var_name, // Dichotomic search: while (start <= end) { int cursor = (start + end) / 2; - mc_variable_t current_var = &scope->variables[cursor]; + simgrid::mc::Variable* current_var = &scope->variables[cursor]; - int compare = strcmp(current_var->name.c_str(), var_name); + int compare = current_var->name.compare(var_name); if (compare == 0) { // Variable found, remove it: scope->variables.erase(scope->variables.begin() + cursor); @@ -218,7 +222,7 @@ static void mc_ignore_local_variable_in_scope(const char *var_name, for (simgrid::mc::Frame& nested_scope : scope->scopes) { // The new scope may be an inlined subroutine, in this case we want to use its // namespaced name in recursive calls: - mc_frame_t nested_subprogram = + simgrid::mc::Frame* nested_subprogram = nested_scope.tag == DW_TAG_inlined_subroutine ? &nested_scope : subprogram;