Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Noreturn annotations in contexts.
[simgrid.git] / src / kernel / context / ContextBoost.hpp
index 516b85f..6445635 100644 (file)
@@ -33,15 +33,11 @@ namespace context {
 class BoostContext : public SwappedContext {
 public:
   BoostContext(std::function<void()>&& code, actor::ActorImpl* actor, SwappedContextFactory* factory);
-  ~BoostContext() override;
 
   void swap_into(SwappedContext* to) override;
 
 private:
-#if BOOST_VERSION < 105600
-  boost::context::fcontext_t* fc_ = nullptr;
-  typedef intptr_t arg_type;
-#elif BOOST_VERSION < 106100
+#if BOOST_VERSION < 106100
   boost::context::fcontext_t fc_;
   typedef intptr_t arg_type;
 #else
@@ -49,7 +45,7 @@ private:
   typedef boost::context::detail::transfer_t arg_type;
 #endif
 
-  static void wrapper(arg_type arg);
+  XBT_ATTRIB_NORETURN static void wrapper(arg_type arg);
 };
 
 class BoostContextFactory : public SwappedContextFactory {