summaryrefslogtreecommitdiff
path: root/gcc/ipa-dfe.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ipa-dfe.h')
-rw-r--r--gcc/ipa-dfe.h12
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;