Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
rework how host-to-host comms are managed
[simgrid.git] / include / simgrid / Exception.hpp
index fa3d7aa..304295a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018-2021. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2018-2022. 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. */
@@ -93,19 +93,20 @@ public:
   xbt::ThrowPoint const& throw_point() const { return throwpoint_; }
 
   /** Allow to carry a value (used by testany/waitany) */
-  int get_value() const { return value_; }
-  void set_value(int value) { value_ = value; }
+  ssize_t get_value() const { return value_; }
+  void set_value(ssize_t value) { value_ = value; }
 
   std::string resolve_backtrace() const { return throwpoint_.backtrace_.resolve(); }
 
-  virtual void rethrow_nested(simgrid::xbt::ThrowPoint&& throwpoint, const std::string& message) const
+  XBT_ATTRIB_NORETURN virtual void rethrow_nested(simgrid::xbt::ThrowPoint&& throwpoint,
+                                                  const std::string& message) const
   {
     std::throw_with_nested(Exception(std::move(throwpoint), message));
   }
 
 private:
   xbt::ThrowPoint throwpoint_;
-  int value_ = 0;
+  ssize_t value_ = 0;
 };
 
 #define DECLARE_SIMGRID_EXCEPTION(AnyException, ...)                                                                   \
@@ -114,7 +115,8 @@ private:
     using Exception::Exception;                                                                                        \
     __VA_ARGS__                                                                                                        \
     ~AnyException() override;                                                                                          \
-    void rethrow_nested(simgrid::xbt::ThrowPoint&& throwpoint, const std::string& message) const override              \
+    XBT_ATTRIB_NORETURN void rethrow_nested(simgrid::xbt::ThrowPoint&& throwpoint,                                     \
+                                            const std::string& message) const override                                 \
     {                                                                                                                  \
       std::throw_with_nested(AnyException(std::move(throwpoint), message));                                            \
     }                                                                                                                  \