diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2018-07-21 15:01:12 +0200 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2018-07-23 01:40:31 +0200 |
| commit | efdefb100d086aaabf20d475c3d1a65cbceeb534 (patch) | |
| tree | 364d3bb7dd1a389d555dbd24159421e91b44add4 /sparse.c | |
| parent | 4b6723ef4d91fc0859d84208c1896d14477cec1e (diff) | |
| download | sparse-dev-efdefb100d086aaabf20d475c3d1a65cbceeb534.tar.gz | |
big-shift: fix evaluation of shift-assign
The right hand side of a shift operation must be of integer type
and do the integer promotion and nothing else. More precisely, the
RHS and the LFS type doesn't need to match.
This is correctly done for plain shifts but not for shift-assigns
where the full usual conversion is wrongly applied.
Fix this by special casing shifts in evaluate_assign_op() and
just apply the integer promotion on the RHS, like done for shifts
in evaluate_binop().
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'sparse.c')
0 files changed, 0 insertions, 0 deletions
