http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994
--- Comment #25 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-02-01 15:34:37 UTC --- I've changed my mind: given that we shouldn't have references outside the base object in valid programs, there must be an offset if the bitpos is negative, so we can simply add the (rounded) latter to the former. That's what the callers would have to do anyway, so we'd better factor it in get_inner_reference.