Skip to content

Commit c3729fb

Browse files
authored
Merge pull request #6081 from tautschnig/deprecate-dynamic_size
Deprecate unnecessary dynamic_size pointer predicate
2 parents 648b8e3 + c3bfb1f commit c3729fb

File tree

2 files changed

+9
-21
lines changed

2 files changed

+9
-21
lines changed

src/util/pointer_predicates.cpp

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -91,34 +91,18 @@ exprt good_pointer_def(
9191
const auto size_of_expr_opt = size_of_expr(dereference_type, ns);
9292
CHECK_RETURN(size_of_expr_opt.has_value());
9393

94-
const or_exprt good_dynamic_tmp1(
95-
not_exprt(malloc_object(pointer, ns)),
96-
and_exprt(
97-
not_exprt(dynamic_object_lower_bound(pointer, nil_exprt())),
98-
not_exprt(
99-
dynamic_object_upper_bound(pointer, ns, size_of_expr_opt.value()))));
100-
101-
const and_exprt good_dynamic_tmp2(
102-
not_exprt(deallocated(pointer, ns)), good_dynamic_tmp1);
103-
10494
const or_exprt good_dynamic(
105-
not_exprt(dynamic_object(pointer)), good_dynamic_tmp2);
95+
not_exprt(dynamic_object(pointer)), not_exprt(deallocated(pointer, ns)));
10696

10797
const not_exprt not_null(null_pointer(pointer));
10898

10999
const not_exprt not_invalid{is_invalid_pointer_exprt{pointer}};
110100

111-
const or_exprt bad_other(
112-
object_lower_bound(pointer, nil_exprt()),
113-
object_upper_bound(pointer, size_of_expr_opt.value()));
114-
115-
const or_exprt good_other(dynamic_object(pointer), not_exprt(bad_other));
101+
const and_exprt good_bounds{
102+
not_exprt{object_lower_bound(pointer, nil_exprt())},
103+
not_exprt{object_upper_bound(pointer, size_of_expr_opt.value())}};
116104

117-
return and_exprt(
118-
not_null,
119-
not_invalid,
120-
good_dynamic,
121-
good_other);
105+
return and_exprt(not_null, not_invalid, good_dynamic, good_bounds);
122106
}
123107

124108
exprt null_object(const exprt &pointer)

src/util/pointer_predicates.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@ Author: Daniel Kroening, kroening@kroening.com
1212
#ifndef CPROVER_UTIL_POINTER_PREDICATES_H
1313
#define CPROVER_UTIL_POINTER_PREDICATES_H
1414

15+
#include "deprecate.h"
1516
#include "std_expr.h"
1617

1718
#define SYMEX_DYNAMIC_PREFIX "symex_dynamic::"
1819

1920
exprt same_object(const exprt &p1, const exprt &p2);
2021
exprt deallocated(const exprt &pointer, const namespacet &);
2122
exprt dead_object(const exprt &pointer, const namespacet &);
23+
DEPRECATED(SINCE(2021, 5, 6, "Use object_size instead"))
2224
exprt dynamic_size(const namespacet &);
2325
exprt pointer_offset(const exprt &pointer);
2426
exprt pointer_object(const exprt &pointer);
@@ -30,9 +32,11 @@ exprt good_pointer_def(const exprt &pointer, const namespacet &);
3032
exprt null_object(const exprt &pointer);
3133
exprt null_pointer(const exprt &pointer);
3234
exprt integer_address(const exprt &pointer);
35+
DEPRECATED(SINCE(2021, 5, 6, "Use object_lower_bound instead"))
3336
exprt dynamic_object_lower_bound(
3437
const exprt &pointer,
3538
const exprt &offset);
39+
DEPRECATED(SINCE(2021, 5, 6, "Use object_upper_bound instead"))
3640
exprt dynamic_object_upper_bound(
3741
const exprt &pointer,
3842
const namespacet &,

0 commit comments

Comments
 (0)