[clang] [HLSL] Implement '__builtin_hlsl_is_intangible' type trait (PR #104544)
Greg Roth via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 26 12:40:35 PDT 2024
================
@@ -5683,6 +5685,14 @@ static bool EvaluateUnaryTypeTrait(Sema &Self, TypeTrait UTT,
return true;
return false;
}
+ case UTT_IsIntangibleType:
+ if (!T->isVoidType() && !T->isIncompleteArrayType())
+ if (Self.RequireCompleteType(TInfo->getTypeLoc().getBeginLoc(), T,
+ diag::err_incomplete_type))
+ return false;
+ DiagnoseVLAInCXXTypeTrait(Self, TInfo,
+ tok::kw___builtin_hlsl_is_intangible);
+ return Self.HLSL().IsIntangibleType(T);
----------------
pow2clk wrote:
I'm afraid that this and the change above are confusing me. Can you explain a bit what purpose these functions serve? I'm not even sure what returning true really means. This is why I favor negatable verbs at the start of functions returning bool like `has`* or `is`* . I don't know what to expect from `Check`* or `Evaluate`* 😒
https://github.com/llvm/llvm-project/pull/104544
More information about the cfe-commits
mailing list