clang 23.0.0git
ModuleDepCollector.h File Reference
#include "clang/Basic/LLVM.h"
#include "clang/Basic/Module.h"
#include "clang/Basic/SourceManager.h"
#include "clang/DependencyScanning/DependencyGraph.h"
#include "clang/DependencyScanning/DependencyScanningService.h"
#include "clang/Frontend/CompilerInvocation.h"
#include "clang/Frontend/Utils.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/PPCallbacks.h"
#include "clang/Serialization/ASTReader.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/Support/raw_ostream.h"
#include <optional>
#include <string>
#include <unordered_map>
#include <variant>

Go to the source code of this file.

Classes

class  clang::dependencies::PrebuiltModuleASTAttrs
class  clang::dependencies::ModuleDepCollector
 Collects modular and non-modular dependencies of the main file by attaching ModuleDepCollectorPP to the preprocessor. More...

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::dependencies

Typedefs

using clang::dependencies::PrebuiltModulesAttrsMap = llvm::StringMap<PrebuiltModuleASTAttrs>
 Attributes loaded from AST files of prebuilt modules collected prior to ModuleDepCollector creation.

Functions

void clang::dependencies::resetBenignCodeGenOptions (frontend::ActionKind ProgramAction, const LangOptions &LangOpts, CodeGenOptions &CGOpts)
 Resets codegen options that don't affect modules/PCH.
bool clang::dependencies::isPathInStableDir (const ArrayRef< StringRef > Directories, const StringRef Input)
 Determine if Input can be resolved within a stable directory.
bool clang::dependencies::areOptionsInStableDir (const ArrayRef< StringRef > Directories, const HeaderSearchOptions &HSOpts)
 Determine if options collected from a module's compilation can safely be considered as stable.