From 3fa352988912a70aeeea7e8cdd79466c287c18f1 Mon Sep 17 00:00:00 2001 From: Marc Glisse Date: Wed, 3 Apr 2013 14:54:50 +0200 Subject: [PATCH] tree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle BIT_FIELD_REF. 2013-04-03 Marc Glisse * tree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle BIT_FIELD_REF. From-SVN: r197409 --- gcc/ChangeLog | 5 +++++ gcc/tree-flow-inline.h | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9120a42c3e..1acdadbcd4f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-04-03 Marc Glisse + + * tree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle + BIT_FIELD_REF. + 2013-04-03 Ulrich Weigand * config/spu/spu.c (emit_nop_for_insn): Handle JUMP_TABLE_DATA. diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h index e3a70bf203e..d5b2185102c 100644 --- a/gcc/tree-flow-inline.h +++ b/gcc/tree-flow-inline.h @@ -1246,7 +1246,13 @@ get_addr_base_and_unit_offset_1 (tree exp, HOST_WIDE_INT *poffset, switch (TREE_CODE (exp)) { case BIT_FIELD_REF: - return NULL_TREE; + { + HOST_WIDE_INT this_off = TREE_INT_CST_LOW (TREE_OPERAND (exp, 2)); + if (this_off % BITS_PER_UNIT) + return NULL_TREE; + byte_offset += this_off / BITS_PER_UNIT; + } + break; case COMPONENT_REF: { -- 2.30.2