Frontend: Introduce options for defining availability domains.

This commit is contained in:
Allan Shortlidge
2025-01-28 09:15:32 -08:00
parent 3cc3031840
commit f1156765b8
5 changed files with 100 additions and 0 deletions

View File

@@ -573,6 +573,18 @@ public:
/// All block list configuration files to be honored in this compilation.
std::vector<std::string> BlocklistConfigFilePaths;
struct CustomAvailabilityDomains {
/// Domains defined with `-define-enabled-availability-domain=`.
llvm::SmallVector<std::string> EnabledDomains;
/// Domains defined with `-define-disabled-availability-domain=`.
llvm::SmallVector<std::string> DisabledDomains;
/// Domains defined with `-define-dynamic-availability-domain=`.
llvm::SmallVector<std::string> DynamicDomains;
};
/// The collection of AvailabilityDomain definitions specified as arguments.
CustomAvailabilityDomains AvailabilityDomains;
private:
static bool canActionEmitDependencies(ActionType);
static bool canActionEmitReferenceDependencies(ActionType);