/in/foo.cc: In function 'void read(int&)':
/in/foo.cc:9:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
for(x=0; isdigit(ch); x=x*10+ch-'0',ch=getchar()); if(ok) x=-x;
^~~
/in/foo.cc:9:56: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'
for(x=0; isdigit(ch); x=x*10+ch-'0',ch=getchar()); if(ok) x=-x;
^~
/in/foo.cc: In member function 'void oo::build(int, int, int)':
/in/foo.cc:19:25: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
build(now<<1,l,l+r>>1);
~^~
/in/foo.cc:20:26: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
build(now<<1|1,(l+r>>1)+1,r);
~^~
/in/foo.cc: In member function 'void oo::change(int, int, int)':
/in/foo.cc:26:25: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid=y[now].a+y[now].b>>1;
~~~~~~~~^~~~~~~~~
/in/foo.cc: In member function 'void oo::get(int, int, int)':
/in/foo.cc:36:29: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid=y[now].a+y[now].b>>1;
~~~~~~~~^~~~~~~~~
/in/foo.cc: In function 'void build(int, int, int)':
/in/foo.cc:47:21: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
build(now<<1,l,l+r>>1);
~^~
/in/foo.cc:48:22: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
build(now<<1|1,(l+r>>1)+1,r);
~^~
/in/foo.cc: In function 'void change(int, int, int, int)':
/in/foo.cc:54:21: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid=x[now].a+x[now].b>>1;
~~~~~~~~^~~~~~~~~
/in/foo.cc: In function 'void get(int, int, int, int, int)':
/in/foo.cc:64:25: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid=x[now].a+x[now].b>>1;
~~~~~~~~^~~~~~~~~