================ @@ -784,6 +785,17 @@ void SemaHLSL::handleSV_DispatchThreadIDAttr(Decl *D, const ParsedAttr &AL) { HLSLSV_DispatchThreadIDAttr(getASTContext(), AL)); } +void SemaHLSL::handleSV_GroupIDAttr(Decl *D, const ParsedAttr &AL) { + auto *VD = cast<ValueDecl>(D); + if (!isLegalTypeForHLSLSV_ThreadOrGroupID(VD->getType())) { + Diag(AL.getLoc(), diag::err_hlsl_attr_invalid_type) + << AL << "uint/uint2/uint3"; ---------------- llvm-beanz wrote:
Since this is the same diagnostic as `SV_DispatchThreadID` (and others we haven't handled yet), maybe we should move the diagnostic into `isLegalTypeForHLSLSV_DispatchThreadID`, and change that function name to something like `diagnoseInputIDType`. Then if the function returns false, this could just early out knowing the diagnostic came from the called function. That will reduce code duplication. https://github.com/llvm/llvm-project/pull/115911 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits