X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/88fad0aaff9eb463f048bfdfe4ad6218aba44ddb..102c27957beb3025cec67dda5e11590e60f8a682:/src/mc/mc_exit.hpp diff --git a/src/mc/mc_exit.hpp b/src/mc/mc_exit.hpp index 23d2626041..234ea1466a 100644 --- a/src/mc/mc_exit.hpp +++ b/src/mc/mc_exit.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2015-2018. 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. */ @@ -6,26 +6,25 @@ #ifndef SIMGRID_MC_EXIT_HPP #define SIMGRID_MC_EXIT_HPP #include "xbt/base.h" +#include -#define SIMGRID_MC_EXIT_SUCCESS 0 -#define SIMGRID_MC_EXIT_SAFETY 1 -#define SIMGRID_MC_EXIT_LIVENESS 2 -#define SIMGRID_MC_EXIT_DEADLOCK 3 -#define SIMGRID_MC_EXIT_NON_TERMINATION 4 -#define SIMGRID_MC_EXIT_NON_DETERMINISM 5 -#define SIMGRID_MC_EXIT_PROGRAM_CRASH 6 +namespace simgrid::mc { -#define SIMGRID_MC_EXIT_ERROR 63 - -namespace simgrid { -namespace mc { -class XBT_PUBLIC DeadlockError { -}; -class XBT_PUBLIC TerminationError { +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 { + +struct McError : public std::exception { + const ExitStatus value; + explicit McError(ExitStatus v = ExitStatus::ERROR) : value(v) {} }; -} -} +} // namespace simgrid::mc #endif