From 61b9647d372c1894197e5b4251df5c90beb08dd7 Mon Sep 17 00:00:00 2001 From: Peter Schrammel Date: Sun, 3 Jun 2018 15:34:32 +0100 Subject: [PATCH 1/7] Revert 0b3170d: Stabilize clinit wrapper function type parameters --- jbmc/src/java_bytecode/java_static_initializers.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/jbmc/src/java_bytecode/java_static_initializers.cpp b/jbmc/src/java_bytecode/java_static_initializers.cpp index c2410c8d2ff..5e6393af4ee 100644 --- a/jbmc/src/java_bytecode/java_static_initializers.cpp +++ b/jbmc/src/java_bytecode/java_static_initializers.cpp @@ -295,9 +295,6 @@ static void create_clinit_wrapper_symbols( symbolt wrapper_method_symbol; code_typet wrapper_method_type; wrapper_method_type.return_type() = void_typet(); - // Ensure the parameters property is there - // to avoid trouble in irept comparisons - wrapper_method_type.parameters(); wrapper_method_symbol.name = clinit_wrapper_name(class_name); wrapper_method_symbol.pretty_name = wrapper_method_symbol.name; wrapper_method_symbol.base_name = "clinit_wrapper"; From 63a513151a06b4b88c099dbe9017594fd88c4979 Mon Sep 17 00:00:00 2001 From: Peter Schrammel Date: Mon, 4 Jun 2018 14:51:18 +0100 Subject: [PATCH 2/7] Make sure code_typet is fully constructed The existence of the parameters and return_type properties may depend on whether parameters() or return_type() has been called or not, which can lead to unexpectedly unequal instructions in goto programs. --- src/util/std_types.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/util/std_types.h b/src/util/std_types.h index ca2c0934685..730487f6a12 100644 --- a/src/util/std_types.h +++ b/src/util/std_types.h @@ -760,6 +760,10 @@ class code_typet:public typet public: code_typet():typet(ID_code) { + // make sure these properties are always there to avoid problems + // with irept comparisons + add(ID_parameters); + add_type(ID_return_type); } // used to be argumentt -- now uses standard terminology From 724a36ce79b927faa1fe3ad11e787ee37accc518 Mon Sep 17 00:00:00 2001 From: Peter Schrammel Date: Mon, 4 Jun 2018 14:51:55 +0100 Subject: [PATCH 3/7] Add two-param code_typet constructors and deprecate the default one --- src/util/std_types.h | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/util/std_types.h b/src/util/std_types.h index 730487f6a12..591a91d4de4 100644 --- a/src/util/std_types.h +++ b/src/util/std_types.h @@ -758,6 +758,30 @@ inline c_enum_tag_typet &to_c_enum_tag_type(typet &type) class code_typet:public typet { public: + class parametert; + typedef std::vector parameterst; + + /// Constructs a new code type, i.e. function type + /// \param _parameters: the vector of function parameters + /// \param _return_type: the return type + code_typet(parameterst &&_parameters, typet &&_return_type) : typet(ID_code) + { + parameters().swap(_parameters); + return_type().swap(_return_type); + } + + /// Constructs a new code type, i.e. function type + /// \param _parameters: the vector of function parameters + /// \param _return_type: the return type + code_typet(parameterst &&_parameters, const typet &_return_type) + : typet(ID_code) + { + parameters().swap(_parameters); + return_type() = _return_type; + } + + /// \deprecated + DEPRECATED("Use the two argument constructor instead") code_typet():typet(ID_code) { // make sure these properties are always there to avoid problems @@ -862,8 +886,6 @@ class code_typet:public typet add(ID_parameters).remove(ID_ellipsis); } - typedef std::vector parameterst; - const typet &return_type() const { return find_type(ID_return_type); From 103c7b736f6de2d26aa4e3a9cb15d95c0653d7ed Mon Sep 17 00:00:00 2001 From: Peter Schrammel Date: Mon, 4 Jun 2018 17:43:37 +0100 Subject: [PATCH 4/7] Add missing module definitions --- .../java-testing-utils/module_dependencies.txt | 6 ++++++ .../ci_lazy_methods/module_dependencies.txt | 3 +++ .../goto-programs/module_dependencies.txt | 4 ++++ .../goto_program_generics/module_dependencies.txt | 4 ++++ .../module_dependencies.txt | 4 ++++ .../module_dependencies.txt | 1 + .../module_dependencies.txt | 6 ++++++ .../module_dependencies.txt | 3 +++ .../module_dependencies.txt | 6 ++++++ .../java_object_factory/module_dependencies.txt | 5 +++++ .../java_replace_nondet/module_dependencies.txt | 7 +++++++ .../module_dependencies.txt | 5 +++++ .../java_types/module_dependencies.txt | 3 +++ .../module_dependencies.txt | 7 +++++++ jbmc/unit/java_bytecode/module_dependencies.txt | 2 ++ .../unit/pointer-analysis/module_dependencies.txt | 6 ++++++ .../module_dependencies.txt | 7 +++++++ .../string_refinement/module_dependencies.txt | 6 ++++++ jbmc/unit/util/module_dependencies.txt | 4 ++++ unit/analyses/ai/module_dependencies.txt | 5 +++++ .../does_remove_const/module_dependencies.txt | 6 ++++++ unit/analyses/module_dependencies.txt | 6 ++++++ unit/module_dependencies.txt | 15 +++++++++++++++ .../module_dependencies.txt | 4 ++++ .../string_refinement/module_dependencies.txt | 4 ++++ unit/testing-utils/module_dependencies.txt | 3 +++ unit/util/expr_cast/module_dependencies.txt | 3 +++ unit/util/module_dependencies.txt | 2 ++ unit/util/string_utils/module_dependencies.txt | 3 +++ 29 files changed, 140 insertions(+) create mode 100644 jbmc/unit/java-testing-utils/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/ci_lazy_methods/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/goto-programs/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/goto_program_generics/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/inherited_static_fields/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/java_bytecode_convert_method/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/java_bytecode_parse_generics/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/java_bytecode_parse_lambdas/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/java_object_factory/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/java_replace_nondet/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/java_string_library_preprocess/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/java_types/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/java_virtual_functions/module_dependencies.txt create mode 100644 jbmc/unit/java_bytecode/module_dependencies.txt create mode 100644 jbmc/unit/pointer-analysis/module_dependencies.txt create mode 100644 jbmc/unit/solvers/refinement/string_constraint_instantiation/module_dependencies.txt create mode 100644 jbmc/unit/solvers/refinement/string_refinement/module_dependencies.txt create mode 100644 jbmc/unit/util/module_dependencies.txt create mode 100644 unit/analyses/ai/module_dependencies.txt create mode 100644 unit/analyses/does_remove_const/module_dependencies.txt create mode 100644 unit/analyses/module_dependencies.txt create mode 100644 unit/module_dependencies.txt create mode 100644 unit/solvers/refinement/string_constraint_generator_valueof/module_dependencies.txt create mode 100644 unit/solvers/refinement/string_refinement/module_dependencies.txt create mode 100644 unit/testing-utils/module_dependencies.txt create mode 100644 unit/util/expr_cast/module_dependencies.txt create mode 100644 unit/util/module_dependencies.txt create mode 100644 unit/util/string_utils/module_dependencies.txt diff --git a/jbmc/unit/java-testing-utils/module_dependencies.txt b/jbmc/unit/java-testing-utils/module_dependencies.txt new file mode 100644 index 00000000000..8a8c7bc5a68 --- /dev/null +++ b/jbmc/unit/java-testing-utils/module_dependencies.txt @@ -0,0 +1,6 @@ +goto-programs +java_bytecode +java-testing-utils +langapi # should go away +testing-utils +util diff --git a/jbmc/unit/java_bytecode/ci_lazy_methods/module_dependencies.txt b/jbmc/unit/java_bytecode/ci_lazy_methods/module_dependencies.txt new file mode 100644 index 00000000000..0bfc016ae2b --- /dev/null +++ b/jbmc/unit/java_bytecode/ci_lazy_methods/module_dependencies.txt @@ -0,0 +1,3 @@ +ci_lazy_methods +java-testing-utils +testing-utils diff --git a/jbmc/unit/java_bytecode/goto-programs/module_dependencies.txt b/jbmc/unit/java_bytecode/goto-programs/module_dependencies.txt new file mode 100644 index 00000000000..5cf97f68743 --- /dev/null +++ b/jbmc/unit/java_bytecode/goto-programs/module_dependencies.txt @@ -0,0 +1,4 @@ +goto-programs +java-testing-utils +testing-utils +util diff --git a/jbmc/unit/java_bytecode/goto_program_generics/module_dependencies.txt b/jbmc/unit/java_bytecode/goto_program_generics/module_dependencies.txt new file mode 100644 index 00000000000..37a3752f982 --- /dev/null +++ b/jbmc/unit/java_bytecode/goto_program_generics/module_dependencies.txt @@ -0,0 +1,4 @@ +goto_program_generics +java-testing-utils +testing-utils +util diff --git a/jbmc/unit/java_bytecode/inherited_static_fields/module_dependencies.txt b/jbmc/unit/java_bytecode/inherited_static_fields/module_dependencies.txt new file mode 100644 index 00000000000..b633e9235a2 --- /dev/null +++ b/jbmc/unit/java_bytecode/inherited_static_fields/module_dependencies.txt @@ -0,0 +1,4 @@ +inherited_static_fields +java-testing-utils +testing-utils +util diff --git a/jbmc/unit/java_bytecode/java_bytecode_convert_class/module_dependencies.txt b/jbmc/unit/java_bytecode/java_bytecode_convert_class/module_dependencies.txt index 87cf9849bbf..4cbf833a097 100644 --- a/jbmc/unit/java_bytecode/java_bytecode_convert_class/module_dependencies.txt +++ b/jbmc/unit/java_bytecode/java_bytecode_convert_class/module_dependencies.txt @@ -1,3 +1,4 @@ java-testing-utils testing-utils java_bytecode +util diff --git a/jbmc/unit/java_bytecode/java_bytecode_convert_method/module_dependencies.txt b/jbmc/unit/java_bytecode/java_bytecode_convert_method/module_dependencies.txt new file mode 100644 index 00000000000..e3a60fcd031 --- /dev/null +++ b/jbmc/unit/java_bytecode/java_bytecode_convert_method/module_dependencies.txt @@ -0,0 +1,6 @@ +goto-programs +java_bytecode +java_bytecode_convert_method +java-testing-utils +testing-utils +util diff --git a/jbmc/unit/java_bytecode/java_bytecode_parse_generics/module_dependencies.txt b/jbmc/unit/java_bytecode/java_bytecode_parse_generics/module_dependencies.txt new file mode 100644 index 00000000000..5efcb3b2958 --- /dev/null +++ b/jbmc/unit/java_bytecode/java_bytecode_parse_generics/module_dependencies.txt @@ -0,0 +1,3 @@ +java_bytecode_parse_generics +java-testing-utils +testing-utils diff --git a/jbmc/unit/java_bytecode/java_bytecode_parse_lambdas/module_dependencies.txt b/jbmc/unit/java_bytecode/java_bytecode_parse_lambdas/module_dependencies.txt new file mode 100644 index 00000000000..b51f2e5f97a --- /dev/null +++ b/jbmc/unit/java_bytecode/java_bytecode_parse_lambdas/module_dependencies.txt @@ -0,0 +1,6 @@ +java_bytecode +java_bytecode_parse_lambdas +java-testing-utils +langapi # should go away +testing-utils +util diff --git a/jbmc/unit/java_bytecode/java_object_factory/module_dependencies.txt b/jbmc/unit/java_bytecode/java_object_factory/module_dependencies.txt new file mode 100644 index 00000000000..c4380fa26bd --- /dev/null +++ b/jbmc/unit/java_bytecode/java_object_factory/module_dependencies.txt @@ -0,0 +1,5 @@ +java_bytecode +java_object_factory +langapi # should go away +testing-utils +util diff --git a/jbmc/unit/java_bytecode/java_replace_nondet/module_dependencies.txt b/jbmc/unit/java_bytecode/java_replace_nondet/module_dependencies.txt new file mode 100644 index 00000000000..b41e1a35ecb --- /dev/null +++ b/jbmc/unit/java_bytecode/java_replace_nondet/module_dependencies.txt @@ -0,0 +1,7 @@ +goto-instrument +goto-programs +java_bytecode +java_replace_nondet +java-testing-utils +testing-utils +util diff --git a/jbmc/unit/java_bytecode/java_string_library_preprocess/module_dependencies.txt b/jbmc/unit/java_bytecode/java_string_library_preprocess/module_dependencies.txt new file mode 100644 index 00000000000..69779082f81 --- /dev/null +++ b/jbmc/unit/java_bytecode/java_string_library_preprocess/module_dependencies.txt @@ -0,0 +1,5 @@ +java_bytecode +java_string_library_preprocess +langapi # should go away +testing-utils +util diff --git a/jbmc/unit/java_bytecode/java_types/module_dependencies.txt b/jbmc/unit/java_bytecode/java_types/module_dependencies.txt new file mode 100644 index 00000000000..cb9d02b1529 --- /dev/null +++ b/jbmc/unit/java_bytecode/java_types/module_dependencies.txt @@ -0,0 +1,3 @@ +java_bytecode +java_types +testing-utils diff --git a/jbmc/unit/java_bytecode/java_virtual_functions/module_dependencies.txt b/jbmc/unit/java_bytecode/java_virtual_functions/module_dependencies.txt new file mode 100644 index 00000000000..b139ad5e0b6 --- /dev/null +++ b/jbmc/unit/java_bytecode/java_virtual_functions/module_dependencies.txt @@ -0,0 +1,7 @@ +goto-instrument +goto-programs +java_bytecode +java_virtual_functions +java-testing-utils +testing-utils +util diff --git a/jbmc/unit/java_bytecode/module_dependencies.txt b/jbmc/unit/java_bytecode/module_dependencies.txt new file mode 100644 index 00000000000..7c65cd85bde --- /dev/null +++ b/jbmc/unit/java_bytecode/module_dependencies.txt @@ -0,0 +1,2 @@ +java_bytecode +testing-utils diff --git a/jbmc/unit/pointer-analysis/module_dependencies.txt b/jbmc/unit/pointer-analysis/module_dependencies.txt new file mode 100644 index 00000000000..fb8b993d5dd --- /dev/null +++ b/jbmc/unit/pointer-analysis/module_dependencies.txt @@ -0,0 +1,6 @@ +goto-programs +java_bytecode +langapi # should go away +pointer-analysis +testing-utils +util diff --git a/jbmc/unit/solvers/refinement/string_constraint_instantiation/module_dependencies.txt b/jbmc/unit/solvers/refinement/string_constraint_instantiation/module_dependencies.txt new file mode 100644 index 00000000000..0741e46c2df --- /dev/null +++ b/jbmc/unit/solvers/refinement/string_constraint_instantiation/module_dependencies.txt @@ -0,0 +1,7 @@ +java_bytecode +langapi # should go away +solvers/refinement +solvers/sat +string_constraint_instantiation +testing-utils +util diff --git a/jbmc/unit/solvers/refinement/string_refinement/module_dependencies.txt b/jbmc/unit/solvers/refinement/string_refinement/module_dependencies.txt new file mode 100644 index 00000000000..0c66e23bb4a --- /dev/null +++ b/jbmc/unit/solvers/refinement/string_refinement/module_dependencies.txt @@ -0,0 +1,6 @@ +java_bytecode +langapi # should go away +string_refinement +solvers/refinement +testing-utils +util diff --git a/jbmc/unit/util/module_dependencies.txt b/jbmc/unit/util/module_dependencies.txt new file mode 100644 index 00000000000..f2b17a21bf1 --- /dev/null +++ b/jbmc/unit/util/module_dependencies.txt @@ -0,0 +1,4 @@ +java_bytecode +java-testing-utils +testing-utils +util diff --git a/unit/analyses/ai/module_dependencies.txt b/unit/analyses/ai/module_dependencies.txt new file mode 100644 index 00000000000..093b56978cb --- /dev/null +++ b/unit/analyses/ai/module_dependencies.txt @@ -0,0 +1,5 @@ +ai +analyses +ansi-c +testing-utils +util diff --git a/unit/analyses/does_remove_const/module_dependencies.txt b/unit/analyses/does_remove_const/module_dependencies.txt new file mode 100644 index 00000000000..cdcf3a17881 --- /dev/null +++ b/unit/analyses/does_remove_const/module_dependencies.txt @@ -0,0 +1,6 @@ +analyses +ansi-c +does_remove_const +goto-programs +testing-utils +util diff --git a/unit/analyses/module_dependencies.txt b/unit/analyses/module_dependencies.txt new file mode 100644 index 00000000000..1edf1ff9596 --- /dev/null +++ b/unit/analyses/module_dependencies.txt @@ -0,0 +1,6 @@ +analyses +ansi-c +goto-programs +langapi # should go away +testing-utils +util diff --git a/unit/module_dependencies.txt b/unit/module_dependencies.txt new file mode 100644 index 00000000000..1640922e72d --- /dev/null +++ b/unit/module_dependencies.txt @@ -0,0 +1,15 @@ +ansi-c +cbmc +cpp +goto-programs +goto-symex +json +langapi # should go away +solvers/flattening +solvers/floatbv +solvers/miniBDD +solvers/prop +solvers/sat +solvers/smt2 +testing-utils +util diff --git a/unit/solvers/refinement/string_constraint_generator_valueof/module_dependencies.txt b/unit/solvers/refinement/string_constraint_generator_valueof/module_dependencies.txt new file mode 100644 index 00000000000..ee346fe1dd4 --- /dev/null +++ b/unit/solvers/refinement/string_constraint_generator_valueof/module_dependencies.txt @@ -0,0 +1,4 @@ +solvers/refinement +string_constraint_generator_valueof +testing-utils +util diff --git a/unit/solvers/refinement/string_refinement/module_dependencies.txt b/unit/solvers/refinement/string_refinement/module_dependencies.txt new file mode 100644 index 00000000000..863836fb0c3 --- /dev/null +++ b/unit/solvers/refinement/string_refinement/module_dependencies.txt @@ -0,0 +1,4 @@ +solvers/refinement +string_refinement +testing-utils +util diff --git a/unit/testing-utils/module_dependencies.txt b/unit/testing-utils/module_dependencies.txt new file mode 100644 index 00000000000..b5ccfdd0368 --- /dev/null +++ b/unit/testing-utils/module_dependencies.txt @@ -0,0 +1,3 @@ +ansi-c +testing-utils +util diff --git a/unit/util/expr_cast/module_dependencies.txt b/unit/util/expr_cast/module_dependencies.txt new file mode 100644 index 00000000000..ec9599d1d19 --- /dev/null +++ b/unit/util/expr_cast/module_dependencies.txt @@ -0,0 +1,3 @@ +expr_casts +testing-utils +util diff --git a/unit/util/module_dependencies.txt b/unit/util/module_dependencies.txt new file mode 100644 index 00000000000..abf92b3762e --- /dev/null +++ b/unit/util/module_dependencies.txt @@ -0,0 +1,2 @@ +testing-utils +util diff --git a/unit/util/string_utils/module_dependencies.txt b/unit/util/string_utils/module_dependencies.txt new file mode 100644 index 00000000000..7fd7f16f4f0 --- /dev/null +++ b/unit/util/string_utils/module_dependencies.txt @@ -0,0 +1,3 @@ +string_utils +testing-utils +util From 05a5efb808ce398d1cc267c6168e82665896ff1e Mon Sep 17 00:00:00 2001 From: Peter Schrammel Date: Mon, 4 Jun 2018 14:53:32 +0100 Subject: [PATCH 5/7] Use the two-param code_typet constructor --- .../java_bytecode_convert_class.cpp | 5 +- jbmc/src/java_bytecode/java_entry_point.cpp | 6 +- .../java_static_initializers.cpp | 6 +- .../java_string_library_preprocess.cpp | 4 +- jbmc/src/java_bytecode/java_types.cpp | 13 ++- .../string_refinement/dependency_graph.cpp | 7 +- src/ansi-c/ansi_c_entry_point.cpp | 3 +- src/ansi-c/c_typecheck_expr.cpp | 6 +- src/cpp/cpp_typecheck_expr.cpp | 86 +++++++++---------- src/cpp/cpp_typecheck_resolve.cpp | 13 +-- src/goto-cc/linker_script_merge.cpp | 6 +- src/goto-instrument/goto_program2code.cpp | 20 ++--- src/goto-programs/builtin_functions.cpp | 1 - src/goto-programs/remove_asm.cpp | 3 +- src/jsil/jsil_entry_point.cpp | 6 +- unit/analyses/call_graph.cpp | 4 +- unit/analyses/dependence_graph.cpp | 4 +- 17 files changed, 82 insertions(+), 111 deletions(-) diff --git a/jbmc/src/java_bytecode/java_bytecode_convert_class.cpp b/jbmc/src/java_bytecode/java_bytecode_convert_class.cpp index dbc8054390c..46e220e6436 100644 --- a/jbmc/src/java_bytecode/java_bytecode_convert_class.cpp +++ b/jbmc/src/java_bytecode/java_bytecode_convert_class.cpp @@ -760,15 +760,12 @@ void java_bytecode_convert_classt::add_array_types(symbol_tablet &symbol_table) const irep_idt clone_name= id2string(symbol_type_identifier)+".clone:()Ljava/lang/Object;"; - code_typet clone_type; - clone_type.return_type()= - java_reference_type(symbol_typet("java::java.lang.Object")); code_typet::parametert this_param; this_param.set_identifier(id2string(clone_name)+"::this"); this_param.set_base_name("this"); this_param.set_this(); this_param.type()=java_reference_type(symbol_type); - clone_type.parameters().push_back(this_param); + code_typet clone_type({this_param}, java_lang_object_type()); parameter_symbolt this_symbol; this_symbol.name=this_param.get_identifier(); diff --git a/jbmc/src/java_bytecode/java_entry_point.cpp b/jbmc/src/java_bytecode/java_entry_point.cpp index 9181dc48026..1258ffae4c9 100644 --- a/jbmc/src/java_bytecode/java_entry_point.cpp +++ b/jbmc/src/java_bytecode/java_entry_point.cpp @@ -31,8 +31,7 @@ static void create_initialize(symbol_table_baset &symbol_table) initialize.base_name=INITIALIZE_FUNCTION; initialize.mode=ID_java; - code_typet type; - type.return_type()=empty_typet(); + code_typet type({}, empty_typet()); initialize.type=type; code_blockt init_code; @@ -688,8 +687,7 @@ bool generate_java_start_function( // we just built and register it in the symbol table symbolt new_symbol; - code_typet main_type; - main_type.return_type()=empty_typet(); + code_typet main_type({}, empty_typet()); new_symbol.name=goto_functionst::entry_point(); new_symbol.type.swap(main_type); diff --git a/jbmc/src/java_bytecode/java_static_initializers.cpp b/jbmc/src/java_bytecode/java_static_initializers.cpp index 5e6393af4ee..61c0fcfaeed 100644 --- a/jbmc/src/java_bytecode/java_static_initializers.cpp +++ b/jbmc/src/java_bytecode/java_static_initializers.cpp @@ -293,8 +293,7 @@ static void create_clinit_wrapper_symbols( // Create symbol for the "clinit_wrapper" symbolt wrapper_method_symbol; - code_typet wrapper_method_type; - wrapper_method_type.return_type() = void_typet(); + code_typet wrapper_method_type({}, void_typet()); wrapper_method_symbol.name = clinit_wrapper_name(class_name); wrapper_method_symbol.pretty_name = wrapper_method_symbol.name; wrapper_method_symbol.base_name = "clinit_wrapper"; @@ -714,8 +713,7 @@ void stub_global_initializer_factoryt::create_stub_global_initializer_symbols( "a class cannot be both incomplete, and so have stub static fields, and " "also define a static initializer"); - code_typet thunk_type; - thunk_type.return_type() = void_typet(); + code_typet thunk_type({}, void_typet()); symbolt static_init_symbol; static_init_symbol.name = static_init_name; diff --git a/jbmc/src/java_bytecode/java_string_library_preprocess.cpp b/jbmc/src/java_bytecode/java_string_library_preprocess.cpp index 4c8e3088730..a610681b504 100644 --- a/jbmc/src/java_bytecode/java_string_library_preprocess.cpp +++ b/jbmc/src/java_bytecode/java_string_library_preprocess.cpp @@ -1611,9 +1611,7 @@ codet java_string_library_preprocesst::make_object_get_class_code( "java::java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;"); fun_call.lhs()=class1; fun_call.arguments().push_back(string1); - code_typet fun_type; - fun_type.parameters().push_back(code_typet::parametert(string_ptr_type)); - fun_type.return_type()=class_type; + code_typet fun_type({code_typet::parametert(string_ptr_type)}, class_type); fun_call.function().type()=fun_type; code.add(fun_call, loc); diff --git a/jbmc/src/java_bytecode/java_types.cpp b/jbmc/src/java_bytecode/java_types.cpp index e83254e6962..dc838eadd8d 100644 --- a/jbmc/src/java_bytecode/java_types.cpp +++ b/jbmc/src/java_bytecode/java_types.cpp @@ -493,24 +493,21 @@ typet java_type_from_string( if(e_pos==std::string::npos) return nil_typet(); - code_typet result; - - result.return_type()= - java_type_from_string( - std::string(src, e_pos+1, std::string::npos), - class_name_prefix); + typet return_type = java_type_from_string( + std::string(src, e_pos + 1, std::string::npos), class_name_prefix); std::vector param_types = parse_list_types(src.substr(0, e_pos + 1), class_name_prefix, '(', ')'); // create parameters for each type + code_typet::parameterst parameters; std::transform( param_types.begin(), param_types.end(), - std::back_inserter(result.parameters()), + std::back_inserter(parameters), [](const typet &type) { return code_typet::parametert(type); }); - return result; + return code_typet(std::move(parameters), std::move(return_type)); } case '[': // array type diff --git a/jbmc/unit/solvers/refinement/string_refinement/dependency_graph.cpp b/jbmc/unit/solvers/refinement/string_refinement/dependency_graph.cpp index de6bd2d69e6..10abe9a6184 100644 --- a/jbmc/unit/solvers/refinement/string_refinement/dependency_graph.cpp +++ b/jbmc/unit/solvers/refinement/string_refinement/dependency_graph.cpp @@ -58,7 +58,12 @@ SCENARIO("dependency_graph", "[core][solvers][refinement][string_refinement]") const symbol_exprt lhs("lhs", unsignedbv_typet(32)); const symbol_exprt lhs2("lhs2", unsignedbv_typet(32)); const symbol_exprt lhs3("lhs3", unsignedbv_typet(32)); - code_typet fun_type; + code_typet fun_type( + {code_typet::parametert(length_type()), + code_typet::parametert(pointer_type(java_char_type())), + code_typet::parametert(string_type), + code_typet::parametert(string_type)}, + unsignedbv_typet(32)); // fun1 is s3 = s1.concat(s2) function_application_exprt fun1(fun_type); diff --git a/src/ansi-c/ansi_c_entry_point.cpp b/src/ansi-c/ansi_c_entry_point.cpp index f15a3124f55..0942b4ca658 100644 --- a/src/ansi-c/ansi_c_entry_point.cpp +++ b/src/ansi-c/ansi_c_entry_point.cpp @@ -445,8 +445,7 @@ bool generate_ansi_c_start_function( // add the entry point symbol symbolt new_symbol; - code_typet main_type; - main_type.return_type()=empty_typet(); + code_typet main_type({}, empty_typet()); new_symbol.name=goto_functionst::entry_point(); new_symbol.type.swap(main_type); diff --git a/src/ansi-c/c_typecheck_expr.cpp b/src/ansi-c/c_typecheck_expr.cpp index 81d6f7a1e7e..bfd7ec0f94a 100644 --- a/src/ansi-c/c_typecheck_expr.cpp +++ b/src/ansi-c/c_typecheck_expr.cpp @@ -450,10 +450,8 @@ void c_typecheck_baset::typecheck_expr_builtin_va_arg(exprt &expr) typet arg_type=expr.type(); typecheck_type(arg_type); - code_typet new_type; - new_type.return_type().swap(arg_type); - new_type.parameters().resize(1); - new_type.parameters()[0].type()=pointer_type(void_type()); + code_typet new_type( + {code_typet::parametert(pointer_type(void_type()))}, std::move(arg_type)); assert(expr.operands().size()==1); exprt arg=expr.op0(); diff --git a/src/cpp/cpp_typecheck_expr.cpp b/src/cpp/cpp_typecheck_expr.cpp index 3a5ac9cd9c0..cb1d28fbeb0 100644 --- a/src/cpp/cpp_typecheck_expr.cpp +++ b/src/cpp/cpp_typecheck_expr.cpp @@ -1446,10 +1446,9 @@ void cpp_typecheckt::typecheck_expr_cpp_name( symbol_exprt result; result.add_source_location()=source_location; result.set_identifier(identifier); - code_typet t; - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); + code_typet t( + {code_typet::parametert(ptr_arg.type())}, ptr_arg.type().subtype()); t.make_ellipsis(); - t.return_type()=ptr_arg.type().subtype(); result.type()=t; expr.swap(result); return; @@ -1480,10 +1479,10 @@ void cpp_typecheckt::typecheck_expr_cpp_name( symbol_exprt result; result.add_source_location()=source_location; result.set_identifier(identifier); - code_typet t; - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); - t.parameters().push_back(code_typet::parametert(signed_int_type())); - t.return_type()=ptr_arg.type().subtype(); + code_typet t( + {code_typet::parametert(ptr_arg.type()), + code_typet::parametert(signed_int_type())}, + ptr_arg.type().subtype()); result.type()=t; expr.swap(result); return; @@ -1514,12 +1513,11 @@ void cpp_typecheckt::typecheck_expr_cpp_name( symbol_exprt result; result.add_source_location()=source_location; result.set_identifier(identifier); - code_typet t; - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); - t.parameters().push_back( - code_typet::parametert(ptr_arg.type().subtype())); - t.parameters().push_back(code_typet::parametert(signed_int_type())); - t.return_type()=empty_typet(); + code_typet t( + {code_typet::parametert(ptr_arg.type()), + code_typet::parametert(ptr_arg.type().subtype()), + code_typet::parametert(signed_int_type())}, + empty_typet()); result.type()=t; expr.swap(result); return; @@ -1550,12 +1548,11 @@ void cpp_typecheckt::typecheck_expr_cpp_name( symbol_exprt result; result.add_source_location()=source_location; result.set_identifier(identifier); - code_typet t; - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); - t.parameters().push_back( - code_typet::parametert(ptr_arg.type().subtype())); - t.parameters().push_back(code_typet::parametert(signed_int_type())); - t.return_type()=ptr_arg.type().subtype(); + code_typet t( + {code_typet::parametert(ptr_arg.type()), + code_typet::parametert(ptr_arg.type().subtype()), + code_typet::parametert(signed_int_type())}, + ptr_arg.type().subtype()); result.type()=t; expr.swap(result); return; @@ -1594,11 +1591,11 @@ void cpp_typecheckt::typecheck_expr_cpp_name( symbol_exprt result; result.add_source_location()=source_location; result.set_identifier(identifier); - code_typet t; - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); - t.parameters().push_back(code_typet::parametert(signed_int_type())); - t.return_type()=empty_typet(); + code_typet t( + {code_typet::parametert(ptr_arg.type()), + code_typet::parametert(ptr_arg.type()), + code_typet::parametert(signed_int_type())}, + empty_typet()); result.type()=t; expr.swap(result); return; @@ -1643,12 +1640,12 @@ void cpp_typecheckt::typecheck_expr_cpp_name( symbol_exprt result; result.add_source_location()=source_location; result.set_identifier(identifier); - code_typet t; - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); - t.parameters().push_back(code_typet::parametert(signed_int_type())); - t.return_type()=empty_typet(); + code_typet t( + {code_typet::parametert(ptr_arg.type()), + code_typet::parametert(ptr_arg.type()), + code_typet::parametert(ptr_arg.type()), + code_typet::parametert(signed_int_type())}, + empty_typet()); result.type()=t; expr.swap(result); return; @@ -1698,20 +1695,19 @@ void cpp_typecheckt::typecheck_expr_cpp_name( symbol_exprt result; result.add_source_location()=source_location; result.set_identifier(identifier); - code_typet t; - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); + code_typet::parameterst parameters; + parameters.push_back(code_typet::parametert(ptr_arg.type())); + parameters.push_back(code_typet::parametert(ptr_arg.type())); if(identifier=="__atomic_compare_exchange") - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); + parameters.push_back(code_typet::parametert(ptr_arg.type())); else - t.parameters().push_back( - code_typet::parametert(ptr_arg.type().subtype())); + parameters.push_back(code_typet::parametert(ptr_arg.type().subtype())); - t.parameters().push_back(code_typet::parametert(c_bool_type())); - t.parameters().push_back(code_typet::parametert(signed_int_type())); - t.parameters().push_back(code_typet::parametert(signed_int_type())); - t.return_type()=c_bool_type(); + parameters.push_back(code_typet::parametert(c_bool_type())); + parameters.push_back(code_typet::parametert(signed_int_type())); + parameters.push_back(code_typet::parametert(signed_int_type())); + code_typet t(std::move(parameters), c_bool_type()); result.type()=t; expr.swap(result); return; @@ -1744,10 +1740,9 @@ void cpp_typecheckt::typecheck_expr_cpp_name( symbol_exprt result; result.add_source_location()=source_location; result.set_identifier(identifier); - code_typet t; - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); + code_typet t( + {code_typet::parametert(ptr_arg.type())}, ptr_arg.type().subtype()); t.make_ellipsis(); - t.return_type()=ptr_arg.type().subtype(); result.type()=t; expr.swap(result); return; @@ -1780,10 +1775,9 @@ void cpp_typecheckt::typecheck_expr_cpp_name( symbol_exprt result; result.add_source_location()=source_location; result.set_identifier(identifier); - code_typet t; - t.parameters().push_back(code_typet::parametert(ptr_arg.type())); + code_typet t( + {code_typet::parametert(ptr_arg.type())}, ptr_arg.type().subtype()); t.make_ellipsis(); - t.return_type()=ptr_arg.type().subtype(); result.type()=t; expr.swap(result); return; diff --git a/src/cpp/cpp_typecheck_resolve.cpp b/src/cpp/cpp_typecheck_resolve.cpp index 3a74207a96e..c9b830be888 100644 --- a/src/cpp/cpp_typecheck_resolve.cpp +++ b/src/cpp/cpp_typecheck_resolve.cpp @@ -611,18 +611,14 @@ void cpp_typecheck_resolvet::make_constructors( // 1. no arguments, default initialization { - code_typet t1; - t1.return_type()=it->type(); + code_typet t1({}, it->type()); exprt pod_constructor1("pod_constructor", t1); new_identifiers.push_back(pod_constructor1); } // 2. one argument, copy/conversion { - code_typet t2; - t2.return_type()=it->type(); - t2.parameters().resize(1); - t2.parameters()[0].type()=it->type(); + code_typet t2({code_typet::parametert(it->type())}, it->type()); exprt pod_constructor2("pod_constructor", t2); new_identifiers.push_back(pod_constructor2); } @@ -630,10 +626,7 @@ void cpp_typecheck_resolvet::make_constructors( // enums, in addition, can also be constructed from int if(symbol_type.id()==ID_c_enum_tag) { - code_typet t3; - t3.return_type()=it->type(); - t3.parameters().resize(1); - t3.parameters()[0].type()=signed_int_type(); + code_typet t3({code_typet::parametert(signed_int_type())}, it->type()); exprt pod_constructor3("pod_constructor", t3); new_identifiers.push_back(pod_constructor3); } diff --git a/src/goto-cc/linker_script_merge.cpp b/src/goto-cc/linker_script_merge.cpp index 459dbdc7bf2..fd0da16dbe3 100644 --- a/src/goto-cc/linker_script_merge.cpp +++ b/src/goto-cc/linker_script_merge.cpp @@ -593,8 +593,7 @@ int linker_script_merget::ls_data2instructions( for(const auto &d : data["regions"].array) { code_function_callt f; - code_typet void_t; - void_t.return_type()=empty_typet(); + code_typet void_t({}, empty_typet()); f.function()=symbol_exprt(CPROVER_PREFIX "allocated_memory", void_t); unsigned start=safe_string2unsigned(d["start"].value); unsigned size=safe_string2unsigned(d["size"].value); @@ -620,8 +619,7 @@ int linker_script_merget::ls_data2instructions( sym.name=CPROVER_PREFIX "allocated_memory"; sym.pretty_name=CPROVER_PREFIX "allocated_memory"; sym.is_lvalue=sym.is_static_lifetime=true; - code_typet void_t; - void_t.return_type()=empty_typet(); + code_typet void_t({}, empty_typet()); sym.type=void_t; symbol_table.add(sym); } diff --git a/src/goto-instrument/goto_program2code.cpp b/src/goto-instrument/goto_program2code.cpp index d0339ec3ae8..2a485e1ca00 100644 --- a/src/goto-instrument/goto_program2code.cpp +++ b/src/goto-instrument/goto_program2code.cpp @@ -228,8 +228,7 @@ goto_programt::const_targett goto_program2codet::convert_instruction( case ATOMIC_END: { code_function_callt f; - code_typet void_t; - void_t.return_type()=empty_typet(); + code_typet void_t({}, empty_typet()); f.function()=symbol_exprt( target->is_atomic_begin() ? "__CPROVER_atomic_begin" : @@ -328,7 +327,7 @@ goto_programt::const_targett goto_program2codet::convert_assign_varargs( if(r.id()==ID_constant && (r.is_zero() || to_constant_expr(r).get_value()==ID_NULL)) { - f.function()=symbol_exprt("va_end", code_typet()); + f.function() = symbol_exprt("va_end", code_typet({}, empty_typet())); f.arguments().push_back(this_va_list_expr); f.arguments().back().type().id(ID_gcc_builtin_va_list); @@ -336,7 +335,7 @@ goto_programt::const_targett goto_program2codet::convert_assign_varargs( } else if(r.id()==ID_address_of) { - f.function()=symbol_exprt("va_start", code_typet()); + f.function() = symbol_exprt("va_start", code_typet({}, empty_typet())); f.arguments().push_back(this_va_list_expr); f.arguments().back().type().id(ID_gcc_builtin_va_list); f.arguments().push_back(to_address_of_expr(r).object()); @@ -346,12 +345,13 @@ goto_programt::const_targett goto_program2codet::convert_assign_varargs( else if(r.id()==ID_side_effect && to_side_effect_expr(r).get_statement()==ID_gcc_builtin_va_arg_next) { - f.function()=symbol_exprt("va_arg", code_typet()); + f.function() = symbol_exprt("va_arg", code_typet({}, empty_typet())); f.arguments().push_back(this_va_list_expr); f.arguments().back().type().id(ID_gcc_builtin_va_list); side_effect_expr_function_callt type_of; - type_of.function()=symbol_exprt("__typeof__", code_typet()); + type_of.function() = + symbol_exprt("__typeof__", code_typet({}, empty_typet())); // if the return value is used, the next instruction will be assign goto_programt::const_targett next=target; @@ -393,7 +393,7 @@ goto_programt::const_targett goto_program2codet::convert_assign_varargs( } else { - f.function()=symbol_exprt("va_copy", code_typet()); + f.function() = symbol_exprt("va_copy", code_typet({}, empty_typet())); f.arguments().push_back(this_va_list_expr); f.arguments().back().type().id(ID_gcc_builtin_va_list); f.arguments().push_back(r); @@ -1374,7 +1374,8 @@ goto_programt::const_targett goto_program2codet::convert_start_thread( code_function_callt f; // we don't bother setting the type f.lhs()=cf.lhs(); - f.function()=symbol_exprt("pthread_create", code_typet()); + f.function() = + symbol_exprt("pthread_create", code_typet({}, empty_typet())); const null_pointer_exprt n(pointer_type(empty_typet())); f.arguments().push_back(n); f.arguments().push_back(n); @@ -1947,8 +1948,7 @@ void goto_program2codet::cleanup_expr(exprt &expr, bool no_typecast) base_name="nondet_"+std::to_string(count); } - code_typet code_type; - code_type.return_type()=expr.type(); + code_typet code_type({}, expr.type()); symbolt symbol; symbol.base_name=base_name; diff --git a/src/goto-programs/builtin_functions.cpp b/src/goto-programs/builtin_functions.cpp index 52c3cf2650c..934b610e728 100644 --- a/src/goto-programs/builtin_functions.cpp +++ b/src/goto-programs/builtin_functions.cpp @@ -1588,7 +1588,6 @@ void goto_convertt::do_function_call_symbol( if(!symbol_table.has_symbol(name)) { - code_typet(); symbolt new_symbol; new_symbol.base_name=name; new_symbol.name=name; diff --git a/src/goto-programs/remove_asm.cpp b/src/goto-programs/remove_asm.cpp index c863adde77f..e67602fff2a 100644 --- a/src/goto-programs/remove_asm.cpp +++ b/src/goto-programs/remove_asm.cpp @@ -78,8 +78,7 @@ void remove_asmt::gcc_asm_function_call( } } - code_typet fkt_type; - fkt_type.return_type()=void_typet(); + code_typet fkt_type({}, void_typet()); fkt_type.make_ellipsis(); symbol_exprt fkt(function_identifier, fkt_type); diff --git a/src/jsil/jsil_entry_point.cpp b/src/jsil/jsil_entry_point.cpp index 43f60bd1950..80f787ca9c2 100644 --- a/src/jsil/jsil_entry_point.cpp +++ b/src/jsil/jsil_entry_point.cpp @@ -26,8 +26,7 @@ static void create_initialize(symbol_tablet &symbol_table) initialize.base_name = INITIALIZE_FUNCTION; initialize.mode="jsil"; - code_typet type; - type.return_type()=empty_typet(); + code_typet type({}, empty_typet()); initialize.type=type; code_blockt init_code; @@ -152,8 +151,7 @@ bool jsil_entry_point( // add "main" symbolt new_symbol; - code_typet main_type; - main_type.return_type()=empty_typet(); + code_typet main_type({}, empty_typet()); new_symbol.name=goto_functionst::entry_point(); new_symbol.type.swap(main_type); diff --git a/unit/analyses/call_graph.cpp b/unit/analyses/call_graph.cpp index ffefc5d93f6..67f6fa68a82 100644 --- a/unit/analyses/call_graph.cpp +++ b/unit/analyses/call_graph.cpp @@ -22,7 +22,7 @@ static symbolt create_void_function_symbol( const irep_idt &name, const codet &code) { - code_typet void_function_type; + code_typet void_function_type({}, empty_typet()); symbolt function; function.name=name; function.type=void_function_type; @@ -67,7 +67,7 @@ SCENARIO("call_graph", // void E() { } goto_modelt goto_model; - code_typet void_function_type; + code_typet void_function_type({}, empty_typet()); { code_blockt calls; diff --git a/unit/analyses/dependence_graph.cpp b/unit/analyses/dependence_graph.cpp index 6ef65220485..84f9535bbf7 100644 --- a/unit/analyses/dependence_graph.cpp +++ b/unit/analyses/dependence_graph.cpp @@ -22,7 +22,7 @@ static symbolt create_void_function_symbol( const irep_idt &name, const codet &code) { - code_typet void_function_type; + code_typet void_function_type({}, empty_typet()); symbolt function; function.name = name; function.type = void_function_type; @@ -74,7 +74,7 @@ SCENARIO("dependence_graph", "[core][analyses][dependence_graph]") x_symbol.is_file_local = true; goto_model.symbol_table.add(x_symbol); - code_typet void_function_type; + code_typet void_function_type({}, empty_typet()); code_blockt a_body; code_declt declare_x(x_symbol.symbol_expr()); From 29bf299d43c68fe71ee00d3238bf8a5acdce5abb Mon Sep 17 00:00:00 2001 From: Peter Schrammel Date: Mon, 4 Jun 2018 17:29:36 +0100 Subject: [PATCH 6/7] Test for incomplete code_typet construction --- .../jdiff/java-clinit-wrapper/new.jar | Bin 0 -> 80858 bytes .../jdiff/java-clinit-wrapper/old.jar | Bin 0 -> 81060 bytes .../jdiff/java-clinit-wrapper/test.desc | 8 ++++++++ 3 files changed, 8 insertions(+) create mode 100644 jbmc/regression/jdiff/java-clinit-wrapper/new.jar create mode 100644 jbmc/regression/jdiff/java-clinit-wrapper/old.jar create mode 100644 jbmc/regression/jdiff/java-clinit-wrapper/test.desc diff --git a/jbmc/regression/jdiff/java-clinit-wrapper/new.jar b/jbmc/regression/jdiff/java-clinit-wrapper/new.jar new file mode 100644 index 0000000000000000000000000000000000000000..e27225a80af933ec3d7c0c559b850898cd7e3f75 GIT binary patch literal 80858 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᷋DSS^>b>Y{kMkt z4@?xD&}TO<@FnCU8ikuRKqx~&%feD7KW2Up6rjTEFCYY?gROezxUVrfw-AGi<58`L zU7qX#gb%~m$e7Q9w3BRZKHRv?kN^4_TWJrZ*Vkyc&zMP$-eQBfVs_UQmCb~G!G)fq zxq`-ks9H2f9MG};Ou{eiM^YHzmqkW}-IPfVGQ{r4kE(H5M)8)G{n%eb?L|DM!tF>X zPR^u=dpv5yrGgS*MlJ`@jXQ3D`BKi6==;P91t^ao?vdVI*H_f;<;aCgYssVAp*=kn zE8&*eqpzyOp#^8kRDiuNMgs};3;hjiFW0aId9}b7(?|lfP01U?zjZ`PP_u(TWn%?$ z-uhh2%z73I&F`z%2YUexm3n0cPL~1V^})#=(7b(uqdBnHHFnDp^#TGp&UYq6WglUt zBDb$8m3Ksk-ZI+@^IO#$>&sh#$+eP85D0DWFD>OT*q<6(TR_jM}3cTw?>IKJVBetR#)Lo7u5b)#GXYj4>JlI&w@5ukm7HEZZ1+Y)H zw0z3Hc7&>S&aMs)_D-L!P|V)R*6=@agbKX!0}Nk$bz);-!??OCT`;#eG}UT-Z-fzMVM>-g zP*`++P#}{)Fm8L9#)bn_+8PJ;Na6MtPFEooN)uB;1VIdX{emz*t~H=f@`R!k zgZGl?Ag)qwc`WXSP@OT!v|#UQ!JdBj8}9!}sO;ioXzXI|^dE%EzDoOTaG!R({S>CZ z9Qpsy`8hqi7+TtyI*EGx*I)nMjU_9NOAQF1b}1W+X%pN7`v#&9YPMY{5upbKB4J$F zB}ivyOa+aKMCi}hJMBU~DelQibV7&Gg^Y7PZY-zQUdPG@Fx5o# zbIGUs-$iS|b+{_P^7O0Y^FeKQsz%vC{!9=L;iUTeVNnhP5BHOhCYSiU*i6c7*g5P z#`F*4{(IDQqZkna1yDtfi37D(J-`dm?F=ogt60!o+_n!P1q~)UFsIFSfq9bRS=D41 z(`Ak(U+=tuH4HI{V;BiV*eON1`(0X?*_6Faeb5ho!d6P*mR@LFei-udBa4MwR;AeL z!5B6$c9a*njb0D0nD)7o(RAqlbV&Iv;0oQp!d!8{r5vg}n}QVZr8iPY2r*y&q!pj= z1?11qznP@J3jWEt(ogy8CE7oDCu(bCYGU%=W9k1h{h}56{-9r0HS4TZ^UhGBxF!8n zJ|Ihk7$zA8n6j&jES8OR6+SciVEx+-=o^KjvW?LOt|*J_`Xa?5}>Vqy7@DWIj3XEG~+<J?c38g@iAn|d^9z^(n)E!GkKa**$~IZ+Erav0Vz)xFP;EVK7jtVc_$ zCAlqS|HIQ;j**bGLjeKxe6E&R{w44J zC+?~)mNx&Md)eyYeyEFhA94wk>o#PN&;eCMPT&cfLCyXK-&Ki41f7y;N|mxM5KIi{ z-Oazw5aBOsRjXIumlaoQSuU#aAPZ<&YfEc=`_1pWws!5s+_`E(9_ssWx5|Fqwe92W z$GrUhcuNk%wzm!JvTFm+b*td-hd5p;4u%iE)9E3z;}~!az5~!~_Y>NA1zy;b3@9bp zL7{0>{rH-@^=m&B_($*^>l2zUZR~c++x0?!sQclzJ(w@`O-?U3JW-0= z>QP#Cel>kIFE%5Sn9V}e%90~-0%HRwGY(e5I9sSqWk_B+F5|uVuc=|NbYMwoH1VoJY_(MA@bXNFCJB+0jG| z2|JR?`dnrt57?U0SDOP=UJC`M>^|XPm-W?Pw%TqBP3G_=A+P8bx9T#gK3{)JVc&0Z zlyZ$K8Ov#^v)ka*@BbDP3l6{=Fq@r`Nezk8xiaCxAs8!>*Knld+|aW#QG9SQvMMi* zx*Q^@eb}LuZ{C&bbUg@9NwUs_OjPfa(uFHZAJaTd3h^4BHz`H~OsSCB zBd%-COW4t}1Dc}S3~}Op9|OX9%(57Wpov{sgy^UbT|%*1;Vge%Y%1mvdIr-BvBENj zWvejsRVt598aqq7#+Wu>@KjaDwAcT_$XKhaDlrYz;aeZgSYI>K`R=A5xc(X>7k~&= z1VVtU4V^Kl140TqK!eJ(9LH*0mA_S=mR_%_)Y6ighJiO(B0ol@tAGv#gss>#qzrVO z5Y@mrtTY{6atB@N1>;jDa z@s3V9&}s&jX<7Q7t2@RK4{4)lAK}-@6E>U0$`hIpB}4u`5uIh5q1?`Von6Xn&W~(2 zfsy$6ueO)CQ8zg`96a==uL80`-KU?a z_FyS&R@L?Nl4@fN{bIC}~*4j6U;28p<&I@BaL<;fc5YJoKB*}p{0 z-|Y|W*r%yU)K7?-6g+Uz@^460VhYcEhMX%CG=@Ix-t9%<<-U7CRB2Zd)-2`|g zVV~rP$up=waNDWc?O<4+$rOH5di(53R>87DH>3Q{PP90kZ1SBKQz&D^_4jRAxU7u!uCzG!RR6JiyXMM}_fI@AG$YC1#;(+=U2j+)W*0~k+# zvyskwR3-lKmN?|4ydc)7!Y$4k#9*=+jsVfC(WFZ0G^rhJmnVjlJ>L$ynMsfErTdyC zy`e(an>xhb_-C0BXPL<_M~)?$co+-xZt`Xot!3|+iv*=FV2h>4YSZ->74jWt#cL^& zRW1wkif5@&g+rVOL3D=YotfopC1*UUxp`-a76Yfqi}|M&>mD3I_FNUs);usbdot$A z4j{|$GXv+Hl}&c~brCUc>gsmry6Ur-RaY6k4R+g}PaVGnw@KJWUPZkhLb>UUJxM#P z0~ZC=_M#(dtQw)@4Te0yI;=_LWoO*c`p|D-&dMo93iMb57M*mR^UE(mqBUZg;a1^k zN_khN(UZ@=Ug6P;YZUc<|MipR{P-)&p5eDwDA-3uCqA()@{!*h{T>O2uc+<0W|I5^ znEcY}xrJ32l=q&v2j8IR>!kFITz^a?b&aib4SQrOBXRc|Y=oP!jWFOi!LF&kzMA?+ zznN#ja{fm4`x+EjFB7!$`{(QBAyt7COzhYWMyed zDftD7ra&pq!QjkQ>mB0jnQYTeHFBEP**9H4n?w&T2O-cKBrQuYBiEFYyNVd4VxSuD zxr?pe6KK_WmcT12;Zo&#D^|Qa#q}o9+ejvf5>?B+O@>d>ap3_RF;#x>wP{Vrx^Age zxC`FyIFzcwgiD@h?cmdz(U_HPJ=#y%X*Bd*Do*bxg+-YkFLgzJ-l9MD#=n+l-Mpx5 zvq~H}n5#=Kng;o#IkDx@w26e$Q7dNR{wxrMr%6wg@&+AtkWyqXbE;60FV!SdeQIGU z3%tC+o6Aw0BY5Ngb9kCjzT4OM8Ja(S3j6;lOj0s+ws&G5R2t@){mSxn%jD6=a99Ur?9ViSnBuK1ol{`n)^*0HYas2tt z_`C^N16y}hu7epY5*^&q=>)633C^VsW#SL`gcO|!I&jfANicC#89WYhC`v)C8E_${l zk9dL!K@TYeD~J`ZDEOE{Z=w7dBavlPqaUC6{PW!BKSKEbIQMA{@<;A-@$PNjB2lca z=`P18ohq6T>MP8{_0)0ux2v(Ot@!Dbe#D*71RG>1gb5i&hMw2`a|nX~-zdAN93gva z>eNvsi~@!qPHsm!C2P1gPJ0<>VwqzeKJm%ruI2MWTT%5nT`eUln6=M^KZVLyQ9clx zP}D#W)VaIFEo;t*>9#L_60bS{-+Qc`A$wE5s2z4zO0S zV{3bkVf{Jvl#3|!pq`g}xoIOyQ2I>v@K`=>A|nHsw~Ia|7! z{{4u5589;qsxzu6?z>rIXBXgr5PGCc2b+{UQ{V@>2qPFUiVE@ zyDuqwvxKPtA%;5r9E6d>+b;dpcwGlR|0g2lH4_D z1UxD6Rrd7vreeFtSkm1|&E3V<(05^2qwQ`)Oa|>tI7XgvA=*cS0i)~&h@~>@$1^{9 zVUauYgD5P?t0j8ST4gP#U!qa>m7`d2?Wa)IPe)o*$c_=(Vob^I0`O$Xh%}v5z_+B@ zm62#n?c2>ZTx26g2&5FpDkf!aR+Y*^hD@6cE)Z9lz^x*7Xy1-}lBtyo%0&Q`IH(*`QxpzDJ6HjUAkz(p zmQeRG!&On%rOKKC$6#{MJoGn#A^PvR@Wx+NH;WU-nb#;&>DsH3$GOyg_OHy^f=X4= zQW2#7#yi7K*W*$%N{%_y_$qJARRe(MvKwRyz;OK$lnO3)ZXrnB*`L)vfqCWuUTdYn zY7J9Q%LU$nC*vvkm=VM5p}PZ*XTL`q(8#ql%+0kmiv{Cbx`pOjyiFhMyv}uBV`{<37%a)JDoF3QrkKZO(fN2Z1t?_-f6O|}Uu+5s zZ%%~d8+sn{^+Cy8tIflE)M}DHq$I373Db(u;J1ZN3tzvw`+b^pYV(Epwj@6i$G>0NK zcmgOM4{>HOzG2i;V6z0KDiXk3&N?8G7AZu{Ag-7O`SrSroe*J98Ct8b_d^WP@P)z$ zciL^8DsJh8t4Rl{&O>7tvXYc3f&sgltLVqSVEVR8dG2cnNp?rJUEwy@s*)EzjCn%6 zBXGZ6+71#DJ9O0L7GLJ>!g`Nh&wGgbK;AOfIQ2wWTh%JzZv~3#BnFjuI;Bx+ijjxX z;ff;W^t)vd0?bG5NI0_zOB0_UN=K~WdiF$}um|kDp+=!hpGw~uZ02f2!;+@&N_#T1 zFm|~&Le{ZlLG||$HYBUH%Qtnye(Gl{QVqL+oJ&@g&qHif6Y&K^w~3oB21T@`;@0l! z*#yQugIeXwD=p>;#P*s6=mpS%Ji^+bt&r8}?f@GkNS&fFfW4rW5n!h>82$!(kY}p3 zJ`zzQxtCKqS1`pcm*;&emWZ?V`@(IZ?$5>_7JB25T~!ev``uxE{J#(a(E<3+YJxn4KW0yMy>= z#|Oo_^nC^#2uKGJ2#DkVm*e~Qj;>itTWq~Y=ZBC0_TM+<$J$o6w)}8uR_0@|VuNslzo7`# z;KQ{cN`9BA(yucr!^5`1Phd+t)q^@)ky{cT0_@a@YpZYskKSnD0cwdq*eW?(H&O%sDb2Ub*^d>)DdI!I-w(xkQk87>qv zB5I##v-84IxeT1-(;r6r3RKK^jPqtTVq&<~OHpmyNXt&K0;)P(Oh-i&-gz=Bn~^#b zkqSS4MkP08=>gkoTL|S9(4(b_@R*PuE?#UTO+=+DL)UO_q*S~AV+ujHLCwJ>#QP!$-%> zm~!IitOM&WW;^bj!^3Q+#0!q?Q3EPp&8%5u0;1$#G+ihiT#Ua+_C=j*?L3j)DCI5# z^7DH0RcmE(sl}o*%8ZB2LMNN1fU@te&#L@l55JQJ08ECB=32BnxVXWG$K}oN%8|5~ zM|tnEr+M&{b80@sbH=EH_$xF!P0FLTTNBC)TPL~AfG$s<2!rYZUV(qaB7$%PqR8Z; zfpF!zD%Dg9ncC5AnJbfXc+$X5qO~Q_8*hwahcbRBAO_L#UH`+-A;u|ur zB0cB00pbH-Ky<_H0CyYRRN_bW21n-#j3+GRfjo2h+uu|RI9p;*j)-Jz7W4|gBS7BZ zbz_uiQ|_i1>Y+cl1W?3R;mD6Yv#ciHlC4=#!BENYL*cG_xJ)>?(h@;4bK+s8chIUf zpRGtFG`8CWF3<&Bt}%}9>_|vPO}!&Opc#)$bSERhQ)@4n35Vy%2Z*+UZV)E(XxpakZCI{YNl>YXPVwB zQ%z~@NHt+Jzjy;CSF<$8BtrG;JdPIakC<{RT*ifTEV!8R#L@=f>tpP1O-w@a zRtxqEW)F=B)v8P^%$46E9dj>?Z1krNHGZ4)Z*e5D--qy{OR~}RKcKe=HHK-?+35DNA#$OA`L%OQ8U_Dl+t?x2&g%RtDgUD&+8LSf(ykUea>nr*!1J;K2 z^|;~oHKOH@fS{bC#T%=OoztUWklO=sY3T5i0n}A(%=X=}O`J(SdKDr@8$VF%f$01mUO4 zmmELfKYNf?Wu7+L&vFjnbLk}TZ#{^mo%#Q)>ih@A+-CJxbscrIcZ55RRPIy(vah=( zlEkF>%y1?oMb$D4u9#%NV+mHaP}*3aU<*i-8rbGbp`423i_J2W<&uQ^|DFS~l2AJW;kJTIyI5#FMS>G!`( zSiMj<@K74V%+swf4%~i?L6r883JHo0yN~VYy=9CkHC^aUx^aZgjk}2ol8*?Nm-JBU zFV%g5#!t^C$eugzKL(kH&m zoaN8X8S%^TACA_9wD{v@GCpf2D?Rx(WfWrAQ#B@JmiUG@9&E+CyrTw)ru$sNwth^7 zi0E_19Y~AAN-X*l9Lh<*K#f5^Lh^?$#Mg*562FR_DM2p7NTCRX7f-(kHyh-O9WX4Jd0W^7A`8wfV);}+ zd8`U@(!fwk8GCBLu`y>GxAhd%9&EFBtKPUWtiSR6_PM|0WHhdJ5 zEOaq}C8K=EI7J2J9=cWLBC{x*Z#S?#$#wi80;%XYp6KDhRdPIG!j^da#0e1HlUAou zT{C5iP2LR)R!+)sJIh}2695ya-^T6`;GV<5JJE;L6vS|X0U^Ag%`_(m(4)Q~_bA<1 z|6;f(n~)C~=57cRWRyzABoQ^dPY8s(jSC!a>v!1B#u@_ZD^E%xm*W)T?X#F!1F4s^ z)v+gD7>)`|y@f%eH_T}F-{xm!bv3Bi_h;DLT3tQOmD9Ly7)osN(^Fyy^{mJWRIeAH zk!_;(fRBXn{k~1r7GbRtBFh-rr!7dAGW9#ksUo;Q~7C zDdAjO@nzufT3cH=g@&( zFEA0pZCzKiPYvAAxic3vmR+Uni;qqhj6jh3ZmYWbRc1>0sw{4w#?;I`egtNIEJkry zB>yPKGUF(YOkm7v({?{>*5oax!I0y^2TTUJHa#-7P1uBK8O|^?VRg89{3!T3R=|y{ z?J`T$e(X|KJ8cE}jjTJc`i`z1S{Oc=9@NOv=DSya_G_8D^JIIB1Y6QPbN*s?&!%#` zf$Ott!hOztAjq@cw3v^k#Kr0jmrV4)iQopdL%+@ z(6h`yfCKe}cUlvOlLc5%qR^du;iRr_+ae|9KaLgj4gsD2y|8=LBp9vVae}KLDEHSy@YlD1x z_!`&c*=@B}FNAfi&GpUut8a_-{&)yYXvD<%q%M^)oEP5s!1*8kan=s(NfR3VM!N7E z+N!0pu6nw?blg%(ux)@C(F?L!USM+A8_^B!vrK^A;xpA2TAX)n;VlTZ_wp=9=qt#g z)jhI_s?w2t*qtddx_M@B!cHWFY5h#&$;DupBJI3%fL+f(C; zZBQS-g}RCXabxTfxGqoaZ>sNTiE!Wk+CjTO359NyBGZNx=O(TEZpLSU$29yu!xY2{ zA==f{52a!Kj`p0?){;Z**EWmE0ekS@ix0+5X7z+Wd333-v!&C}`yTw`#-x%8-wJUgR(KEj264 z+M_Uj@tL=2_*!IRNr7q+pd`fivI`2xE2schOj0UJ0@^#UsWKZkV_$PsKzJjp(J2G! zL)_`-7nARe!A#OEb(R|6LMcL=Ts9WrK2pWSD_epAujv z)l)lnb-a1lN|0qAG@(m>^9$muY7GnYlG=(ISm_n`nPbno(rmZQ^F?}fDBZji+41iY z%hMPP6seCf+eWl=iH@}cOh-3MX8{kj8iKK9C6D|S=x;uoGw}(V8M|06K1kyM4E8X; zgt3}@y5Gd3YUUbfn^8LpMQJ?+$k@##v|+>#Xw|d@lx|z zdu-$W)&X8qLg?mgXtji)jThs0-(co>D4t<+rW?iUNLxhf89gw@V62dy`Za$ zy@;vHXDj3XnTYC|UbsVOyoZ`n^H!r`dImHBrcwL15-jk_R9^cf`9)tXHsNaDXm@Cz_Kfo}bbizWA!#J>aMRNcgeb{)^)IhbePTwH9O z;(grEZq@pDc^|I@e#8A>Ffi;FV23$lqBO(_GnV3&!AT1+HXxs(tkeuI=tx~C&MFWT zEwIYd)%?J2R%^Qs3x;o(b>_-^N@CDMcIe3^!jGXtbIH508ZCSXiUuDc!ie zwip6AqINzl{&Gdclc|mO>R{x z*~MBJtKxwSK%rOw9liaAGcC%CIflB9{h-upQG(mO?Ml^KAMq6WrIWUij&jIY{b;sX z0F=U%^f#r_iQcr1fq~ETonCI8m79q z+JsBZ#1!*GIk4|_qf(YE8(F3M=tXtE#izs&aygmQ>nibK)2fVfs4~`t{0}NoHAgj* zSG<$`Hw{DNM#(xQ0ocXCfv&L3AggitW(F8%tX`@!GVzt0P&UyjQQ&O*>o6|5@_bhv zqmW~;eijT$U&!0=*oYw0!(v90v?JF_{GhtI`6y0ONya43I0210Bi2@DkMJ3* z9JD6W1K^N7>>;3dZcJ^q9+jjuoDB_|DM&Y*HR$ijqS)^yeDhcz&xQy@`A8eH{Z&52gS<1!E2^iprDmXyk*}nnOMh4$QrEb=d0B0uS$os*7V$h+qJ*@ zVyxgQrrGdVs~^oJ6sVe=XP2wy{6wrb&D#ypKyqA{zGhiQOUY*m?chdq+}v;tr<1*m zIk{0h7Lr&ZfOQ*Wy<&C>Y5S=%#BhL`HKy`(QYKKK%u za$aM?#p4)L;RM|i+4&60X25MXM0dk2$bWehJDIkRdc3mXdAU1J&q42DKdKk3F&IL< z){(0I-ThvczMjAbH@zG0;VYoCzm2ySv#7Yi7M7ub7dDI*w3&GLJR7VdlF;3{&h|YJ zNG2MUGvFBNbsp#eYWcZt`3r%*NP#)h=;9j$l&1;&NN#)=VmrS-E@=_byj)3xd%U8! zBJVH-Wcz#D@a2O#i^Do-g;f!c&5YItk_X54qNCa3IOW?~gD3!p6&`d}I?}tG0kd2I z$^iA=iPh7&QOp%dhXT3P4rys_fXD-Llh2&L^x5bw+Nl)FT(W)9xj|fwNz1WwQ#HCv zg7pQONCG_3D4|0>f>bwgN}I&FT6bnwh+Bz;G2d*WoX${*w-Tc?`D=GCJmZ0>KH#WH zr#A)M=JGc=o9;l%?UsuZ61$$5&VhErsYypMJ)ZucY$|kuRBMqk>`IQDPof-6-W}80 z&k+3LX!{z4#_to;U*@U~nK`5%%^CBr8Sx}?Iuek#Qyf4mR{B238*kdIV$O4R$2`w| zv&il9EbI5~w~Z`fIK(s;faDgSl0SE*QY(pYLH4d7G@kb>uPyjQ+L5I{! z355iGR~kMwn)^bjjsloLL(?TEC;9_MBvU2FHKn2UV=Tq7kuteVM=UHSjAH-n0}a+;rlo> zCzIo*f-1SZ@*vCPqbReKF7Cvs(yO$t-HeOoH)H)Z=yee?=|*Gciht4E+MXZ_Qn)PT zoDa8by>5Qliv7}XDvpzSZvG| z3SB1*J6bN|9i+3vmCMA z_w2Lq&0ezXQBbU}`2@MSQaqkx z)~g3g_RB6_Un4&mSeKtOCY#v{6qDkK7RQ5eH;m;TbQ*nr(o+tj{j5XG)o0YLpHbvpa~nuTaHb_2h>a z76=QD)uKV?xa6bBvo?`muMo35#&va#!7$KHeJinE-b-D~oOI>1vNL>OhYTGi}ZAtCpkeMxcU)*^C zH;&))we_c2MQx6UA)6H;OhnWhRjvhLtv#iT5^wAwFo2{_C{X-tH zU4Osb7LiOk`JL=V|3F~4@Q$@yY4!JrYgtV~)*n`B4RKCN)QX>#%#xU|t|bfOL@4}` z=CYP?>oPoHp-GmE!swX|A}JNIzXP9*x!aO{0h1lXd1h8k=rxpv8+**gnFgjWFPn^A zHe@9iQ@W49D63Ir<^URLEMTRGm9dLQlT=aTxPviP9S36hg|C=QqgfK`hT|~Fe39id z8q}6%!8Ps2AXYhOCbm|M#x{{zO%uO0jqsK5a)NtK} zS@hC4XQI7Id|fmyr9_(6g2Zf^Iz9Yc#=q^(-&tQK+2i7QlL zIMgx`cbbPuq3JS~5bPG1stQ&0)u&zpPf{?M*X=vnoS?28=bo;N&}Gw5f_H5-v336# z3+-!#T8$z()H(R2=W-=mitp}A#pp4wlvH#*@WT;oe~T(HbTP7h5$}Dn>AbR%zFc3G zQ?lA;{K}^(#|bUiM`apC*PQbbi;dDSS15`ApIwS@W6|b7!*kU1V_mNV@Rcp4Tr#8@aUO1=Nrxi6|c| zJUO9?U;auZKL*L8!LJtEG4o2sS1&{`?c-^OK4vF=_^<2 zA=<*^1@K1kTJg}K`L9iew=SJv;}I}15xDc^?w3t>&PqFs>*32+=L^Y&%dEs0bXtv* z743SA#cp+hN1LfF-@GpW=oNQs*5-Bl3h5EAp+JHxYSbu9%7jLq{&sI1(cqQ9f;NI7 z=$Y@$km=MB;;YpW;)*YC1qv`-G#}4#Rns5dY6umVe80#q&>Y3C_Xs)mk6t|)bOYj( z8A8~A+!B6L4a|NsmMmGXdRzGjv*RD*PYJe>Hz7D@^@xxP&L3N07;3=fE>k+mQ$bjqQW9Eg6)opwc`BR%*!hVtr2h4xEH& zv_a0;{a^}4^qz>RANcxG>)X!u4Hpg2bn5k_6U4-~d}|FqY|L9?40^O@$6|oORtS!` zgFn{%HO7sk9(*%N4}u>+v?3k)Hs%p?1?nQrN#9YtK|fm!h|A05wUKx8ay#|sFqVud zUa1NBph|tjI$^y*ftZ6}@^^$zhG>YSQ`&+y%|+PpCHL2v1Uw7Wv1yTiPs`(>Ud#!; zhk5MpWwUi{CO%%p{$&H-(Lx0)TYIc%KLoh_s!HxGQoSO^E2W%9og;8aNQOVJBy4Rb z9+rox#e7kX^{@oz9Q-{=t(#}pN>A33Rjn_&W=~9>>NoC$pbXtYPa^ld|I)RF_U;*m zDr#phk@UQCFJG{BnbnvXI4FF^!#513>U(^nu)-5b5h({`WoYW2{>YT{N-Zr5E#tfx zE-In`U>Wt#9itUDznb4G>6h^CcUY9^J0gL-G4HUt)j}LG;y)zPO(IErUsy#z)>r#fy#b5&(E7AoLepMlNIOVOTz(1+I)KI_9oQn zwj=hF=wDLDLp)~~7<{J#bIj}GY=aelPZ`>tiJ3ayU*CC z-EWgzjFe6XPx=@sS+WHvb4bSa)bAzqZMwN`5(H=HxQ~%BN9Z+Ljt9JFW5*kzM{WA~ z4+v00u19i#u<~ceTsv6>*>vyI2foK$>)bz%>Xu6G)G7C-hxPCfY=fREk|X#91!wSp zFaw<8cEmR{1j3>o%h_833GOij<7QB6dx|6;m5*UKki=%iM)+-r4sHpCR_SId35|F$=p=r@#W%U{53EV%hdD*U)JRb$V&fB1?NB zUeGj)w*IiY;}+?No|(y>rD(-l`Pu=`J9e>=GcJp#QPx6vYJJJ-2D$<4LXx4c?dcx% z<@D6FaxM0>{0!E$8j_F6%nW4D6qWLhNrhpYw`ua9*Jd~hjm0GW0}Hs+qy{IzGCYl@N+m!&?z!aa&8?zWf-_&(i9s0$j0;>ldu>rsYt7pYaa$;RWxEF&Km%EkbQCJp#Ye(o76ml**=Xx)N~JW}k}kIPpB&G0bbX@W|aIDm}|+77G0 zN{S?oH~B5Jr7E$PCc_60(t@U#q-J;CVGfPoG5VCScdX#@!1FE->tzNmdIyjmY0-iVfVc^1Y$S`W;wJmdX#uRpJX`U= zt{K-ZMIzTLh(JRAT6aG|T#c~$xSBy$-NOd^A&GL}#w(V^)oNm`&VKEae}J1Mb{t*a zy5U&Wm_ucfB4#atvDNIVm1{x(@SM2~2U!t!@fULlZjjwj3$G$mEr8CPgZy!f^5g9Y zH0K#_!C-q2^`pI@zd25kn>zMLwQKR~2HTBDAD2XLt?DdKj5R^({1aXhoDZXenWmZp z9_S79A1Io?Qv2+QhjoDO(ls5-k00d!x`QJ47parYKP_8lsjMp^nj(F99n|9kCFb&# zuBq9;^(?xZLI0BMh17wQF5L4H=Sc`MVzp+0sA_u7urhsH`SMMha;#)j&g@&@SxxJD zXoLOaebb{oey=a|BNFgp_vmt%a-sPK$Xxt+dye4+SP7{4Sn-v7bOlHOZX*~`=8d!P zuJj`r3G@%d6}JUm_7Z#D71i+jMr8CR(v5({BM-n0D8=3zVq1ePC;NB)To3Wby=*Pp zN%l7jZgR6e)i8D$BG& zMn7VT&{F}eO3Sp09s?v^ZC?OAyn1Q7+Yqn$i6y_Zln#)rFdNB0(grWbg zX;Jb8TJK!j!~q#=Ymu?R)a#9-|M36@y!Aao{UAazp}3bUsvn|X4ge)}jxe6EFlB($ zIE{%#Sec@ROqWliq}ephmGW9VBgB@%O|$=cqX7CxQKeZT`7KU%Mq3P zgV;1OBk&LfXDDn!6SmQ!>?wT=zuJbB1cHxYs0>w0Hn*}(Bq6gt0@^ZY*HP*k-oEL_OWri8XCy$|K*K4%}h%z02Kpsnidx|4Agl}pS z*BUYpFmegwiV!yaT2(Mk1)pC7lxnMHYiOFM+J-vpl}*u~)xqInvF(yNJVRP9^jmtY z{rDjLl@0o5c)7G<=6l*CQo;^}dbD}uJ=1waq& z9ILwiUZw6hyJ*SsTCFQyD$XqN1>re0YO&ti2AlYw$6j` z)89ImSBaIQ7Cxirh9K(E>f>lt+2|#^hK91Kf0bUJTI8Jd4@~x0?ZQlbSPZIVx{;UHb z7@7+bo}H6sMH(8?iWFlRkIYP(I8jt?uQ=-^M$l;=x0j+805Vs>AsEz4i8`;M6(01u zYN~u$kxB=GE8M+=QEpu#X?l&vSf%_hS(u#-&U7{N#zCH9Lz4m3;uzqxqaq zoMz|ZU3^zsvNHlP9KAgLtY>M$e3`iXVeSG~x!3q-KEbqS&~85b`&=LUy}|52I0@zQ zby>vT#stT=+I(;Bg^M4RS#SRfHa)N9vYHD$#+K{tdrkLqZZ~ zxR#<^Lbx2%w&yYJr}LapCgrEO)`kP{@vmGxb(j87cL`{Pd&eq{Gv5k|eV-aXax}x2t<9tW z3f@9@#i0ee$rHF-3Mm@bb6$T*-zi>&TWGRX&N4AO>s~G-d=bghAe! zN`yM4*n5d|;&1si_@vnW1kg>WA86j|O9mla$w6d@mS(hPQUF+{5=rh;c?eg-Tc$3 zs+#99PuA-i*KFC`;+dTh$R0o;xq{L{dTO;{x~2R6((7sB<8AscKNDm_1m(6fWCokv zj}D8|uMWGks|6l~#Dkp-w+ExoBhSqi1C|qgQ#SP7ik~HGImHozrwsCQC8y~-ND(4O zt5hI@PoW!1(WMwPj=WD&CDMA-W6nO7Bq8d=+Z7HT3p6(m->OLmpA5~qxX{znhBCes zq0%R(uh5-MFu$FGX6^X7T<&9Ndm4aWp9(3^$M2kM?oHfvNB1QpkJeMGt z-P2W)p*hL=5*#jy+uy_W7iwW+{51`r&OXf@y!Hm1{CXcf`5W^5by1L-NEsz+ z^@l@J!H{uTN>yXSV%31#aV=Pu{wKlhD|!O}`Vw_KkvSbcCrMCFkztXDadcz^k>9q)v+$ z9ZQu`JREFpyg@050x)H&4)B~qh7wFE;gt691RX}@h6jA4(^W-x@(Iq-rgsCHr=jsD z@W}kyUr3MVsi{;sx2WtK9G-qVS<7QxMqD!X75XyHW--A$NdZYk=qJWBCaLnm%hjcB zTvQpT2`Q|fu5$=AztuTMn-4asTfF~Nb|l)SzMcG(DXI12!CabU6$3D@%Qk_EiC7ic z*sF>hBEGqK5^1ht!p#5r`9^!MT=z}}_EsWy@|6q~bTiwO`NxkGU!PTC7L0e&`~nyz z69^TfHtMHUNt)DGGcjKQsn7{FQ$ENU5R<$RZ|>Z&O{&0bvpCW_hPUszj>v?UPy;gZ z3a!E01@nLrE1pQyieRhffE!ZitPYp3g{kXGGD-akS2}PEO1nLdcHqc) zko>`3z{Y9jne${Cu6?D#2BHXSI|s8nB9W7URMR18zf>w0$5t+fg!+O2E|V1h*!Kco zKBgGC2g)c-Fio(TJvPdpEhQyXCZ7uNl5KRIbjCBilTPq~JL^=$Q>}0j)O&3$G;dn2nD*_dhD!lB&Sp6!T>btpGqi8s-+{ z)PEK@E{YeDso;qiqvR-3J54o*iub7poS-=M{OL0xxP7Lgxm_-h_ga-0B#%HJQAMnOYQ z8Eyf=KoLI{FSQZBQ)XRUedEfySy2&zH}TE47j(Y?cg)qfxeB_e&<^*={>jJtcp|Og z{rveE_s3FP6k#wibQxN5Tr^=o5?gQ`hd36B1|ynSWptGl~2y24jKOq%DjKE^Ew zNu@TX%QFw-5eA}if#wMUI);m)H-JQf>lFni<7S&w7%fUrh2TNIP=1b};B$^_q@=wd z$`iJXfMSO!Ui$)k>2WeJTolSw<&5!Q(IWOw+7ag%#mP$W{jAc|jcJ+=LH&G)fg5sU zwv1>yy$)#g*zBFAN&zN|Wcg!h!NIyio)$`!q*7E`q8i&#a-rIjqz^_b^Q64?@Zs1G zQw&E;Q+}o3v)*`0 z;@EbPbQ4=EVi-CnD+9^FDI7YxP0>I@PDJ!&h8WLi$sm?4=KVZlT4CYCnbe->v;=cjVhX0fDw0N({7 z;6%)@6o!O1^5tQH(E6G;W3<(?qP6%V z_O8wLAzEZ>0fV-|usB|Tt_($jWc5&B6FK}sT!oIGRlRS(lF*b6=#J=OfE8#d{v`Y- zYLUN+4QS+psu$ll*syO>2A@K_v8V?|&l}`4@nKDA{odKz_K&XggB% z0+0tpp@%&zt|K($pK(Axv#nSsIqVoaCZveAk9uKm3Wypigyeoc6_uZ;E)E~BbNX65 zAS(n33NWy?z3{nqqS3x2HIYA#s8rBF%DA$lrO+&E**#Hlq@pfKf^!}By#2}ez%E;H zvvb$zuWjUC(zku(6SG-PQ|e7zqQnyBrc|X#;8X@y1tT7#oPD#l}!R90O=&3Q5)jC@GifY zIuIS+83f}FuedO;jYYKipNJ&>I@+foL<5~~+mrr1Q~O`BG5>Gd^Y^3uPcyXt;zX;I zG-Va};r=A+$Y{c#=8=)1w56b^!Ee)%s430t5fcxHrp!Zg&t=bNHl*^roWU~8!g<}y zg8C%dIm0p)=E))GIGZ?|blI4gx_te4f5hzJSYi}2z>fk#dDq9UnIwh;h7^Vzhbp6f zmJ5~ufqIHQ9?exk)h83YQ(Dh%s>j8$pGA_9wm-xH-$LRi1H>Wj*xKbZoX+yIq9e*_ z&92C1P`cZ!FDQ(%2%x=W9FX)@W`Ii4mhED<#v0L+#ab{kExh2&@1p&wx?YlDr|eKx zRGs7~cX~$%+rNOk$VfB+(x2k_n(#u^dVY^x<5o#Q5t|R+v~0fMMyAnu;345|uIak? zCS1i@h@hMYw9T#Do*kXXYD;Y_LxhgO6I=&5u2*XgPuYK9%shKAU9OjUnI|CNoX>%F zhPpgnLk{a4Vp zuC!cy4bUiy1iWl{d+>fE?$AEFh#&fm@YFExo7cxjZLqT9Go7V=tY zpHR=g2pLOP`g2Mt z1)W&<(&$>rMfrY6W%H@MRKU||D93RmY4~UnJBp(ZK7aS0ncNMDo8L10Er0_|q3b|m`!L>K9tes1W ziH5p&w_{U7;|5rDKjeoR8jwSQiQnv>CMI5|p0gTEkKSWwbpa*_aYeBj>?ZglcD=E% zU3W4X7k{!%d$WWF*hW5}!ioOqU}~wwJkemXYH~TH98bD`c$CLylHx+2@00 zKE*m1&*O%>hsWseXrV9kX!MNHeUM5sQFSZPMQRJ+JLRe;I3?iEqg)=>SSGfFTM^wp z7Smvf&z}$03Kg<%T1snm8nJ3=b1{C%pRqG0J9z7hKjiTS9}?jh2I=3$C-P8b2*G@c zbMf=`pKRCgBXFM-xpm;#JH=>BIiUkFZm_K{&Y2$;3cQh)7%JCFE1s0wmTSCNGMPE5 z&s{QpF@5ID@573){syboYIqdM>VX2+SN5s0P03DV`^|?Bh3`j1rd3s~H$$8KL3b%X zJgQTWB%&*_J+c75k_Ul}hpC)VAQmSL0?=B$vw$LjtgvIO5%iIm1OIk|=`5qK*y{#) z?jhJJe%w#-hT_&@SCVvzoh9NmLC@iAY7zsd69y&1!=H9i*31(Qh*H`qOko!Gl#Hy( z!{mH-IIx{O{@${B+5e`K>-Y-!9<)rat!eHunEieX^7+{!$-q!EH%!SYTm! zH;IU`Py%}L_}FlGMT~?hAp~AFOHyOwj*iu-^!S&Y#1{ZUk?!|`NEcH`Gzf_ghG~y! z_UEb9&)4&FmmjcoMtC9le(W2gJJu-AP(*Y&0Iabh^rHQrP$+018Vt2T4demImu)pm zISjR^P+rE-9Z-SZ#+v;6_pN08s zJ*mMucZzgU(B{UQEh>b=L2Rv#61$_LmoweB-T@DO9$?p8Z3{oLk9}!N=5Yk^3it;Lz-g zH*JF;02LnIx__l~#HTwe-a)Ik2rJ2&1^rUM2;CLLmucqix_ZlFP{tE(D8yfr4rvj} zu)tB}Mz!9|V{z%1Bt8=W&ksf2#5Wx)MwMt`!tK9FV<`3Gq^Im(*=CAUk5;0S(&obt zs9S0-tQiS==vg%$KUEv1`%PDSz{q(w(1ZIYJqGEBJ~R&s=V0_X0;-`T?Es#vX7(x7 zKTkCvavY5Ir`rJCtBvgOYzzRyG<#gd`U0G20vmg)EC#ljs(n2Wq=E z#|FJ0;RZ;_(zKzJU;n5hgWkh~&{^=6MHU|zDqOR)$kqUW)AzN+HnAtNB zYv-A*8C){q2D{LKCAqsFWw<4Ds7yx&SWb~ zt@SPc=aA7~LC?Qf)AJugMhNMrE|=dC>-6`A0PcVA<$s64eh--c+kgFIWmDLcLF7l{ z7W8SZ6s{%1+k>Sjq7H7OoBb8ViX5Mg9JNH^epoA|*SNVlAp=d+G9bo-5% z!0mmRtk2CI8j47>nQl4GWPiW({QPqY>3jamRqdwNc1si<)l+ML7#9bHTkFX-NS`83 zBuqy&UFh`0>>UTNW14PuPToM+s3V^>HVE~4tLydV@)b+)Haa}<_jqi@Vh7Y~@>V=l zf?xQ-P;NK5w5a7%sUoxGjRE|XnDruMuc1B}XiA4ly4ZuO z6l_86>iFSfJ>*~4eC*pk1$s{l{#wPqV>VxjF|rBXX#=9(?Cx-4(u-i zro*EVpM%!stw929+n6h^el7{Lk~2h%esGP6$@DWKCu>4cG%{A60B%eJ%g~MYM0Vj0 zS!6W=W#kepi<}6E;OEbGp?JNQ?82wrH)k@+n=M`+-3;>zM7 z#&`dT74FGhsx%yK1D;3rXTZPP?t#*WETeDRz4ATC#_|tj?C+xWH>$jU5y&SgYX6%h zpQqVurkY#x_ubZL!kwYsAw?L7#SquPC*KQ@?RTE5rs~MpB=3C*@Fb}-_q+jpDOli? z49I=Vv*P&Pt25Ddyw&i&f828YBe^bK0KsL!UX}WJPAo4~1pJVRB6Ybgx1hY=2#xnZ zrWck=G7w*|`ZgNZety?_c!Nir$5@O~iVUz97OhwYui4bP-CMRfpUDrQ-XbIjL$GQW z7(3y8;|xM^?S13H4KBO~NmK!d#%1D7uL1jTaZ`D{=@6rTeXlen1Pq6wwsAby%GIiu zZnakXw%nzb)E~R+SnkN6zoE5Z98fb0R9u>QK+m$h8jJ-CC)ht)k`RK5O2Owg_jpc2 ziC{=zwfU6Ei^8FTbQ;D!pSZ1Q`@p-9@UBcGI1ZY+232h@sA}PGDy58q!My59BN}zh zx`fu|O9@eMV8DBgJuv>}WiR zN6oD(M$IiR#`P7laUU$JfSLbSE%JdGFE;%FeUKzyqhe=d7h@`Rtv8;Omi~AS+0jDMr!o=0tYldcz2j467z^zU}6JL#7%2 z-^po`;JDpFiS@=7u&>ZB z|7jwOP?EPRTw|^(L;iZy^oML*_Rp^COo#XP>F1mu**z0_AkU6QwWYgV(MTvxRQl{Z zDojdDTr)SZ{NF-NtmL-?3I%*l$a_%yFp+#NTAoqJie8)}u3CN!HF!1{K7I}v zoJp)*hmHLpR6FhgV|+w4eKdswYlIaOZ^oR6A24gL4R6WL1qB?0nT!f0b>-keCPn<* zc6yJ8+AffR!)cwL;UM~Wb!6f?& zHy{34us);u(lyT!)G9AnM^|u>584Tk!vq?QjIL4(MO1Mm8mk1c?3RqF5<{)u5D?lZ z%#y20=6(dFD;~#8yW2bk>J?~Y_o`z(V+>y33~XtCA|*nY>|?j5N+>MqEUA=8GCe&9{opC}~t zhCj#`pb9p!aXkG^tah%!r?g}mhOFy2Z5G`!2y0jpGYFb_j7c*z2}ZRz_ELI&UVLGz zWC`6u-a(cD&@^HUqVXsvS;WrJEjs38CSa9`jtWCo^=2Er+7rawwW+?@Y2AMpQC`dq zfXMG~`8VW$OGFv}-y&M1B5A9rjP^(7zSYV-ZYG&8HY5n*6i}fDv{^1lqc9cemqb(O z-sz;7hnYK~wY9`JrVs$X+e=~l^%!t8HIm36G$iU&t?e-s%?8^P9nHoF*&{EjxY-(= z#;DX3``7))wL^Ee&nM;&i(5B%lzrkh%Q(pfP{~^5-f;*4VX%ThK-Olroj&Kbix23vg?aAao?aWIAXZNETz5b*s)q?HbJX#hw|= z)G}Kg)IR~eNtaMlL#|466ELU2zr-J%AR3}vhQJgN!Y#O#rlhs|&a3+0A_iSK4x93;(&-Sbdb z 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 Date: Tue, 5 Jun 2018 21:28:47 +0100 Subject: [PATCH 7/7] Return original type instead of nil in original_return_type which is unchanged when there is no #return_value variable --- src/cbmc/symex_coverage.cpp | 2 -- src/goto-programs/remove_returns.cpp | 17 ++++++----------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/cbmc/symex_coverage.cpp b/src/cbmc/symex_coverage.cpp index 0ecd58b1083..ddef86378d9 100644 --- a/src/cbmc/symex_coverage.cpp +++ b/src/cbmc/symex_coverage.cpp @@ -173,8 +173,6 @@ goto_program_coverage_recordt::goto_program_coverage_recordt( code_typet sig_type= original_return_type(ns.get_symbol_table(), gf_it->first); - if(sig_type.is_nil()) - sig_type=gf_it->second.type; xml.set_attribute("signature", from_type(ns, gf_it->first, sig_type)); diff --git a/src/goto-programs/remove_returns.cpp b/src/goto-programs/remove_returns.cpp index 1544114d37f..76f4e77354d 100644 --- a/src/goto-programs/remove_returns.cpp +++ b/src/goto-programs/remove_returns.cpp @@ -290,13 +290,14 @@ void remove_returns(goto_modelt &goto_model) /// \param symbol_table: global symbol table /// \param function_id: function to get the type of /// \return the function's type with its `return_type()` restored to its -/// original value if a \#return_value variable exists, or nil otherwise +/// original value code_typet original_return_type( const symbol_table_baset &symbol_table, const irep_idt &function_id) { - code_typet type; - type.make_nil(); + // look up the function symbol + const symbolt &function_symbol = symbol_table.lookup_ref(function_id); + code_typet type = to_code_type(function_symbol.type); // do we have X#return_value? std::string rv_name=id2string(function_id)+RETURN_VALUE_SUFFIX; @@ -304,14 +305,8 @@ code_typet original_return_type( symbol_tablet::symbolst::const_iterator rv_it= symbol_table.symbols.find(rv_name); - if(rv_it!=symbol_table.symbols.end()) - { - // look up the function symbol - const symbolt &function_symbol=symbol_table.lookup_ref(function_id); - - type=to_code_type(function_symbol.type); - type.return_type()=rv_it->second.type; - } + if(rv_it != symbol_table.symbols.end()) + type.return_type() = rv_it->second.type; return type; }