================
@@ -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
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits