mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader: Implement the "defined" keyword.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Matteo Bruni <mbruni@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
committed by
Alexandre Julliard
parent
1a326d16c6
commit
d31f288111
@@ -331,6 +331,7 @@ static void free_parse_arg_names(struct parse_arg_names *args)
|
||||
%token T_UNDEF "#undef"
|
||||
|
||||
%token T_CONCAT "##"
|
||||
%token T_DEFINED "defined"
|
||||
|
||||
%type <integer> expr
|
||||
%type <string> body_token
|
||||
@@ -429,6 +430,10 @@ body_token_const
|
||||
{
|
||||
$$ = "##";
|
||||
}
|
||||
| T_DEFINED
|
||||
{
|
||||
$$ = "defined";
|
||||
}
|
||||
|
||||
directive
|
||||
: T_DEFINE T_IDENTIFIER body_text T_NEWLINE
|
||||
@@ -583,3 +588,13 @@ expr
|
||||
$$ = preproc_parse_integer($1);
|
||||
vkd3d_free($1);
|
||||
}
|
||||
| T_DEFINED T_IDENTIFIER
|
||||
{
|
||||
$$ = !!preproc_find_macro(ctx, $2);
|
||||
vkd3d_free($2);
|
||||
}
|
||||
| T_DEFINED '(' T_IDENTIFIER ')'
|
||||
{
|
||||
$$ = !!preproc_find_macro(ctx, $3);
|
||||
vkd3d_free($3);
|
||||
}
|
||||
|
Reference in New Issue
Block a user