+2014-11-20 Andrew Pinski <apinski@cavium.com>
+
+ PR ipa/63981
+ * ipa-polymorphic-call.c (possible_placement_new):
+ Use POINTER_SIZE instead of GET_MODE_BITSIZE (Pmode).
+ (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
+ (extr_type_from_vtbl_ptr_store): Likewise.
+
2014-11-20 Markus Trippelsdorf <markus@trippelsdorf.de>
* config/rs6000/constraints.md: Avoid signed integer overflows.
|| !tree_fits_shwi_p (TYPE_SIZE (type))
|| (cur_offset
+ (expected_type ? tree_to_uhwi (TYPE_SIZE (expected_type))
- : GET_MODE_BITSIZE (Pmode))
+ : POINTER_SIZE)
<= tree_to_uhwi (TYPE_SIZE (type)))));
}
HOST_WIDE_INT cur_offset = offset;
bool speculative = false;
bool size_unknown = false;
- unsigned HOST_WIDE_INT otr_type_size = GET_MODE_BITSIZE (Pmode);
+ unsigned HOST_WIDE_INT otr_type_size = POINTER_SIZE;
/* Update OUTER_TYPE to match EXPECTED_TYPE if it is not set. */
if (!outer_type)
if (pos <= (unsigned HOST_WIDE_INT)cur_offset
&& (pos + size) >= (unsigned HOST_WIDE_INT)cur_offset
- + GET_MODE_BITSIZE (Pmode)
+ + POINTER_SIZE
&& (!otr_type
|| !TYPE_SIZE (TREE_TYPE (fld))
|| !tree_fits_shwi_p (TYPE_SIZE (TREE_TYPE (fld)))
print_generic_expr (dump_file, tci->instance, TDF_SLIM);
fprintf (dump_file, " with offset %i\n", (int)tci->offset);
}
- return tci->offset > GET_MODE_BITSIZE (Pmode) ? error_mark_node : NULL_TREE;
+ return tci->offset > POINTER_SIZE ? error_mark_node : NULL_TREE;
}
if (offset != tci->offset
|| size != POINTER_SIZE
if (dump_file)
fprintf (dump_file, " wrong offset %i!=%i or size %i\n",
(int)offset, (int)tci->offset, (int)size);
- return offset + GET_MODE_BITSIZE (Pmode) <= tci->offset
+ return offset + POINTER_SIZE <= tci->offset
|| (max_size != -1
- && tci->offset + GET_MODE_BITSIZE (Pmode) > offset + max_size)
+ && tci->offset + POINTER_SIZE > offset + max_size)
? error_mark_node : NULL;
}
}