1da0c48c4Sopenharmony_ci// gcc -g -O2 -o parameter_ref parameter_ref.c
2da0c48c4Sopenharmony_ci
3da0c48c4Sopenharmony_civolatile int vv;
4da0c48c4Sopenharmony_ci
5da0c48c4Sopenharmony_ci/* Don't inline, but do allow clone to create specialized versions.  */
6da0c48c4Sopenharmony_cistatic __attribute__((noinline)) int
7da0c48c4Sopenharmony_cifoo (int x, int y, int z)
8da0c48c4Sopenharmony_ci{
9da0c48c4Sopenharmony_ci  int a = x * 2;
10da0c48c4Sopenharmony_ci  int b = y * 2;
11da0c48c4Sopenharmony_ci  int c = z * 2;
12da0c48c4Sopenharmony_ci  vv++;
13da0c48c4Sopenharmony_ci  return x + z;
14da0c48c4Sopenharmony_ci}
15da0c48c4Sopenharmony_ci
16da0c48c4Sopenharmony_ciint
17da0c48c4Sopenharmony_cimain (int x, char **argv)
18da0c48c4Sopenharmony_ci{
19da0c48c4Sopenharmony_ci  return foo (x, 2, 3) + foo (x, 4, 3) + foo (x + 6, x, 3) + x;
20da0c48c4Sopenharmony_ci}
21