On Jan 9, 2014, at 7:20 AM, Richard Biener <[email protected]> wrote:
> @@ -968,7 +968,7 @@ get_polymorphic_call_info (tree fndecl,
> {
> base_pointer = TREE_OPERAND (base, 0);
> context->offset
> - += offset2 + mem_ref_offset (base).low * BITS_PER_UNIT;
> + += offset2 + mem_ref_offset (base).ulow () *
> BITS_PER_UNIT;
> context->outer_type = NULL;
> }
> /* We found base object. In this case the outer_type
Fixed, thanks for the catch. This is what I checked in:
Index: ipa-devirt.c
===================================================================
--- ipa-devirt.c (revision 206599)
+++ ipa-devirt.c (working copy)
@@ -1023,7 +1023,7 @@ get_polymorphic_call_info (tree fndecl,
{
base_pointer = TREE_OPERAND (base, 0);
context->offset
- += offset2 + mem_ref_offset (base).ulow () * BITS_PER_UNIT;
+ += offset2 + mem_ref_offset (base).to_short_addr () *
BITS_PER_UNIT;
context->outer_type = NULL;
}
/* We found base object. In this case the outer_type