================
@@ -157,6 +157,18 @@ static bool ShouldDiagnoseAvailabilityInContext(
     }
   }
 
+  // In HLSL, emit diagnostic during parsing only if the diagnostic
+  // mode is set to strict (-fhlsl-strict-availability), and either the decl
+  // availability is not restricted to a specific environment/shader stage,
+  // or the target stage is known (= it is not shader library).
+  if (S.getLangOpts().HLSL) {
+    if (!S.getLangOpts().HLSLStrictAvailability ||
+        (DeclEnv != nullptr &&
+         S.getASTContext().getTargetInfo().getTriple().getEnvironment() ==
+             llvm::Triple::EnvironmentType::Library))
+      return false;
+  }
----------------
damyanp wrote:

Nit, and maybe not worth doing, but I had to read this a few times because the 
comment is written in the opposite way to the code.

```suggestion
  if (S.getLangOpts().HLSL) {
    bool emitDiagnostics = S.getLangOpts().HLSLStrictAvailability && (
      DeclEnv == nullptr || 
      S.getASTContext().getTargetInfo().getTriple().getEnvironment() !=
        llvm::Triple::EnvironmentType::Library);
             
    if (!emitDiagnostics)
        return false;
  }          
```

https://github.com/llvm/llvm-project/pull/93860
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to