summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ipa-dfe.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ipa-dfe.c b/gcc/ipa-dfe.c
index a6945b8e9bc..aa8d26b8cce 100644
--- a/gcc/ipa-dfe.c
+++ b/gcc/ipa-dfe.c
@@ -189,16 +189,25 @@ get_types_replacement (record_field_offset_map4_t &record_field_offset_map2,
type_stringifier stringifier;
type_reconstructor reconstructor (record_field_offset_map2, "reorg", map2, field_map2);
+
+ std::set<tree> temp;
for (hash_set<tree>::iterator i = to_modify.begin (),
e = to_modify.end ();
i != e; ++i)
{
+ temp.insert (*i);
+ }
+
+ for (std::set<tree>::const_iterator i = temp.begin (),
+ e = temp.end ();
+ i != e; ++i)
+ {
tree record = *i;
reconstructor.walk (TYPE_MAIN_VARIANT (record));
}
- for (hash_set<tree>::iterator i = to_modify.begin (),
- e = to_modify.end ();
+ for (std::set<tree>::const_iterator i = temp.begin (),
+ e = temp.end ();
i != e; ++i)
{
tree record = *i;