[clang] [HLSL] Add testing for space parameter on global constants (PR #106782)
Damyan Pepper via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 13 09:47:22 PDT 2024
================
@@ -0,0 +1,56 @@
+// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl -o - -fsyntax-only %s -verify
+
+// valid
+cbuffer cbuf {
+ RWBuffer<int> r : register(u0, space0);
+}
+
+cbuffer cbuf2 {
+ struct x {
+ // expected-error at +1 {{'register' attribute only applies to cbuffer/tbuffer and external global variables}}
+ RWBuffer<int> E : register(u2, space3);
+ };
+}
+
+struct MyStruct {
+ RWBuffer<int> E;
+};
+
+cbuffer cbuf3 {
+ MyStruct E : register(u2, space3);
----------------
damyanp wrote:
> https://godbolt.org/z/G7cKdP3hY cbuffer cbuf3 { float a : register(u2, space3); }
That's not the same case that's in the test. This case has a numeric type, but the test has a UDT. These have different rules.
https://github.com/llvm/llvm-project/pull/106782
More information about the cfe-commits
mailing list