Skip to content

Commit 2e6200a

Browse files
authored
Merge pull request #8696 from tautschnig/contracts-cleanup-includes
Contracts instrumentation: cleanup unnecessary includes
2 parents f7cd7db + 9098aab commit 2e6200a

19 files changed

+51
-171
lines changed

src/goto-instrument/contracts/contracts.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,17 @@ Date: February 2016
1414
#include "contracts.h"
1515

1616
#include <util/c_types.h>
17-
#include <util/exception_utils.h>
18-
#include <util/expr_util.h>
19-
#include <util/find_symbols.h>
2017
#include <util/format_expr.h>
2118
#include <util/fresh_symbol.h>
22-
#include <util/graph.h>
2319
#include <util/mathematical_expr.h>
24-
#include <util/message.h>
25-
#include <util/std_code.h>
2620

2721
#include <goto-programs/goto_inline.h>
28-
#include <goto-programs/goto_program.h>
2922
#include <goto-programs/remove_skip.h>
3023
#include <goto-programs/unwindset.h>
3124

3225
#include <analyses/local_may_alias.h>
33-
#include <ansi-c/c_expr.h>
34-
#include <goto-instrument/havoc_utils.h>
3526
#include <goto-instrument/nondet_static.h>
3627
#include <goto-instrument/unwind.h>
37-
#include <langapi/language_util.h>
3828

3929
#include "cfg_info.h"
4030
#include "havoc_assigns_clause_targets.h"

src/goto-instrument/contracts/dynamic-frames/dfcc.cpp

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,43 +9,22 @@ Author: Remi Delmas, [email protected]
99
#include "dfcc.h"
1010

1111
#include <util/config.h>
12-
#include <util/expr_util.h>
13-
#include <util/format_expr.h>
14-
#include <util/format_type.h>
15-
#include <util/fresh_symbol.h>
16-
#include <util/mathematical_expr.h>
17-
#include <util/mathematical_types.h>
18-
#include <util/namespace.h>
19-
#include <util/pointer_expr.h>
20-
#include <util/pointer_offset_size.h>
21-
#include <util/pointer_predicates.h>
2212
#include <util/prefix.h>
23-
#include <util/std_expr.h>
2413
#include <util/string_utils.h>
2514

26-
#include <goto-programs/goto_functions.h>
27-
#include <goto-programs/goto_inline.h>
28-
#include <goto-programs/goto_model.h>
29-
#include <goto-programs/initialize_goto_model.h>
3015
#include <goto-programs/remove_skip.h>
3116
#include <goto-programs/remove_unused_functions.h>
3217

3318
#include <ansi-c/ansi_c_entry_point.h>
34-
#include <ansi-c/c_expr.h>
3519
#include <ansi-c/c_object_factory_parameters.h>
3620
#include <ansi-c/cprover_library.h>
37-
#include <ansi-c/goto-conversion/goto_convert_functions.h>
3821
#include <ansi-c/goto-conversion/link_to_library.h>
39-
#include <goto-instrument/contracts/cfg_info.h>
40-
#include <goto-instrument/contracts/utils.h>
4122
#include <goto-instrument/generate_function_bodies.h>
4223
#include <goto-instrument/nondet_static.h>
43-
#include <langapi/language.h>
44-
#include <langapi/language_file.h>
45-
#include <langapi/mode.h>
4624
#include <linking/static_lifetime_init.h>
4725

4826
#include "dfcc_lift_memory_predicates.h"
27+
#include "dfcc_utils.h"
4928

