libcpp: Fix up raw string literal parsing error-recovery [PR96323]
authorJakub Jelinek <jakub@redhat.com>
Tue, 28 Jul 2020 13:40:15 +0000 (15:40 +0200)
committerJakub Jelinek <jakub@redhat.com>
Tue, 28 Jul 2020 13:40:15 +0000 (15:40 +0200)
commitae49af94850b26e50268031e24f1559d5a51edec
tree3a3cd4dfb6f1fb0ad0900bdaf8afa6196f844143
parent862a58ed83c681efd2724db2b71294fc71196b73
libcpp: Fix up raw string literal parsing error-recovery [PR96323]

For (invalid) newline inside of the raw string literal delimiter, doing
continue means we skip the needed processing of newlines.  Instead of
duplicating that, this patch just doesn't continue for those.

2020-07-28  Jakub Jelinek  <jakub@redhat.com>

PR preprocessor/96323
* lex.c (lex_raw_string): For c == '\n' don't continue after reporting
an prefix delimiter error.

* c-c++-common/cpp/pr96323.c: New test.
gcc/testsuite/c-c++-common/cpp/pr96323.c [new file with mode: 0644]
libcpp/lex.c