diff options
Diffstat (limited to 'gcc/ipa-dfe.h')
-rw-r--r-- | gcc/ipa-dfe.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ipa-dfe.h b/gcc/ipa-dfe.h index f59b7e97dfc..6fc7128c9cf 100644 --- a/gcc/ipa-dfe.h +++ b/gcc/ipa-dfe.h @@ -71,11 +71,17 @@ class type_reconstructor : public type_walker { public: type_reconstructor (record_field_offset_map_t records, const char *suffix) - : _records (records), _suffix (suffix) + : _suffix (suffix) { _reorg_map2 = new reorg_record_map2_t; _reorg_fields2 = new reorg_field_map2_t; modified_map2 = new is_modified_map2_t; + _records2 = new record_field_offset_map2_t; + + for (auto i = records.begin(), e = records.end(); i != e; ++i) + { + _records2->put(i->first, i->second); + } }; ~type_reconstructor() { @@ -84,6 +90,7 @@ public: delete _reorg_map2; delete _reorg_fields2; delete modified_map2; + delete _records2; } /* Whether a type has already been modified. */ @@ -118,7 +125,8 @@ protected: typedef std::stack<field_tuple_list_t> field_tuple_list_stack_t; // Which records can be modified. - record_field_offset_map_t _records; + //record_field_offset_map_t _records; + record_field_offset_map2_t* _records2; // The new suffix const char *_suffix; |