summaryrefslogtreecommitdiffstats
path: root/src/tests/testfile_parameter_ref.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/testfile_parameter_ref.c')
-rw-r--r--src/tests/testfile_parameter_ref.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/tests/testfile_parameter_ref.c b/src/tests/testfile_parameter_ref.c
new file mode 100644
index 00000000..7fe985f3
--- /dev/null
+++ b/src/tests/testfile_parameter_ref.c
@@ -0,0 +1,20 @@
+// 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;
+}