re PR preprocessor/61977 (powerpc preprocessor breaks on lines that end with "vector")

PR preprocessor/61977
	* lex.c (cpp_peek_token): If peektok is CPP_EOF, back it up
	with all tokens peeked by the current function.

	* gcc.dg/cpp/pr61977.c: New test.

From-SVN: r221882
This commit is contained in:
Jakub Jelinek 2015-04-06 19:01:50 +02:00 committed by Jakub Jelinek
parent 6f0250431c
commit e4b33ee5e4
4 changed files with 20 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2015-04-06 Jakub Jelinek <jakub@redhat.com>
PR preprocessor/61977
* gcc.dg/cpp/pr61977.c: New test.
2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
* gcc.dg/lto/chkp-ctor-merge_0.c: New.

View File

@ -0,0 +1,4 @@
/* PR preprocessor/61977 */
/* { dg-do preprocess } */
vector

View File

@ -1,3 +1,9 @@
2015-04-06 Jakub Jelinek <jakub@redhat.com>
PR preprocessor/61977
* lex.c (cpp_peek_token): If peektok is CPP_EOF, back it up
with all tokens peeked by the current function.
2015-04-02 Jakub Jelinek <jakub@redhat.com>
PR preprocessor/61977

View File

@ -2090,11 +2090,14 @@ cpp_peek_token (cpp_reader *pfile, int index)
{
peektok = _cpp_lex_token (pfile);
if (peektok->type == CPP_EOF)
return peektok;
{
index--;
break;
}
}
while (index--);
_cpp_backup_tokens_direct (pfile, count + 1);
_cpp_backup_tokens_direct (pfile, count - index);
pfile->keep_tokens--;
pfile->cb.line_change = line_change;