Skip to content

Commit 10a4685

Browse files
author
Daniel Kroening
authored
Merge pull request diffblue#2219 from tautschnig/nondet-initializer
nondet_initializer to build deep non-deterministic expressions
2 parents e12cb04 + 60ab7ec commit 10a4685

22 files changed

+173
-110
lines changed

jbmc/src/java_bytecode/java_bytecode_convert_class.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,11 @@ Author: Daniel Kroening, [email protected]
2121
#include "java_bytecode_language.h"
2222
#include "java_utils.h"
2323

24-
#include <util/c_types.h>
2524
#include <util/arith_tools.h>
25+
#include <util/c_types.h>
26+
#include <util/expr_initializer.h>
2627
#include <util/namespace.h>
2728
#include <util/std_expr.h>
28-
29-
#include <linking/zero_initializer.h>
3029
#include <util/suffix.h>
3130

3231
class java_bytecode_convert_classt:public messaget

jbmc/src/java_bytecode/java_bytecode_convert_method.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Author: Daniel Kroening, [email protected]
2424

2525
#include <util/arith_tools.h>
2626
#include <util/c_types.h>
27+
#include <util/expr_initializer.h>
2728
#include <util/ieee_float.h>
2829
#include <util/invariant.h>
2930
#include <util/namespace.h>
@@ -32,8 +33,6 @@ Author: Daniel Kroening, [email protected]
3233
#include <util/std_expr.h>
3334
#include <util/string2int.h>
3435

35-
#include <linking/zero_initializer.h>
36-
3736
#include <goto-programs/cfg.h>
3837
#include <goto-programs/class_hierarchy.h>
3938
#include <goto-programs/resolve_inherited_component.h>

jbmc/src/java_bytecode/java_bytecode_typecheck_expr.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@ Author: Daniel Kroening, [email protected]
1212
#include "java_bytecode_typecheck.h"
1313

1414
#include <util/arith_tools.h>
15+
#include <util/expr_initializer.h>
1516
#include <util/unicode.h>
1617

17-
#include <linking/zero_initializer.h>
18-
1918
#include "java_pointer_casts.h"
2019
#include "java_types.h"
2120
#include "java_utils.h"

jbmc/src/java_bytecode/java_object_factory.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@ Author: Daniel Kroening, [email protected]
88

99
#include "java_object_factory.h"
1010

11+
#include <util/expr_initializer.h>
1112
#include <util/fresh_symbol.h>
1213
#include <util/nondet_bool.h>
1314
#include <util/pointer_offset_size.h>
1415

1516
#include <goto-programs/class_identifier.h>
1617
#include <goto-programs/goto_functions.h>
1718

18-
#include <linking/zero_initializer.h>
19-
2019
#include "generic_parameter_specialization_map_keys.h"
2120
#include "java_root_class.h"
2221

jbmc/src/java_bytecode/java_string_literals.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ Author: Chris Smowton, [email protected]
1111
#include "java_types.h"
1212
#include "java_utils.h"
1313

14-
#include <linking/zero_initializer.h>
15-
1614
#include <util/arith_tools.h>
15+
#include <util/expr_initializer.h>
1716
#include <util/namespace.h>
1817
#include <util/unicode.h>
1918

jbmc/src/java_bytecode/remove_java_new.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,10 @@ Author: Peter Schrammel
1414
#include <goto-programs/class_identifier.h>
1515
#include <goto-programs/goto_convert.h>
1616

17-
#include <linking/zero_initializer.h>
18-
1917
#include <util/arith_tools.h>
2018
#include <util/c_types.h>
2119
#include <util/expr_cast.h>
20+
#include <util/expr_initializer.h>
2221
#include <util/fresh_symbol.h>
2322
#include <util/message.h>
2423
#include <util/pointer_offset_size.h>

src/ansi-c/c_typecheck_code.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Author: Daniel Kroening, [email protected]
1212
#include "c_typecheck_base.h"
1313

1414
#include <util/config.h>
15+
#include <util/expr_initializer.h>
1516

1617
#include "ansi_c_declaration.h"
1718

src/ansi-c/c_typecheck_initializer.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,13 @@ Author: Daniel Kroening, [email protected]
1414
#include <util/arith_tools.h>
1515
#include <util/c_types.h>
1616
#include <util/cprover_prefix.h>
17+
#include <util/expr_initializer.h>
1718
#include <util/prefix.h>
1819
#include <util/simplify_expr.h>
1920
#include <util/std_types.h>
2021
#include <util/string_constant.h>
2122
#include <util/type_eq.h>
2223

23-
#include <linking/zero_initializer.h>
24-
2524
#include "anonymous_member.h"
2625

