<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 6, 2015, at 2:47 PM, David Blaikie <<a href="mailto:dblaikie@gmail.com" class="">dblaikie@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Fri, Mar 6, 2015 at 2:45 PM, jahanian <span dir="ltr" class=""><<a href="mailto:fjahanian@apple.com" target="_blank" class="">fjahanian@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><br class=""><div class=""><span class=""><blockquote type="cite" class=""><div class="">On Mar 6, 2015, at 9:36 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank" class="">dblaikie@gmail.com</a>> wrote:</div><br class=""><div class=""><div dir="ltr" class="">Would it be plausible to check this on templates directly, rather than on their instantiations? This would be less work in the case of multiple instantiations, avoid redundant diagnostics, fail on templates without instantiations rather than creating a lurking failure, and we might even get all the "dependent" tests for free - because we wouldn't be able to look through the dependent types at all.<br class=""></div></div></blockquote><div class=""><br class=""></div></span>It could be plausible. But, in similar cases, checking is done on the instantiated templates and not on the templates directly. This adds another check in the</div><div class="">same code block. Providing a new iteration on templates for this one check is prohibitively expensive (and we normally don’t do much checking on templates).</div></div></blockquote><div class=""><br class="">It is? I'd be curious to see the numbers, as it sounds like you have some.<br class=""></div></div></div></div></div></blockquote><div><br class=""></div>No I don’t have any. But iterating over templates looking for methods would add to cost. Are we iterating over templates for other diagnostics?</div><div>If so, I can add this there.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class="">Do you see anything inherently wrong to adding this check where it is?</div></div></blockquote><div class=""><br class="">Just the issues I mentioned - duplicate diagnostics in the case of multiple instantiations (& no diagnostics in the case of no instantiations).<br class=""></div></div></div></div></div></blockquote><div><br class=""></div>AFAIK, it is not common practice to add diagnostics on template declarations as this will break SDKs. Furthermore, if template is not used</div><div>in practice, there is no point issuing this diagnostic. Can you point to similar situations where templates are iterated over checking for method</div><div>inconsistencies or other types of diagnostics?</div><div><br class=""></div><div>- Fariborz</div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class=""><br class=""></div><div class="">- Fariborz</div><span class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><br class="">- David</div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, Feb 25, 2015 at 10:39 AM, jahanian <span dir="ltr" class=""><<a href="mailto:fjahanian@apple.com" target="_blank" class="">fjahanian@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class=""><br class=""></div><div class=""><div style="margin:0px;font-size:11px;font-family:Menlo" class="">This patch restricts issuing -Winconsistent-missing-override when dealing with</div><div style="margin:0px;font-size:11px;font-family:Menlo" class="">class template with dependent bases and dependent methods.</div><div style="margin:0px;font-size:11px;font-family:Menlo" class="">Fixed pr22582 <a class="">rdar://19917107</a>.</div></div><div style="margin:0px;font-size:11px;font-family:Menlo" class="">Please review.</div><div style="margin:0px;font-size:11px;font-family:Menlo" class=""><br class=""></div><div style="margin:0px;font-size:11px;font-family:Menlo" class="">- Fariborz</div><div style="margin:0px;font-size:11px;font-family:Menlo" class=""><br class=""></div><div style="margin:0px;font-size:11px;font-family:Menlo" class=""><span style="white-space:pre-wrap" class="">        </span></div></div><br class=""><div style="word-wrap:break-word" class=""><div style="margin:0px;font-size:11px;font-family:Menlo" class=""></div></div><br class="">_______________________________________________<br class="">
cfe-commits mailing list<br class="">
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank" class="">cfe-commits@cs.uiuc.edu</a><br class="">
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank" class="">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br class="">
<br class=""></blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></span></div></blockquote></div><br class=""></div></div>
</div></blockquote></div><br class=""></body></html>