<div class="gmail_extra">Hi David,</div><div class="gmail_extra"><br></div><div class="gmail_extra">It's a little subtle that the NewDI != OldDI covers a 'parameter type is not dependent' check. Can you make that check a bit more explicit?</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Other than that, LGTM!<br><br><div class="gmail_quote">On Mon, Apr 30, 2012 at 10:00 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Now with infinity percent more patch.<br>
<div class="HOEnZb"><div class="h5"><br>
On Mon, Apr 30, 2012 at 9:40 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:<br>
> Apparently we weren't providing any of the -Wconversion warnings on<br>
> (dependent and non-dependent) default arguments in function templates.<br>
> So this patch fixes that.<br>
><br>
> Also, we weren't caching instantiations of default arguments - so we'd<br>
> reinstantiate them several times (& that meant providing the<br>
> conversion warnings multiple times, given where I added them in). So I<br>
> fixed that so we don't reinstantiate them, instead using<br>
> "setDefaultArg" which it looks like the code was setup to use but had<br>
> just missed the last step.<br>
><br>
> The last part was that we instantiate completely non-dependent<br>
> arguments (where the parameter type and the default arg expression are<br>
> non-dependent) - this caused us to warn on non-dependent default args<br>
> for every instantiation (in addition to warning once for the<br>
> uninstantiated template itself - we were already doing that before my<br>
> patch). So I changed that to store those default args directly rather<br>
> than as uninstantiated default arguments. To the best of my<br>
> understanding this seems correct - if an expression isn't<br>
> instantiation dependent then what does it mean to instantiate it? But<br>
> perhaps I've missed some important detail there. No tests fail because<br>
> of this, though.<br>
><br>
> Thanks,<br>
> - David<br>
</div></div><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></blockquote></div><br></div>