clang 23.0.0git
clang::driver::modules Namespace Reference

Classes

struct  StdModuleManifest
 The parsed Standard library module manifest. More...

Functions

llvm::Expected< StdModuleManifestreadStdModuleManifest (llvm::StringRef ManifestPath, llvm::vfs::FileSystem &VFS)
 Reads the Standard library module manifest at ManifestPath.
void buildStdModuleManifestInputs (ArrayRef< StdModuleManifest::Module > ManifestEntries, Compilation &C, InputList &Inputs)
 Constructs compilation inputs for each module listed in the provided Standard library module manifest.
void runModulesDriver (Compilation &C, ArrayRef< StdModuleManifest::Module > ManifestEntries)
 Scans the compilation inputs for module dependencies and adjusts the compilation to build and supply those modules as required.
static bool fromJSON (const llvm::json::Value &Params, StdModuleManifest::Module::LocalArguments &LocalArgs, llvm::json::Path P)
static bool fromJSON (const llvm::json::Value &Params, StdModuleManifest::Module &ModuleEntry, llvm::json::Path P)
static bool fromJSON (const llvm::json::Value &Params, StdModuleManifest &Manifest, llvm::json::Path P)

Function Documentation

◆ buildStdModuleManifestInputs()

void clang::driver::modules::buildStdModuleManifestInputs ( ArrayRef< StdModuleManifest::Module > ManifestEntries,
Compilation & C,
InputList & Inputs )

Constructs compilation inputs for each module listed in the provided Standard library module manifest.

Parameters
ManifestEntriesAll entries of the Standard library module manifest.
CThe Compilation being built.
InputsThe input list to which the new module inputs are appended.

Definition at line 115 of file ModulesDriver.cpp.

References clang::C, and clang::driver::makeInputArg().

Referenced by clang::driver::Driver::BuildCompilation().

◆ fromJSON() [1/3]

bool clang::driver::modules::fromJSON ( const llvm::json::Value & Params,
StdModuleManifest & Manifest,
llvm::json::Path P )
static

◆ fromJSON() [2/3]

◆ fromJSON() [3/3]

bool clang::driver::modules::fromJSON ( const llvm::json::Value & Params,
StdModuleManifest::Module::LocalArguments & LocalArgs,
llvm::json::Path P )
static

◆ readStdModuleManifest()

llvm::Expected< StdModuleManifest > clang::driver::modules::readStdModuleManifest ( llvm::StringRef ManifestPath,
llvm::vfs::FileSystem & VFS )

Reads the Standard library module manifest at ManifestPath.

Assumes that all file paths specified in the manifest are relative to ManifestPath and converts them to absolute.

Returns
The parsed manifest on success; otherwise, a llvm::FileError or llvm::json::ParseError.

References clang::C.

Referenced by clang::driver::Driver::BuildCompilation().

◆ runModulesDriver()

void clang::driver::modules::runModulesDriver ( Compilation & C,
ArrayRef< StdModuleManifest::Module > ManifestEntries )

Scans the compilation inputs for module dependencies and adjusts the compilation to build and supply those modules as required.

Parameters
CThe Compilation being built.
ManifestEntriesAll entries of the Standard library module manifest.

Definition at line 197 of file ModulesDriver.cpp.

References applyArgsForStdModuleManifestInputs(), buildManifestLookupMap(), and clang::C.

Referenced by clang::driver::Driver::BuildCompilation().