Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Make Checker implementation private
authorGabriel Corona <gabriel.corona@loria.fr>
Mon, 4 Apr 2016 15:47:17 +0000 (17:47 +0200)
committerGabriel Corona <gabriel.corona@loria.fr>
Mon, 4 Apr 2016 15:47:23 +0000 (17:47 +0200)
* XBT_PRIVATE symbols;

* header files only used inside the .cpp file.

Fixes a symbol visbility mismatch warning.

src/mc/Checker.hpp
src/mc/CommunicationDeterminismChecker.cpp
src/mc/CommunicationDeterminismChecker.hpp
src/mc/SafetyChecker.cpp
src/mc/SafetyChecker.hpp
src/mc/VisitedState.hpp
src/mc/simgrid_mc.cpp

index af861cd..6259678 100644 (file)
@@ -53,6 +53,8 @@ protected:
 };
 
 XBT_PUBLIC() Checker* createLivenessChecker(Session& session);
+XBT_PUBLIC() Checker* createSafetyChecker(Session& session);
+XBT_PUBLIC() Checker* createCommunicationDeterminismChecker(Session& session);
 
 }
 }
index cf2593b..a817ff9 100644 (file)
@@ -554,5 +554,10 @@ int CommunicationDeterminismChecker::run()
   return res;
 }
 
+Checker* createCommunicationDeterminismChecker(Session& session)
+{
+  return new CommunicationDeterminismChecker(session);
+}
+
 }
 }
\ No newline at end of file
index 4c00ce6..bd30d04 100644 (file)
@@ -19,7 +19,7 @@
 namespace simgrid {
 namespace mc {
 
-class CommunicationDeterminismChecker : public Checker {
+class XBT_PRIVATE CommunicationDeterminismChecker : public Checker {
 public:
   CommunicationDeterminismChecker(Session& session);
   ~CommunicationDeterminismChecker();
index bb759a3..0a05e4a 100644 (file)
@@ -326,6 +326,11 @@ SafetyChecker::SafetyChecker(Session& session) : Checker(session)
 SafetyChecker::~SafetyChecker()
 {
 }
+
+Checker* createSafetyChecker(Session& session)
+{
+  return new SafetyChecker(session);
+}
   
 }
 }
index 82c2bbb..9694a93 100644 (file)
@@ -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);
index 3e06ecc..364c8bf 100644 (file)
@@ -27,7 +27,7 @@ struct XBT_PRIVATE VisitedState {
   ~VisitedState();
 };
 
-class VisitedStates {
+class XBT_PRIVATE VisitedStates {
   std::vector<std::unique_ptr<simgrid::mc::VisitedState>> states_;
 public:
   void clear() { states_.clear(); }
index 984ca97..9f85d7a 100644 (file)
@@ -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<simgrid::mc::Checker> createChecker(simgrid::mc::Session& sessio
 {
   if (_sg_mc_comms_determinism || _sg_mc_send_determinism)
     return std::unique_ptr<simgrid::mc::Checker>(
-      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<simgrid::mc::Checker>(
-      new simgrid::mc::SafetyChecker(session));
+      simgrid::mc::createSafetyChecker(session));
   else
     return std::unique_ptr<simgrid::mc::Checker>(
       simgrid::mc::createLivenessChecker(session));