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.