mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-shader/preproc: Allow capital U and L after integer constants as well.
Technically we shouldn't allow "uu" or "ll" either, but we also don't really handle preprocessor parsing errors the way we should. Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com> Signed-off-by: Matteo Bruni <mbruni@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
4e36c1825d
commit
13a1ba4263
@ -57,6 +57,7 @@ static void update_location(struct preproc_ctx *ctx);
|
|||||||
NEWLINE \r?\n
|
NEWLINE \r?\n
|
||||||
WS [ \t]
|
WS [ \t]
|
||||||
IDENTIFIER [A-Za-z_][A-Za-z0-9_]*
|
IDENTIFIER [A-Za-z_][A-Za-z0-9_]*
|
||||||
|
INT_SUFFIX [uUlL]{0,2}
|
||||||
|
|
||||||
%%
|
%%
|
||||||
|
|
||||||
@ -92,9 +93,9 @@ IDENTIFIER [A-Za-z_][A-Za-z0-9_]*
|
|||||||
<INITIAL>[0-9]+\.([eE][+-]?[0-9]+)?[hHfF]? {return T_TEXT;}
|
<INITIAL>[0-9]+\.([eE][+-]?[0-9]+)?[hHfF]? {return T_TEXT;}
|
||||||
<INITIAL>[0-9]+([eE][+-]?[0-9]+)?[hHfF] {return T_TEXT;}
|
<INITIAL>[0-9]+([eE][+-]?[0-9]+)?[hHfF] {return T_TEXT;}
|
||||||
<INITIAL>[0-9]+[eE][+-]?[0-9]+ {return T_TEXT;}
|
<INITIAL>[0-9]+[eE][+-]?[0-9]+ {return T_TEXT;}
|
||||||
<INITIAL,LINE>0[xX][0-9a-fA-f]+[ul]{0,2} {return T_INTEGER;}
|
<INITIAL,LINE>0[xX][0-9a-fA-f]+{INT_SUFFIX} {return T_INTEGER;}
|
||||||
<INITIAL,LINE>0[0-7]*[ul]{0,2} {return T_INTEGER;}
|
<INITIAL,LINE>0[0-7]*{INT_SUFFIX} {return T_INTEGER;}
|
||||||
<INITIAL,LINE>[1-9][0-9]*[ul]{0,2} {return T_INTEGER;}
|
<INITIAL,LINE>[1-9][0-9]*{INT_SUFFIX} {return T_INTEGER;}
|
||||||
|
|
||||||
<INITIAL>## {return T_CONCAT;}
|
<INITIAL>## {return T_CONCAT;}
|
||||||
|
|
||||||
|
@ -99,6 +99,39 @@ pass
|
|||||||
pass
|
pass
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
[preproc]
|
||||||
|
#if 2u == 2
|
||||||
|
pass
|
||||||
|
#else
|
||||||
|
fail
|
||||||
|
#endif
|
||||||
|
|
||||||
|
[preproc]
|
||||||
|
#if 2l == 2
|
||||||
|
pass
|
||||||
|
#else
|
||||||
|
fail
|
||||||
|
#endif
|
||||||
|
|
||||||
|
[preproc]
|
||||||
|
#if 2Ul == 2
|
||||||
|
pass
|
||||||
|
#else
|
||||||
|
fail
|
||||||
|
#endif
|
||||||
|
|
||||||
|
[preproc]
|
||||||
|
#if 2uL == 2
|
||||||
|
pass
|
||||||
|
#else
|
||||||
|
fail
|
||||||
|
#endif
|
||||||
|
|
||||||
|
[preproc]
|
||||||
|
#if 012lu == 10
|
||||||
|
pass
|
||||||
|
#endif
|
||||||
|
|
||||||
[preproc]
|
[preproc]
|
||||||
/* All math is done using unsigned 32-bit integers. */
|
/* All math is done using unsigned 32-bit integers. */
|
||||||
#if 8 / -3 == 2
|
#if 8 / -3 == 2
|
||||||
|
Loading…
Reference in New Issue
Block a user