[PATCH] PR9992 : -fdelayed-template-parsing support for PCH

Will Wilson will at indefiant.com
Sun Jul 28 11:31:08 PDT 2013


Hi All,

I've attached a preliminary patch for some feedback. This is my first foray
into the serialization code so I've taken the simplest approach I could for
now.

I've also moved LateParsedTemplateMap from the Parser to Sema. I did try
and avoid this but plumbing the necessary calls via Sema to the Parser
proved messy, and after considering the options I decided that moving the
state to Sema was the lesser of the two evils.

Some may consider it a layering violation but as Sema effectively needs the
data to finish its job and the state is nothing more than a couple of Decl
pointers and a sequence of Tokens I thought it reasonable - after all Sema
already deals with Tokens.

As I said the serialization approach I've taken is about as simplistic as
possible. Lazy lookup/deserialization should really be performed on each
FunctionDecl as they're instantiated rather than as a job lot for the whole
TU (as currently implemented) - but I was hoping for some feedback before
attempting that.

No real tests included yet, but suffice to say the current tests all pass.

Cheers,
Will.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130728/e894cf2c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: late_template_pch_support.patch
Type: application/octet-stream
Size: 21131 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130728/e894cf2c/attachment.obj>


More information about the cfe-commits mailing list