summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/pr35006.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr35006.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr35006.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr35006.c b/gcc/testsuite/gcc.c-torture/compile/pr35006.c
new file mode 100644
index 00000000000..53de05cdb40
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr35006.c
@@ -0,0 +1,29 @@
+typedef unsigned long grub_uint64_t;
+typedef grub_uint64_t grub_size_t;
+grub_cmdline_get (unsigned max_len, int echo_char)
+{
+ unsigned xpos, ypos, ystart;
+ grub_size_t lpos, llen;
+ char buf[max_len];
+ void cl_print (int pos, int c)
+ {
+ char *p;
+ for (p = buf + pos; *p; p++)
+ {
+ if (xpos++ > 78)
+ grub_putchar ('\n');
+ grub_putchar (*p);
+ }
+ }
+ void cl_delete (unsigned len)
+ {
+ cl_set_pos ();
+ cl_print (lpos, ' ');
+ grub_memmove ();
+ cl_print (lpos, echo_char);
+ cl_set_pos ();
+ }
+ cl_delete (llen);
+ grub_size_t n = lpos;
+ cl_delete (n);
+}