Frontend: Do not suggest mode correction if adoption is not supported

This commit is contained in:
Anthony Latsis
2025-02-20 23:34:45 +00:00
parent 756abb9284
commit 2a88419f5c
3 changed files with 12 additions and 9 deletions

View File

@@ -823,16 +823,19 @@ static bool ParseEnabledFeatureArgs(LangOptions &Opts, ArgList &Args,
if (featureMode) {
if (isEnableFeatureFlag) {
const auto isAdoptable = isFeatureAdoptable(*feature);
// Diagnose an invalid mode.
StringRef validModeName = "adoption";
if (*featureMode != validModeName) {
Diags.diagnose(SourceLoc(), diag::invalid_feature_mode, *featureMode,
featureName,
/*didYouMean=*/validModeName);
/*didYouMean=*/validModeName,
/*showDidYouMean=*/isAdoptable);
continue;
}
if (!isFeatureAdoptable(*feature)) {
if (!isAdoptable) {
Diags.diagnose(SourceLoc(),
diag::feature_does_not_support_adoption_mode,
featureName);