From: Argyrios Kyrtzidis Date: Fri, 9 Nov 2012 19:40:33 +0000 (+0000) Subject: Make CompilerInstance::InitializeSourceManager accept a FrontendInputFile, X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8e1fbbc492bc1f4833136d9b55e1aaf478565d32;p=clang Make CompilerInstance::InitializeSourceManager accept a FrontendInputFile, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167626 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Frontend/CompilerInstance.h b/include/clang/Frontend/CompilerInstance.h index 3173ad4a07..2f3dc3f808 100644 --- a/include/clang/Frontend/CompilerInstance.h +++ b/include/clang/Frontend/CompilerInstance.h @@ -631,15 +631,13 @@ public: /// as the main file. /// /// \return True on success. - bool InitializeSourceManager(StringRef InputFile, - SrcMgr::CharacteristicKind Kind = SrcMgr::C_User); + bool InitializeSourceManager(const FrontendInputFile &Input); /// InitializeSourceManager - Initialize the source manager to set InputFile /// as the main file. /// /// \return True on success. - static bool InitializeSourceManager(StringRef InputFile, - SrcMgr::CharacteristicKind Kind, + static bool InitializeSourceManager(const FrontendInputFile &Input, DiagnosticsEngine &Diags, FileManager &FileMgr, SourceManager &SourceMgr, diff --git a/lib/Frontend/ChainedIncludesSource.cpp b/lib/Frontend/ChainedIncludesSource.cpp index 94bc2fff03..d2b02de4ff 100644 --- a/lib/Frontend/ChainedIncludesSource.cpp +++ b/lib/Frontend/ChainedIncludesSource.cpp @@ -86,8 +86,8 @@ ChainedIncludesSource *ChainedIncludesSource::create(CompilerInstance &CI) { CInvok->getPreprocessorOpts().Macros.clear(); CInvok->getFrontendOpts().Inputs.clear(); - CInvok->getFrontendOpts().Inputs.push_back(FrontendInputFile(includes[i], - IK)); + FrontendInputFile InputFile(includes[i], IK); + CInvok->getFrontendOpts().Inputs.push_back(InputFile); TextDiagnosticPrinter *DiagClient = new TextDiagnosticPrinter(llvm::errs(), new DiagnosticOptions()); @@ -147,7 +147,7 @@ ChainedIncludesSource *ChainedIncludesSource::create(CompilerInstance &CI) { Clang->getASTContext().setExternalSource(Reader); } - if (!Clang->InitializeSourceManager(includes[i])) + if (!Clang->InitializeSourceManager(InputFile)) return 0; ParseAST(Clang->getSema()); diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp index 576ca94e74..896e58184b 100644 --- a/lib/Frontend/CompilerInstance.cpp +++ b/lib/Frontend/CompilerInstance.cpp @@ -589,19 +589,21 @@ CompilerInstance::createOutputFile(StringRef OutputPath, // Initialization Utilities -bool CompilerInstance::InitializeSourceManager(StringRef InputFile, - SrcMgr::CharacteristicKind Kind){ - return InitializeSourceManager(InputFile, Kind, getDiagnostics(), +bool CompilerInstance::InitializeSourceManager(const FrontendInputFile &Input){ + return InitializeSourceManager(Input, getDiagnostics(), getFileManager(), getSourceManager(), getFrontendOpts()); } -bool CompilerInstance::InitializeSourceManager(StringRef InputFile, - SrcMgr::CharacteristicKind Kind, +bool CompilerInstance::InitializeSourceManager(const FrontendInputFile &Input, DiagnosticsEngine &Diags, FileManager &FileMgr, SourceManager &SourceMgr, const FrontendOptions &Opts) { + StringRef InputFile = Input.File; + SrcMgr::CharacteristicKind + Kind = Input.IsSystem ? SrcMgr::C_System : SrcMgr::C_User; + // Figure out where to get and map in the main file. if (InputFile != "-") { const FileEntry *File = FileMgr.getFile(InputFile); diff --git a/lib/Frontend/FrontendAction.cpp b/lib/Frontend/FrontendAction.cpp index 2974334d82..8d153a39f0 100644 --- a/lib/Frontend/FrontendAction.cpp +++ b/lib/Frontend/FrontendAction.cpp @@ -369,10 +369,7 @@ bool FrontendAction::Execute() { // Initialize the main file entry. This needs to be delayed until after PCH // has loaded. if (!isCurrentFileAST()) { - if (!CI.InitializeSourceManager(getCurrentFile(), - getCurrentInput().IsSystem - ? SrcMgr::C_System - : SrcMgr::C_User)) + if (!CI.InitializeSourceManager(getCurrentInput())) return false; }