@@ -621,19 +621,16 @@ code_blockt recursive_initializationt::build_pointer_constructor(
621
621
const typet &type = result.type ().subtype ();
622
622
PRECONDITION (type.id () == ID_pointer);
623
623
624
- code_blockt body{};
624
+ null_pointer_exprt nullptr_expr{pointer_type (type.subtype ())};
625
+ const code_assignt assign_null{dereference_exprt{result}, nullptr_expr};
625
626
626
627
// always initalize void* pointers as NULL
627
628
if (type.subtype ().id () == ID_empty)
628
629
{
629
- null_pointer_exprt nullptr_expr{pointer_type (type.subtype ())};
630
- code_blockt null_and_return{};
631
- code_assignt assign_null{dereference_exprt{result}, nullptr_expr};
632
- null_and_return.add (assign_null);
633
- null_and_return.add (code_returnt{});
634
- return null_and_return;
630
+ return code_blockt{{assign_null, code_returnt{}}};
635
631
}
636
632
633
+ code_blockt body{};
637
634
// build:
638
635
// void type_constructor_ptr_T(int depth, T** result)
639
636
// {
@@ -666,11 +663,7 @@ code_blockt recursive_initializationt::build_pointer_constructor(
666
663
should_not_recurse.push_back (has_seen_expr);
667
664
}
668
665
669
- null_pointer_exprt nullptr_expr{pointer_type (type.subtype ())};
670
- code_blockt null_and_return{};
671
- code_assignt assign_null{dereference_exprt{result}, nullptr_expr};
672
- null_and_return.add (assign_null);
673
- null_and_return.add (code_returnt{});
666
+ code_blockt null_and_return{{assign_null, code_returnt{}}};
674
667
body.add (code_ifthenelset{conjunction (should_not_recurse), null_and_return});
675
668
676
669
exprt::operandst should_recurse_ops{
0 commit comments