===================================================================
@@ -4179,18 +4179,10 @@ get_bit_range (unsigned HOST_WIDE_INT *b
prev_field_is_bitfield = true;
for (fld = TYPE_FIELDS (record_type); fld; fld = DECL_CHAIN (fld))
{
- tree t, offset;
- enum machine_mode mode;
- int unsignedp, volatilep;
-
if (TREE_CODE (fld) != FIELD_DECL)
continue;
- t = build3 (COMPONENT_REF, TREE_TYPE (exp),
- unshare_expr (TREE_OPERAND (exp, 0)),
- fld, NULL_TREE);
- get_inner_reference (t, &bitsize, &bitpos, &offset,
- &mode, &unsignedp, &volatilep, true);
+ bitpos = TREE_INT_CST_LOW (DECL_FIELD_BIT_OFFSET (fld));
if (field == fld)
found_field = true;