Commit c54af068 by Jakub Jelinek Committed by Jakub Jelinek

re PR debug/83666 (ICE: SIGFPE with -O2 -g --param=sccvn-max-scc-size=10)

	PR debug/83666
	* cfgexpand.c (expand_dbeug_expr) <case BIT_FIELD_REF>: Punt if mode
	is BLKmode and bitpos not zero or mode change is needed.

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

From-SVN: r256232
parent 32489ab5
2018-01-04 Jakub Jelinek <jakub@redhat.com>
PR debug/83666
* cfgexpand.c (expand_dbeug_expr) <case BIT_FIELD_REF>: Punt if mode
is BLKmode and bitpos not zero or mode change is needed.
2018-01-04 Richard Sandiford <richard.sandiford@linaro.org>
PR target/83675
......
......@@ -4560,7 +4560,7 @@ expand_debug_expr (tree exp)
if (maybe_lt (bitpos, 0))
return NULL;
if (GET_MODE (op0) == BLKmode)
if (GET_MODE (op0) == BLKmode || mode == BLKmode)
return NULL;
poly_int64 bytepos;
......
2018-01-04 Jakub Jelinek <jakub@redhat.com>
PR debug/83666
* gcc.dg/pr83666.c: New test.
2018-01-04 Uros Bizjak <ubizjak@gmail.com>
PR target/83628
......
/* PR debug/83666 */
/* { dg-do compile } */
/* { dg-options "-O2 -g --param=sccvn-max-scc-size=10 -Wno-psabi" } */
typedef int __attribute__ ((vector_size (64))) V;
int c, d;
short e;
V g;
V
bar (void)
{
g[1] = d;
do
{
e += c;
g = g > 0;
}
while (g[1]);
return g;
}
void
foo (void)
{
int x = bar ()[3];
}
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