From 08835cc95982fa241576ee7b09006d5f97914584 Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Mon, 4 Apr 2016 17:47:17 +0200 Subject: [PATCH 1/1] [mc] Make Checker implementation private * XBT_PRIVATE symbols; * header files only used inside the .cpp file. Fixes a symbol visbility mismatch warning. --- src/mc/Checker.hpp | 2 ++ src/mc/CommunicationDeterminismChecker.cpp | 5 +++++ src/mc/CommunicationDeterminismChecker.hpp | 2 +- src/mc/SafetyChecker.cpp | 5 +++++ src/mc/SafetyChecker.hpp | 2 +- src/mc/VisitedState.hpp | 2 +- src/mc/simgrid_mc.cpp | 6 ++---- 7 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/mc/Checker.hpp b/src/mc/Checker.hpp index af861cd455..625967887e 100644 --- a/src/mc/Checker.hpp +++ b/src/mc/Checker.hpp @@ -53,6 +53,8 @@ protected: }; XBT_PUBLIC() Checker* createLivenessChecker(Session& session); +XBT_PUBLIC() Checker* createSafetyChecker(Session& session); +XBT_PUBLIC() Checker* createCommunicationDeterminismChecker(Session& session); } } diff --git a/src/mc/CommunicationDeterminismChecker.cpp b/src/mc/CommunicationDeterminismChecker.cpp index cf2593bfce..a817ff97a1 100644 --- a/src/mc/CommunicationDeterminismChecker.cpp +++ b/src/mc/CommunicationDeterminismChecker.cpp @@ -554,5 +554,10 @@ int CommunicationDeterminismChecker::run() return res; } +Checker* createCommunicationDeterminismChecker(Session& session) +{ + return new CommunicationDeterminismChecker(session); +} + } } \ No newline at end of file diff --git a/src/mc/CommunicationDeterminismChecker.hpp b/src/mc/CommunicationDeterminismChecker.hpp index 4c00ce6273..bd30d0435e 100644 --- a/src/mc/CommunicationDeterminismChecker.hpp +++ b/src/mc/CommunicationDeterminismChecker.hpp @@ -19,7 +19,7 @@ namespace simgrid { namespace mc { -class CommunicationDeterminismChecker : public Checker { +class XBT_PRIVATE CommunicationDeterminismChecker : public Checker { public: CommunicationDeterminismChecker(Session& session); ~CommunicationDeterminismChecker(); diff --git a/src/mc/SafetyChecker.cpp b/src/mc/SafetyChecker.cpp index bb759a346e..0a05e4a8e7 100644 --- a/src/mc/SafetyChecker.cpp +++ b/src/mc/SafetyChecker.cpp @@ -326,6 +326,11 @@ SafetyChecker::SafetyChecker(Session& session) : Checker(session) SafetyChecker::~SafetyChecker() { } + +Checker* createSafetyChecker(Session& session) +{ + return new SafetyChecker(session); +} } } diff --git a/src/mc/SafetyChecker.hpp b/src/mc/SafetyChecker.hpp index 82c2bbb3fb..9694a93d3a 100644 --- a/src/mc/SafetyChecker.hpp +++ b/src/mc/SafetyChecker.hpp @@ -19,7 +19,7 @@ namespace simgrid { namespace mc { -class SafetyChecker : public Checker { +class XBT_PRIVATE SafetyChecker : public Checker { simgrid::mc::ReductionMode reductionMode_ = simgrid::mc::ReductionMode::unset; public: SafetyChecker(Session& session); diff --git a/src/mc/VisitedState.hpp b/src/mc/VisitedState.hpp index 3e06eccc67..364c8bfa52 100644 --- a/src/mc/VisitedState.hpp +++ b/src/mc/VisitedState.hpp @@ -27,7 +27,7 @@ struct XBT_PRIVATE VisitedState { ~VisitedState(); }; -class VisitedStates { +class XBT_PRIVATE VisitedStates { std::vector> states_; public: void clear() { states_.clear(); } diff --git a/src/mc/simgrid_mc.cpp b/src/mc/simgrid_mc.cpp index 984ca974c6..9f85d7a164 100644 --- a/src/mc/simgrid_mc.cpp +++ b/src/mc/simgrid_mc.cpp @@ -27,8 +27,6 @@ #include "src/mc/mc_exit.h" #include "src/mc/Session.hpp" #include "src/mc/Checker.hpp" -#include "src/mc/CommunicationDeterminismChecker.hpp" -#include "src/mc/SafetyChecker.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_main, mc, "Entry point for simgrid-mc"); @@ -46,10 +44,10 @@ std::unique_ptr createChecker(simgrid::mc::Session& sessio { if (_sg_mc_comms_determinism || _sg_mc_send_determinism) return std::unique_ptr( - new simgrid::mc::CommunicationDeterminismChecker(session)); + simgrid::mc::createCommunicationDeterminismChecker(session)); else if (!_sg_mc_property_file || _sg_mc_property_file[0] == '\0') return std::unique_ptr( - new simgrid::mc::SafetyChecker(session)); + simgrid::mc::createSafetyChecker(session)); else return std::unique_ptr( simgrid::mc::createLivenessChecker(session)); -- 2.20.1