FYI, I re-applied a greatly updated version of this patch in r130628. So far, it's passed my self-host, and I'm hopeful the problems have been resolved.<div><br></div><div>Comments on that revision would of course be appreciated.<br>
<br><div class="gmail_quote">On Wed, Jun 23, 2010 at 11:30 PM, Enea Zaffanella <span dir="ltr"><<a href="mailto:zaffanella@cs.unipr.it">zaffanella@cs.unipr.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Ping.<br>
<br>
Any hint about resolving the problem below?<br>
<br>
Thanks in advance,<br>
<font color="#888888">Enea.<br>
</font><div><div></div><div class="h5"><br>
Abramo Bagnara wrote:<br>
> Il 16/06/2010 17:23, Douglas Gregor ha scritto:<br>
>> It looks like this broke self-host with an assertion, so I've reverted it in r106100.<br>
><br>
> This is a reduced testcase:<br>
><br>
> template <typename C><br>
> struct v {<br>
>   template <typename T, typename U = T><br>
>   struct s { };<br>
>   s<C> v;<br>
> };<br>
><br>
> The failing assertion happens when default template argument is<br>
> substituted due to call of Sema::SubstDefaultTemplateArgument from<br>
> Sema::CheckTemplateArgumentList.<br>
><br>
> Sema::LocalInstantiationScope::getInstantiationOf is called on a null<br>
> LocalInstantiationScope.<br>
><br>
> We've tried to add a Sema::LocalInstantiationScope just before the<br>
> related Sema::InstantiatingTemplate to have a valid<br>
> LocalInstantiationScope but this is has no effects (apart the obvious<br>
> one to reach getInstantiationOf with a non null LocalInstantiationScope).<br>
><br>
> I guess that the problem is that Sema::CheckTemplateArgumentList is not<br>
> called in an appropriately prepared framework, but I'm rather confused<br>
> now about why and what is needed to make it work properly.<br>
><br>
> Can you shed some light on this failure?<br>
><br>
> BTW I've also noted that (unexpectedly, at least for me) the declaration<br>
> context of T is the translation unit.<br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
><br>
><br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br></div>