aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2011-06-16 18:09:12 -0400
committerJason Merrill <jason@gcc.gnu.org>2011-06-16 18:09:12 -0400
commit8787a05aaa4047eacd3d90ce8c1d9359747da4d2 (patch)
tree4e3ef97fd1e90351d6242097b014f5729b0f5205
parent42db600dba6adb352854e1eeb909fc3e7a2d892a (diff)
downloadgcc-8787a05aaa4047eacd3d90ce8c1d9359747da4d2.zip
gcc-8787a05aaa4047eacd3d90ce8c1d9359747da4d2.tar.gz
gcc-8787a05aaa4047eacd3d90ce8c1d9359747da4d2.tar.bz2
re PR c++/45399 ([C++0x] Warning for \0 in raw strings)
PR c++/45399 * lex.c (lex_raw_string): Don't check for embedded NUL. From-SVN: r175121
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/c-c++-common/raw-string-12.cbin0 -> 137 bytes
-rw-r--r--libcpp/ChangeLog5
-rw-r--r--libcpp/lex.c8
4 files changed, 8 insertions, 8 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 677ac71..0da84e5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2011-06-16 Jason Merrill <jason@redhat.com>
+ PR c++/45399
+ * c-c++-common/raw-string-12.c: New.
+
PR c++/49229
* g++.dg/cpp0x/sfinae26.C: New.
diff --git a/gcc/testsuite/c-c++-common/raw-string-12.c b/gcc/testsuite/c-c++-common/raw-string-12.c
new file mode 100644
index 0000000..5bdf3b9
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/raw-string-12.c
Binary files differ
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index e1c01c1..e36edfa9 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/45399
+ * lex.c (lex_raw_string): Don't check for embedded NUL.
+
2011-06-06 Dodji Seketeli <dodji@redhat.com>
PR preprocessor/48532
diff --git a/libcpp/lex.c b/libcpp/lex.c
index 6c3be71..d29f36d 100644
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
@@ -1270,7 +1270,6 @@ static void
lex_raw_string (cpp_reader *pfile, cpp_token *token, const uchar *base,
const uchar *cur)
{
- source_location saw_NUL = 0;
const uchar *raw_prefix;
unsigned int raw_prefix_len = 0;
enum cpp_ttype type;
@@ -1476,16 +1475,9 @@ lex_raw_string (cpp_reader *pfile, cpp_token *token, const uchar *base,
cur = base = pfile->buffer->cur;
note = &pfile->buffer->notes[pfile->buffer->cur_note];
}
- else if (c == '\0' && !saw_NUL)
- LINEMAP_POSITION_FOR_COLUMN (saw_NUL, pfile->line_table,
- CPP_BUF_COLUMN (pfile->buffer, cur));
}
break_outer_loop:
- if (saw_NUL && !pfile->state.skipping)
- cpp_error_with_line (pfile, CPP_DL_WARNING, saw_NUL, 0,
- "null character(s) preserved in literal");
-
pfile->buffer->cur = cur;
if (first_buff == NULL)
create_literal (pfile, token, base, cur - base, type);