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.