/in/foo.cc: In member function 'void chair_tree::modify(int, int, int)':
/in/foo.cc:23:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
/in/foo.cc:27:14: note: in expansion of macro 'mid'
if (pos <= mid) (ls = new(ls)chair_tree) -> modify(l, mid, pos);
^~~
/in/foo.cc:23:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
/in/foo.cc:27:57: note: in expansion of macro 'mid'
if (pos <= mid) (ls = new(ls)chair_tree) -> modify(l, mid, pos);
^~~
/in/foo.cc:23:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
/in/foo.cc:28:43: note: in expansion of macro 'mid'
else (rs = new(rs)chair_tree) -> modify(mid + 1, r, pos);
^~~
/in/foo.cc: In function 'int kth(chair_tree*, chair_tree*, int, int, int)':
/in/foo.cc:36:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
/in/foo.cc:40:51: note: in expansion of macro 'mid'
if (k <= tmp_sz) return kth(A -> ls, B -> ls, l, mid, k);
^~~
/in/foo.cc:36:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
/in/foo.cc:41:36: note: in expansion of macro 'mid'
else return kth(A -> rs, B -> rs, mid + 1, r, k - tmp_sz);
^~~