foo.cc: In function ‘void build()’:
foo.cc:63:30: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
63 | for(int i=0;i<temp.size()-1;++i)
| ~^~~~~~~~~~~~~~
foo.cc:64:40: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
64 | for(int j=i+1;j<temp.size();++j)
| ~^~~~~~~~~~~~
foo.cc:68:45: warning: suggest parentheses around ‘+’ inside ‘<<’ [-Wparentheses]
68 | int wt=(x&y)+(x^y)<<1;
| ~~~~~^~~~~~
foo.cc:86:38: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
86 | for(int i=0;i<temp.size();++i)
| ~^~~~~~~~~~~~
foo.cc:90:48: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
90 | int r=temp[(i+1>temp.size()-1?0:i+1)]-'0';
| ~~~^~~~~~~~~~~~~~
foo.cc:111:30: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
111 | for(int i=0;i<=temp.size();++i)
| ~^~~~~~~~~~~~~
foo.cc:114:38: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
114 | int r=temp[(i>temp.size()-1?0:i)]-'0';
| ~^~~~~~~~~~~~~~
foo.cc:120:73: warning: comparison of integer expressions of different signedness: ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} and ‘long long int’ [-Wsign-compare]
120 | if(new_string.empty()||new_string.size()>max_len)//||new_string.size()!=temp.size()+1)
| ~~~~~~~~~~~~~~~~~^~~~~~~~