summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/romcc/romcc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/util/romcc/romcc.c b/util/romcc/romcc.c
index 285b0237f4..d60a9a7f83 100644
--- a/util/romcc/romcc.c
+++ b/util/romcc/romcc.c
@@ -12601,7 +12601,9 @@ static struct type *struct_declarator(
}
type = new_type(TYPE_BITFIELD, type, 0);
type->elements = value->u.cval;
- }
+ } else
+ type = clone_type(0, type);
+
return type;
}
@@ -12656,7 +12658,6 @@ static struct type *struct_or_union_specifier(
done = 0;
eat(state, TOK_COMMA);
}
- type = clone_type(0, type);
type->field_ident = fident;
if (*next) {
*next = new_type(type_join, *next, type);