Skip to content

Commit cca110b

Browse files
fixing merge issues
1 parent 684e0e0 commit cca110b

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

clang/lib/Sema/HLSLExternalSemaSource.cpp

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,25 @@ namespace {
3636
struct TemplateParameterListBuilder;
3737

3838
class BuiltinTypeDeclBuilder {
39-
CXXRecordDecl *Record = nullptr;
4039
ClassTemplateDecl *Template = nullptr;
4140
ClassTemplateDecl *PrevTemplate = nullptr;
4241
NamespaceDecl *HLSLNamespace = nullptr;
4342
llvm::StringMap<FieldDecl *> Fields;
4443

4544
public:
45+
Sema &SemaRef;
46+
CXXRecordDecl *Record = nullptr;
4647
friend struct TemplateParameterListBuilder;
4748

48-
BuiltinTypeDeclBuilder(CXXRecordDecl *R) : Record(R) {
49+
BuiltinTypeDeclBuilder(Sema &SemaRef, CXXRecordDecl *R)
50+
: SemaRef(SemaRef), Record(R) {
4951
Record->startDefinition();
5052
Template = Record->getDescribedClassTemplate();
5153
}
5254

5355
BuiltinTypeDeclBuilder(Sema &SemaRef, NamespaceDecl *Namespace,
5456
StringRef Name)
55-
: SemaRef(SemaRef), HLSLNamespace(Namespace) {
57+
: HLSLNamespace(Namespace), SemaRef(SemaRef) {
5658
ASTContext &AST = SemaRef.getASTContext();
5759
IdentifierInfo &II = AST.Idents.get(Name, tok::TokenKind::identifier);
5860

@@ -553,10 +555,10 @@ struct BuiltinTypeMethodBuilder {
553555

554556
// create method decl
555557
auto *TSInfo = AST.getTrivialTypeSourceInfo(MethodTy, SourceLocation());
556-
Method =
557-
CXXMethodDecl::Create(AST, DeclBuilder.Record, SourceLocation(),
558-
NameInfo, MethodTy, TSInfo, SC_None, false, false,
559-
ConstexprSpecKind::Unspecified, SourceLocation());
558+
Method = CXXMethodDecl::Create(
559+
AST, DeclBuilder.finalizeForwardDeclaration(), SourceLocation(),
560+
NameInfo, MethodTy, TSInfo, SC_None, false, false,
561+
ConstexprSpecKind::Unspecified, SourceLocation());
560562

561563
// create params & set them to the function prototype
562564
SmallVector<ParmVarDecl *> ParmDecls;
@@ -875,8 +877,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
875877
ConceptDecl *TypedBufferConcept =
876878
constructTypedBufferConceptDecl(*SemaPtr, HLSLNamespace);
877879
Decl = BuiltinTypeDeclBuilder(*SemaPtr, HLSLNamespace, "RWBuffer")
878-
.addSimpleTemplateParams(*SemaPtr, {"element_type"},
879-
TypedBufferConcept)
880+
.addSimpleTemplateParams({"element_type"}, TypedBufferConcept)
880881
.finalizeForwardDeclaration();
881882

882883
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
@@ -889,7 +890,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
889890

890891
Decl =
891892
BuiltinTypeDeclBuilder(*SemaPtr, HLSLNamespace, "RasterizerOrderedBuffer")
892-
.addSimpleTemplateParams(*SemaPtr, {"element_type"})
893+
.addSimpleTemplateParams({"element_type"})
893894
.finalizeForwardDeclaration();
894895
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
895896
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV,
@@ -900,7 +901,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
900901
});
901902

902903
Decl = BuiltinTypeDeclBuilder(*SemaPtr, HLSLNamespace, "StructuredBuffer")
903-
.addSimpleTemplateParams(*SemaPtr, {"element_type"})
904+
.addSimpleTemplateParams({"element_type"})
904905
.finalizeForwardDeclaration();
905906
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
906907
setupBufferType(Decl, *SemaPtr, ResourceClass::SRV, ResourceKind::RawBuffer,
@@ -910,7 +911,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
910911
});
911912

912913
Decl = BuiltinTypeDeclBuilder(*SemaPtr, HLSLNamespace, "RWStructuredBuffer")
913-
.addSimpleTemplateParams(*SemaPtr, {"element_type"})
914+
.addSimpleTemplateParams({"element_type"})
914915
.finalizeForwardDeclaration();
915916
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
916917
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
@@ -923,7 +924,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
923924

924925
Decl =
925926
BuiltinTypeDeclBuilder(*SemaPtr, HLSLNamespace, "AppendStructuredBuffer")
926-
.addSimpleTemplateParams(*SemaPtr, {"element_type"})
927+
.addSimpleTemplateParams({"element_type"})
927928
.finalizeForwardDeclaration();
928929
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
929930
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
@@ -933,7 +934,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
933934

934935
Decl =
935936
BuiltinTypeDeclBuilder(*SemaPtr, HLSLNamespace, "ConsumeStructuredBuffer")
936-
.addSimpleTemplateParams(*SemaPtr, {"element_type"})
937+
.addSimpleTemplateParams({"element_type"})
937938
.finalizeForwardDeclaration();
938939
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
939940
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,
@@ -943,7 +944,7 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() {
943944

944945
Decl = BuiltinTypeDeclBuilder(*SemaPtr, HLSLNamespace,
945946
"RasterizerOrderedStructuredBuffer")
946-
.addSimpleTemplateParams(*SemaPtr, {"element_type"})
947+
.addSimpleTemplateParams({"element_type"})
947948
.finalizeForwardDeclaration();
948949
onCompletion(Decl, [this](CXXRecordDecl *Decl) {
949950
setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, ResourceKind::RawBuffer,

0 commit comments

Comments
 (0)