summaryrefslogtreecommitdiffstats
path: root/tests/parser
diff options
context:
space:
mode:
Diffstat (limited to 'tests/parser')
-rw-r--r--tests/parser/cast-precedence.hlsl20
1 files changed, 16 insertions, 4 deletions
diff --git a/tests/parser/cast-precedence.hlsl b/tests/parser/cast-precedence.hlsl
index 3383d9912..29793e4a2 100644
--- a/tests/parser/cast-precedence.hlsl
+++ b/tests/parser/cast-precedence.hlsl
@@ -3,20 +3,32 @@
// Confirm that type-cast expressions parse with
// the appropriate precedence.
-#ifndef __SLANG__
+#ifdef __SLANG__
+#define R(X) /**/
+#define BEGIN_CBUFFER(NAME) cbuffer NAME
+#define END_CBUFFER(NAME, REG) /**/
+#define CBUFFER_REF(NAME, FIELD) FIELD
+#else
+#define R(X) X
+#define BEGIN_CBUFFER(NAME) struct SLANG_ParameterGroup_##NAME
+#define END_CBUFFER(NAME, REG) ; cbuffer NAME : register(REG) { SLANG_ParameterGroup_##NAME NAME; }
+#define CBUFFER_REF(NAME, FIELD) NAME.FIELD
+
#define C C_0
#define a a_0
#define b b_0
#define SV_Position SV_POSITION
#endif
-cbuffer C : register(b0)
+BEGIN_CBUFFER(C)
{
float a;
float b;
-};
+}
+END_CBUFFER(C,b0)
+
float4 main() : SV_Position
{
- return (uint) a / b;
+ return (uint) CBUFFER_REF(C,a) / CBUFFER_REF(C,b);
}