From d046082c501d3501a24c143dff2cfa42939549b9 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 17 Jan 2025 14:52:28 -0800 Subject: Add diagnostic for function body followed by a `;`;. (#6122) --- tests/language-feature/empty-struct-method.slang | 37 ++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests/language-feature/empty-struct-method.slang (limited to 'tests/language-feature/empty-struct-method.slang') diff --git a/tests/language-feature/empty-struct-method.slang b/tests/language-feature/empty-struct-method.slang new file mode 100644 index 000000000..2467013ac --- /dev/null +++ b/tests/language-feature/empty-struct-method.slang @@ -0,0 +1,37 @@ +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK):-target spirv + +struct Light +{ + float3 position; + float radius; + + float3 color; + float intensity; +}; + +[vk::binding(0, 0)] +StructuredBuffer globalLightList; + +struct Lighting +{ + //CHECK: ([[# @LINE+1]]): error 20102 + float3 DoLighting(Light light); + { + // Not emitted + return float3(1.0, 1.0, 1.0); + } +}; + +[shader("fragment")] +float4 fragment(float4 color: COLOR0) +{ + float4 albedo = color; + + if (albedo.a < 0.025) + discard; + + Lighting light = Lighting(); + albedo.xyz = light.DoLighting(globalLightList[0]); + + return albedo; +} \ No newline at end of file -- cgit v1.2.3