diff options
-rw-r--r-- | gcc/ipa-dfe.c | 13 |
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; |