[I'm going to respond to this piece-meal, to make sure I don't drop anything. My apologies for the long thread, but I'm pretty sure it's in everybody's kill file by now.]

+  /* Be as conservative as possible on variable offsets.  */
+  if (TREE_OPERAND (exp, 2)
+&&  !host_integerp (TREE_OPERAND (exp, 2), 1))
+    {
+      *byte_offset = TREE_OPERAND (exp, 2);
+      *maxbits = BITS_PER_UNIT;
+      return;
+    }

shouldn't this be at the very beginning of the function?  Because
you've set *bit_offset to an offset that was _not_ calculated relative

Sure.  I assume in this case, *bit_offset would be 0, right?

Reply via email to