Commit 066fc751 by Marek Polacek Committed by Marek Polacek

re PR middle-end/83463 (ICE: tree check: expected integer_type or enumeral_type…

re PR middle-end/83463 (ICE: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have pointer_type in builtin_memr ef, at gimple-ssa-warn-restrict.c:297)

	PR middle-end/83463
	* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref):
	Check if TYPE is INTEGRAL_TYPE_P before accessing its min/max
	values.

	* gcc.dg/pr83463.c: New test.

From-SVN: r255781
parent 02c7dd78
2017-12-18 Marek Polacek <polacek@redhat.com>
PR middle-end/83463
* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref):
Check if TYPE is INTEGRAL_TYPE_P before accessing its min/max
values.
2017-12-18 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.md (maddsidi4, maddsidi4_split): Update pattern.
......@@ -287,13 +287,15 @@ builtin_memref::builtin_memref (tree expr, tree size)
else
{
gimple *stmt = SSA_NAME_DEF_STMT (offset);
tree type;
if (is_gimple_assign (stmt)
&& gimple_assign_rhs_code (stmt) == NOP_EXPR)
&& gimple_assign_rhs_code (stmt) == NOP_EXPR
&& (type = TREE_TYPE (gimple_assign_rhs1 (stmt)))
&& INTEGRAL_TYPE_P (type))
{
/* Use the bounds of the type of the NOP_EXPR operand
even if it's signed. The result doesn't trigger
warnings but makes their output more readable. */
tree type = TREE_TYPE (gimple_assign_rhs1 (stmt));
offrange[0] = wi::to_offset (TYPE_MIN_VALUE (type));
offrange[1] = wi::to_offset (TYPE_MAX_VALUE (type));
}
......
2017-12-18 Marek Polacek <polacek@redhat.com>
PR middle-end/83463
* gcc.dg/pr83463.c: New test.
2017-12-18 Nathan Sidwell <nathan@acm.org>
PR c++/59930
......
/* PR middle-end/83463 */
/* { dg-do compile } */
/* { dg-options "-O2 -Wrestrict" } */
int *a;
void *memcpy ();
void
m (void *p1)
{
memcpy (0, p1, 0);
}
void
p ()
{
m (p + (long) a);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment