<div dir="ltr"><br>+dblaikie</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 31, 2014 at 1:20 PM, Kaelyn Takata <span dir="ltr"><<a href="mailto:rikka@google.com" target="_blank">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"><br>
Part of the infrastructure is a map from a TypoExpr to the Sema-specific<br>
state needed to correct it, along with helpers to ease dealing with the<br>
state.<br>
<br>
The the typo count is propagated up the stack of<br>
ExpressionEvaluationContextRecords when one is popped off of to<br>
avoid accidentally dropping TypoExprs on the floor. For example,<br>
the attempted correction of g() in test/CXX/class/class.mem/p5-0x.cpp<br>
happens with an ExpressionEvaluationContextRecord that is popped off<br>
the stack prior to ActOnFinishFullExpr being called and the tree<br>
transform for TypoExprs being run.<br>
---<br>
include/clang/Sema/Sema.h | 44 +++++<br>
include/clang/Sema/SemaInternal.h | 15 +-<br>
include/clang/Sema/TypoCorrection.h | 2 +-<br>
lib/Sema/SemaExpr.cpp | 7 +<br>
lib/Sema/SemaExprCXX.cpp | 108 ++++++++++++<br>
lib/Sema/SemaLookup.cpp | 316 ++++++++++++++++++++++++------------<br>
6 files changed, 384 insertions(+), 108 deletions(-)<br>
<br>
</blockquote></div><br></div>