<div dir="ltr">Thanks for the feedback.<div><br></div><div>I've started work on supporting serialization and I've made reasonable progress so far. The need for lazy deserialization hadn't escaped me but I was concentrating on just getting it up and running initially - as slightly slower would be better than completely broken. I can look into lazy deserialization but I may need a few pointers on the best approach and if it's going to be a substantial job it might have to wait until a later patch.</div>



<div><br></div><div>- Will.</div><div><br></div>















</div><div class="gmail_extra"><br><br><div class="gmail_quote">On 25 July 2013 18:18, Douglas Gregor <span dir="ltr"><<a href="mailto:dgregor@apple.com" target="_blank">dgregor@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div class="h5"><br><div><div>On Jul 24, 2013, at 9:18 AM, Will Wilson <<a href="mailto:will@indefiant.com" target="_blank">will@indefiant.com</a>> wrote:</div><br><blockquote type="cite">
<div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div dir="ltr">Hi All,<div><br></div><div>I've discovered a rather nasty issue with -fdelayed-template-parsing enabled. If this is used to build a PCH all of the stored template tokens are lost leading an incomplete AST when the PCH is used to create the complete TU.</div>
<div><br></div><div>Is this by design or a missing feature for the serialization code?</div><div><br></div><div>Unfortunately, due to a huge body of MSVC targeted code and a need to use PCH files to maintain acceptable performance I need to make this work seamlessly. The data that would need preserving is currently stored in the Parser and is a map of <span>const</span><span> </span>FunctionDecl<span>* to </span>LateParsedTemplatedFunction<span>*. The </span>LateParsedTemplatedFunction is essentially a SmallVector of Tokens.</div>
<div><br></div><div>Before I dive in and attempt to add support for serializing this, is there anything I should know?</div></div></div></blockquote><br></div></div></div><div>It’s a missing feature. One will need to serialize the actual tokens for each of the late-parsed FunctionDecl’s, and be able to lazily deserialize and then parse the tokens when an actual definition is needed.</div>
<div><br></div><div><span style="white-space:pre-wrap"> </span>- Doug</div><div><br></div><br></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><span style="background-color:rgb(255,255,255);color:rgb(68,68,68);font-family:Arial,Helvetica,sans-serif"><b>Indefiant Ltd.</b></span></div>
</div>
</div>