ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
cprover_library.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <vector>
5#include <util/irep/irep.h>
6
7class languaget;
8class contextt;
10
11/* Registers the bundled internal libc headers and sources with
12 * file_operations. */
14
15/* Returns the path the headers of the internal libc have been extracted to
16 * or NULL if no library is configured (either via config.ansi_c.lib or during
17 * build time). */
18const std::string *internal_libc_header_dir();
19
20/* Adds the internal libc to `context` by parsing and linking all C sources.
21 *
22 * Note that parsing the entire ESBMC standard library is a slow process.
23 */
25 contextt &context,
26 const languaget &c_language);
27
29 contextt &context,
30 const languaget *language = nullptr);
31
36void record_library_symbol(const irep_idt &id);
37
56 contextt &context,
57 const goto_functionst *prelowered = nullptr);
58
60void assert_no_pruned_calls(const goto_functionst &functions);
Definition context.h:57
Definition goto_functions.h:56
Definition irep_idt.h:12
Definition language.h:16
void assert_no_pruned_calls(const goto_functionst &functions)
Abort if any call in functions targets a symbol the prune erased.
Definition cprover_library.cpp:694
void register_bundled_libc()
Definition cprover_libc_sources.cpp:38
const std::string * internal_libc_header_dir()
Definition cprover_libc_sources.cpp:100
void prune_unreferenced_library_functions(contextt &context, const goto_functionst *prelowered=nullptr)
Erase every library FUNCTION symbol not reachable from the program's own symbols, so goto_convert nev...
Definition cprover_library.cpp:628
void add_cprover_library(contextt &context, const languaget *language=nullptr)
Definition cprover_blank_library.cpp:4
void record_library_symbol(const irep_idt &id)
Record that id came from a bundled operational-model library rather than from the program.
Definition cprover_library.cpp:609
void add_bundled_library_sources(contextt &context, const languaget &c_language)
Definition cprover_libc_sources.cpp:119