case DW_TAG_structure_type:
case DW_TAG_class_type:
xbt_dynar_foreach(type->members, cursor, member) {
- XBT_DEBUG("Compare member %s", member->name);
void *member1 =
mc_member_snapshot_resolve(area1, type, member, snapshot1);
void *member2 =
offset1 = (char *) current_var1->address - (char *) std_heap;
offset2 = (char *) current_var2->address - (char *) std_heap;
// TODO, fix current_varX->subprogram->name to include name if DW_TAG_inlined_subprogram
- XBT_DEBUG("Compare local variable %s of frame %s",
- current_var1->subprogram->name, current_var1->subprogram->name);
-
if (current_var1->region == 1) {
dw_type_t subtype = current_var1->type;
mc_snapshot_t s1, s2;
int num1, num2;
- if (_sg_mc_property_file && _sg_mc_property_file[0] != '\0') { /* Liveness MC */
+ if (_sg_mc_liveness) { /* Liveness MC */
s1 = ((mc_visited_pair_t) state1)->graph_state->system_state;
s2 = ((mc_visited_pair_t) state2)->graph_state->system_state;
num1 = ((mc_visited_pair_t) state1)->num;
num2 = ((mc_visited_pair_t) state2)->num;
- /* Firstly compare automaton state */
- /*if(xbt_automaton_state_compare(((mc_pair_t)state1)->automaton_state, ((mc_pair_t)state2)->automaton_state) != 0)
- return 1;
- if(xbt_automaton_propositional_symbols_compare_value(((mc_pair_t)state1)->atomic_propositions, ((mc_pair_t)state2)->atomic_propositions) != 0)
- return 1; */
- } else { /* Safety MC */
+ } else { /* Safety or comm determinism MC */
s1 = ((mc_visited_state_t) state1)->system_state;
s2 = ((mc_visited_state_t) state2)->system_state;
num1 = ((mc_visited_state_t) state1)->num;
}
}
+ /* Compare enabled processes */
+ unsigned int cursor;
+ int pid;
+ xbt_dynar_foreach(s1->enabled_processes, cursor, pid){
+ if(!xbt_dynar_member(s2->enabled_processes, &pid))
+ XBT_VERB("(%d - %d) Different enabled processes", num1, num2);
+ }
+
int i = 0;
size_t size_used1, size_used2;
int is_diff = 0;
-
/* Compare size of stacks */
while (i < xbt_dynar_length(s1->stacks)) {
size_used1 = s1->stack_sizes[i];
#endif
/* Stacks comparison */
- unsigned int cursor = 0;
+ cursor = 0;
int diff_local = 0;
#ifdef MC_DEBUG
is_diff = 0;