Skip to content

Commit b905c4f

Browse files
author
Remi Delmas
committed
Restore named_sub map entries ordering when reading a goto binary.
Use irept::named_subt::add instead of irept::named_subt::emplace_after to make sure that entries are sorted by increasing key order.
1 parent fbd2b88 commit b905c4f

File tree

1 file changed

+2
-7
lines changed

1 file changed

+2
-7
lines changed

src/util/irep_serialization.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,12 @@ irept irep_serializationt::read_irep(std::istream &in)
7575
sub.push_back(reference_convert(in));
7676
}
7777

78-
#if NAMED_SUB_IS_FORWARD_LIST
79-
irept::named_subt::iterator before = named_sub.before_begin();
80-
#endif
8178
while(in.peek()=='N')
8279
{
8380
in.get();
8481
irep_idt id = read_string_ref(in);
8582
#if NAMED_SUB_IS_FORWARD_LIST
86-
named_sub.emplace_after(before, id, reference_convert(in));
87-
++before;
83+
named_sub.add(id, reference_convert(in));
8884
#else
8985
named_sub.emplace(id, reference_convert(in));
9086
#endif
@@ -95,8 +91,7 @@ irept irep_serializationt::read_irep(std::istream &in)
9591
in.get();
9692
irep_idt id = read_string_ref(in);
9793
#if NAMED_SUB_IS_FORWARD_LIST
98-
named_sub.emplace_after(before, id, reference_convert(in));
99-
++before;
94+
named_sub.add(id, reference_convert(in));
10095
#else
10196
named_sub.emplace(id, reference_convert(in));
10297
#endif

0 commit comments

Comments
 (0)