[clang] Implement resource binding type prefix mismatch flag setting logic (PR #97103)
Chris B via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 8 18:05:06 PDT 2024
================
@@ -437,7 +453,409 @@ void SemaHLSL::handleShaderAttr(Decl *D, const ParsedAttr &AL) {
D->addAttr(NewAttr);
}
+struct RegisterBindingFlags {
+ bool Resource = false;
+ bool Udt = false;
+ bool Other = false;
+ bool Basic = false;
+
+ bool Srv = false;
+ bool Uav = false;
+ bool Cbv = false;
+ bool Sampler = false;
+
+ bool ContainsNumeric = false;
+ bool DefaultGlobals = false;
+};
+
+bool isDeclaredWithinCOrTBuffer(const Decl *decl) {
+ if (!decl)
+ return false;
+
+ // Traverse up the parent contexts
+ const DeclContext *context = decl->getDeclContext();
+ while (context) {
----------------
llvm-beanz wrote:
What are the cases where we need to traverse up more than one level here?
https://github.com/llvm/llvm-project/pull/97103
More information about the cfe-commits
mailing list