<div dir="ltr">On Wed, Jul 24, 2013 at 7:58 PM, Tom Honermann <span dir="ltr"><<a href="mailto:thonermann@coverity.com" target="_blank">thonermann@coverity.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 07/24/2013 12:18 PM, Will Wilson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>
<br>
I've discovered a rather nasty issue with -fdelayed-template-parsing<br>
enabled. If this is used to build a PCH all of the stored template<br>
tokens are lost leading an incomplete AST when the PCH is used to create<br>
the complete TU.<br>
<br>
Is this by design or a missing feature for the serialization code?<br>
</blockquote>
<br></div>
I would guess a missing feature.  Problems can be demonstrated quite easily:<br>
<br>
$ cat t.cpp<br>
template<typename T><br>
T f(const T& t) {<br>
    return t;<br>
}<br>
<br>
int main() {<br>
    f(5);<br>
}<br>
<br>
$ clang --version<br>
clang version 3.3 (tags/RELEASE_33/final)<br>
Target: x86_64-unknown-linux-gnu<br>
Thread model: posix<br>
<br>
# No problems without -fdelayed-template-parsing...<br>
$ clang -emit-ast t.cpp<br>
$ clang -o t t.ast<br>
<br>
# But with -fdelayed-template-parsing...<br>
$ clang -emit-ast -fdelayed-template-parsing t.cpp<br>
$ clang -o t t.ast<br>
/tmp/t-YAfQmm.o: In function `main':<br>
t.ast:(.text+0x14): undefined reference to `int f<int>(int const&)'<br>
clang: error: linker command failed with exit code 1 (use -v to see invocation)</blockquote><div><br></div><div>It's probably a good idea to paste this into a bug report (<a href="http://llvm.org/bugs">http://llvm.org/bugs</a>) to make sure it's not lost.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888"><br>
<br>
Tom.</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br></div></div>