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.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/ipa-dfe.h b/gcc/ipa-dfe.h
index 548dd59f1c2..f99837b9da2 100644
--- a/gcc/ipa-dfe.h
+++ b/gcc/ipa-dfe.h
@@ -63,6 +63,7 @@ typedef hash_map<tree, tree> reorg_record_map2_t;
/* Map RECORD_TYPE -> (FIELD_DECL -> delete). */
typedef std::map<tree, std::pair<tree, bool> > reorg_field_map_t;
+typedef hash_map<tree, std::pair<tree, bool> > reorg_field_map2_t;
/* Class used to create new types derived from types that have fields
* that can be deleted. */
@@ -73,12 +74,14 @@ public:
: _records (records), _suffix (suffix)
{
_reorg_map2 = new reorg_record_map2_t;
+ _reorg_fields2 = new reorg_field_map2_t;
};
~type_reconstructor()
{
// I think we need this a little bit longer...
// but I don't think there is a copy constructor for this...
delete _reorg_map2;
+ delete _reorg_fields2;
}
/* Whether a type has already been modified. */
@@ -88,7 +91,7 @@ public:
reorg_record_map2_t *get_map2 ();
/* Final result for field map. */
- reorg_field_map_t get_field_map ();
+ reorg_field_map2_t *get_field_map2 ();
/* Map RECORD_TYPE -> is_modified. */
typedef std::map<tree, bool> is_modified_map_t;
@@ -125,7 +128,7 @@ protected:
reorg_record_map2_t *_reorg_map2;
// old FIELD_DECL -> new FIELD_DECL
- reorg_field_map_t _reorg_fields;
+ reorg_field_map2_t *_reorg_fields2;
// old RECORD_TYPE -> is_modified
is_modified_map_t modified_map;