Go to the source code of this file.
|
static void | optimizeHeaderSearchOpts (HeaderSearchOptions &Opts, ASTReader &Reader, const serialization::ModuleFile &MF, const PrebuiltModulesAttrsMap &PrebuiltModulesASTMap, ScanningOptimizations OptimizeArgs) |
|
static void | optimizeDiagnosticOpts (DiagnosticOptions &Opts, bool IsSystemModule) |
|
static void | optimizeCWD (CowCompilerInvocation &BuildInvocation, StringRef CWD) |
|
static std::vector< std::string > | splitString (std::string S, char Separator) |
|
static CowCompilerInvocation | makeCommonInvocationForModuleBuild (CompilerInvocation CI) |
|
static bool | needsModules (FrontendInputFile FIF) |
|
static bool | isSafeToIgnoreCWD (const CowCompilerInvocation &CI) |
|
static std::string | getModuleContextHash (const ModuleDeps &MD, const CowCompilerInvocation &CI, bool EagerLoadModules, bool IgnoreCWD, llvm::vfs::FileSystem &VFS) |
|
static void | forEachSubmoduleSorted (const Module *M, llvm::function_ref< void(const Module *)> F) |
|
static StringRef | makeAbsoluteAndPreferred (CompilerInstance &CI, StringRef Path, SmallVectorImpl< char > &Storage) |
|
◆ IF_ANY_RELATIVE_RETURN_FALSE
#define IF_ANY_RELATIVE_RETURN_FALSE |
( |
|
PATHS | ) |
|
Value: do { \
if (llvm::any_of(PATHS, [](
const auto &
P) { \
return !
P.empty() && !llvm::sys::path::is_absolute(
P); \
})) \
return false; \
} while (0)
◆ IF_RELATIVE_RETURN_FALSE
#define IF_RELATIVE_RETURN_FALSE |
( |
|
PATH | ) |
|
Value: do { \
if (!PATH.empty() && !llvm::sys::path::is_absolute(PATH)) \
return false; \
} while (0)
◆ forEachSubmoduleSorted()
static void forEachSubmoduleSorted |
( |
const Module * |
M, |
|
|
llvm::function_ref< void(const Module *)> |
F |
|
) |
| |
|
static |
◆ getModuleContextHash()
◆ isSafeToIgnoreCWD()
Definition at line 466 of file ModuleDepCollector.cpp.
References E, clang::DependencyOutputOptions::ExtraDeps, clang::CompilerInvocationBase::getCodeGenOpts(), clang::CompilerInvocationBase::getDependencyOutputOpts(), clang::FrontendInputFile::getFile(), clang::CompilerInvocationBase::getFileSystemOpts(), clang::CompilerInvocationBase::getFrontendOpts(), clang::CompilerInvocationBase::getHeaderSearchOpts(), clang::CompilerInvocationBase::getLangOpts(), clang::CompilerInvocationBase::getPreprocessorOpts(), IF_ANY_RELATIVE_RETURN_FALSE, IF_RELATIVE_RETURN_FALSE, clang::FrontendInputFile::isBuffer(), and clang::LangOptions::NoSanitizeFiles.
◆ makeAbsoluteAndPreferred()
◆ makeCommonInvocationForModuleBuild()
Definition at line 252 of file ModuleDepCollector.cpp.
References clang::CompilerInvocation::clearImplicitModuleBuildOptions(), clang::DiagnosticOptions::DiagnosticSerializationFile, clang::frontend::GenerateModule, clang::CompilerInvocation::getCodeGenOpts(), clang::CompilerInvocation::getDependencyOutputOpts(), clang::CompilerInvocation::getDiagnosticOpts(), clang::CompilerInvocation::getFrontendOpts(), clang::CompilerInvocation::getHeaderSearchOpts(), clang::CompilerInvocation::getLangOpts(), clang::CompilerInvocation::getPreprocessorOpts(), clang::FrontendOptions::Inputs, clang::FrontendOptions::LLVMArgs, clang::PreprocessorOptions::Macros, clang::LangOptions::ModuleName, clang::HeaderSearchOptions::ModulesIgnoreMacros, clang::HeaderSearchOptions::ModulesPruneNonAffectingModuleMaps, clang::DependencyOutputOptions::OutputFile, clang::FrontendOptions::OutputFile, clang::FrontendOptions::ProgramAction, clang::tooling::dependencies::resetBenignCodeGenOptions(), clang::CompilerInvocation::resetNonModularOptions(), and clang::DependencyOutputOptions::Targets.
◆ needsModules()
◆ optimizeCWD()
◆ optimizeDiagnosticOpts()
◆ optimizeHeaderSearchOpts()
Definition at line 54 of file ModuleDepCollector.cpp.
References any(), E, clang::serialization::ModuleFile::FileName, std::function, clang::tooling::dependencies::HeaderSearch, clang::tooling::Import, clang::serialization::ModuleFile::Imports, clang::serialization::ModuleFile::Kind, clang::serialization::MK_ImplicitModule, clang::serialization::ModuleFile::SearchPathUsage, clang::HeaderSearchOptions::UserEntries, clang::tooling::dependencies::VFS, clang::HeaderSearchOptions::VFSOverlayFiles, clang::serialization::ModuleFile::VFSUsage, and Visited.
◆ splitString()
static std::vector< std::string > splitString |
( |
std::string |
S, |
|
|
char |
Separator |
|
) |
| |
|
static |