foo.cc: In function ‘void build()’:
foo.cc:60: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]
60 | for(int i=0;i<temp.size()-1;++i)
| ~^~~~~~~~~~~~~~
foo.cc:61: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]
61 | for(int j=i+1;j<temp.size();++j)
| ~^~~~~~~~~~~~
foo.cc:65:45: warning: suggest parentheses around ‘+’ inside ‘<<’ [-Wparentheses]
65 | int wt=(x&y)+(x^y)<<1;
| ~~~~~^~~~~~
foo.cc:83: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]
83 | for(int i=0;i<temp.size();++i)
| ~^~~~~~~~~~~~
foo.cc:87: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]
87 | int r=temp[(i+1>temp.size()-1?0:i+1)]-'0';
| ~~~^~~~~~~~~~~~~~
foo.cc:108: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]
108 | for(int i=0;i<=temp.size();++i)
| ~^~~~~~~~~~~~~
foo.cc:111: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]
111 | int r=temp[(i>temp.size()-1?0:i)]-'0';
| ~^~~~~~~~~~~~~~
foo.cc:117: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]
117 | if(new_string.empty()||new_string.size()>max_len)//||new_string.size()!=temp.size()+1)
| ~~~~~~~~~~~~~~~~~^~~~~~~~