git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86071 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2009-11-04 23:41:40 +00:00
Родитель 3926a1fe92
Коммит 593c41fb0b
1 изменённых файлов: 15 добавлений и 3 удалений

Просмотреть файл

@ -1989,7 +1989,11 @@ static void ProcessInputFile(Preprocessor &PP, PreprocessorFactory &PPF,
CreateCodeCompleter, CreateCodeCompleterData);
}
if (PA == RunPreprocessorOnly) { // Just lex as fast as we can, no output.
// Perform post processing actions and actions which don't use a consumer.
switch (PA) {
default: break;
case RunPreprocessorOnly: { // Just lex as fast as we can, no output.
llvm::TimeRegion Timer(ClangFrontendTimer);
Token Tok;
// Start parsing the specified input file.
@ -1998,11 +2002,17 @@ static void ProcessInputFile(Preprocessor &PP, PreprocessorFactory &PPF,
PP.Lex(Tok);
} while (Tok.isNot(tok::eof));
ClearSourceMgr = true;
} else if (PA == ParseNoop) { // -parse-noop
break;
}
case ParseNoop: {
llvm::TimeRegion Timer(ClangFrontendTimer);
ParseFile(PP, new MinimalAction(PP));
ClearSourceMgr = true;
} else if (PA == PrintPreprocessedInput){ // -E mode.
break;
}
case PrintPreprocessedInput: {
llvm::TimeRegion Timer(ClangFrontendTimer);
if (DumpMacros)
DoPrintMacros(PP, OS.get());
@ -2013,6 +2023,8 @@ static void ProcessInputFile(Preprocessor &PP, PreprocessorFactory &PPF,
ClearSourceMgr = true;
}
}
if (FixItRewrite)
FixItRewrite->WriteFixedFile(InFile, OutputFile);