<div dir="ltr"><div class="gmail_extra">On 12 July 2013 17:01, Luke Zarko <span dir="ltr"><<a href="mailto:zarko@google.com" target="_blank">zarko@google.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

Ping--any opinions on this or thoughts on better ways to do it?<br></blockquote><div class="gmail_quote"><br></div><div class="gmail_quote">From the peanut gallery! I fundamentally like the direction this is going.</div>
<br>
+  /// \brief Maybe produce a diagnostic note if this class can find a<br>+  /// way to get at the complete definition for T.</div><div class="gmail_quote"><br>Is this clearer?: "Produces a diagnostic note if the external source contains a complete definition for T."<br>

<br>+  for(size_t i = 0; i < Sources.size(); ++i)<br><br></div><div class="gmail_quote">Space after 'for'. Also, hoist out the computation of Sources.size(). See <a href="http://llvm.org/docs/CodingStandards.html#don-t-evaluate-end-every-time-through-a-loop">http://llvm.org/docs/CodingStandards.html#don-t-evaluate-end-every-time-through-a-loop</a><br>

<br>What prevents us from emitting the same diagnostic note twice? What if two external sources both contain full definitions of the type (for instance, modules X and Y both include module Z which defines the type, but they don't expose Z's contents to their users)?<br>

<br>\ No newline at end of file<br><br>Please keep a newline at the end of MultiplexExternalSemaSource.cpp.<br><br></div><div class="gmail_quote">Nick</div><div class="gmail_quote"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div><div class="h5">On Tue, Jul 9, 2013 at 3:45 PM, Luke Zarko <<a href="mailto:zarko@google.com">zarko@google.com</a>> wrote:<br>
> This patch adds a method to ExternalSemaSource to allow it to produce<br>
> diagnostics when an incomplete type was detected where a complete type<br>
> was required. For example, one could define an ExternalSemaSource that<br>
> scans a repository for headers providing a missing definition.<br>
><br>
> The purpose of the MaybeDiagnoseMissingCompleteType method differs<br>
> from that of the existing  ExternalASTSource::CompleteType method. The<br>
> former is invoked to diagnose a single SourceLocation-ed<br>
> missing-complete-type site where there is no chance for recovery. The<br>
> latter may be called in the course of compiling a valid source file<br>
> with some of its definitions available in external but otherwise<br>
> available locations.<br>
</div></div>_______________________________________________<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>
</blockquote></div><br></div></div>