@@ -32,16 +32,6 @@ numberingt<irep_idt> value_set_fit::function_numbering;
3232
3333static const char *alloc_adapter_prefix=" alloc_adaptor::" ;
3434
35- #define forall_objects (it, map ) \
36- for (object_map_dt::const_iterator it = (map).begin(); \
37- it!=(map).end(); \
38- (it)++)
39-
40- #define Forall_objects (it, map ) \
41- for (object_map_dt::iterator it = (map).begin(); \
42- it!=(map).end(); \
43- (it)++)
44-
4535void value_set_fit::output (
4636 const namespacet &ns,
4737 std::ostream &out) const
@@ -81,7 +71,10 @@ void value_set_fit::output(
8171
8272 std::size_t width=0 ;
8373
84- forall_objects (o_it, object_map.read ())
74+ const auto &entries = object_map.read ();
75+ for (object_map_dt::const_iterator o_it = entries.begin ();
76+ o_it != entries.end ();
77+ ++o_it)
8578 {
8679 const exprt &o=object_numbering[o_it->first ];
8780
@@ -124,7 +117,7 @@ void value_set_fit::output(
124117 object_map_dt::const_iterator next (o_it);
125118 next++;
126119
127- if (next!=object_map. read () .end ())
120+ if (next != entries .end ())
128121 {
129122 out << " , " ;
130123 if (width>=40 )
@@ -168,9 +161,9 @@ void value_set_fit::flatten_rec(
168161
169162 seen.insert (identifier + e.suffix );
170163
171- forall_objects (it, e.object_map .read ())
164+ for ( const auto &object_entry : e.object_map .read ())
172165 {
173- const exprt &o= object_numbering[it-> first ];
166+ const exprt &o = object_numbering[object_entry. first ];
174167
175168 if (o.type ().id ()==" #REF#" )
176169 {
@@ -196,26 +189,26 @@ void value_set_fit::flatten_rec(
196189 t_it!=temp.write ().end ();
197190 t_it++)
198191 {
199- if (t_it->second && it-> second )
192+ if (t_it->second && object_entry. second )
200193 {
201- *t_it->second += *it-> second ;
194+ *t_it->second += *object_entry. second ;
202195 }
203196 else
204197 t_it->second .reset ();
205198 }
206199
207- forall_objects (oit, temp.read ())
208- insert (dest, *oit );
200+ for ( const auto &object_entry : temp.read ())
201+ insert (dest, object_entry );
209202 }
210203 }
211204 else
212- insert (dest, *it );
205+ insert (dest, object_entry );
213206 }
214207
215208 if (generalize_index) // this means we had recursive symbols in there
216209 {
217- Forall_objects (it, dest.write ())
218- it-> second .reset ();
210+ for ( auto &object_entry : dest.write ())
211+ object_entry. second .reset ();
219212 }
220213
221214 seen.erase (identifier + e.suffix );
@@ -284,9 +277,9 @@ bool value_set_fit::make_union(object_mapt &dest, const object_mapt &src) const
284277{
285278 bool result=false ;
286279
287- forall_objects (it, src.read ())
280+ for ( const auto &object_entry : src.read ())
288281 {
289- if (insert (dest, *it ))
282+ if (insert (dest, object_entry ))
290283 result=true ;
291284 }
292285
@@ -301,9 +294,9 @@ value_set_fit::get_value_set(const exprt &expr, const namespacet &ns) const
301294
302295 object_mapt flat_map;
303296
304- forall_objects (it, object_map.read ())
297+ for ( const auto &object_entry : object_map.read ())
305298 {
306- const exprt &object= object_numbering[it-> first ];
299+ const exprt &object = object_numbering[object_entry. first ];
307300 if (object.type ().id ()==" #REF#" )
308301 {
309302 assert (object.id ()==ID_symbol);
@@ -320,9 +313,9 @@ value_set_fit::get_value_set(const exprt &expr, const namespacet &ns) const
320313 t_it!=temp.write ().end ();
321314 t_it++)
322315 {
323- if (t_it->second && it-> second )
316+ if (t_it->second && object_entry. second )
324317 {
325- *t_it->second += *it-> second ;
318+ *t_it->second += *object_entry. second ;
326319 }
327320 else
328321 t_it->second .reset ();
@@ -332,12 +325,12 @@ value_set_fit::get_value_set(const exprt &expr, const namespacet &ns) const
332325 }
333326 }
334327 else
335- flat_map.write ()[it-> first ]=it-> second ;
328+ flat_map.write ()[object_entry. first ] = object_entry. second ;
336329 }
337330
338331 std::vector<exprt> result;
339- forall_objects (fit, flat_map.read ())
340- result.push_back (to_expr (*fit ));
332+ for ( const auto &object_entry : flat_map.read ())
333+ result.push_back (to_expr (object_entry ));
341334
342335#if 0
343336 // Sanity check!
@@ -388,9 +381,16 @@ void value_set_fit::get_value_set_rec(
388381
389382 if (fi!=values.end ())
390383 {
391- forall_objects (it, fi->second .object_map .read ())
392- get_value_set_rec (object_numbering[it->first ], dest, suffix,
393- original_type, ns, recursion_set);
384+ for (const auto &object_entry : fi->second .object_map .read ())
385+ {
386+ get_value_set_rec (
387+ object_numbering[object_entry.first ],
388+ dest,
389+ suffix,
390+ original_type,
391+ ns,
392+ recursion_set);
393+ }
394394 return ;
395395 }
396396 else
@@ -502,9 +502,9 @@ void value_set_fit::get_value_set_rec(
502502
503503 if (object_map.begin ()!=object_map.end ())
504504 {
505- forall_objects (it1, object_map)
505+ for ( const auto &object_entry : object_map)
506506 {
507- const exprt &object= object_numbering[it1-> first ];
507+ const exprt &object = object_numbering[object_entry. first ];
508508 get_value_set_rec (object, dest, suffix,
509509 original_type, ns, recursion_set);
510510 }
@@ -560,9 +560,9 @@ void value_set_fit::get_value_set_rec(
560560 get_value_set_rec (*ptr_operand, pointer_expr_set, " " ,
561561 ptr_operand->type (), ns, recursion_set);
562562
563- forall_objects (it, pointer_expr_set.read ())
563+ for ( const auto &object_entry : pointer_expr_set.read ())
564564 {
565- offsett offset = it-> second ;
565+ offsett offset = object_entry. second ;
566566
567567 if (offset_is_zero (offset) && expr.operands ().size () == 2 )
568568 {
@@ -586,7 +586,7 @@ void value_set_fit::get_value_set_rec(
586586 else
587587 offset.reset ();
588588
589- insert (dest, it-> first , offset);
589+ insert (dest, object_entry. first , offset);
590590 }
591591
592592 return ;
@@ -699,9 +699,9 @@ void value_set_fit::get_reference_set(
699699 object_mapt object_map;
700700 get_reference_set_sharing (expr, object_map, ns);
701701
702- forall_objects (it, object_map.read ())
702+ for ( const auto &object_entry : object_map.read ())
703703 {
704- const exprt &object = object_numbering[it-> first ];
704+ const exprt &object = object_numbering[object_entry. first ];
705705
706706 if (object.type ().id () == " #REF#" )
707707 {
@@ -722,9 +722,9 @@ void value_set_fit::get_reference_set(
722722 t_it!=omt.write ().end ();
723723 t_it++)
724724 {
725- if (t_it->second && it-> second )
725+ if (t_it->second && object_entry. second )
726726 {
727- *t_it->second += *it-> second ;
727+ *t_it->second += *object_entry. second ;
728728 }
729729 else
730730 t_it->second .reset ();
@@ -735,7 +735,7 @@ void value_set_fit::get_reference_set(
735735 }
736736 }
737737 else
738- dest.insert (to_expr (*it ));
738+ dest.insert (to_expr (object_entry ));
739739 }
740740}
741741
@@ -747,8 +747,8 @@ void value_set_fit::get_reference_set_sharing(
747747 object_mapt object_map;
748748 get_reference_set_sharing (expr, object_map, ns);
749749
750- forall_objects (it, object_map.read ())
751- dest.insert (to_expr (*it ));
750+ for ( const auto &object_entry : object_map.read ())
751+ dest.insert (to_expr (object_entry ));
752752}
753753
754754void value_set_fit::get_reference_set_sharing_rec (
@@ -766,8 +766,11 @@ void value_set_fit::get_reference_set_sharing_rec(
766766 valuest::const_iterator fi = values.find (expr.get (ID_identifier));
767767 if (fi!=values.end ())
768768 {
769- forall_objects (it, fi->second .object_map .read ())
770- get_reference_set_sharing_rec (object_numbering[it->first ], dest, ns);
769+ for (const auto &object_entry : fi->second .object_map .read ())
770+ {
771+ get_reference_set_sharing_rec (
772+ object_numbering[object_entry.first ], dest, ns);
773+ }
771774 return ;
772775 }
773776 }
@@ -796,9 +799,9 @@ void value_set_fit::get_reference_set_sharing_rec(
796799 recset);
797800
798801 // REF's need to be dereferenced manually!
799- forall_objects (it, temp.read ())
802+ for ( const auto &object_entry : temp.read ())
800803 {
801- const exprt &obj = object_numbering[it-> first ];
804+ const exprt &obj = object_numbering[object_entry. first ];
802805 if (obj.type ().id ()==" #REF#" )
803806 {
804807 const irep_idt &ident = obj.get (ID_identifier);
@@ -813,22 +816,22 @@ void value_set_fit::get_reference_set_sharing_rec(
813816 t_it!=t2.write ().end ();
814817 t_it++)
815818 {
816- if (t_it->second && it-> second )
819+ if (t_it->second && object_entry. second )
817820 {
818- *t_it->second += *it-> second ;
821+ *t_it->second += *object_entry. second ;
819822 }
820823 else
821824 t_it->second .reset ();
822825 }
823826
824- forall_objects (it2, t2.read ())
825- insert (dest, *it2 );
827+ for ( const auto &t2_object_entry : t2.read ())
828+ insert (dest, t2_object_entry );
826829 }
827830 else
828831 insert (dest, exprt (ID_unknown, obj.type ().subtype ()));
829832 }
830833 else
831- insert (dest, *it );
834+ insert (dest, object_entry );
832835 }
833836
834837 #if 0
@@ -854,9 +857,9 @@ void value_set_fit::get_reference_set_sharing_rec(
854857
855858 const object_map_dt &object_map=array_references.read ();
856859
857- forall_objects (a_it, object_map)
860+ for ( const auto &object_entry : object_map)
858861 {
859- const exprt &object= object_numbering[a_it-> first ];
862+ const exprt &object = object_numbering[object_entry. first ];
860863
861864 if (object.id ()==ID_unknown)
862865 insert (dest, exprt (ID_unknown, expr.type ()));
@@ -873,7 +876,7 @@ void value_set_fit::get_reference_set_sharing_rec(
873876 else
874877 casted_index = index_expr;
875878
876- offsett o = a_it-> second ;
879+ offsett o = object_entry. second ;
877880 const auto i = numeric_cast<mp_integer>(offset);
878881
879882 if (offset.is_zero ())
@@ -899,9 +902,9 @@ void value_set_fit::get_reference_set_sharing_rec(
899902 object_mapt struct_references;
900903 get_reference_set_sharing (struct_op, struct_references, ns);
901904
902- forall_objects (it, struct_references.read ())
905+ for ( const auto &object_entry : struct_references.read ())
903906 {
904- const exprt &object= object_numbering[it-> first ];
907+ const exprt &object = object_numbering[object_entry. first ];
905908 const typet &obj_type = object.type ();
906909
907910 if (object.id ()==ID_unknown)
@@ -917,7 +920,7 @@ void value_set_fit::get_reference_set_sharing_rec(
917920 }
918921 else
919922 {
920- offsett o = it-> second ;
923+ offsett o = object_entry. second ;
921924
922925 member_exprt member_expr (object, component_name, expr.type ());
923926
@@ -1127,10 +1130,13 @@ void value_set_fit::assign_rec(
11271130 {
11281131 recursion_set.insert (ident);
11291132
1130- forall_objects (it, temp.read ())
1131- if (object_numbering[it->first ].id ()!=ID_unknown)
1132- assign_rec (object_numbering[it->first ], values_rhs,
1133- suffix, ns, recursion_set);
1133+ for (const auto &object_entry : temp.read ())
1134+ {
1135+ const exprt &object = object_numbering[object_entry.first ];
1136+
1137+ if (object.id () != ID_unknown)
1138+ assign_rec (object, values_rhs, suffix, ns, recursion_set);
1139+ }
11341140
11351141 recursion_set.erase (ident);
11361142 }
@@ -1172,9 +1178,9 @@ void value_set_fit::assign_rec(
11721178 object_mapt reference_set;
11731179 get_reference_set_sharing (lhs, reference_set, ns);
11741180
1175- forall_objects (it, reference_set.read ())
1181+ for ( const auto &object_entry : reference_set.read ())
11761182 {
1177- const exprt &object= object_numbering[it-> first ];
1183+ const exprt &object = object_numbering[object_entry. first ];
11781184
11791185 if (object.id ()!=ID_unknown)
11801186 assign_rec (object, values_rhs, suffix, ns, recursion_set);
0 commit comments