tree-optimization/115843 - fix wrong-code with fully-masked loop and peeling
[official-gcc.git] / gcc / testsuite / gcc.c-torture / compile / pr35006.c
blob02f0662a804bbb588082db76e5bcf1d22a39ceb9
1 /* { dg-require-effective-target alloca } */
2 typedef unsigned long grub_uint64_t;
3 typedef grub_uint64_t grub_size_t;
4 void grub_putchar (char);
5 void cl_set_pos (void);
6 void cl_print (grub_size_t, char);
7 void grub_memmove (void);
8 void cl_delete (grub_size_t);
9 void
10 grub_cmdline_get (unsigned max_len, int echo_char)
12 unsigned xpos, ypos, ystart;
13 grub_size_t lpos, llen;
14 char buf[max_len];
15 void cl_print (int pos, int c)
17 char *p;
18 for (p = buf + pos; *p; p++)
20 if (xpos++ > 78)
21 grub_putchar ('\n');
22 grub_putchar (*p);
25 void cl_delete (unsigned len)
27 cl_set_pos ();
28 cl_print (lpos, ' ');
29 grub_memmove ();
30 cl_print (lpos, echo_char);
31 cl_set_pos ();
33 cl_delete (llen);
34 grub_size_t n = lpos;
35 cl_delete (n);