|
31 | 31 | #include <goto-programs/goto_convert_functions.h>
|
32 | 32 | #include <goto-programs/goto_inline.h>
|
33 | 33 | #include <goto-programs/initialize_goto_model.h>
|
| 34 | +#include <goto-programs/instrument_preconditions.h> |
34 | 35 | #include <goto-programs/link_to_library.h>
|
35 | 36 | #include <goto-programs/process_goto_program.h>
|
36 | 37 | #include <goto-programs/read_goto_binary.h>
|
@@ -876,25 +877,23 @@ bool goto_analyzer_parse_optionst::process_goto_program(
|
876 | 877 | // adding the library.
|
877 | 878 | remove_asm(goto_model);
|
878 | 879 |
|
879 |
| -#if 0 |
880 | 880 | // add the library
|
881 | 881 | log.status() << "Adding CPROVER library (" << config.ansi_c.arch << ")" << messaget::eom;
|
882 | 882 | link_to_library(
|
883 | 883 | goto_model, ui_message_handler, cprover_cpp_library_factory);
|
884 | 884 | link_to_library(goto_model, ui_message_handler, cprover_c_library_factory);
|
885 | 885 |
|
886 |
| - // these are commented out as well because without the library |
887 |
| - // this initialization code doesn’t make any sense |
888 | 886 | add_malloc_may_fail_variable_initializations(goto_model);
|
889 | 887 |
|
890 |
| -#endif |
891 |
| - |
892 | 888 | // remove function pointers
|
893 | 889 | log.status() << "Removing function pointers and virtual functions"
|
894 | 890 | << messaget::eom;
|
895 | 891 | remove_function_pointers(
|
896 | 892 | ui_message_handler, goto_model, cmdline.isset("pointer-check"));
|
897 | 893 |
|
| 894 | + // instrument library preconditions |
| 895 | + instrument_preconditions(goto_model); |
| 896 | + |
898 | 897 | // do partial inlining
|
899 | 898 | log.status() << "Partial Inlining" << messaget::eom;
|
900 | 899 | goto_partial_inline(goto_model, ui_message_handler);
|
|
0 commit comments