diff options
author | Helena Kotas <hekotas@microsoft.com> | 2024-10-24 10:34:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-24 10:34:04 -0700 |
commit | af872d5473e7e1132e0ec8e146d28af239196c53 (patch) | |
tree | 0f24f78102a63834805129f4d80e64dbb4cb9100 /clang/lib/Sema/HLSLExternalSemaSource.cpp | |
parent | 4bce21480fc52bf583b6bfe5072f9eb70c21f6e4 (diff) | |
download | llvm-af872d5473e7e1132e0ec8e146d28af239196c53.zip llvm-af872d5473e7e1132e0ec8e146d28af239196c53.tar.gz llvm-af872d5473e7e1132e0ec8e146d28af239196c53.tar.bz2 |
[HLSL] Add RWStructuredBuffer definition to HLSLExternalSemaSource (#113477)
Add tests for RWStructuredBuffer class definition. Use shared test files
for all structured buffers' constructor and subscript tests. Keep AST
and element-type tests separate for each buffer type because they longer
and failures would be harder to match.
Fixes #112775
Diffstat (limited to 'clang/lib/Sema/HLSLExternalSemaSource.cpp')
-rw-r--r-- | clang/lib/Sema/HLSLExternalSemaSource.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Sema/HLSLExternalSemaSource.cpp b/clang/lib/Sema/HLSLExternalSemaSource.cpp index 50bb307..ce85644 100644 --- a/clang/lib/Sema/HLSLExternalSemaSource.cpp +++ b/clang/lib/Sema/HLSLExternalSemaSource.cpp @@ -519,6 +519,17 @@ void HLSLExternalSemaSource::defineHLSLTypesWithForwardDeclarations() { .addArraySubscriptOperators() .completeDefinition(); }); + + Decl = BuiltinTypeDeclBuilder(*SemaPtr, HLSLNamespace, "RWStructuredBuffer") + .addSimpleTemplateParams(*SemaPtr, {"element_type"}) + .Record; + onCompletion(Decl, [this](CXXRecordDecl *Decl) { + setupBufferType(Decl, *SemaPtr, ResourceClass::UAV, + ResourceKind::TypedBuffer, /*IsROV=*/false, + /*RawBuffer=*/true) + .addArraySubscriptOperators() + .completeDefinition(); + }); } void HLSLExternalSemaSource::onCompletion(CXXRecordDecl *Record, |