re PR preprocessor/48740 (Raw C++0x strings and trigraphs mix badly)
PR preprocessor/48740 * lex.c (lex_raw_string): When raw string ends with ??) followed by raw prefix and ", ensure it is preprocessed with ??) rather than ??]. * c-c++-common/raw-string-11.c: New test. From-SVN: r172903
This commit is contained in:
parent
8d6a2f6968
commit
6cfae07011
4 changed files with 28 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2011-04-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR preprocessor/48740
|
||||
* c-c++-common/raw-string-11.c: New test.
|
||||
|
||||
2011-04-23 John David Anglin <dave.anglin@nrc-cnrc.ca>
|
||||
|
||||
* gcc.dg/pr48616.c (dg-options): Add -fno-common to options on
|
||||
|
|
13
gcc/testsuite/c-c++-common/raw-string-11.c
Normal file
13
gcc/testsuite/c-c++-common/raw-string-11.c
Normal file
|
@ -0,0 +1,13 @@
|
|||
// PR preprocessor/48740
|
||||
// { dg-options "-std=gnu99 -trigraphs -save-temps" { target c } }
|
||||
// { dg-options "-std=c++0x -save-temps" { target c++ } }
|
||||
// { dg-do run }
|
||||
|
||||
int main ()
|
||||
{
|
||||
return __builtin_memcmp (R"raw(foo%sbar%sfred%sbob?????)raw",
|
||||
"foo%sbar%sfred%sbob?""?""?""?""?",
|
||||
sizeof ("foo%sbar%sfred%sbob?""?""?""?""?"));
|
||||
}
|
||||
|
||||
// { dg-final { cleanup-saved-temps } }
|
|
@ -1,3 +1,10 @@
|
|||
2011-04-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR preprocessor/48740
|
||||
* lex.c (lex_raw_string): When raw string ends with
|
||||
??) followed by raw prefix and ", ensure it is preprocessed
|
||||
with ??) rather than ??].
|
||||
|
||||
2011-04-20 Jim Meyering <meyering@redhat.com>
|
||||
|
||||
* files.c (destroy_cpp_file): Remove useless if-before-free.
|
||||
|
|
|
@ -1410,7 +1410,9 @@ lex_raw_string (cpp_reader *pfile, cpp_token *token, const uchar *base,
|
|||
raw_prefix_len) == 0
|
||||
&& cur[raw_prefix_len+1] == '"')
|
||||
{
|
||||
cur += raw_prefix_len+2;
|
||||
BUF_APPEND (")", 1);
|
||||
base++;
|
||||
cur += raw_prefix_len + 2;
|
||||
goto break_outer_loop;
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Add table
Reference in a new issue