5029
invalid_function_contract_pair_exceptiont::
5130
invalid_function_contract_pair_exceptiont(

src/goto-instrument/contracts/dynamic-frames/dfcc_contract_clauses_codegen.h

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,14 @@ Date: February 2023
1414
#ifndef CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_CONTRACT_CLAUSES_CODEGEN_H
1515
#define CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_CONTRACT_CLAUSES_CODEGEN_H
1616

17-
#include <ansi-c/goto-conversion/goto_convert_class.h>
18-
17+
#include <util/expr.h>
1918
#include <util/message.h>
2019
#include <util/namespace.h>
21-
#include <util/std_expr.h>
22-
23-
#include "dfcc_contract_mode.h"
2420

25-
#include <set>
26-
27-
class goto_modelt;
28-
class message_handlert;
29-
class dfcc_libraryt;
30-
class code_with_contract_typet;
3121
class conditional_target_group_exprt;
22+
class dfcc_libraryt;
23+
class goto_modelt;
24+
class goto_programt;
3225

3326
/// Translates assigns and frees clauses of a function contract or
3427
/// loop contract into GOTO programs that build write sets or havoc write sets.

src/goto-instrument/contracts/dynamic-frames/dfcc_contract_functions.cpp

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,13 @@ Date: August 2022
88
\*******************************************************************/
99
#include "dfcc_contract_functions.h"
1010

11-
#include <util/expr_util.h>
12-
#include <util/fresh_symbol.h>
13-
#include <util/invariant.h>
1411
#include <util/mathematical_expr.h>
15-
#include <util/namespace.h>
16-
#include <util/pointer_offset_size.h>
17-
#include <util/std_expr.h>
18-
19-
#include <goto-programs/goto_model.h>
20-
21-
#include <ansi-c/c_expr.h>
22-
#include <goto-instrument/contracts/utils.h>
23-
#include <langapi/language_util.h>
12+
#include <util/symbol.h>
2413

2514
#include "dfcc_contract_clauses_codegen.h"
2615
#include "dfcc_instrument.h"
27-
#include "dfcc_library.h"
2816
#include "dfcc_spec_functions.h"
17+
#include "dfcc_utils.h"
2918

3019
dfcc_contract_functionst::dfcc_contract_functionst(
3120
const symbolt &pure_contract_symbol,

src/goto-instrument/contracts/dynamic-frames/dfcc_contract_functions.h

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,15 @@ Date: August 2022
1414
#ifndef CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_CONTRACT_FUNCTIONS_H
1515
#define CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_CONTRACT_FUNCTIONS_H
1616

17-
#include <ansi-c/goto-conversion/goto_convert_class.h>
18-
1917
#include <util/message.h>
2018
#include <util/namespace.h>
21-
#include <util/std_expr.h>
22-
23-
#include "dfcc_contract_mode.h"
24-
25-
#include <set>
2619

27-
class goto_modelt;
28-
class message_handlert;
29-
class dfcc_libraryt;
20+
class code_with_contract_typet;
21+
class dfcc_contract_clauses_codegent;
3022
class dfcc_instrumentt;
23+
class dfcc_libraryt;
3124
class dfcc_spec_functionst;
32-
class dfcc_contract_clauses_codegent;
33-
class code_with_contract_typet;
34-
class conditional_target_group_exprt;
25+
class goto_modelt;
3526

3627
/// Generates GOTO functions modelling a contract assigns and frees clauses.
3728
///

src/goto-instrument/contracts/dynamic-frames/dfcc_contract_handler.cpp

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,12 @@ Date: August 2022
99

1010
#include "dfcc_contract_handler.h"
1111

12-
#include <util/arith_tools.h>
13-
#include <util/c_types.h>
14-
#include <util/expr_util.h>
15-
#include <util/format_type.h>
16-
#include <util/fresh_symbol.h>
17-
#include <util/invariant.h>
18-
#include <util/mathematical_expr.h>
19-
#include <util/namespace.h>
20-
#include <util/pointer_offset_size.h>
21-
#include <util/std_expr.h>
22-
2312
#include <goto-programs/goto_model.h>
2413
#include <goto-programs/remove_function_pointers.h>
2514

26-
#include <ansi-c/c_expr.h>
27-
#include <goto-instrument/contracts/utils.h>
2815
#include <langapi/language_util.h>
2916

30-
#include "dfcc_instrument.h"
31-
#include "dfcc_library.h"
32-
#include "dfcc_spec_functions.h"
17+
#include "dfcc_utils.h"
3318
#include "dfcc_wrapper_program.h"
3419

3520
std::map<irep_idt, dfcc_contract_functionst>

src/goto-instrument/contracts/dynamic-frames/dfcc_contract_handler.h

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,20 @@ Date: August 2022
1313
#ifndef CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_CONTRACT_HANDLER_H
1414
#define CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_CONTRACT_HANDLER_H
1515

16-
#include <ansi-c/goto-conversion/goto_convert_class.h>
17-
18-
#include <util/message.h>
19-
#include <util/namespace.h>
20-
#include <util/std_expr.h>
21-
2216
#include "dfcc_contract_functions.h"
17+
#include "dfcc_contract_mode.h"
2318

19+
#include <map>
2420
#include <set>
2521

26-
class goto_modelt;
27-
class message_handlert;
28-
class dfcc_libraryt;
22+
class code_typet;
23+
class dfcc_contract_clauses_codegent;
2924
class dfcc_instrumentt;
25+
class dfcc_libraryt;
3026
class dfcc_lift_memory_predicatest;
3127
class dfcc_spec_functionst;
32-
class dfcc_contract_clauses_codegent;
33-
class code_with_contract_typet;
34-
class conditional_target_group_exprt;
28+
class goto_modelt;
29+
class goto_programt;
3530

3631
/// A contract is represented by a function declaration or definition
3732
/// with contract clauses attached to its signature:

src/goto-instrument/contracts/dynamic-frames/dfcc_infer_loop_assigns.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,14 @@ Author: Remi Delmas, [email protected]
77
\*******************************************************************/
88
#include "dfcc_infer_loop_assigns.h"
99

10-
#include <util/expr.h>
1110
#include <util/find_symbols.h>
12-
#include <util/message.h>
1311
#include <util/pointer_expr.h>
14-
#include <util/std_code.h>
1512

1613
#include <goto-programs/goto_inline.h>
1714

1815
#include <analyses/goto_rw.h>
16+
#include <analyses/local_may_alias.h>
1917
#include <goto-instrument/contracts/utils.h>
20-
#include <goto-instrument/havoc_utils.h>
2118

2219
#include "dfcc_loop_nesting_graph.h"
2320
#include "dfcc_root_object.h"

src/goto-instrument/contracts/dynamic-frames/dfcc_infer_loop_assigns.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,11 @@ Author: Remi Delmas, [email protected]
1212
#ifndef CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_INFER_LOOP_ASSIGNS_H
1313
#define CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_INFER_LOOP_ASSIGNS_H
1414

15-
#include <analyses/local_may_alias.h>
1615
#include <goto-instrument/loop_utils.h>
1716

18-
#include "dfcc_loop_nesting_graph.h"
19-
20-
class source_locationt;
21-
class messaget;
2217
class namespacet;
2318
class message_handlert;
19+
struct dfcc_loop_nesting_graph_nodet;
2420

2521
/// Collect identifiers that are local to `loop`.
2622
std::unordered_set<irep_idt> gen_loop_locals_set(

src/goto-instrument/contracts/dynamic-frames/dfcc_instrument_loop.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,18 @@ Date: April 2023
1313
#include "dfcc_instrument_loop.h"
1414
#include <ansi-c/goto-conversion/goto_convert_class.h>
1515

16-
#include <util/format_expr.h>
17-
#include <util/fresh_symbol.h>
16+
#include <util/arith_tools.h>
17+
#include <util/c_types.h>
18+
#include <util/expr_util.h>
1819

1920
#include <goto-instrument/contracts/utils.h>
2021

2122
#include "dfcc_cfg_info.h"
2223
#include "dfcc_contract_clauses_codegen.h"
23-
#include "dfcc_instrument.h"
24+
#include "dfcc_library.h"
2425
#include "dfcc_loop_tags.h"
2526
#include "dfcc_spec_functions.h"
27+
#include "dfcc_utils.h"
2628

2729
dfcc_instrument_loopt::dfcc_instrument_loopt(
2830
goto_modelt &goto_model,

0 commit comments

Comments
 (0)