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