aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.0/gcc/testsuite/gcc.c-torture/compile/pr40035.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.0/gcc/testsuite/gcc.c-torture/compile/pr40035.c')
-rw-r--r--gcc-4.4.0/gcc/testsuite/gcc.c-torture/compile/pr40035.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc-4.4.0/gcc/testsuite/gcc.c-torture/compile/pr40035.c b/gcc-4.4.0/gcc/testsuite/gcc.c-torture/compile/pr40035.c
new file mode 100644
index 000000000..1bf1a7c4c
--- /dev/null
+++ b/gcc-4.4.0/gcc/testsuite/gcc.c-torture/compile/pr40035.c
@@ -0,0 +1,20 @@
+typedef __SIZE_TYPE__ size_t;
+void *memmove (void *dest, const void *src, size_t count);
+size_t strlen (const char *s);
+
+int
+foo (char *param, char *val)
+{
+ if (val)
+ {
+ if (val == param + strlen (param) + 1)
+ val[-1] = '=';
+ else if (val == param + strlen (param) + 2)
+ {
+ val[-2] = '=';
+ memmove (val - 1, val, strlen (val) + 1);
+ val--;
+ }
+ }
+ return 0;
+}