================ @@ -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 cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits