d3dcompiler: Fail if modifiers are applied to a function.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Matteo Bruni <mbruni@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
eb4fc30463
commit
afd3a1e388
|
@ -1322,8 +1322,15 @@ func_declaration: func_prototype compound_statement
|
|||
pop_scope(&hlsl_ctx);
|
||||
}
|
||||
|
||||
/* var_modifiers is necessary to avoid shift/reduce conflicts. */
|
||||
func_prototype: var_modifiers type var_identifier '(' parameters ')' colon_attribute
|
||||
{
|
||||
if ($1)
|
||||
{
|
||||
hlsl_report_message(get_location(&@1), HLSL_LEVEL_ERROR,
|
||||
"unexpected modifiers on a function");
|
||||
YYABORT;
|
||||
}
|
||||
if (get_variable(hlsl_ctx.globals, $3))
|
||||
{
|
||||
hlsl_report_message(get_location(&@3),
|
||||
|
|
|
@ -925,6 +925,11 @@ static void test_fail(void)
|
|||
" float a[(x = 2)];\n"
|
||||
" return float4(0, 0, 0, 0);\n"
|
||||
"}",
|
||||
|
||||
"uniform float4 test() : SV_TARGET\n"
|
||||
"{\n"
|
||||
" return float4(0, 0, 0, 0);\n"
|
||||
"}",
|
||||
};
|
||||
|
||||
static const char *targets[] = {"ps_2_0", "ps_3_0", "ps_4_0"};
|
||||
|
|
Loading…
Reference in New Issue