  
 @@ -483,15 +488,17 @@
      // Late template parsing can begin.
-     if (getLang().DelayedTemplateParsing)
+     if (getLangOpts().DelayedTemplateParsing)
        Actions.SetLateTemplateParser(LateTemplateParserCallback, this);
 +    if (!PP.isIncrementalProcessingEnabled())
 +      Actions.ActOnEndOfTranslationUnit();

   ///
Index: tools/clang/lib/Lex/PPLexerChange.cpp
===================================================================
--- tools/clang/lib/Lex/PPLexerChange.cpp	(revision 152030)
+++ tools/clang/lib/Lex/PPLexerChange.cpp	(working copy)
@@ -328,16 +328,18 @@
     CurLexer->BufferPtr = EndPos;

     Initialize(*Target);
Index: tools/clang/lib/Parse/Parser.cpp
===================================================================
--- tools/clang/lib/Parse/Parser.cpp	(revision 152550)
+++ tools/clang/lib/Parse/Parser.cpp	(working copy)
@@ -475,6 +475,11 @@
 bool Parser::ParseTopLevelDecl(DeclGroupPtrTy &Result) {
