Mercurial > vim
diff src/testdir/test_vim9_disassemble.vim @ 28962:abdea69d21b6 v8.2.5003
patch 8.2.5003: cannot do bitwise shifts
Commit: https://github.com/vim/vim/commit/a061f34191712df7dde7716705fe0ec074e9758e
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sun May 22 19:13:49 2022 +0100
patch 8.2.5003: cannot do bitwise shifts
Problem: Cannot do bitwise shifts.
Solution: Add the >> and << operators. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/8457)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 22 May 2022 20:15:03 +0200 |
parents | a712ea475390 |
children | 35cbea786334 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -2864,4 +2864,31 @@ def Test_disassemble_string_interp() instr) enddef +def BitShift() + var a = 1 << 2 + var b = 8 >> 1 + var c = a << b + var d = b << a +enddef + +def Test_disassemble_bitshift() + var instr = execute('disassemble BitShift') + assert_match('BitShift\_s*' .. + 'var a = 1 << 2\_s*' .. + '0 STORE 4 in $0\_s*' .. + 'var b = 8 >> 1\_s*' .. + '1 STORE 4 in $1\_s*' .. + 'var c = a << b\_s*' .. + '2 LOAD $0\_s*' .. + '3 LOAD $1\_s*' .. + '4 OPNR <<\_s*' .. + '5 STORE $2\_s*' .. + 'var d = b << a\_s*' .. + '6 LOAD $1\_s*' .. + '7 LOAD $0\_s*' .. + '8 OPNR <<\_s*' .. + '9 STORE $3\_s*' .. + '10 RETURN void', instr) +enddef + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker