1/* { dg-require-effective-target indirect_jumps } */
2/* { dg-require-effective-target label_values } */
3
4void _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;
12do_flag_plus:
13     read_int (&f);
14do_number:
15    _itoa_word (spec);
16do_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