https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108522

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Ah, actually
      off = size_binop (PLUS_EXPR, DECL_FIELD_OFFSET (t),
                        size_int (tree_to_uhwi (DECL_FIELD_BIT_OFFSET (t))
                                  / BITS_PER_UNIT));
So:
-      off = size_binop (PLUS_EXPR, DECL_FIELD_OFFSET (t),
+      off = size_binop (PLUS_EXPR, TREE_OPERAND (expr, 2)
+                                   ? TREE_OPERAND (expr, 2) :
DECL_FIELD_OFFSET (t),
                         size_int (tree_to_uhwi (DECL_FIELD_BIT_OFFSET (t))
                                   / BITS_PER_UNIT));
or so.

Reply via email to