summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/20030606-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20030606-1.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030606-1.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030606-1.c b/gcc/testsuite/gcc.c-torture/execute/20030606-1.c
new file mode 100644
index 000000000..51054d90a
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20030606-1.c
@@ -0,0 +1,27 @@
+
+int * foo (int *x, int b)
+{
+
+ *(x++) = 55;
+ if (b)
+ *(x++) = b;
+
+ return x;
+}
+
+main()
+{
+ int a[5];
+
+ memset (a, 1, sizeof (a));
+
+ if (foo(a, 0) - a != 1 || a[0] != 55 || a[1] != a[4])
+ abort();
+
+ memset (a, 1, sizeof (a));
+
+ if (foo(a, 2) - a != 2 || a[0] != 55 || a[1] != 2)
+ abort();
+
+ exit (0);
+}