foo.cc: In function ‘void mon(int, int, int, int, int&, int&, int&)’:
foo.cc:53:37: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
53 | if(w[a][b] >> 2 & 1 == 0 && g[a][b + 1]) bb++;
| ~~^~~~
foo.cc:59:48: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
59 | if(w[a][b] & 1 == 0 && g[a - 1][b]) aa--;
| ~~^~~~
foo.cc:64:53: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
64 | if(w[a][b] >> 3 & 1 == 0 && g[a + 1][b]) aa++;
| ~~^~~~
foo.cc:71:37: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
71 | if(w[a][b] >> 1 & 1 == 0 && g[a][b - 1]) bb--;
| ~~^~~~
foo.cc:77:48: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
77 | if(w[a][b] & 1 == 0 && g[a - 1][b]) aa--;
| ~~^~~~
foo.cc:82:53: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
82 | if(w[a][b] >> 3 & 1 == 0 && g[a + 1][b]) aa++;
| ~~^~~~
foo.cc:92:40: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
92 | if(w[a][b] & 1 == 0 && g[a - 1][b]) aa--;
| ~~^~~~
foo.cc:97:45: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
97 | if(w[a][b] >> 3 & 1 == 0 && g[a + 1][b]) aa++;
| ~~^~~~
foo.cc: In function ‘int main()’:
foo.cc:182:28: warning: ‘tt’ may be used uninitialized [-Wmaybe-uninitialized]
182 | add(xx, yy, aa, bb, tt, idx, i);
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:178:45: note: ‘tt’ was declared here
178 | int aa = a, bb = b, tt;
| ^~
foo.cc:151:44: warning: ‘x’ may be used uninitialized [-Wmaybe-uninitialized]
151 | Node st = {x, y, a, b, 0, -1, 0, -1};
| ^
foo.cc:127:13: note: ‘x’ was declared here
127 | int x, y, a, b;
| ^
foo.cc:151:44: warning: ‘y’ may be used uninitialized [-Wmaybe-uninitialized]
151 | Node st = {x, y, a, b, 0, -1, 0, -1};
| ^
foo.cc:127:16: note: ‘y’ was declared here
127 | int x, y, a, b;
| ^
foo.cc:151:44: warning: ‘a’ may be used uninitialized [-Wmaybe-uninitialized]
151 | Node st = {x, y, a, b, 0, -1, 0, -1};
| ^
foo.cc:127:19: note: ‘a’ was declared here
127 | int x, y, a, b;
| ^
foo.cc:151:44: warning: ‘b’ may be used uninitialized [-Wmaybe-uninitialized]
151 | Node st = {x, y, a, b, 0, -1, 0, -1};
| ^
foo.cc:127:22: note: ‘b’ was declared here
127 | int x, y, a, b;
| ^