Author: kremenek
Date: Tue Jan  5 18:23:04 2010
New Revision: 92809

URL: http://llvm.org/viewvc/llvm-project?rev=92809&view=rev
Log:
Per offline discussion with Doug, don't perform typo correction when we have 
encountered a fatal error.  On some files that are woefully wrong (missing 
headers) this can cause a 3x slowdown in some cases when parsing the file.  It 
makes sense not to perform typo correction in this case because after a fatal 
error diagnostics will either be suppressed or not really make any sense.

Modified:
    cfe/trunk/lib/Sema/SemaLookup.cpp

Modified: cfe/trunk/lib/Sema/SemaLookup.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaLookup.cpp?rev=92809&r1=92808&r2=92809&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaLookup.cpp (original)
+++ cfe/trunk/lib/Sema/SemaLookup.cpp Tue Jan  5 18:23:04 2010
@@ -2199,6 +2199,10 @@
 bool Sema::CorrectTypo(LookupResult &Res, Scope *S, const CXXScopeSpec *SS,
                        DeclContext *MemberContext, bool EnteringContext,
                        const ObjCObjectPointerType *OPT) {
+  
+  if (Diags.hasFatalErrorOccurred())
+    return false;
+  
   // We only attempt to correct typos for identifiers.
   IdentifierInfo *Typo = Res.getLookupName().getAsIdentifierInfo();
   if (!Typo)


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to