1 /* { dg-require-effective-target indirect_jumps } */
2 /* { dg-require-effective-target label_values } */
3 
_IO_vfprintf_internal(char * f)4 void _IO_vfprintf_internal ( char *f )
5 {
6   static const void *const step0_jumps[] = { &&do_form_unknown, &&do_flag_plus, &&do_form_float };
7   const void * ptr = step0_jumps[0];
8   do {
9     char spec;
10     spec = (*++f);
11     goto *ptr;
12 do_flag_plus:
13      read_int (&f);
14 do_number:
15     _itoa_word (spec);
16 do_form_float:
17     if (ptr != ((void *)0))
18     {
19       spec = 'x';
20       goto do_number;
21     }
22     if (spec != 'S')
23       __strnlen ();
24     return;
25     do_form_unknown:;
26   }
27   while (*f != '\0');
28 }
29 
30