diff options
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 6149ff551f9..b693ddd178d 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -2933,6 +2933,12 @@ bitfield_overlaps_p (tree blen, tree bpos, struct sra_elt *fld, else gcc_unreachable (); + if (CONTAINS_PLACEHOLDER_P (flen)) + flen = size_binop (MULT_EXPR, + fold_convert (bitsizetype, + lang_hooks.types.max_size (fld->type)), + bitsize_unit_node); + gcc_assert (host_integerp (blen, 1) && host_integerp (bpos, 1) && host_integerp (flen, 1) |