aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/961125-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/execute/961125-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/execute/961125-1.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/961125-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/961125-1.c
new file mode 100644
index 000000000..7fe3dd454
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/961125-1.c
@@ -0,0 +1,33 @@
+static char *
+begfield (int tab, char *ptr, char *lim, int sword, int schar)
+{
+ if (tab)
+ {
+ while (ptr < lim && sword--)
+ {
+ while (ptr < lim && *ptr != tab)
+ ++ptr;
+ if (ptr < lim)
+ ++ptr;
+ }
+ }
+ else
+ {
+ while (1)
+ ;
+ }
+
+ if (ptr + schar <= lim)
+ ptr += schar;
+
+ return ptr;
+}
+
+main ()
+{
+ char *s = ":ab";
+ char *lim = s + 3;
+ if (begfield (':', s, lim, 1, 1) != s + 2)
+ abort ();
+ exit (0);
+}