re PR rtl-optimization/63804 (ice in find_oldest_value_reg with -g -O2)

PR rtl-optimization/63804
	* gcc.dg/pr63804.c: New test.

From-SVN: r218758
This commit is contained in:
Jakub Jelinek 2014-12-15 19:40:35 +01:00 committed by Jakub Jelinek
parent d5e2274d79
commit c05816d64f
2 changed files with 57 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2014-12-15 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/63804
* gcc.dg/pr63804.c: New test.
2014-12-15 Steven Bosscher <steven@gcc.gnu.org>
Jakub Jelinek <jakub@redhat.com>

View File

@ -0,0 +1,52 @@
/* PR rtl-optimization/63804 */
/* { dg-do compile } */
/* { dg-options "-O2 -g" } */
struct A { int gen; } e;
int a, d;
long b;
enum B { C };
struct D
{
enum B type : 1;
int nr : 1;
struct { unsigned ud; } dw1;
};
enum B c;
void
fn1 (int p1)
{
b = p1 & a;
}
int fn2 ();
void fn3 ();
void
fn4 (struct D p1, unsigned p2, int p3)
{
struct D f, g, h, j = p1, l, m = l;
struct A i = e;
if (i.gen)
p2 = 0;
j.type = c;
g = j;
p1 = g;
fn3 ();
int k = p2, v = p1.nr, p = v;
m.dw1.ud = k;
f = m;
h = f;
struct D n = h;
fn3 (n);
{
d = fn2 ();
int o = d;
fn1 (o);
}
if (i.gen)
fn3 (p1);
b = p & a;
fn3 (p3);
}