ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
type_kinds.inc
Go to the documentation of this file.
1
// Single source of truth for irep2 type kinds.
2
//
3
// Includers must `#define IREP2_TYPE(kind, pretty_name)` before
4
// including this file and `#undef IREP2_TYPE` after. The macro is
5
// invoked once per kind in declaration order; the order matches the
6
// `type2t::type_ids` enum exactly.
7
//
8
// Arguments:
9
// kind — bare identifier (e.g. `array`). The generators
10
// derive `<kind>_type2t`, `<kind>_id`,
11
// `is_<kind>_type`, `to_<kind>_type`,
12
// `try_to_<kind>_type` from it.
13
// pretty_name — string literal printed by pretty() / used by
14
// irep2_bad_type_cast for diagnostics. Currently
15
// matches the kind identifier exactly for every
16
// entry, but is kept as a separate column so an
17
// occasional override (cf. expr_kinds.inc) can be
18
// added without touching every generator.
19
20
IREP2_TYPE
(
bool
,
"bool"
)
21
IREP2_TYPE
(empty,
"empty"
)
22
IREP2_TYPE
(symbol,
"symbol"
)
23
IREP2_TYPE
(struct,
"struct"
)
24
IREP2_TYPE
(union,
"union"
)
25
IREP2_TYPE
(code,
"code"
)
26
IREP2_TYPE
(
array
,
"array"
)
27
IREP2_TYPE
(vector,
"vector"
)
28
IREP2_TYPE
(pointer,
"pointer"
)
29
IREP2_TYPE
(unsignedbv,
"unsignedbv"
)
30
IREP2_TYPE
(signedbv,
"signedbv"
)
31
IREP2_TYPE
(fixedbv,
"fixedbv"
)
32
IREP2_TYPE
(floatbv,
"floatbv"
)
33
IREP2_TYPE
(complex,
"complex"
)
34
IREP2_TYPE
(cpp_name,
"cpp_name"
)
array
Definition
toml.hpp:6607
IREP2_TYPE
#define IREP2_TYPE(kind, pretty)
Definition
irep2.h:561
src
irep2
type_kinds.inc
Generated by
1.15.0