2726
void c_typecheck_baset::do_initializer(

src/cpp/cpp_typecheck.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ Author: Daniel Kroening, [email protected]
1414
#include <algorithm>
1515

1616
#include <util/arith_tools.h>
17+
#include <util/expr_initializer.h>
1718
#include <util/source_location.h>
1819
#include <util/symbol.h>
1920

20-
#include <linking/zero_initializer.h>
2121
#include <ansi-c/c_typecast.h>
2222

2323
#include "expr2cpp.h"

src/cpp/cpp_typecheck_expr.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,11 @@ Author: Daniel Kroening, [email protected]
1919
#include <util/base_type.h>
2020
#include <util/c_types.h>
2121
#include <util/config.h>
22+
#include <util/expr_initializer.h>
2223
#include <util/pointer_offset_size.h>
2324

2425
#include <ansi-c/c_qualifiers.h>
2526

26-
#include <linking/zero_initializer.h>
27-
2827
#include "cpp_exception_id.h"
2928
#include "cpp_type2name.h"
3029
#include "expr2cpp.h"

src/cpp/cpp_typecheck_initializer.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ Author: Daniel Kroening, [email protected]
1313

1414
#include <util/arith_tools.h>
1515
#include <util/c_types.h>
16+
#include <util/expr_initializer.h>
1617
#include <util/pointer_offset_size.h>
1718

18-
#include <linking/zero_initializer.h>
19-
2019
/// Initialize an object with a value
2120
void cpp_typecheckt::convert_initializer(symbolt &symbol)
2221
{

src/goto-cc/linker_script_merge.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ Author: Kareem Khazem <[email protected]>, 2017
1414

1515
#include <util/arith_tools.h>
1616
#include <util/c_types.h>
17+
#include <util/expr_initializer.h>
1718
#include <util/magic.h>
1819
#include <util/run.h>
1920
#include <util/tempfile.h>
2021

2122
#include <json/json_parser.h>
2223

2324
#include <linking/static_lifetime_init.h>
24-
#include <linking/zero_initializer.h>
2525

2626
#include <goto-programs/read_goto_binary.h>
2727

src/goto-programs/builtin_functions.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,11 @@ Author: Daniel Kroening, [email protected]
1616
#include <util/arith_tools.h>
1717
#include <util/c_types.h>
1818
#include <util/cprover_prefix.h>
19+
#include <util/expr_initializer.h>
1920
#include <util/pointer_offset_size.h>
2021
#include <util/rational.h>
2122
#include <util/rational_tools.h>
2223

23-
#include <linking/zero_initializer.h>
24-
2524
#include <langapi/language_util.h>
2625

2726
#include "format_strings.h"

src/goto-symex/symex_builtin_functions.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,12 @@ Author: Daniel Kroening, [email protected]
1313

1414
#include <util/arith_tools.h>
1515
#include <util/c_types.h>
16+
#include <util/expr_initializer.h>
1617
#include <util/invariant_utils.h>
1718
#include <util/pointer_offset_size.h>
1819
#include <util/simplify_expr.h>
1920
#include <util/string2int.h>
2021

21-
#include <linking/zero_initializer.h>
22-
2322
inline static typet c_sizeof_type_rec(const exprt &expr)
2423
{
2524
const irept &sizeof_type=expr.find(ID_C_c_sizeof_type);

src/goto-symex/symex_start_thread.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Author: Daniel Kroening, [email protected]
1111

1212
#include "goto_symex.h"
1313

14-
#include <linking/zero_initializer.h>
14+
#include <util/expr_initializer.h>
1515

1616
void goto_symext::symex_start_thread(statet &state)
1717
{

src/linking/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ add_library(linking ${sources})
33

44
generic_includes(linking)
55

6-
target_link_libraries(linking util ansi-c)
6+
target_link_libraries(linking util)

src/linking/Makefile

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
SRC = linking.cpp \
22
remove_internal_symbols.cpp \
33
static_lifetime_init.cpp \
4-
zero_initializer.cpp \
54
# Empty last line
65

76
INCLUDES= -I ..

src/linking/module_dependencies.txt

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
ansi-c # should go away
21
goto-programs
32
langapi # should go away
43
linking

src/linking/static_lifetime_init.cpp

+5-7
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,17 @@ Author: Daniel Kroening, [email protected]
1111
#include <cassert>
1212
#include <cstdlib>
1313

14-
#include <util/namespace.h>
15-
#include <util/std_expr.h>
1614
#include <util/arith_tools.h>
17-
#include <util/std_code.h>
15+
#include <util/c_types.h>
1816
#include <util/config.h>
17+
#include <util/expr_initializer.h>
18+
#include <util/namespace.h>
1919
#include <util/prefix.h>
20-
21-
#include <util/c_types.h>
20+
#include <util/std_code.h>
21+
#include <util/std_expr.h>
2222

2323
#include <goto-programs/goto_functions.h>
2424

25-
#include "zero_initializer.h"
26-
2725
bool static_lifetime_init(
2826
symbol_tablet &symbol_table,
2927
const source_locationt &source_location,

src/util/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ SRC = arith_tools.cpp \
1111
dstring.cpp \
1212
endianness_map.cpp \
1313
expr.cpp \
14+
expr_initializer.cpp \
1415
expr_util.cpp \
1516
file_util.cpp \
1617
find_macros.cpp \

0 commit comments

Comments
 (0)