[clang] [HLSL] Implement '__builtin_hlsl_is_intangible' type trait (PR #104544)

Justin Bogner via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 26 11:10:26 PDT 2024


================
@@ -1154,3 +1156,70 @@ bool SemaHLSL::CheckBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
   }
   return false;
 }
+
+static bool calculateIsIntangibleType(QualType Ty) {
+  Ty = Ty->getCanonicalTypeUnqualified();
+  if (Ty->isBuiltinType())
+    return Ty->isHLSLSpecificType();
+
+  llvm::SmallVector<QualType, 8> TypesToScan;
----------------
bogner wrote:

Do you have a reason to expect 8 types specifically? If not, it's better to use `llvm::SmallVector<QualType>`, which will calculate a reasonable small size based on the size of the elements.

https://github.com/llvm/llvm-project/pull/104544


More information about the cfe-commits mailing list