ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
clang_c_adjust_polymorphic_functions.cpp File Reference
#include <clang-c-frontend/clang_c_adjust.h>
#include <util/lang/c_types.h>
#include <util/expr/expr_util.h>
#include <util/base/prefix.h>
#include <util/expr/type2name.h>
#include <util/arith/arith_tools.h>
#include <algorithm>
#include <initializer_list>
Include dependency graph for clang_c_adjust_polymorphic_functions.cpp:

Functions

static bool is_overflow_builtin (const irep_idt &identifier)
static bool is_carry_builtin (const irep_idt &identifier)
static bool has_any_prefix (const irep_idt &identifier, std::initializer_list< const char * > names)
static bool is_sync_read_modify_write_builtin (const irep_idt &identifier)
static bool is_fetch_then_op_builtin (const irep_idt &identifier)
static bool is_op_then_fetch_builtin (const irep_idt &identifier)
static bool is_atomic_flag_builtin (const irep_idt &identifier)
static exprt atomic_flag_byte (const code_typet::argumentt &arg)
static bool is_overflow_or_carry_builtin (const irep_idt &identifier)
static exprt overflow_builtin_signature (const irep_idt &identifier, const exprt::operandst &arguments)
static exprt carry_builtin_signature (const irep_idt &identifier, const exprt::operandst &arguments)
static exprt c11_atomic_signature (const irep_idt &identifier, const exprt::operandst &arguments)
static symbolt result_symbol (const irep_idt &identifier, const typet &type, contextt &context)
static void convert_expression_to_code (exprt &expr)
static void instantiate_sync_compare_and_swap (const irep_idt &identifier, const irep_idt &identifier_with_type, const code_typet &code_type, const locationt &new_loc, code_blockt &block, contextt &context)
static void instantiate_overflow_builtin (const irep_idt &identifier, const code_typet &code_type, const locationt &new_loc, code_blockt &block)
static void instantiate_carry_builtin (const irep_idt &identifier, const code_typet &code_type, const locationt &new_loc, code_blockt &block)
static exprt fetch_op_expr (const irep_idt &identifier, const exprt &old, const exprt &val)
static void instantiate_read_modify_write (const irep_idt &identifier, const irep_idt &identifier_with_type, const code_typet &code_type, const locationt &new_loc, code_blockt &block, contextt &context)

Function Documentation

◆ atomic_flag_byte()

exprt atomic_flag_byte ( const code_typet::argumentt & arg)
static

◆ c11_atomic_signature()

exprt c11_atomic_signature ( const irep_idt & identifier,
const exprt::operandst & arguments )
static

◆ carry_builtin_signature()

exprt carry_builtin_signature ( const irep_idt & identifier,
const exprt::operandst & arguments )
static

◆ convert_expression_to_code()

void convert_expression_to_code ( exprt & expr)
static

◆ fetch_op_expr()

exprt fetch_op_expr ( const irep_idt & identifier,
const exprt & old,
const exprt & val )
static

◆ has_any_prefix()

bool has_any_prefix ( const irep_idt & identifier,
std::initializer_list< const char * > names )
static

◆ instantiate_carry_builtin()

void instantiate_carry_builtin ( const irep_idt & identifier,
const code_typet & code_type,
const locationt & new_loc,
code_blockt & block )
static

◆ instantiate_overflow_builtin()

void instantiate_overflow_builtin ( const irep_idt & identifier,
const code_typet & code_type,
const locationt & new_loc,
code_blockt & block )
static

◆ instantiate_read_modify_write()

void instantiate_read_modify_write ( const irep_idt & identifier,
const irep_idt & identifier_with_type,
const code_typet & code_type,
const locationt & new_loc,
code_blockt & block,
contextt & context )
static

◆ instantiate_sync_compare_and_swap()

void instantiate_sync_compare_and_swap ( const irep_idt & identifier,
const irep_idt & identifier_with_type,
const code_typet & code_type,
const locationt & new_loc,
code_blockt & block,
contextt & context )
static

◆ is_atomic_flag_builtin()

bool is_atomic_flag_builtin ( const irep_idt & identifier)
static

◆ is_carry_builtin()

bool is_carry_builtin ( const irep_idt & identifier)
static

◆ is_fetch_then_op_builtin()

bool is_fetch_then_op_builtin ( const irep_idt & identifier)
static

◆ is_op_then_fetch_builtin()

bool is_op_then_fetch_builtin ( const irep_idt & identifier)
static

◆ is_overflow_builtin()

bool is_overflow_builtin ( const irep_idt & identifier)
static

◆ is_overflow_or_carry_builtin()

bool is_overflow_or_carry_builtin ( const irep_idt & identifier)
static

◆ is_sync_read_modify_write_builtin()

bool is_sync_read_modify_write_builtin ( const irep_idt & identifier)
static

◆ overflow_builtin_signature()

exprt overflow_builtin_signature ( const irep_idt & identifier,
const exprt::operandst & arguments )
static

◆ result_symbol()

symbolt result_symbol ( const irep_idt & identifier,
const typet & type,
contextt & context )
static