blob: a3e57decda862bcb20b261f910fdbedd328df8ae [file] [log] [blame]
/* { dg-do run } */
/* { dg-options "-g -fno-ipa-icf" } */
volatile int v;
int __attribute__((noipa))
get_val0 (void) {return 0;}
int __attribute__((noipa))
get_val2 (void) {return 2;}
struct S
{
int a, b, c;
};
static int __attribute__((noinline))
bar (struct S s, int x, int y, int z, int i)
{
int r;
v = s.a + s.b; /* { dg-final { gdb-test . "i+1" "3" } } */
return r;
}
static int __attribute__((noinline))
foo (struct S s, int i)
{
int r;
r = bar (s, 3, 4, 5, i);
return r;
}
int
main (void)
{
struct S s;
int i;
i = get_val2 ();
s.a = get_val0 ();
s.b = get_val0 ();
s.c = get_val0 ();
int r = foo (s, i);
v = r + i;
return 0;
}