#ifndef SIMGRID_FEATURES_H
#define SIMGRID_FEATURES_H
-// fixme: dirty hack
-#if defined(XBT_RUNNING_CTX_INITIALIZER)
-# define MSG_WAIT_DESTROYS_COMMS 0
-#else
-# define MSG_WAIT_DESTROYS_COMMS 1
-#endif
+/* What is defined here:
+ * =====================
+ *
+ * MSG_WAIT_DESTROYS_COMMS 1 if MSG_wait destroys communications
+ * (has changed after SimGrid 3.5)
+ *
+ * MSG_comm_get_status(comm) MSG_OK on SG 3.5 where it does not exist.
+ */
+
+#if !defined(SIMGRID_VERSION) // ========== SimGrid <= 3.5 ============= //
+
+#define MSG_WAIT_DESTROYS_COMMS 1
+
+inline
+MSG_error_t MSG_comm_get_status(msg_comm_t /*comm*/)
+{
+ return MSG_OK;
+}
+
+#else // ================================= SimGrid > 3.5 ============== //
+
+#define MSG_WAIT_DESTROYS_COMMS 0
+
+#endif // ============================================================= //
#endif // !SIMGRID_FEATURES_H
+
+// Local variables:
+// mode: c++
+// End: