Gabriel> We are tying to keep pph as "pluginable" as possible (Diego correct me Gabriel> if I'm wrong), so changing the actual implementation of the linemap Gabriel> would be our very last resort I think.
Gabriel> However since source_location aren't pointers per se, this wouldn't Gabriel> work (at least with our current cache implementation, and changing Gabriel> that is also last resort in my opinion) I think something's got to give :) Tom> Can you not just serialize the line map when creating the PPH? Gabriel> We were wondering about that, the problem we thought is that a pph can Gabriel> be loaded from anywhere in many different C files (which would Gabriel> generate a different linemap entry in each case I think?). If there Gabriel> was a way to serialize the linemap entries from the LC_ENTER entry for Gabriel> the header file to the LC_LEAVE (i.e. ignoring builtins, command line, Gabriel> etc.), and then directly insert those entries in a given C file Gabriel> compilation's linemaps entries, that would be great! Sure, I think you could probably serialize just some subset of the linemap. It is hard to be positive, as nobody has ever tried it, and I don't know enough about your needs to suggest what subsetting might make sense. The question then is whether you are certain that the other objects you write out are guaranteed not to reference locations outside this set. Tom