klee
TerminationTypes.h
Go to the documentation of this file.
1//===-- TerminationTypes.h --------------------------------------*- C++ -*-===//
2//
3// The KLEE Symbolic Virtual Machine
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef KLEE_TERMINATIONTYPES_H
11#define KLEE_TERMINATIONTYPES_H
12
13#include <cstdint>
14
15#define TERMINATION_TYPES \
16 TTYPE(RUNNING, 0U, "") \
17 TTYPE(Exit, 1U, "") \
18 MARK(NORMAL, 1U) \
19 TTYPE(Interrupted, 2U, "early") \
20 TTYPE(MaxDepth, 3U, "early") \
21 TTYPE(OutOfMemory, 4U, "early") \
22 TTYPE(OutOfStackMemory, 5U, "early") \
23 MARK(EARLY, 5U) \
24 TTYPE(Solver, 8U, "solver.err") \
25 MARK(SOLVERERR, 8U) \
26 TTYPE(Abort, 10U, "abort.err") \
27 TTYPE(Assert, 11U, "assert.err") \
28 TTYPE(BadVectorAccess, 12U, "bad_vector_access.err") \
29 TTYPE(Free, 13U, "free.err") \
30 TTYPE(Model, 14U, "model.err") \
31 TTYPE(Overflow, 15U, "overflow.err") \
32 TTYPE(Ptr, 16U, "ptr.err") \
33 TTYPE(ReadOnly, 17U, "read_only.err") \
34 TTYPE(ReportError, 18U, "report_error.err") \
35 MARK(PROGERR, 18U) \
36 TTYPE(User, 23U, "user.err") \
37 MARK(USERERR, 23U) \
38 TTYPE(Execution, 25U, "exec.err") \
39 TTYPE(External, 26U, "external.err") \
40 MARK(EXECERR, 26U) \
41 TTYPE(Replay, 27U, "") \
42 TTYPE(Merge, 28U, "") \
43 TTYPE(SilentExit, 29U, "") \
44 MARK(END, 29U)
45
47enum class StateTerminationType : std::uint8_t {
48#define TTYPE(N,I,S) N = (I),
49#define MARK(N,I) N = (I),
51#undef TTYPE
52#undef MARK
53};
54
55#endif
#define TERMINATION_TYPES
StateTerminationType
Reason an ExecutionState got terminated.