Skip to content

Commit a924423

Browse files
committed
Replace iterator-typed parameter by mapped type to enable ranged-for
Future cleanup will replace iterator-based loops by ranged-for. To prepare for this, adjust the interface of get_ranges. As a side benefit, this avoids the risk of passing an invalid iterator.
1 parent 30b4af8 commit a924423

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

src/analyses/dependence_graph.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ void dep_graph_domaint::data_dependencies(
163163

164164
forall_rw_range_set_r_objects(it, rw_set)
165165
{
166-
const range_domaint &r_ranges=rw_set.get_ranges(it);
166+
const range_domaint &r_ranges = rw_set.get_ranges(it->second);
167167
const rd_range_domaint::ranges_at_loct &w_ranges=
168168
dep_graph.reaching_definitions()[to].get(it->first);
169169

src/analyses/goto_rw.h

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,11 @@ class rw_range_sett
136136
return w_range_set;
137137
}
138138

139-
const range_domaint &get_ranges(objectst::const_iterator it) const
139+
const range_domaint &
140+
get_ranges(const std::unique_ptr<range_domain_baset> &ranges) const
140141
{
141-
PRECONDITION(dynamic_cast<range_domaint*>(it->second.get())!=nullptr);
142-
return static_cast<const range_domaint &>(*it->second);
142+
PRECONDITION(dynamic_cast<range_domaint *>(ranges.get()) != nullptr);
143+
return static_cast<const range_domaint &>(*ranges);
143144
}
144145

145146
enum class get_modet { LHS_W, READ };
@@ -360,11 +361,12 @@ class rw_guarded_range_set_value_sett:public rw_range_set_value_sett
360361
{
361362
}
362363

363-
const guarded_range_domaint &get_ranges(objectst::const_iterator it) const
364+
const guarded_range_domaint &
365+
get_ranges(const std::unique_ptr<range_domain_baset> &ranges) const
364366
{
365367
PRECONDITION(
366-
dynamic_cast<guarded_range_domaint*>(it->second.get())!=nullptr);
367-
return static_cast<const guarded_range_domaint &>(*it->second);
368+
dynamic_cast<guarded_range_domaint *>(ranges.get()) != nullptr);
369+
return static_cast<const guarded_range_domaint &>(*ranges);
368370
}
369371

370372
void get_objects_rec(

src/analyses/reaching_definitions.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ void rd_range_domaint::transform(
148148
continue;
149149
assert(symbol_ptr!=0);
150150

151-
const range_domaint &ranges=rw_set.get_ranges(it);
151+
const range_domaint &ranges = rw_set.get_ranges(it->second);
152152

153153
if(is_must_alias &&
154154
(!rd->get_is_threaded()(from) ||
@@ -357,7 +357,7 @@ void rd_range_domaint::transform_assign(
357357
nullptr_exceptiont,
358358
"Symbol is in symbol table");
359359

360-
const range_domaint &ranges=rw_set.get_ranges(it);
360+
const range_domaint &ranges = rw_set.get_ranges(it->second);
361361

362362
if(is_must_alias &&
363363
(!rd.get_is_threaded()(from) ||

0 commit comments

Comments
 (0)