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

Reply via email to