Skip to content

Commit d099f9b

Browse files
author
Daniel Kroening
authored
Merge pull request #1284 from diffblue/pointer-width-fixup
Pointer width fixup
2 parents 2ae3449 + 7231685 commit d099f9b

File tree

6 files changed

+22
-18
lines changed

6 files changed

+22
-18
lines changed

src/goto-programs/builtin_functions.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,7 @@ void goto_convertt::do_java_new_array(
700700
if(given_element_type.is_not_nil())
701701
{
702702
allocate_data_type=
703-
pointer_typet(static_cast<const typet &>(given_element_type));
703+
pointer_type(static_cast<const typet &>(given_element_type));
704704
}
705705
else
706706
allocate_data_type=data.type();

src/goto-programs/remove_exceptions.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ void remove_exceptionst::add_exceptional_returns(
218218

219219
// initialize the exceptional return with NULL
220220
symbol_exprt lhs_expr_null=new_symbol.symbol_expr();
221-
null_pointer_exprt rhs_expr_null((pointer_typet(empty_typet())));
221+
null_pointer_exprt rhs_expr_null(pointer_type(empty_typet()));
222222
goto_programt::targett t_null=
223223
goto_program.insert_before(goto_program.instructions.begin());
224224
t_null->make_assignment();

src/java_bytecode/java_bytecode_convert_class.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -311,12 +311,12 @@ void java_bytecode_convert_classt::add_array_types(symbol_tablet &symbol_table)
311311
id2string(symbol_type.get_identifier())+".clone:()Ljava/lang/Object;";
312312
code_typet clone_type;
313313
clone_type.return_type()=
314-
pointer_typet(symbol_typet("java::java.lang.Object"));
314+
java_reference_type(symbol_typet("java::java.lang.Object"));
315315
code_typet::parametert this_param;
316316
this_param.set_identifier(id2string(clone_name)+"::this");
317317
this_param.set_base_name("this");
318318
this_param.set_this();
319-
this_param.type()=pointer_typet(symbol_type);
319+
this_param.type()=java_reference_type(symbol_type);
320320
clone_type.parameters().push_back(this_param);
321321

322322
parameter_symbolt this_symbol;
@@ -333,7 +333,7 @@ void java_bytecode_convert_classt::add_array_types(symbol_tablet &symbol_table)
333333
local_symbol.name=local_name;
334334
local_symbol.base_name="cloned_array";
335335
local_symbol.pretty_name=local_symbol.base_name;
336-
local_symbol.type=pointer_typet(symbol_type);
336+
local_symbol.type=java_reference_type(symbol_type);
337337
local_symbol.mode=ID_java;
338338
symbol_table.add(local_symbol);
339339
const auto &local_symexpr=local_symbol.symbol_expr();
@@ -345,7 +345,7 @@ void java_bytecode_convert_classt::add_array_types(symbol_tablet &symbol_table)
345345

346346
side_effect_exprt java_new_array(
347347
ID_java_new_array,
348-
pointer_typet(symbol_type));
348+
java_reference_type(symbol_type));
349349
dereference_exprt old_array(this_symbol.symbol_expr(), symbol_type);
350350
dereference_exprt new_array(local_symexpr, symbol_type);
351351
member_exprt old_length(old_array, comp1.get_name(), comp1.type());

src/java_bytecode/java_bytecode_convert_method.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,7 +1252,7 @@ codet java_bytecode_convert_methodt::convert_instructions(
12521252
symbol_exprt catch_var=
12531253
tmp_variable(
12541254
"caught_exception",
1255-
pointer_typet(catch_type));
1255+
java_reference_type(catch_type));
12561256
stack.push_back(catch_var);
12571257
code_landingpadt catch_statement(catch_var);
12581258
catch_instruction=catch_statement;
@@ -1673,7 +1673,7 @@ codet java_bytecode_convert_methodt::convert_instructions(
16731673
from_integer(
16741674
std::next(i_it)->address,
16751675
unsignedbv_typet(64));
1676-
results[0].type()=pointer_typet(void_typet(), 64);
1676+
results[0].type()=pointer_type(void_typet());
16771677
}
16781678
else if(statement=="ret")
16791679
{
@@ -1698,7 +1698,7 @@ codet java_bytecode_convert_methodt::convert_instructions(
16981698
from_integer(
16991699
jsr_ret_targets[idx],
17001700
unsignedbv_typet(64));
1701-
address_ptr.type()=pointer_typet(void_typet(), 64);
1701+
address_ptr.type()=pointer_type(void_typet());
17021702
branch.cond()=equal_exprt(retvar, address_ptr);
17031703
branch.cond().add_source_location()=i_it->source_location;
17041704
branch.then_case()=g;

src/java_bytecode/java_bytecode_instrument.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Date: June 2017
1313
#include <util/std_code.h>
1414
#include <util/std_expr.h>
1515
#include <util/symbol_table.h>
16+
#include <util/c_types.h>
1617

1718
#include <goto-programs/goto_functions.h>
1819

@@ -221,8 +222,7 @@ codet java_bytecode_instrumentt::check_class_cast(
221222
binary_predicate_exprt class_cast_check(
222223
class1, ID_java_instanceof, class2);
223224

224-
empty_typet voidt;
225-
pointer_typet voidptr(voidt);
225+
pointer_typet voidptr=pointer_type(empty_typet());
226226
exprt null_check_op=class1;
227227
if(null_check_op.type()!=voidptr)
228228
null_check_op.make_typecast(voidptr);

src/java_bytecode/java_string_library_preprocess.cpp

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ Date: April 2017
2222
#include <util/fresh_symbol.h>
2323
#include <util/refined_string_type.h>
2424
#include <util/string_expr.h>
25+
#include <util/c_types.h>
26+
2527
#include "java_types.h"
2628
#include "java_object_factory.h"
2729
#include "java_utils.h"
@@ -1168,7 +1170,7 @@ codet java_string_library_preprocesst::make_string_to_char_array_code(
11681170

11691171
// data = new char[]
11701172
exprt data=allocate_fresh_array(
1171-
pointer_typet(string_expr.content().type()), loc, symbol_table, code);
1173+
java_reference_type(string_expr.content().type()), loc, symbol_table, code);
11721174

11731175
// *data = string_expr.content
11741176
dereference_exprt deref_data(data, data.type().subtype());
@@ -1280,7 +1282,7 @@ exprt java_string_library_preprocesst::get_primitive_value_of_object(
12801282
struct_type.get_component("value");
12811283
if(!value_comp.is_nil())
12821284
{
1283-
pointer_typet pointer_type(struct_type);
1285+
pointer_typet pointer_type=::pointer_type(struct_type);
12841286
dereference_exprt deref(
12851287
typecast_exprt(object, pointer_type), pointer_type.subtype());
12861288
member_exprt deref_value(deref, value_comp.get_name(), value_comp.type());
@@ -1308,7 +1310,7 @@ exprt java_string_library_preprocesst::get_object_at_index(
13081310
int index)
13091311
{
13101312
dereference_exprt deref_objs(argv, argv.type().subtype());
1311-
pointer_typet empty_pointer((empty_typet()));
1313+
pointer_typet empty_pointer=pointer_type(empty_typet());
13121314
pointer_typet pointer_of_pointer;
13131315
pointer_of_pointer.copy_to_subtypes(empty_pointer);
13141316
member_exprt data_member(deref_objs, "data", pointer_of_pointer);
@@ -1409,7 +1411,8 @@ exprt java_string_library_preprocesst::make_argument_for_format(
14091411

14101412
if(name=="string_expr")
14111413
{
1412-
pointer_typet string_pointer(symbol_typet("java::java.lang.String"));
1414+
pointer_typet string_pointer=
1415+
java_reference_type(symbol_typet("java::java.lang.String"));
14131416
typecast_exprt arg_i_as_string(arg_i, string_pointer);
14141417
code_not_null.add(code_assign_java_string_to_string_expr(
14151418
to_string_expr(field_expr), arg_i_as_string, symbol_table));
@@ -1515,7 +1518,8 @@ codet java_string_library_preprocesst::make_object_get_class_code(
15151518
code_blockt code;
15161519

15171520
// > Class class1;
1518-
pointer_typet class_type(symbol_table.lookup("java::java.lang.Class").type);
1521+
pointer_typet class_type=
1522+
java_reference_type(symbol_table.lookup("java::java.lang.Class").type);
15191523
symbolt class1_sym=get_fresh_aux_symbol(
15201524
class_type, "class_symbol", "class_symbol", loc, ID_java, symbol_table);
15211525
symbol_exprt class1=class1_sym.symbol_expr();
@@ -1551,8 +1555,8 @@ codet java_string_library_preprocesst::make_object_get_class_code(
15511555
code.add(code_assignt(string_expr_sym1, string_expr1));
15521556

15531557
// string1 = (String*) string_expr
1554-
pointer_typet string_ptr_type(
1555-
symbol_table.lookup("java::java.lang.String").type);
1558+
pointer_typet string_ptr_type=
1559+
java_reference_type(symbol_table.lookup("java::java.lang.String").type);
15561560
exprt string1=allocate_fresh_string(string_ptr_type, loc, symbol_table, code);
15571561
code.add(
15581562
code_assign_string_expr_to_new_java_string(

0 commit comments

Comments
 (0)