diff options
Diffstat (limited to 'gcc/type-reconstructor.c')
-rw-r--r-- | gcc/type-reconstructor.c | 3 |
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); } |