X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ee95945d9c2e0d0e25b2722a8350a3607a22f5d4..1bdbe2db10271b1d1948e1ee0382abcfe622a991:/src/mc/mc_liveness.h diff --git a/src/mc/mc_liveness.h b/src/mc/mc_liveness.h index c5d2acc61a..b8fbd019f0 100644 --- a/src/mc/mc_liveness.h +++ b/src/mc/mc_liveness.h @@ -14,6 +14,7 @@ #include #include #include +#include #include "src/mc/mc_state.h" SG_BEGIN_DECL() @@ -26,34 +27,38 @@ namespace mc { extern XBT_PRIVATE xbt_automaton_t property_automaton; struct XBT_PRIVATE Pair { - int num; - int search_cycle; - mc_state_t graph_state; /* System state included */ - xbt_automaton_state_t automaton_state; - xbt_dynar_t atomic_propositions; - int requests; - int depth; - int exploration_started; - int visited_pair_removed; + int num = 0; + int search_cycle = 0; + mc_state_t graph_state = nullptr; /* System state included */ + xbt_automaton_state_t automaton_state = nullptr; + simgrid::xbt::unique_ptr atomic_propositions; + int requests = 0; + int depth = 0; + int exploration_started = 0; + int visited_pair_removed = 0; + + Pair(); + ~Pair(); + + Pair(Pair const&) = delete; + Pair& operator=(Pair const&) = delete; }; struct XBT_PRIVATE VisitedPair { - int num; - int other_num; /* Dot output for */ - int acceptance_pair; - mc_state_t graph_state; /* System state included */ - xbt_automaton_state_t automaton_state; - xbt_dynar_t atomic_propositions; - size_t heap_bytes_used; - int nb_processes; - int acceptance_removed; - int visited_removed; -}; + int num = 0; + int other_num = 0; /* Dot output for */ + int acceptance_pair = 0; + mc_state_t graph_state = nullptr; /* System state included */ + xbt_automaton_state_t automaton_state = nullptr; + simgrid::xbt::unique_ptr atomic_propositions; + size_t heap_bytes_used = 0; + int nb_processes = 0; + int acceptance_removed = 0; + int visited_removed = 0; -XBT_PRIVATE simgrid::mc::Pair* pair_new(void); -XBT_PRIVATE void pair_delete(simgrid::mc::Pair*); -XBT_PRIVATE simgrid::mc::VisitedPair* visited_pair_new(int pair_num, xbt_automaton_state_t automaton_state, xbt_dynar_t atomic_propositions, mc_state_t graph_state); -XBT_PRIVATE void visited_pair_delete(simgrid::mc::VisitedPair* p); + VisitedPair(int pair_num, xbt_automaton_state_t automaton_state, xbt_dynar_t atomic_propositions, mc_state_t graph_state); + ~VisitedPair(); +}; int modelcheck_liveness(void); XBT_PRIVATE void show_stack_liveness(xbt_fifo_t stack);