projects
/
reactos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[WIDL] Sync with Wine Staging 1.9.16. CORE-11866
[reactos.git]
/
reactos
/
sdk
/
tools
/
widl
/
expr.c
diff --git
a/reactos/sdk/tools/widl/expr.c
b/reactos/sdk/tools/widl/expr.c
index
0ada012
..
cf97c7e
100644
(file)
--- a/
reactos/sdk/tools/widl/expr.c
+++ b/
reactos/sdk/tools/widl/expr.c
@@
-222,8
+222,8
@@
expr_t *make_exprt(enum expr_type type, var_t *var, expr_t *expr)
e->is_const = TRUE;
if (is_signed_integer_type(tref))
{
e->is_const = TRUE;
if (is_signed_integer_type(tref))
{
- cast_mask = (1 << (cast_type_bits - 1)) - 1;
- if (expr->cval & (1 << (cast_type_bits - 1)))
+ cast_mask = (1
u
<< (cast_type_bits - 1)) - 1;
+ if (expr->cval & (1
u
<< (cast_type_bits - 1)))
e->cval = -((-expr->cval) & cast_mask);
else
e->cval = expr->cval & cast_mask;
e->cval = -((-expr->cval) & cast_mask);
else
e->cval = expr->cval & cast_mask;
@@
-231,8
+231,8
@@
expr_t *make_exprt(enum expr_type type, var_t *var, expr_t *expr)
else
{
/* calculate ((1 << cast_type_bits) - 1) avoiding overflow */
else
{
/* calculate ((1 << cast_type_bits) - 1) avoiding overflow */
- cast_mask = ((1 << (cast_type_bits - 1)) - 1) |
- 1 << (cast_type_bits - 1);
+ cast_mask = ((1
u
<< (cast_type_bits - 1)) - 1) |
+ 1
u
<< (cast_type_bits - 1);
e->cval = expr->cval & cast_mask;
}
}
e->cval = expr->cval & cast_mask;
}
}