CBMC
cprover_builtin_headers.h
Go to the documentation of this file.
1
// clang-format off
2
void
__CPROVER_assume
(__CPROVER_bool assumption);
3
void
__VERIFIER_assume
(__CPROVER_bool assumption);
4
void
__CPROVER_assert
(__CPROVER_bool assertion,
const
char
*description);
5
void
__CPROVER_precondition
(__CPROVER_bool
precondition
,
const
char
*description);
6
void
__CPROVER_postcondition
(__CPROVER_bool assertion,
const
char
*description);
7
void
__CPROVER_havoc_object
(
void
*);
8
void
__CPROVER_havoc_slice
(
void
*, __CPROVER_size_t);
9
__CPROVER_bool
__CPROVER_equal
();
10
__CPROVER_bool
__CPROVER_same_object
(
const
void
*,
const
void
*);
11
__CPROVER_bool
__CPROVER_is_invalid_pointer
(
const
void
*);
12
_Bool
__CPROVER_is_zero_string
(
const
void
*);
13
__CPROVER_size_t
__CPROVER_zero_string_length
(
const
void
*);
14
__CPROVER_size_t
__CPROVER_buffer_size
(
const
void
*);
15
__CPROVER_bool
__CPROVER_r_ok
();
16
__CPROVER_bool
__CPROVER_w_ok
();
17
__CPROVER_bool
__CPROVER_rw_ok
();
18
19
// experimental features for CHC encodings -- do not use
20
__CPROVER_bool
__CPROVER_is_list
();
// a singly-linked null-terminated dynamically-allocated list
21
__CPROVER_bool
__CPROVER_is_dll
();
22
__CPROVER_bool
__CPROVER_is_cyclic_dll
();
23
__CPROVER_bool
__CPROVER_is_sentinel_dll
();
24
__CPROVER_bool
__CPROVER_is_cstring
(
const
char
*);
25
__CPROVER_size_t
__CPROVER_cstrlen
(
const
char
*);
26
27
// bitvector analysis
28
__CPROVER_bool
__CPROVER_get_flag
(
const
void
*,
const
char
*);
29
void
__CPROVER_set_must
(
const
void
*,
const
char
*);
30
void
__CPROVER_clear_must
(
const
void
*,
const
char
*);
31
void
__CPROVER_set_may
(
const
void
*,
const
char
*);
32
void
__CPROVER_clear_may
(
const
void
*,
const
char
*);
33
void
__CPROVER_cleanup
(
const
void
*,
const
void
*);
34
__CPROVER_bool
__CPROVER_get_must
(
const
void
*,
const
char
*);
35
__CPROVER_bool
__CPROVER_get_may
(
const
void
*,
const
char
*);
36
37
void
__CPROVER_printf
(
const
char
*
format
, ...);
38
void
__CPROVER_input
(
const
char
*
id
, ...);
39
void
__CPROVER_output
(
const
char
*
id
, ...);
40
void
__CPROVER_cover
(__CPROVER_bool condition);
41
42
// concurrency-related
43
void
__CPROVER_atomic_begin
();
44
void
__CPROVER_atomic_end
();
45
void
__CPROVER_fence
(
const
char
*kind, ...);
46
47
// contract-related functions
48
__CPROVER_bool
__CPROVER_is_fresh
(
const
void
*mem, __CPROVER_size_t size);
49
void
__CPROVER_old
(
const
void
*);
50
void
__CPROVER_loop_entry
(
const
void
*);
51
52
// pointers
53
__CPROVER_bool
__CPROVER_LIVE_OBJECT
(
const
void
*);
54
__CPROVER_bool
__CPROVER_WRITEABLE_OBJECT
(
const
void
*);
55
__CPROVER_size_t
__CPROVER_POINTER_OBJECT
(
const
void
*);
56
__CPROVER_ssize_t
__CPROVER_POINTER_OFFSET
(
const
void
*);
57
__CPROVER_size_t
__CPROVER_OBJECT_SIZE
(
const
void
*);
58
__CPROVER_bool
__CPROVER_DYNAMIC_OBJECT
(
const
void
*);
59
void
__CPROVER_allocated_memory
(__CPROVER_size_t address, __CPROVER_size_t extent);
60
61
// float stuff
62
int
__CPROVER_fpclassify
(
int
,
int
,
int
,
int
,
int
, ...);
63
__CPROVER_bool
__CPROVER_isnanf
(
float
f);
64
__CPROVER_bool
__CPROVER_isnand
(
double
f);
65
__CPROVER_bool
__CPROVER_isnanld
(
long
double
f);
66
__CPROVER_bool
__CPROVER_isfinitef
(
float
f);
67
__CPROVER_bool
__CPROVER_isfinited
(
double
f);
68
__CPROVER_bool
__CPROVER_isfiniteld
(
long
double
f);
69
__CPROVER_bool
__CPROVER_isinff
(
float
f);
70
__CPROVER_bool
__CPROVER_isinfd
(
double
f);
71
__CPROVER_bool
__CPROVER_isinfld
(
long
double
f);
72
__CPROVER_bool
__CPROVER_isnormalf
(
float
f);
73
__CPROVER_bool
__CPROVER_isnormald
(
double
f);
74
__CPROVER_bool
__CPROVER_isnormalld
(
long
double
f);
75
__CPROVER_bool
__CPROVER_signf
(
float
f);
76
__CPROVER_bool
__CPROVER_signd
(
double
f);
77
__CPROVER_bool
__CPROVER_signld
(
long
double
f);
78
double
__CPROVER_inf
(
void
);
79
float
__CPROVER_inff
(
void
);
80
long
double
__CPROVER_infl
(
void
);
81
int
__CPROVER_isgreaterf
(
float
f,
float
g);
82
int
__CPROVER_isgreaterd
(
double
f,
double
g);
83
int
__CPROVER_isgreaterequalf
(
float
f,
float
g);
84
int
__CPROVER_isgreaterequald
(
double
f,
double
g);
85
int
__CPROVER_islessf
(
float
f,
float
g);
86
int
__CPROVER_islessd
(
double
f,
double
g);
87
int
__CPROVER_islessequalf
(
float
f,
float
g);
88
int
__CPROVER_islessequald
(
double
f,
double
g);
89
int
__CPROVER_islessgreaterf
(
float
f,
float
g);
90
int
__CPROVER_islessgreaterd
(
double
f,
double
g);
91
int
__CPROVER_isunorderedf
(
float
f,
float
g);
92
int
__CPROVER_isunorderedd
(
double
f,
double
g);
93
94
// absolute value
95
int
__CPROVER_abs
(
int
x);
96
long
int
__CPROVER_labs
(
long
int
x);
97
long
long
int
__CPROVER_llabs
(
long
long
int
x);
98
double
__CPROVER_fabs
(
double
x);
99
long
double
__CPROVER_fabsl
(
long
double
x);
100
float
__CPROVER_fabsf
(
float
x);
101
102
// modulo and remainder
103
double
__CPROVER_fmod
(
double
,
double
);
104
float
__CPROVER_fmodf
(
float
,
float
);
105
long
double
__CPROVER_fmodl
(
long
double
,
long
double
);
106
double
__CPROVER_remainder
(
double
,
double
);
107
float
__CPROVER_remainderf
(
float
,
float
);
108
long
double
__CPROVER_remainderl
(
long
double
,
long
double
);
109
110
// arrays
111
__CPROVER_bool
__CPROVER_array_equal
(
const
void
*array1,
const
void
*array2);
112
// overwrite all of *dest (possibly using nondet values), even
113
// if *src is smaller
114
void
__CPROVER_array_copy
(
const
void
*dest,
const
void
*src);
115
// replace at most size-of-*src bytes in *dest
116
void
__CPROVER_array_replace
(
const
void
*dest,
const
void
*src);
117
void
__CPROVER_array_set
(
const
void
*dest, ...);
118
119
// k-induction
120
void
__CPROVER_k_induction_hint
(
unsigned
min,
unsigned
max,
121
unsigned
step,
unsigned
loop_free);
122
123
// format string-related
124
int
__CPROVER_scanf
(
const
char
*, ...);
125
126
// detect overflow
127
__CPROVER_bool
__CPROVER_overflow_minus
();
128
__CPROVER_bool
__CPROVER_overflow_mult
();
129
__CPROVER_bool
__CPROVER_overflow_plus
();
130
__CPROVER_bool
__CPROVER_overflow_shl
();
131
__CPROVER_bool
__CPROVER_overflow_unary_minus
();
132
133
// enumerations
134
__CPROVER_bool
__CPROVER_enum_is_in_range
();
135
136
// contracts
137
void
__CPROVER_assignable
(
void
*ptr, __CPROVER_size_t size,
138
__CPROVER_bool is_ptr_to_ptr);
139
void
__CPROVER_object_whole
(
void
*ptr);
140
void
__CPROVER_object_from
(
void
*ptr);
141
void
__CPROVER_object_upto
(
void
*ptr, __CPROVER_size_t size);
142
// clang-format on
__CPROVER_zero_string_length
__CPROVER_size_t __CPROVER_zero_string_length(const void *)
__CPROVER_isunorderedd
int __CPROVER_isunorderedd(double f, double g)
__CPROVER_assignable
void __CPROVER_assignable(void *ptr, __CPROVER_size_t size, __CPROVER_bool is_ptr_to_ptr)
__CPROVER_equal
__CPROVER_bool __CPROVER_equal()
format
static format_containert< T > format(const T &o)
Definition:
format.h:37
__CPROVER_is_cstring
__CPROVER_bool __CPROVER_is_cstring(const char *)
__CPROVER_set_must
void __CPROVER_set_must(const void *, const char *)
__CPROVER_OBJECT_SIZE
__CPROVER_size_t __CPROVER_OBJECT_SIZE(const void *)
__CPROVER_is_zero_string
_Bool __CPROVER_is_zero_string(const void *)
__CPROVER_old
void __CPROVER_old(const void *)
__CPROVER_fabsl
long double __CPROVER_fabsl(long double x)
__CPROVER_islessequalf
int __CPROVER_islessequalf(float f, float g)
__CPROVER_is_invalid_pointer
__CPROVER_bool __CPROVER_is_invalid_pointer(const void *)
__CPROVER_isgreaterequalf
int __CPROVER_isgreaterequalf(float f, float g)
__CPROVER_islessf
int __CPROVER_islessf(float f, float g)
__CPROVER_object_upto
void __CPROVER_object_upto(void *ptr, __CPROVER_size_t size)
__CPROVER_array_replace
void __CPROVER_array_replace(const void *dest, const void *src)
__CPROVER_remainderf
float __CPROVER_remainderf(float, float)
__CPROVER_allocated_memory
void __CPROVER_allocated_memory(__CPROVER_size_t address, __CPROVER_size_t extent)
__CPROVER_scanf
int __CPROVER_scanf(const char *,...)
__CPROVER_enum_is_in_range
__CPROVER_bool __CPROVER_enum_is_in_range()
__CPROVER_input
void __CPROVER_input(const char *id,...)
__CPROVER_printf
void __CPROVER_printf(const char *format,...)
__CPROVER_inf
double __CPROVER_inf(void)
__CPROVER_object_whole
void __CPROVER_object_whole(void *ptr)
__CPROVER_fpclassify
int __CPROVER_fpclassify(int, int, int, int, int,...)
__CPROVER_is_fresh
__CPROVER_bool __CPROVER_is_fresh(const void *mem, __CPROVER_size_t size)
__CPROVER_remainderl
long double __CPROVER_remainderl(long double, long double)
__CPROVER_isgreaterd
int __CPROVER_isgreaterd(double f, double g)
__CPROVER_assume
void __CPROVER_assume(__CPROVER_bool assumption)
__CPROVER_clear_must
void __CPROVER_clear_must(const void *, const char *)
__CPROVER_isnormalf
__CPROVER_bool __CPROVER_isnormalf(float f)
__CPROVER_overflow_minus
__CPROVER_bool __CPROVER_overflow_minus()
__CPROVER_LIVE_OBJECT
__CPROVER_bool __CPROVER_LIVE_OBJECT(const void *)
__CPROVER_overflow_unary_minus
__CPROVER_bool __CPROVER_overflow_unary_minus()
__CPROVER_overflow_plus
__CPROVER_bool __CPROVER_overflow_plus()
__CPROVER_isnanld
__CPROVER_bool __CPROVER_isnanld(long double f)
__CPROVER_loop_entry
void __CPROVER_loop_entry(const void *)
__CPROVER_atomic_end
void __CPROVER_atomic_end()
__CPROVER_isinfld
__CPROVER_bool __CPROVER_isinfld(long double f)
__CPROVER_islessequald
int __CPROVER_islessequald(double f, double g)
__CPROVER_fmod
double __CPROVER_fmod(double, double)
__CPROVER_clear_may
void __CPROVER_clear_may(const void *, const char *)
__CPROVER_labs
long int __CPROVER_labs(long int x)
__CPROVER_isinfd
__CPROVER_bool __CPROVER_isinfd(double f)
__CPROVER_ssize_t
signed long long __CPROVER_ssize_t
Definition:
cprover.h:19
__CPROVER_DYNAMIC_OBJECT
__CPROVER_bool __CPROVER_DYNAMIC_OBJECT(const void *)
__CPROVER_remainder
double __CPROVER_remainder(double, double)
__CPROVER_havoc_object
void __CPROVER_havoc_object(void *)
__CPROVER_w_ok
__CPROVER_bool __CPROVER_w_ok()
__CPROVER_buffer_size
__CPROVER_size_t __CPROVER_buffer_size(const void *)
__CPROVER_islessd
int __CPROVER_islessd(double f, double g)
__CPROVER_atomic_begin
void __CPROVER_atomic_begin()
__CPROVER_fabs
double __CPROVER_fabs(double x)
__CPROVER_isfiniteld
__CPROVER_bool __CPROVER_isfiniteld(long double f)
__CPROVER_isfinited
__CPROVER_bool __CPROVER_isfinited(double f)
__CPROVER_fabsf
float __CPROVER_fabsf(float x)
__CPROVER_array_set
void __CPROVER_array_set(const void *dest,...)
__CPROVER_output
void __CPROVER_output(const char *id,...)
__CPROVER_get_may
__CPROVER_bool __CPROVER_get_may(const void *, const char *)
__CPROVER_object_from
void __CPROVER_object_from(void *ptr)
__CPROVER_isinff
__CPROVER_bool __CPROVER_isinff(float f)
__CPROVER_fmodf
float __CPROVER_fmodf(float, float)
__CPROVER_is_list
__CPROVER_bool __CPROVER_is_list()
__CPROVER_havoc_slice
void __CPROVER_havoc_slice(void *, __CPROVER_size_t)
__CPROVER_rw_ok
__CPROVER_bool __CPROVER_rw_ok()
__CPROVER_set_may
void __CPROVER_set_may(const void *, const char *)
__CPROVER_isfinitef
__CPROVER_bool __CPROVER_isfinitef(float f)
__CPROVER_abs
int __CPROVER_abs(int x)
__CPROVER_k_induction_hint
void __CPROVER_k_induction_hint(unsigned min, unsigned max, unsigned step, unsigned loop_free)
__CPROVER_cstrlen
__CPROVER_size_t __CPROVER_cstrlen(const char *)
__CPROVER_POINTER_OFFSET
__CPROVER_ssize_t __CPROVER_POINTER_OFFSET(const void *)
__CPROVER_POINTER_OBJECT
__CPROVER_size_t __CPROVER_POINTER_OBJECT(const void *)
__CPROVER_cover
void __CPROVER_cover(__CPROVER_bool condition)
__CPROVER_isnormalld
__CPROVER_bool __CPROVER_isnormalld(long double f)
__CPROVER_postcondition
void __CPROVER_postcondition(__CPROVER_bool assertion, const char *description)
__CPROVER_islessgreaterd
int __CPROVER_islessgreaterd(double f, double g)
__CPROVER_isgreaterf
int __CPROVER_isgreaterf(float f, float g)
__CPROVER_is_sentinel_dll
__CPROVER_bool __CPROVER_is_sentinel_dll()
__CPROVER_signf
__CPROVER_bool __CPROVER_signf(float f)
__CPROVER_isnanf
__CPROVER_bool __CPROVER_isnanf(float f)
__CPROVER_overflow_shl
__CPROVER_bool __CPROVER_overflow_shl()
__CPROVER_same_object
__CPROVER_bool __CPROVER_same_object(const void *, const void *)
__CPROVER_is_dll
__CPROVER_bool __CPROVER_is_dll()
__CPROVER_isnand
__CPROVER_bool __CPROVER_isnand(double f)
__CPROVER_array_equal
__CPROVER_bool __CPROVER_array_equal(const void *array1, const void *array2)
__CPROVER_is_cyclic_dll
__CPROVER_bool __CPROVER_is_cyclic_dll()
__CPROVER_array_copy
void __CPROVER_array_copy(const void *dest, const void *src)
__CPROVER_assert
void __CPROVER_assert(__CPROVER_bool assertion, const char *description)
__CPROVER_overflow_mult
__CPROVER_bool __CPROVER_overflow_mult()
precondition
void precondition(const namespacet &ns, value_setst &value_sets, const goto_programt::const_targett target, const symex_target_equationt &equation, const goto_symex_statet &s, exprt &dest)
Definition:
precondition.cpp:54
__CPROVER_WRITEABLE_OBJECT
__CPROVER_bool __CPROVER_WRITEABLE_OBJECT(const void *)
__CPROVER_llabs
long long int __CPROVER_llabs(long long int x)
__CPROVER_isnormald
__CPROVER_bool __CPROVER_isnormald(double f)
__VERIFIER_assume
void __VERIFIER_assume(__CPROVER_bool assumption)
__CPROVER_infl
long double __CPROVER_infl(void)
__CPROVER_signld
__CPROVER_bool __CPROVER_signld(long double f)
__CPROVER_precondition
void __CPROVER_precondition(__CPROVER_bool precondition, const char *description)
__CPROVER_fmodl
long double __CPROVER_fmodl(long double, long double)
__CPROVER_fence
void __CPROVER_fence(const char *kind,...)
__CPROVER_r_ok
__CPROVER_bool __CPROVER_r_ok()
__CPROVER_get_flag
__CPROVER_bool __CPROVER_get_flag(const void *, const char *)
__CPROVER_signd
__CPROVER_bool __CPROVER_signd(double f)
__CPROVER_inff
float __CPROVER_inff(void)
__CPROVER_get_must
__CPROVER_bool __CPROVER_get_must(const void *, const char *)
__CPROVER_isgreaterequald
int __CPROVER_isgreaterequald(double f, double g)
__CPROVER_cleanup
void __CPROVER_cleanup(const void *, const void *)
__CPROVER_isunorderedf
int __CPROVER_isunorderedf(float f, float g)
__CPROVER_islessgreaterf
int __CPROVER_islessgreaterf(float f, float g)
src
ansi-c
cprover_builtin_headers.h
Generated by
1.8.17