diff options
author | Jakub Jelinek <jakub@redhat.com> | 2013-07-10 18:49:24 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2013-07-10 18:49:24 +0200 |
commit | c26302d5351c07a12a5c434f392a5df89381dd8e (patch) | |
tree | fb33b01daeb32c3b1c99c9c4f1501ea19669801f /gcc/c-family | |
parent | dfeadaa00be8251addff242849f6165ea9ee480c (diff) | |
download | gcc-c26302d5351c07a12a5c434f392a5df89381dd8e.zip gcc-c26302d5351c07a12a5c434f392a5df89381dd8e.tar.gz gcc-c26302d5351c07a12a5c434f392a5df89381dd8e.tar.bz2 |
c-ppoutput.c (scan_translation_unit): Call account_for_newlines for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
* c-ppoutput.c (scan_translation_unit): Call account_for_newlines
for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
* include/cpplib.h (cpp_token_val_index): Change parameter type to
const cpp_token *.
* lex.c (cpp_token_val_index): Likewise.
* c-c++-common/raw-string-18.c: New test.
* c-c++-common/raw-string-19.c: New test.
From-SVN: r200878
Diffstat (limited to 'gcc/c-family')
-rw-r--r-- | gcc/c-family/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-family/c-ppoutput.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 0506e55..1211fcc 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2013-07-10 Jakub Jelinek <jakub@redhat.com> + + * c-ppoutput.c (scan_translation_unit): Call account_for_newlines + for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT. + 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57869 diff --git a/gcc/c-family/c-ppoutput.c b/gcc/c-family/c-ppoutput.c index 4a15346..03b8817 100644 --- a/gcc/c-family/c-ppoutput.c +++ b/gcc/c-family/c-ppoutput.c @@ -251,7 +251,11 @@ scan_translation_unit (cpp_reader *pfile) cpp_output_token (token, print.outf); } - if (token->type == CPP_COMMENT) + /* CPP_COMMENT tokens and raw-string literal tokens can + have embedded new-line characters. Rather than enumerating + all the possible token types just check if token uses + val.str union member. */ + if (cpp_token_val_index (token) == CPP_TOKEN_FLD_STR) account_for_newlines (token->val.str.text, token->val.str.len); } } |