Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
proper check for the -std=gnu++11 standard, and take in on clang too
[simgrid.git] / src / mc / mc_pair.cpp
1 /* Copyright (c) 2013-2014. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #include <xbt.h>
8 #include "mc_liveness.h"
9 #include "mc_private.h"
10
11 extern "C" {
12
13 mc_pair_t MC_pair_new()
14 {
15   mc_pair_t p = NULL;
16   p = xbt_new0(s_mc_pair_t, 1);
17   p->num = ++mc_stats->expanded_pairs;
18   p->exploration_started = 0;
19   p->search_cycle = 0;
20   p->visited_pair_removed = _sg_mc_visited > 0 ? 0 : 1;
21   return p;
22 }
23
24 void MC_pair_delete(mc_pair_t p)
25 {
26   p->automaton_state = NULL;
27   if(p->visited_pair_removed)
28     MC_state_delete(p->graph_state, 1);
29   xbt_dynar_free(&(p->atomic_propositions));
30   xbt_free(p);
31   p = NULL;
32 }
33
34 void mc_pair_free_voidp(void *p)
35 {
36   MC_pair_delete((mc_pair_t) * (void **) p);
37 }
38
39 }