foo.cc: In function ‘void SMT::build(long long int, long long int, long long int)’:
foo.cc:34:38: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
34 | #define mid(l, r) (l + r >> 1)
| ^
foo.cc:48:29: note: in expansion of macro ‘mid’
48 | build(ls(p), l, mid(l, r));
| ^~~
foo.cc:34:38: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
34 | #define mid(l, r) (l + r >> 1)
| ^
foo.cc:49:26: note: in expansion of macro ‘mid’
49 | build(rs(p), mid(l, r) + 1, r);
| ^~~
foo.cc: In function ‘void SMT::modify(long long int, long long int, long long int, long long int, long long int, long long int)’:
foo.cc:34:38: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
34 | #define mid(l, r) (l + r >> 1)
| ^
foo.cc:62:22: note: in expansion of macro ‘mid’
62 | if (L <= mid(l, r)) modify(ls(p), l, mid(l, r), L, R, k);
| ^~~
foo.cc:34:38: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
34 | #define mid(l, r) (l + r >> 1)
| ^
foo.cc:62:50: note: in expansion of macro ‘mid’
62 | if (L <= mid(l, r)) modify(ls(p), l, mid(l, r), L, R, k);
| ^~~
foo.cc:34:38: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
34 | #define mid(l, r) (l + r >> 1)
| ^
foo.cc:63:17: note: in expansion of macro ‘mid’
63 | if (mid(l, r) < R) modify(rs(p), mid(l, r) + 1, r, L, R, k);
| ^~~
foo.cc:34:38: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
34 | #define mid(l, r) (l + r >> 1)
| ^
foo.cc:63:46: note: in expansion of macro ‘mid’
63 | if (mid(l, r) < R) modify(rs(p), mid(l, r) + 1, r, L, R, k);
| ^~~
foo.cc: In function ‘long long int SMT::query(long long int, long long int, long long int, long long int, long long int)’:
foo.cc:34:38: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
34 | #define mid(l, r) (l + r >> 1)
| ^
foo.cc:78:22: note: in expansion of macro ‘mid’
78 | if (L <= mid(l, r)) ans = std::min(ans, query(ls(p), l, mid(l, r), L, R));
| ^~~
foo.cc:34:38: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
34 | #define mid(l, r) (l + r >> 1)
| ^
foo.cc:78:69: note: in expansion of macro ‘mid’
78 | if (L <= mid(l, r)) ans = std::min(ans, query(ls(p), l, mid(l, r), L, R));
| ^~~
foo.cc:34:38: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
34 | #define mid(l, r) (l + r >> 1)
| ^
foo.cc:79:17: note: in expansion of macro ‘mid’
79 | if (mid(l, r) < R) ans = std::min(ans, query(rs(p), mid(l, r) + 1, r, L, R));
| ^~~
foo.cc:34:38: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
34 | #define mid(l, r) (l + r >> 1)
| ^
foo.cc:79:65: note: in expansion of macro ‘mid’
79 | if (mid(l, r) < R) ans = std::min(ans, query(rs(p), mid(l, r) + 1, r, L, R));
| ^~~