diff --git a/clang-tools-extra/clangd/ParsedAST.cpp b/clang-tools-extra/clangd/ParsedAST.cpp --- a/clang-tools-extra/clangd/ParsedAST.cpp +++ b/clang-tools-extra/clangd/ParsedAST.cpp @@ -226,10 +226,6 @@ /*Imported=*/nullptr, Inc.FileKind); if (File) Delegate->FileSkipped(*File, SynthesizedFilenameTok, Inc.FileKind); - else { - llvm::SmallString<1> UnusedRecovery; - Delegate->FileNotFound(WrittenFilename, UnusedRecovery); - } } } diff --git a/clang-tools-extra/pp-trace/PPCallbacksTracker.h b/clang-tools-extra/pp-trace/PPCallbacksTracker.h --- a/clang-tools-extra/pp-trace/PPCallbacksTracker.h +++ b/clang-tools-extra/pp-trace/PPCallbacksTracker.h @@ -91,8 +91,6 @@ FileID PrevFID = FileID()) override; void FileSkipped(const FileEntryRef &SkippedFile, const Token &FilenameTok, SrcMgr::CharacteristicKind FileType) override; - bool FileNotFound(llvm::StringRef FileName, - llvm::SmallVectorImpl &RecoveryPath) override; void InclusionDirective(SourceLocation HashLoc, const Token &IncludeTok, llvm::StringRef FileName, bool IsAngled, CharSourceRange FilenameRange, const FileEntry *File, diff --git a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp --- a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp +++ b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp @@ -128,16 +128,6 @@ appendArgument("FileType", FileType, CharacteristicKindStrings); } -// Callback invoked whenever an inclusion directive results in a -// file-not-found error. -bool -PPCallbacksTracker::FileNotFound(llvm::StringRef FileName, - llvm::SmallVectorImpl &RecoveryPath) { - beginCallback("FileNotFound"); - appendFilePathArgument("FileName", FileName); - return false; -} - // Callback invoked whenever an inclusion directive of // any kind (#include, #import, etc.) has been processed, regardless // of whether the inclusion will actually result in an inclusion. diff --git a/clang/include/clang/Lex/PPCallbacks.h b/clang/include/clang/Lex/PPCallbacks.h --- a/clang/include/clang/Lex/PPCallbacks.h +++ b/clang/include/clang/Lex/PPCallbacks.h @@ -61,23 +61,6 @@ const Token &FilenameTok, SrcMgr::CharacteristicKind FileType) {} - /// Callback invoked whenever an inclusion directive results in a - /// file-not-found error. - /// - /// \param FileName The name of the file being included, as written in the - /// source code. - /// - /// \param RecoveryPath If this client indicates that it can recover from - /// this missing file, the client should set this as an additional header - /// search patch. - /// - /// \returns true to indicate that the preprocessor should attempt to recover - /// by adding \p RecoveryPath as a header search path. - virtual bool FileNotFound(StringRef FileName, - SmallVectorImpl &RecoveryPath) { - return false; - } - /// Callback invoked whenever an inclusion directive of /// any kind (\c \#include, \c \#import, etc.) has been processed, regardless /// of whether the inclusion will actually result in an inclusion. @@ -443,12 +426,6 @@ Second->FileSkipped(SkippedFile, FilenameTok, FileType); } - bool FileNotFound(StringRef FileName, - SmallVectorImpl &RecoveryPath) override { - return First->FileNotFound(FileName, RecoveryPath) || - Second->FileNotFound(FileName, RecoveryPath); - } - void InclusionDirective(SourceLocation HashLoc, const Token &IncludeTok, StringRef FileName, bool IsAngled, CharSourceRange FilenameRange, const FileEntry *File, diff --git a/clang/lib/Lex/PPDirectives.cpp b/clang/lib/Lex/PPDirectives.cpp --- a/clang/lib/Lex/PPDirectives.cpp +++ b/clang/lib/Lex/PPDirectives.cpp @@ -1845,28 +1845,6 @@ if (File) return File; - if (Callbacks) { - // Give the clients a chance to recover. - SmallString<128> RecoveryPath; - if (Callbacks->FileNotFound(Filename, RecoveryPath)) { - if (auto DE = FileMgr.getOptionalDirectoryRef(RecoveryPath)) { - // Add the recovery path to the list of search paths. - DirectoryLookup DL(*DE, SrcMgr::C_User, false); - HeaderInfo.AddSearchPath(DL, isAngled); - - // Try the lookup again, skipping the cache. - Optional File = LookupFile( - FilenameLoc, - LookupFilename, isAngled, - LookupFrom, LookupFromFile, CurDir, nullptr, nullptr, - &SuggestedModule, &IsMapped, /*IsFrameworkFound=*/nullptr, - /*SkipCache*/ true); - if (File) - return File; - } - } - } - if (SuppressIncludeNotFoundError) return None;