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