http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52952
--- Comment #7 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2012-05-22
10:55:49 UTC ---
(In reply to comment #5)
> The format string could be even something like
> void f() {
> __builtin_printf(
> u8R"abcd(%.)abcd"
> "*d");
> }
> So, the question is, if we have a way to find from the source_location on the
> ADDR_EXPR around STRING_CST the original non-concatenated tokens, and given
> index into the (possibly) translated STRING_CST redo the lexing of those
> tokens, looking at which byte in the source tokens maps to that offset in the
> STRING_CST.
Is it possible to re-preprocess some tokens only? Do the line-maps keep track
of the locations of the tokens which make up a single string? If not, we would
need to create new source locations on-the-fly. Is this possible at all?