diff options
author | Edward Smith-Rowland <3dw4rd@verizon.net> | 2014-05-21 00:35:29 +0000 |
---|---|---|
committer | Edward Smith-Rowland <emsr@gcc.gnu.org> | 2014-05-21 00:35:29 +0000 |
commit | 49039169f30099ed84696aadd872653b03ecfde3 (patch) | |
tree | a86ac06d461f5c244039fdc4fc80a89810ffe1a3 /libcpp/macro.c | |
parent | 956dd0932cef3c45b49405d3c64c46fc67da12c2 (diff) | |
download | gcc-49039169f30099ed84696aadd872653b03ecfde3.zip gcc-49039169f30099ed84696aadd872653b03ecfde3.tar.gz gcc-49039169f30099ed84696aadd872653b03ecfde3.tar.bz2 |
re PR c++/61038 (g++ -E is unusable with UDL strings)
gcc/testsuite/
2014-05-20 Edward Smith-Rowland <3dw4rd@verizon.net>
PR C++/61038
* g++.dg/cpp0x/pr61038.C: New.
libcpp/
2014-05-20 Edward Smith-Rowland <3dw4rd@verizon.net>
PR C++/61038
* macro.c (stringify_arg (cpp_reader *, macro_arg *)):
Check for user-defined literal strings and user-defined literal chars
to escape necessary characters.
From-SVN: r210666
Diffstat (limited to 'libcpp/macro.c')
-rw-r--r-- | libcpp/macro.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libcpp/macro.c b/libcpp/macro.c index 11e50f4..c3db9a2 100644 --- a/libcpp/macro.c +++ b/libcpp/macro.c @@ -494,6 +494,9 @@ stringify_arg (cpp_reader *pfile, macro_arg *arg) || token->type == CPP_STRING16 || token->type == CPP_CHAR16 || token->type == CPP_UTF8STRING); + escape_it = escape_it || cpp_userdef_string_p (token->type) + || cpp_userdef_char_p (token->type); + /* Room for each char being written in octal, initial space and final quote and NUL. */ len = cpp_token_len (token); |