Blame tests/testfile_parameter_ref.c
|
Packit Service |
97d2fb |
// gcc -g -O2 -o parameter_ref parameter_ref.c
|
|
Packit Service |
97d2fb |
|
|
Packit Service |
97d2fb |
volatile int vv;
|
|
Packit Service |
97d2fb |
|
|
Packit Service |
97d2fb |
/* Don't inline, but do allow clone to create specialized versions. */
|
|
Packit Service |
97d2fb |
static __attribute__((noinline)) int
|
|
Packit Service |
97d2fb |
foo (int x, int y, int z)
|
|
Packit Service |
97d2fb |
{
|
|
Packit Service |
97d2fb |
int a = x * 2;
|
|
Packit Service |
97d2fb |
int b = y * 2;
|
|
Packit Service |
97d2fb |
int c = z * 2;
|
|
Packit Service |
97d2fb |
vv++;
|
|
Packit Service |
97d2fb |
return x + z;
|
|
Packit Service |
97d2fb |
}
|
|
Packit Service |
97d2fb |
|
|
Packit Service |
97d2fb |
int
|
|
Packit Service |
97d2fb |
main (int x, char **argv)
|
|
Packit Service |
97d2fb |
{
|
|
Packit Service |
97d2fb |
return foo (x, 2, 3) + foo (x, 4, 3) + foo (x + 6, x, 3) + x;
|
|
Packit Service |
97d2fb |
}
|