diff options
author | kylo252 <59826753+kylo252@users.noreply.github.com> | 2022-02-16 19:24:07 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-02-16 19:24:07 +0000 |
commit | ae6f1d8b14c2f63811ee83ef14e32086fb3e9b83 (patch) | |
tree | 4982335c2afa3ef8515860dabea038acbc2af406 /src/evalfunc.c | |
parent | d288eaad846f0e07e0141226f97d858dcf96cb78 (diff) |
patch 8.2.4402: missing parenthesis may cause unexpected problemsv8.2.4402
Problem: Missing parenthesis may cause unexpected problems.
Solution: Add more parenthesis is macros. (closes #9788)
Diffstat (limited to 'src/evalfunc.c')
-rw-r--r-- | src/evalfunc.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index 88b8f89e26..7c313f5d13 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -7878,21 +7878,21 @@ init_srand(UINT32_T *x) *x = vim_time(); } -#define ROTL(x, k) ((x << k) | (x >> (32 - k))) +#define ROTL(x, k) (((x) << (k)) | ((x) >> (32 - (k)))) #define SPLITMIX32(x, z) ( \ - z = (x += 0x9e3779b9), \ - z = (z ^ (z >> 16)) * 0x85ebca6b, \ - z = (z ^ (z >> 13)) * 0xc2b2ae35, \ - z ^ (z >> 16) \ + (z) = ((x) += 0x9e3779b9), \ + (z) = ((z) ^ ((z) >> 16)) * 0x85ebca6b, \ + (z) = ((z) ^ ((z) >> 13)) * 0xc2b2ae35, \ + (z) ^ ((z) >> 16) \ ) #define SHUFFLE_XOSHIRO128STARSTAR(x, y, z, w) \ - result = ROTL(y * 5, 7) * 9; \ - t = y << 9; \ - z ^= x; \ - w ^= y; \ - y ^= z, x ^= w; \ - z ^= t; \ - w = ROTL(w, 11); + result = ROTL((y) * 5, 7) * 9; \ + t = (y) << 9; \ + (z) ^= (x); \ + (w) ^= (y); \ + (y) ^= (z), (x) ^= (w); \ + (z) ^= t; \ + (w) = ROTL(w, 11); /* * "rand()" function |