X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/04d54045cf7cb419276d6a233e17f36c9feb4a55..130f51aeb55bd3bf2706c1f5b09ca59fa291c087:/src/mc/mc_exit.hpp diff --git a/src/mc/mc_exit.hpp b/src/mc/mc_exit.hpp index 6494e19efc..234ea1466a 100644 --- a/src/mc/mc_exit.hpp +++ b/src/mc/mc_exit.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2015-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2015-2023. 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. */ @@ -8,25 +8,23 @@ #include "xbt/base.h" #include -constexpr int SIMGRID_MC_EXIT_SUCCESS = 0; -constexpr int SIMGRID_MC_EXIT_SAFETY = 1; -constexpr int SIMGRID_MC_EXIT_LIVENESS = 2; -constexpr int SIMGRID_MC_EXIT_DEADLOCK = 3; -constexpr int SIMGRID_MC_EXIT_NON_TERMINATION = 4; -constexpr int SIMGRID_MC_EXIT_NON_DETERMINISM = 5; -constexpr int SIMGRID_MC_EXIT_PROGRAM_CRASH = 6; +namespace simgrid::mc { -constexpr int SIMGRID_MC_EXIT_ERROR = 63; - -namespace simgrid { -namespace mc { -class XBT_PUBLIC DeadlockError : public std::exception { -}; -class XBT_PUBLIC TerminationError : public std::exception { +enum class ExitStatus { + SUCCESS = 0, + SAFETY = 1, + LIVENESS = 2, + DEADLOCK = 3, + NON_TERMINATION = 4, + NON_DETERMINISM = 5, + PROGRAM_CRASH = 6, + ERROR = 63 }; -class XBT_PUBLIC LivenessError : public std::exception { + +struct McError : public std::exception { + const ExitStatus value; + explicit McError(ExitStatus v = ExitStatus::ERROR) : value(v) {} }; -} -} +} // namespace simgrid::mc #endif