summaryrefslogtreecommitdiff
path: root/gcc/type-reconstructor.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/type-reconstructor.c')
-rw-r--r--gcc/type-reconstructor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/type-reconstructor.c b/gcc/type-reconstructor.c
index 8feb1d42d5f..aeb98e95ee1 100644
--- a/gcc/type-reconstructor.c
+++ b/gcc/type-reconstructor.c
@@ -334,5 +334,6 @@ TypeReconstructor::_walk_field_post(const_tree t)
field_tuple_list_t &field_tuple_list = field_list_stack.top();
field_tuple_list.push_back(tuple);
const bool already_has_field = _reorg_fields.find(t) != _reorg_fields.end();
- _reorg_fields[t] = already_has_field ? _reorg_fields[t] : copy;
+ if (already_has_field) return;
+ _reorg_fields[t] = std::make_pair(copy, can_field_be_deleted);
}