aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32919.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32919.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32919.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32919.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32919.c
new file mode 100644
index 000000000..33956c8c0
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32919.c
@@ -0,0 +1,26 @@
+void _IO_vfprintf_internal ( char *f )
+{
+ static const void *const step0_jumps[] = { &&do_form_unknown, &&do_flag_plus, &&do_form_float };
+ const void * ptr = step0_jumps[0];
+ do {
+ char spec;
+ spec = (*++f);
+ goto *ptr;
+do_flag_plus:
+ read_int (&f);
+do_number:
+ _itoa_word (spec);
+do_form_float:
+ if (ptr != ((void *)0))
+ {
+ spec = 'x';
+ goto do_number;
+ }
+ if (spec != 'S')
+ __strnlen ();
+ return;
+ do_form_unknown:;
+ }
+ while (*f != '\0');
+}
+