llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Cyndy Ishida (cyndyishida) <details> <summary>Changes</summary> Previously, diagnostics like `error: 'fNew' is unavailable: introduced in macOS 11 unknown` were getting emitted when the active target triple didn't have an environment tied to it. Instead, add a guard against this to avoid the `unknown`. --- Full diff: https://github.com/llvm/llvm-project/pull/138610.diff 1 Files Affected: - (modified) clang/lib/AST/DeclBase.cpp (+8-6) ``````````diff diff --git a/clang/lib/AST/DeclBase.cpp b/clang/lib/AST/DeclBase.cpp index fead99c5f28a9..47857e7fd523b 100644 --- a/clang/lib/AST/DeclBase.cpp +++ b/clang/lib/AST/DeclBase.cpp @@ -695,11 +695,13 @@ static AvailabilityResult CheckAvailability(ASTContext &Context, if (!A->getIntroduced().empty() && EnclosingVersion < A->getIntroduced()) { IdentifierInfo *IIEnv = A->getEnvironment(); - StringRef TargetEnv = - Context.getTargetInfo().getTriple().getEnvironmentName(); - StringRef EnvName = llvm::Triple::getEnvironmentTypeName( - Context.getTargetInfo().getTriple().getEnvironment()); - // Matching environment or no environment on attribute + auto &Triple = Context.getTargetInfo().getTriple(); + StringRef TargetEnv = Triple.getEnvironmentName(); + StringRef EnvName = + Triple.hasEnvironment() + ? llvm::Triple::getEnvironmentTypeName(Triple.getEnvironment()) + : ""; + // Matching environment or no environment on attribute. if (!IIEnv || (!TargetEnv.empty() && IIEnv->getName() == TargetEnv)) { if (Message) { Message->clear(); @@ -709,7 +711,7 @@ static AvailabilityResult CheckAvailability(ASTContext &Context, << EnvName << HintMessage; } } - // Non-matching environment or no environment on target + // Non-matching environment or no environment on target. else { if (Message) { Message->clear(); `````````` </details> https://github.com/llvm/llvm-project/pull/138610 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits