X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/22cae46149e1fb4988ad9e46060c3e7ecd4e0e44..43f7ca1cac5ab1858e318fdd6239d0a0c3b3d893:/src/mc/compare.cpp diff --git a/src/mc/compare.cpp b/src/mc/compare.cpp index bdc2339ae3..fabd66bd2f 100644 --- a/src/mc/compare.cpp +++ b/src/mc/compare.cpp @@ -25,7 +25,8 @@ #include "src/xbt/mmalloc/mmprivate.h" #if HAVE_SMPI -#include "src/smpi/private.h" +#include "src/smpi/include/private.h" +#include "src/smpi/include/private.hpp" #endif #include "src/mc/mc_forward.hpp" @@ -315,7 +316,7 @@ static int mmalloc_compare_heap( simgrid::mc::StateComparator& state, simgrid::mc::Snapshot* snapshot1, simgrid::mc::Snapshot* snapshot2) { - simgrid::mc::Process* process = &mc_model_checker->process(); + simgrid::mc::RemoteClient* process = &mc_model_checker->process(); /* Start comparison */ size_t i1; @@ -608,7 +609,7 @@ static int compare_heap_area_without_type( HeapLocationPairs* previous, int size, int check_ignore) { - simgrid::mc::Process* process = &mc_model_checker->process(); + simgrid::mc::RemoteClient* process = &mc_model_checker->process(); mc_mem_region_t heap_region1 = MC_get_heap_region(snapshot1); mc_mem_region_t heap_region2 = MC_get_heap_region(snapshot2); @@ -964,7 +965,7 @@ int compare_heap_area(simgrid::mc::StateComparator& state, int process_index, HeapLocationPairs* previous, simgrid::mc::Type* type, int pointer_level) { - simgrid::mc::Process* process = &mc_model_checker->process(); + simgrid::mc::RemoteClient* process = &mc_model_checker->process(); int res_compare; ssize_t block1; @@ -1275,7 +1276,7 @@ static int compare_areas_with_type(simgrid::mc::StateComparator& state, void* real_area2, simgrid::mc::Snapshot* snapshot2, mc_mem_region_t region2, simgrid::mc::Type* type, int pointer_level) { - simgrid::mc::Process* process = &mc_model_checker->process(); + simgrid::mc::RemoteClient* process = &mc_model_checker->process(); simgrid::mc::Type* subtype; simgrid::mc::Type* subsubtype; @@ -1363,9 +1364,7 @@ static int compare_areas_with_type(simgrid::mc::StateComparator& state, if (addr_pointed1 > process->heap_address && addr_pointed1 < mc_snapshot_get_heap_end(snapshot1)) { - if (! - (addr_pointed2 > process->heap_address - && addr_pointed2 < mc_snapshot_get_heap_end(snapshot2))) + if (not(addr_pointed2 > process->heap_address && addr_pointed2 < mc_snapshot_get_heap_end(snapshot2))) return 1; // The pointers are both in the heap: return simgrid::mc::compare_heap_area(state, @@ -1480,11 +1479,9 @@ static int compare_global_variables( (char *) current_var.address); return 1; } - } return 0; - } static int compare_local_variables(simgrid::mc::StateComparator& state, @@ -1501,7 +1498,6 @@ static int compare_local_variables(simgrid::mc::StateComparator& state, unsigned int cursor = 0; local_variable_t current_var1, current_var2; - int res; while (cursor < stack1->local_variables.size()) { current_var1 = &stack1->local_variables[cursor]; current_var2 = &stack1->local_variables[cursor]; @@ -1522,22 +1518,18 @@ static int compare_local_variables(simgrid::mc::StateComparator& state, // TODO, fix current_varX->subprogram->name to include name if DW_TAG_inlined_subprogram simgrid::mc::Type* subtype = current_var1->type; - res = - compare_areas_with_type(state, process_index, - current_var1->address, snapshot1, mc_get_snapshot_region(current_var1->address, snapshot1, process_index), - current_var2->address, snapshot2, mc_get_snapshot_region(current_var2->address, snapshot2, process_index), - subtype, 0); - - if (res == 1) { - // TODO, fix current_varX->subprogram->name to include name if DW_TAG_inlined_subprogram - XBT_VERB - ("Local variable %s (%p - %p) in frame %s " - "is different between snapshots", - current_var1->name.c_str(), - current_var1->address, - current_var2->address, - current_var1->subprogram->name.c_str()); - return res; + int res = compare_areas_with_type( + state, process_index, current_var1->address, snapshot1, + mc_get_snapshot_region(current_var1->address, snapshot1, process_index), current_var2->address, snapshot2, + mc_get_snapshot_region(current_var2->address, snapshot2, process_index), subtype, 0); + + if (res == 1) { + // TODO, fix current_varX->subprogram->name to include name if DW_TAG_inlined_subprogram + XBT_VERB("Local variable %s (%p - %p) in frame %s " + "is different between snapshots", + current_var1->name.c_str(), current_var1->address, current_var2->address, + current_var1->subprogram->name.c_str()); + return res; } cursor++; } @@ -1558,7 +1550,7 @@ int snapshot_compare(int num1, simgrid::mc::Snapshot* s1, int num2, simgrid::mc: else state_comparator->clear(); - simgrid::mc::Process* process = &mc_model_checker->process(); + simgrid::mc::RemoteClient* process = &mc_model_checker->process(); int errors = 0; @@ -1643,7 +1635,6 @@ int snapshot_compare(int num1, simgrid::mc::Snapshot* s1, int num2, simgrid::mc: XBT_DEBUG("(%d - %d) Different local variables between stacks %d", num1, num2, cursor + 1); errors++; - is_diff = 1; #else #ifdef MC_VERBOSE