summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/exec/args1.cpp13
-rw-r--r--tests/exec/args1.out2
-rw-r--r--tests/exec/args2.cpp15
-rw-r--r--tests/exec/args2.out2
4 files changed, 32 insertions, 0 deletions
diff --git a/tests/exec/args1.cpp b/tests/exec/args1.cpp
new file mode 100644
index 0000000..52edd82
--- /dev/null
+++ b/tests/exec/args1.cpp
@@ -0,0 +1,13 @@
+#include <iostream>
+
+int f(int a, int b, int c, int d, int e, int f) {
+ std::cout << "a = " << a << ", b = " << b <<
+ ", c = " << c << ", d = " << d << ", e = " <<
+ e << ", f = " << f << "\n";
+ return a + b + c + d + e + f;
+}
+
+int main() {
+ int x = f(1, 2, 3, 4, 5, 6);
+ std::cout << "x = " << x << "\n";
+}
diff --git a/tests/exec/args1.out b/tests/exec/args1.out
new file mode 100644
index 0000000..34f8b2d
--- /dev/null
+++ b/tests/exec/args1.out
@@ -0,0 +1,2 @@
+a = 1, b = 2, c = 3, d = 4, e = 5, f = 6
+x = 21
diff --git a/tests/exec/args2.cpp b/tests/exec/args2.cpp
new file mode 100644
index 0000000..1d2efee
--- /dev/null
+++ b/tests/exec/args2.cpp
@@ -0,0 +1,15 @@
+#include <iostream>
+
+int test(int a) {
+ int *b = &a;
+ *b = *b + 42;
+ return a;
+}
+
+int main() {
+ int x = 0;
+ int y = test(x);
+ std::cout << "x = " << x << "\n";
+ std::cout << "y = " << y << "\n";
+}
+
diff --git a/tests/exec/args2.out b/tests/exec/args2.out
new file mode 100644
index 0000000..7921196
--- /dev/null
+++ b/tests/exec/args2.out
@@ -0,0 +1,2 @@
+x = 0
+y = 42