mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-09-13 09:16:14 -07: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
|
||||
WS [ \t]
|
||||
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]+ {return T_TEXT;}
|
||||
<INITIAL,LINE>0[xX][0-9a-fA-f]+[ul]{0,2} {return T_INTEGER;}
|
||||
<INITIAL,LINE>0[0-7]*[ul]{0,2} {return T_INTEGER;}
|
||||
<INITIAL,LINE>[1-9][0-9]*[ul]{0,2} {return T_INTEGER;}
|
||||
<INITIAL,LINE>0[xX][0-9a-fA-f]+{INT_SUFFIX} {return T_INTEGER;}
|
||||
<INITIAL,LINE>0[0-7]*{INT_SUFFIX} {return T_INTEGER;}
|
||||
<INITIAL,LINE>[1-9][0-9]*{INT_SUFFIX} {return T_INTEGER;}
|
||||
|
||||
<INITIAL>## {return T_CONCAT;}
|
||||
|
||||
|
@ -99,6 +99,39 @@ pass
|
||||
pass
|
||||
#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]
|
||||
/* All math is done using unsigned 32-bit integers. */
|
||||
#if 8 / -3 == 2
|
||||
|
Loading…
Reference in New Issue
Block a user