Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Contexts: move asan support in separate header.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sat, 9 Jun 2018 20:10:48 +0000 (22:10 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sun, 10 Jun 2018 16:56:29 +0000 (18:56 +0200)
src/kernel/context/ContextBoost.cpp
src/kernel/context/context_private.hpp [new file with mode: 0644]
tools/cmake/DefinePackages.cmake

index 2b7be09..87b490e 100644 (file)
@@ -4,20 +4,9 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "ContextBoost.hpp"
+#include "context_private.hpp"
 #include "src/simix/smx_private.hpp"
 
-#if HAVE_SANITIZE_ADDRESS_FIBER_SUPPORT
-#include <sanitizer/asan_interface.h>
-#define ASAN_EVAL(expr) (expr)
-#define ASAN_START_SWITCH(fake_stack_save, bottom, size) __sanitizer_start_switch_fiber(fake_stack_save, bottom, size)
-#define ASAN_FINISH_SWITCH(fake_stack_save, bottom_old, size_old)                                                      \
-  __sanitizer_finish_switch_fiber(fake_stack_save, bottom_old, size_old)
-#else
-#define ASAN_EVAL(expr) (void)0
-#define ASAN_START_SWITCH(fake_stack_save, bottom, size) (void)0
-#define ASAN_FINISH_SWITCH(fake_stack_save, bottom_old, size_old) (void)(fake_stack_save)
-#endif
-
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_context);
 
 namespace simgrid {
diff --git a/src/kernel/context/context_private.hpp b/src/kernel/context/context_private.hpp
new file mode 100644 (file)
index 0000000..c2b809a
--- /dev/null
@@ -0,0 +1,23 @@
+/* Copyright (c) 2017-2018. The SimGrid Team. All rights reserved.          */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+#ifndef SIMGRID_KERNEL_CONTEXT_PRIVATE_HPP
+#define SIMGRID_KERNEL_CONTEXT_PRIVATE_HPP
+
+#include "src/internal_config.h"
+
+#if HAVE_SANITIZE_ADDRESS_FIBER_SUPPORT
+#include <sanitizer/asan_interface.h>
+#define ASAN_EVAL(expr) (expr)
+#define ASAN_START_SWITCH(fake_stack_save, bottom, size) __sanitizer_start_switch_fiber(fake_stack_save, bottom, size)
+#define ASAN_FINISH_SWITCH(fake_stack_save, bottom_old, size_old)                                                      \
+  __sanitizer_finish_switch_fiber(fake_stack_save, bottom_old, size_old)
+#else
+#define ASAN_EVAL(expr) (void)0
+#define ASAN_START_SWITCH(fake_stack_save, bottom, size) (void)0
+#define ASAN_FINISH_SWITCH(fake_stack_save, bottom_old, size_old) (void)(fake_stack_save)
+#endif
+
+#endif
index cb2889f..e6ecdf5 100644 (file)
@@ -369,6 +369,7 @@ set(SIMIX_SRC
   src/kernel/future.cpp
   src/simix/libsmx.cpp
   src/simix/smx_context.cpp
+  src/kernel/context/context_private.hpp
   src/kernel/context/Context.cpp
   src/kernel/context/Context.hpp
   src/kernel/context/ContextRaw.cpp