CBMC
Loading...
Searching...
No Matches
cprover_library.cpp
Go to the documentation of this file.
1/*******************************************************************\
2
3Module:
4
5Author: Michael Tautschnig
6
7\*******************************************************************/
8
9#include "cprover_library.h"
10
11#include <sstream>
12
13#include <util/config.h>
14
16
17static std::string get_cprover_library_text(
18 const std::set<irep_idt> &functions,
19 const symbol_table_baset &symbol_table)
20{
21 std::ostringstream library_text;
22
23 library_text << "#line 1 \"<builtin-library>\"\n"
24 << "#undef inline\n";
25
26 // cprover_library.inc may not have been generated when running Doxygen, thus
27 // make Doxygen skip this part
30#include "cprover_library.inc" // IWYU pragma: keep
31 ; // NOLINT(whitespace/semicolon)
33
35 functions, symbol_table, cprover_library, library_text.str());
36}
37
39 const std::set<irep_idt> &functions,
40 const symbol_table_baset &symbol_table,
42 message_handlert &message_handler)
43{
45 return;
46
47 const std::string library_text =
48 get_cprover_library_text(functions, symbol_table);
49
51}
static std::string get_cprover_library_text(const std::set< irep_idt > &functions, const symbol_table_baset &symbol_table, const bool force_load)
void add_library(const std::string &src, symbol_table_baset &symbol_table, message_handlert &message_handler, const std::set< irep_idt > &keep)
Parses and typechecks the given src and adds its contents to the symbol table.
configt config
Definition config.cpp:25
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
struct configt::ansi_ct ansi_c
The symbol table base class interface.
void cprover_cpp_library_factory(const std::set< irep_idt > &functions, const symbol_table_baset &symbol_table, symbol_table_baset &dest_symbol_table, message_handlert &message_handler)