mirror of git://gcc.gnu.org/git/gcc.git
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
|
@ -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>
|
2011-04-23 John David Anglin <dave.anglin@nrc-cnrc.ca>
|
||||||
|
|
||||||
* gcc.dg/pr48616.c (dg-options): Add -fno-common to options on
|
* gcc.dg/pr48616.c (dg-options): Add -fno-common to options on
|
||||||
|
|
|
@ -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>
|
2011-04-20 Jim Meyering <meyering@redhat.com>
|
||||||
|
|
||||||
* files.c (destroy_cpp_file): Remove useless if-before-free.
|
* 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
|
raw_prefix_len) == 0
|
||||||
&& cur[raw_prefix_len+1] == '"')
|
&& cur[raw_prefix_len+1] == '"')
|
||||||
{
|
{
|
||||||
cur += raw_prefix_len+2;
|
BUF_APPEND (")", 1);
|
||||||
|
base++;
|
||||||
|
cur += raw_prefix_len + 2;
|
||||||
goto break_outer_loop;
|
goto break_outer_loop;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue