Skip to content

Commit f1b9f42

Browse files
authored
Merge pull request #3338 from tautschnig/vs-index_expr
Avoid shadowing index_expr and fix type cast [blocks: #2310]
2 parents 419852f + 760a3ae commit f1b9f42

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

src/pointer-analysis/value_set.cpp

+4-8
Original file line numberDiff line numberDiff line change
@@ -1057,13 +1057,9 @@ void value_sett::get_reference_set_rec(
10571057
insert(dest, exprt(ID_unknown, expr.type()));
10581058
else
10591059
{
1060-
index_exprt index_expr(expr.type());
1061-
index_expr.array()=object;
1062-
index_expr.index()=from_integer(0, index_type());
1063-
1064-
// adjust type?
1065-
if(ns.follow(object.type())!=array_type)
1066-
index_expr.make_typecast(array.type());
1060+
const index_exprt deref_index_expr(
1061+
typecast_exprt::conditional_cast(object, array_type),
1062+
from_integer(0, index_type()));
10671063

10681064
offsett o = a_it->second;
10691065
mp_integer i;
@@ -1083,7 +1079,7 @@ void value_sett::get_reference_set_rec(
10831079
else
10841080
o.reset();
10851081

1086-
insert(dest, index_expr, o);
1082+
insert(dest, deref_index_expr, o);
10871083
}
10881084
}
10891085

0 commit comments

Comments
 (0)