================ @@ -112,17 +116,13 @@ struct BuiltinTypeDeclBuilder { Ty = Record->getASTContext().getPointerType( QualType(TTD->getTypeForDecl(), 0)); } - return addMemberVariable("h", Ty, Access); - } - - BuiltinTypeDeclBuilder &annotateHLSLResource(ResourceClass RC, - ResourceKind RK, bool IsROV) { - if (Record->isCompleteDefinition()) - return *this; - Record->addAttr( + // add handle member + llvm::SmallVector<Attr *, 2> Attrs; + Attrs.push_back( HLSLResourceClassAttr::CreateImplicit(Record->getASTContext(), RC)); - Record->addAttr( + Attrs.push_back( HLSLResourceAttr::CreateImplicit(Record->getASTContext(), RK, IsROV)); + addMemberVariable("h", Ty, Attrs, Access); ---------------- bogner wrote:
With the change to use `ArrayRef` above, I find constructing the array as part of the call slightly more readable: ```c++ Attr *ResourceClassAttr = HLSLResourceClassAttr::CreateImplicit(Record->getASTContext(), RC); Attr *ResourceAttr = HLSLResourceClassAttr::CreateImplicit(Record->getASTContext(), RC); addMemberVariable("h", Ty, {ResourceClassAttr, ResourceAttr}, Access); ``` https://github.com/llvm/llvm-project/pull/101433 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits