diff --git a/dlls/d3dcompiler_43/hlsl.y b/dlls/d3dcompiler_43/hlsl.y
index eedf357b3d91eb462996f52c1061e800756bf0e3..33db86b2feadfcddf9e34998334e457ce350a118 100644
--- a/dlls/d3dcompiler_43/hlsl.y
+++ b/dlls/d3dcompiler_43/hlsl.y
@@ -396,6 +396,11 @@ func_prototype:           var_modifiers type var_identifier '(' parameters ')' s
                                             HLSL_LEVEL_ERROR, "redefinition of '%s'\n", $3);
                                     return 1;
                                 }
+                                if ($2->base_type == HLSL_TYPE_VOID && $7)
+                                {
+                                    hlsl_report_message(hlsl_ctx.source_file, @7.first_line, @7.first_column,
+                                            HLSL_LEVEL_ERROR, "void function with a semantic");
+                                }
 
                                 $$ = new_func_decl($3, $2, $5);
                                 if (!$$)