http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55971



Jakub Jelinek <jakub at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |jason at gcc dot gnu.org,

                   |                            |tromey at gcc dot gnu.org



--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-14 
17:33:02 UTC ---

This is about:

          if (pfile->state.in_directive

              || pfile->state.parsing_args

              || pfile->state.in_deferred_pragma)

            {

              cur--;

              type = CPP_OTHER;

              cpp_error_with_line (pfile, CPP_DL_ERROR, token->src_loc, 0,

                                   "unterminated raw string");

              break;

            }

in lex_raw_string, in this case state.in_directive is true, as it is in #define

directive.  But just removing state.in_directive from that condition isn't

enough,

1537          _cpp_process_line_notes (pfile, false);

1538          if (!_cpp_get_fresh_line (pfile))

doesn't handle this case correctly.

Reply via email to