Right now, when a \$x escape sequence occures, the next character after $x is skipped, which is bogus.
The code has very low coverage right now. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: * gengtype-state.cc (read_a_state_token): Do not skip extra character after escaped sequence. --- gcc/gengtype-state.cc | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/gcc/gengtype-state.cc b/gcc/gengtype-state.cc index dfd9ea52785..2dfe8edf1a5 100644 --- a/gcc/gengtype-state.cc +++ b/gcc/gengtype-state.cc @@ -473,43 +473,33 @@ read_a_state_token (void) { case 'a': obstack_1grow (&bstring_obstack, '\a'); - getc (state_file); break; case 'b': obstack_1grow (&bstring_obstack, '\b'); - getc (state_file); break; case 't': obstack_1grow (&bstring_obstack, '\t'); - getc (state_file); break; case 'n': obstack_1grow (&bstring_obstack, '\n'); - getc (state_file); break; case 'v': obstack_1grow (&bstring_obstack, '\v'); - getc (state_file); break; case 'f': obstack_1grow (&bstring_obstack, '\f'); - getc (state_file); break; case 'r': obstack_1grow (&bstring_obstack, '\r'); - getc (state_file); break; case '"': obstack_1grow (&bstring_obstack, '\"'); - getc (state_file); break; case '\\': obstack_1grow (&bstring_obstack, '\\'); - getc (state_file); break; case ' ': obstack_1grow (&bstring_obstack, ' '); - getc (state_file); break; case 'x': { -- 2.36.0