<div class="gmail_quote">On 28 June 2011 15:11, Kaelyn Uhrain <span dir="ltr"><<a href="mailto:rikka@google.com">rikka@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Without this patch, if there are two different but valid namespace qualifiers for reaching the same decl, which one was used was determined by the (undefined) order the namespaces were checked for the identifer. This patch adds a simple heuristic that keeps whichever version would come first lexicographically.<br>

</blockquote><div><br></div><div><div>+  TypoResultsMap::iterator elt = Map->find(Name);</div><div>+  if (elt == Map->end() || Correction.getAsString(SemaRef.getLangOptions()) <</div><div>+      elt->second.getAsString(SemaRef.getLangOptions()))</div>

<div>+    (*Map)[Name] = Correction;</div></div><div><br></div><div>This effectively does Map->find(name) twice, once to get elt and once to set it to Correction (the operator[] will run it again).</div><div><br></div>

<div>Would this work?</div><div><br></div><div>  TypoCorrection &BestCorrection = (*Map)[Name];</div><div>  if (!BestCorrection || Correction.getAsString(SemaRef.getLangOptions()) < BestCorrection.getAsString(SemaRef.getLangOptions()))</div>

<div>    BestCorrection = Correction;</div><div><br></div><div>It might not if there's no copy/assignment on TypoCorrection.</div><div><br></div><div>Nick</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<br>Cheers,<br><font color="#888888">Kaelyn<br>
</font><br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">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/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br>