Skip to content

Commit cad9a1b

Browse files
authored
[NFC][SYCL] Remove multiple definitions of ComputeValidFooterFileID. (#14993)
The same functionality was needed at the 2 different places, and I inadvertently created 2 functions. This patch refactors it.
1 parent f5bbb7a commit cad9a1b

File tree

3 files changed

+16
-27
lines changed

3 files changed

+16
-27
lines changed

clang/include/clang/Basic/SourceManager.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -906,6 +906,19 @@ class SourceManager : public RefCountedBase<SourceManager> {
906906
/// Get the file ID for the precompiled preamble if there is one.
907907
FileID getPreambleFileID() const { return PreambleFileID; }
908908

909+
/// Get the file ID for the integration footer.
910+
FileID ComputeValidFooterFileID(StringRef Footer) {
911+
FileID FooterFileID;
912+
llvm::Expected<FileEntryRef> ExpectedFileRef =
913+
getFileManager().getFileRef(Footer);
914+
if (ExpectedFileRef) {
915+
FooterFileID = getOrCreateFileID(ExpectedFileRef.get(),
916+
SrcMgr::CharacteristicKind::C_User);
917+
}
918+
assert(FooterFileID.isValid() && "expecting a valid footer FileID");
919+
return FooterFileID;
920+
}
921+
909922
//===--------------------------------------------------------------------===//
910923
// Methods to create new FileID's and macro expansions.
911924
//===--------------------------------------------------------------------===//

clang/lib/Frontend/PrintPreprocessedOutput.cpp

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -904,26 +904,14 @@ struct UnknownPragmaHandler : public PragmaHandler {
904904
};
905905
} // end anonymous namespace
906906

907-
FileID ComputeValidFooterFileID(SourceManager &SM, StringRef Footer) {
908-
FileID FooterFileID;
909-
llvm::Expected<FileEntryRef> ExpectedFileRef =
910-
SM.getFileManager().getFileRef(Footer);
911-
if (ExpectedFileRef) {
912-
FooterFileID = SM.getOrCreateFileID(ExpectedFileRef.get(),
913-
SrcMgr::CharacteristicKind::C_User);
914-
}
915-
assert(FooterFileID.isValid() && "expecting a valid footer FileID");
916-
return FooterFileID;
917-
}
918-
919907
static void PrintIncludeFooter(Preprocessor &PP, SourceLocation Loc,
920908
std::string Footer,
921909
PrintPPOutputPPCallbacks *Callbacks) {
922910
SourceManager &SourceMgr = PP.getSourceManager();
923911
PresumedLoc UserLoc = SourceMgr.getPresumedLoc(Loc);
924912
if (UserLoc.isInvalid())
925913
return;
926-
FileID FooterFileID = ComputeValidFooterFileID(SourceMgr, Footer);
914+
FileID FooterFileID = SourceMgr.ComputeValidFooterFileID(Footer);
927915
StringRef FooterContentBuffer = SourceMgr.getBufferData(FooterFileID);
928916
// print out the name of the integration footer.
929917
Callbacks->WriteFooterInfo(Footer);

clang/lib/Lex/PPLexerChange.cpp

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -326,18 +326,6 @@ void Preprocessor::diagnoseMissingHeaderInUmbrellaDir(const Module &Mod) {
326326
}
327327
}
328328

329-
static FileID ComputeValidFooterFileID(SourceManager &SM, StringRef Footer) {
330-
FileID FooterFileID;
331-
llvm::Expected<FileEntryRef> ExpectedFileRef =
332-
SM.getFileManager().getFileRef(Footer);
333-
if (ExpectedFileRef) {
334-
FooterFileID = SM.getOrCreateFileID(ExpectedFileRef.get(),
335-
SrcMgr::CharacteristicKind::C_User);
336-
}
337-
assert(FooterFileID.isValid() && "expecting a valid footer FileID");
338-
return FooterFileID;
339-
}
340-
341329
/// HandleEndOfFile - This callback is invoked when the lexer hits the end of
342330
/// the current file. This either returns the EOF token or pops a level off
343331
/// the include stack and keeps going.
@@ -552,8 +540,8 @@ bool Preprocessor::HandleEndOfFile(Token &Result, bool isEndOfMacro) {
552540
SourceManager &SourceMgr = getSourceManager();
553541
SourceLocation Loc = CurLexer->getFileLoc();
554542

555-
FileID FooterFileID = ComputeValidFooterFileID(
556-
SourceMgr, getPreprocessorOpts().IncludeFooter);
543+
FileID FooterFileID =
544+
SourceMgr.ComputeValidFooterFileID(getPreprocessorOpts().IncludeFooter);
557545
if (!FooterFileID.isInvalid() && !IncludeFooterProcessed) {
558546
IncludeFooterProcessed = true;
559547
// Mark the footer file as included

0 commit comments

Comments
 (0)