#include "src/mc/mc_smx.h"
#include "src/mc/remote/Client.hpp"
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_liveness, mc,
- "Logging specific to algorithms for liveness properties verification");
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_liveness, mc, "Logging specific to algorithms for liveness properties verification");
/********* Static functions *********/
this->atomic_propositions = std::move(atomic_propositions);
}
-VisitedPair::~VisitedPair() = default;
-
-static bool evaluate_label(
- xbt_automaton_exp_label_t l, std::vector<int> const& values)
+static bool evaluate_label(xbt_automaton_exp_label_t l, std::vector<int> const& values)
{
switch (l->type) {
case xbt_automaton_exp_label::AUT_OR:
Pair::Pair(unsigned long expanded_pairs) : num(expanded_pairs)
{}
-Pair::~Pair() {}
-
std::shared_ptr<const std::vector<int>> LivenessChecker::getPropositionValues()
{
std::vector<int> values;
|| *(pair_test->atomic_propositions) != *(new_pair->atomic_propositions)
|| this->compare(pair_test.get(), new_pair.get()) != 0)
continue;
- XBT_INFO("Pair %d already reached (equal to pair %d) !",
- new_pair->num, pair_test->num);
+ XBT_INFO("Pair %d already reached (equal to pair %d) !", new_pair->num, pair_test->num);
explorationStack_.pop_back();
if (dot_output != nullptr)
- fprintf(dot_output, "\"%d\" -> \"%d\" [%s];\n",
- this->previousPair_, pair_test->num,
- this->previousRequest_.c_str());
+ fprintf(dot_output, "\"%d\" -> \"%d\" [%s];\n", this->previousPair_, pair_test->num,
+ this->previousRequest_.c_str());
return nullptr;
}
return -1;
if (visited_pair == nullptr)
- visited_pair = std::make_shared<VisitedPair>(
- pair->num, pair->automaton_state, pair->atomic_propositions,
- pair->graph_state);
+ visited_pair =
+ std::make_shared<VisitedPair>(pair->num, pair->automaton_state, pair->atomic_propositions, pair->graph_state);
auto range = boost::range::equal_range(visitedPairs_, visited_pair.get(),
simgrid::mc::DerefAndCompareByActorsCountAndUsedHeap());
{
}
-LivenessChecker::~LivenessChecker()
-{
-}
-
RecordTrace LivenessChecker::getRecordTrace() // override
{
RecordTrace res;
#include "src/mc/Variable.hpp"
int test_some_array[4][5][6];
-struct some_struct { int first; int second[4][5]; } test_some_struct;
+struct some_struct {
+ int first;
+ int second[4][5];
+} test_some_struct;
static simgrid::mc::Type* find_type_by_name(simgrid::mc::ObjectInformation* info, const char* name)
{
simgrid::dwarf::Location location = simgrid::dwarf::resolve(
var->location_list, info, cursor, frame_base, nullptr, -1);
- xbt_assert(location.in_memory(),
- "Expected the variable %s of function %s to be in memory",
- variable, function);
- xbt_assert(location.address() == address,
- "Bad resolution of local variable %s of %s", variable, function);
-
+ xbt_assert(location.in_memory(), "Expected the variable %s of function %s to be in memory", variable, function);
+ xbt_assert(location.address() == address, "Bad resolution of local variable %s of %s", variable, function);
}
static simgrid::mc::Variable* test_global_variable(
{
simgrid::mc::Variable* variable = info->find_variable(name);
xbt_assert(variable, "Global variable %s was not found", name);
- xbt_assert(variable->name == name,
- "Name mismatch for %s", name);
+ xbt_assert(variable->name == name, "Name mismatch for %s", name);
xbt_assert(variable->global, "Variable %s is not global", name);
- xbt_assert(variable->address == address,
- "Address mismatch for %s : %p expected but %p found",
- name, address, variable->address);
+ xbt_assert(variable->address == address, "Address mismatch for %s : %p expected but %p found", name, address,
+ variable->address);
auto i = process.binary_info->types.find(variable->type_id);
xbt_assert(i != process.binary_info->types.end(), "Missing type for %s", name);
static void test_type_by_name(simgrid::mc::Process& process, s_foo my_foo)
{
- assert(
- process.binary_info->full_types_by_name.find("struct foo") !=
- process.binary_info->full_types_by_name.end());
+ assert(process.binary_info->full_types_by_name.find("struct foo") != process.binary_info->full_types_by_name.end());
}
int main(int argc, char** argv)
simgrid::mc::Process process(getpid(), -1);
process.init();
- test_global_variable(process, process.binary_info.get(),
- "some_local_variable", &some_local_variable, sizeof(int));
+ test_global_variable(process, process.binary_info.get(), "some_local_variable", &some_local_variable, sizeof(int));
- var = test_global_variable(process, process.binary_info.get(),
- "test_some_array", &test_some_array, sizeof(test_some_array));
+ var = test_global_variable(process, process.binary_info.get(), "test_some_array", &test_some_array,
+ sizeof(test_some_array));
auto i = process.binary_info->types.find(var->type_id);
xbt_assert(i != process.binary_info->types.end(), "Missing type");
type = &i->second;
- xbt_assert(type->element_count == 6*5*4,
- "element_count mismatch in test_some_array : %i / %i",
- type->element_count, 6*5*4);
+ xbt_assert(type->element_count == 6 * 5 * 4, "element_count mismatch in test_some_array : %i / %i",
+ type->element_count, 6 * 5 * 4);
- var = test_global_variable(process, process.binary_info.get(),
- "test_some_struct", &test_some_struct, sizeof(test_some_struct));
+ var = test_global_variable(process, process.binary_info.get(), "test_some_struct", &test_some_struct,
+ sizeof(test_some_struct));
i = process.binary_info->types.find(var->type_id);
xbt_assert(i != process.binary_info->types.end(), "Missing type");
type = &i->second;
assert(type);
assert(find_member(*type, "first")->offset() == 0);
- assert(find_member(*type, "second")->offset()
- == ((const char*)&test_some_struct.second) - (const char*)&test_some_struct);
+ assert(find_member(*type, "second")->offset() ==
+ ((const char*)&test_some_struct.second) - (const char*)&test_some_struct);
unw_context_t context;
unw_cursor_t cursor;
test_local_variable(process.binary_info.get(), "main", "argc", &argc, &cursor);
- {
- int lexical_block_variable = 50;
- test_local_variable(process.binary_info.get(), "main",
- "lexical_block_variable", &lexical_block_variable, &cursor);
- }
+ int lexical_block_variable = 50;
+ test_local_variable(process.binary_info.get(), "main", "lexical_block_variable", &lexical_block_variable, &cursor);
s_foo my_foo;
test_type_by_name(process, my_foo);