summaryrefslogtreecommitdiffstats
path: root/tests/diagnostics/void-function-returning-value.slang
diff options
context:
space:
mode:
Diffstat (limited to 'tests/diagnostics/void-function-returning-value.slang')
-rw-r--r--tests/diagnostics/void-function-returning-value.slang25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/diagnostics/void-function-returning-value.slang b/tests/diagnostics/void-function-returning-value.slang
new file mode 100644
index 000000000..558e37dbc
--- /dev/null
+++ b/tests/diagnostics/void-function-returning-value.slang
@@ -0,0 +1,25 @@
+// void-function-returning-value.slang
+
+// Confirm that we diagnose a `void` function that returns a value.
+
+//DIAGNOSTIC_TEST:SIMPLE:-stage compute -entry main -target dxbc
+
+void good()
+{
+ // Explicit cast to `void` is okay.
+ return (void)1;
+}
+
+void bad()
+{
+ // Implicit cast to `void` is not allowed.
+ return 1;
+}
+
+[numthreads(1, 1, 1)]
+void main(
+ uint3 dispatchThreadID : SV_DispatchThreadID)
+{
+ good();
+ bad();
+} \ No newline at end of file