blob: f0a02f26ae4b550af7d94d19c10345ab535ad338 [file] [log] [blame]
/* 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);
}