expr.c (get_inner_reference): Fix thinko in REAL/IMAGPART_EXPR offsetting.
authorRichard Henderson <rth@redhat.com>
Wed, 1 Dec 2004 20:33:50 +0000 (12:33 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 1 Dec 2004 20:33:50 +0000 (12:33 -0800)
        * expr.c (get_inner_reference): Fix thinko in REAL/IMAGPART_EXPR
        offsetting.

From-SVN: r91577

gcc/ChangeLog
gcc/expr.c

index dd853a66212d56d34c7339058eb1714865cf1edd..0428c68b51b61e1a18b95fed157f54030edf1cdf 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-01  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (get_inner_reference): Fix thinko in REAL/IMAGPART_EXPR
+       offsetting.
+
 2004-12-01  Diego Novillo  <dnovillo@redhat.com>
 
        PR tree-optimization/18291
index f02da24cd612516c02f9c0fbe560d9136a86ba08..4616f2190dc0f7dfc90beeed2a7b7654d43aed68 100644 (file)
@@ -5429,11 +5429,11 @@ get_inner_reference (tree exp, HOST_WIDE_INT *pbitsize,
          break;
 
        case REALPART_EXPR:
-         bit_offset = bitsize_zero_node;
          break;
 
        case IMAGPART_EXPR:
-         bit_offset = build_int_cst (bitsizetype, *pbitsize);
+         bit_offset = size_binop (PLUS_EXPR, bit_offset,
+                                  bitsize_int (*pbitsize));
          break;
 
        /* We can go inside most conversions: all NON_VALUE_EXPRs, all normal