ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
fallible_calls.h
Go to the documentation of this file.
1#pragma once
2
3#include <irep2/irep2.h>
4#include <string_view>
5#include <vector>
6
16
17enum class success_kind : uint8_t
18{
27};
28
30{
31 std::string_view name;
33};
34
36const std::vector<fallible_call_t> &fallible_calls();
37
40const fallible_call_t *find_fallible(std::string_view name);
41
44expr2tc success_predicate(success_kind kind, const expr2tc &ret_value);
const fallible_call_t * find_fallible(std::string_view name)
Looks up a fallible-call entry by unmangled function name.
Definition fallible_calls.cpp:61
success_kind
Fixed whitelist of C-stdlib / POSIX functions whose return value carries success/failure information,...
Definition fallible_calls.h:18
@ non_null
Success iff the returned pointer is non-null (e.g.
Definition fallible_calls.h:21
@ zero
Success iff the returned integer is zero (e.g. pthread_mutex_lock).
Definition fallible_calls.h:26
@ non_negative
Success iff the returned integer is non-negative (e.g.
Definition fallible_calls.h:24
expr2tc success_predicate(success_kind kind, const expr2tc &ret_value)
Builds the boolean expression that holds iff ret_value (typed to match the call's return type) lies i...
Definition fallible_calls.cpp:70
const std::vector< fallible_call_t > & fallible_calls()
Returns the immutable whitelist of fallible calls recognised by v1.
Definition fallible_calls.cpp:6
Classes and definitions for non-stringy internal representation.
irep_container< expr2t > expr2tc
Definition irep2.h:431
Definition fallible_calls.h:30
success_kind kind
Definition fallible_calls.h:32
std::string_view name
Definition fallible_calls.h:31