From 7293c1c0fe81191c8e837a8cd3f3bd6b7d5a4bfa Mon Sep 17 00:00:00 2001 From: Matteo Bruni Date: Wed, 18 Jul 2012 16:25:13 +0200 Subject: [PATCH] d3dcompiler: Don't allow semantics on local variables. --- dlls/d3dcompiler_43/hlsl.y | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/d3dcompiler_43/hlsl.y b/dlls/d3dcompiler_43/hlsl.y index 5025f0cd9d7..836dffd670a 100644 --- a/dlls/d3dcompiler_43/hlsl.y +++ b/dlls/d3dcompiler_43/hlsl.y @@ -143,6 +143,12 @@ static BOOL declare_variable(struct hlsl_ir_var *decl, BOOL local) hlsl_report_message(decl->node.loc.file, decl->node.loc.line, decl->node.loc.col, HLSL_LEVEL_ERROR, "modifier '%s' invalid for local variables", debug_modifiers(invalid)); } + if (decl->semantic) + { + hlsl_report_message(decl->node.loc.file, decl->node.loc.line, decl->node.loc.col, HLSL_LEVEL_ERROR, + "semantics are not allowed on local variables"); + return FALSE; + } } else { @@ -685,7 +691,6 @@ variables_def: variable_def list_add_tail($$, &$3->entry); } - /* FIXME: Local variables can't have semantics. */ variable_def: any_identifier array semantic { $$ = d3dcompiler_alloc(sizeof(*$$));