Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[appveyor] disable LTO as symengine's mingw does not provide it
[simgrid.git] / src / surf / surf_interface.cpp
index 5cf6362..155c519 100644 (file)
 #include "mc/mc.h"
 #include "vm_interface.hpp"
 
+#ifdef _MSC_VER
+#pragma warning(disable: 4251)
+// warning C4251: 'Action::action_hook': class 'boost::intrusive::list_member_hook<void,void,void>' needs to have dll-interface to be used by clients of class 'Action'
+// No worry, compiler. Nobody will use those hooks from outside the DLL (or they will pay the price for it)
+#endif
+
 XBT_LOG_NEW_CATEGORY(surf, "All SURF categories");
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_kernel, surf,
                                 "Logging specific to SURF (kernel)");
@@ -871,7 +877,7 @@ void Action::setPriority(double priority)
 void Action::cancel(){
   setState(SURF_ACTION_FAILED);
   if (getModel()->getUpdateMechanism() == UM_LAZY) {
-    if (actionLmmHook::is_linked())
+    if (action_lmm_hook.is_linked())
       getModel()->getModifiedSet()->erase(getModel()->getModifiedSet()->iterator_to(*this));
     heapRemove(getModel()->getActionHeap());
   }
@@ -880,14 +886,14 @@ void Action::cancel(){
 int Action::unref(){
   m_refcount--;
   if (!m_refcount) {
-    if (actionHook::is_linked())
+    if (action_hook.is_linked())
       p_stateSet->erase(p_stateSet->iterator_to(*this));
     if (getVariable())
       lmm_variable_free(getModel()->getMaxminSystem(), getVariable());
     if (getModel()->getUpdateMechanism() == UM_LAZY) {
       /* remove from heap */
       heapRemove(getModel()->getActionHeap());
-      if (actionLmmHook::is_linked())
+      if (action_lmm_hook.is_linked())
         getModel()->getModifiedSet()->erase(getModel()->getModifiedSet()->iterator_to(*this));
     }
     delete this;