/in/foo.cc: In function 'void build()':
/in/foo.cc:53:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < temp.size() - 1; ++i)
~~^~~~~~~~~~~~~~~~~
/in/foo.cc:54:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int j = i + 1; j < temp.size(); ++j) {
~~^~~~~~~~~~~~~
/in/foo.cc:57:34: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
int wt = (x & y) + (x ^ y) << 1;
~~~~~~~~^~~~~~~~~
/in/foo.cc:74:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < temp.size(); ++i) {
~~^~~~~~~~~~~~~
/in/foo.cc:77:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
int r = temp[(i + 1 > temp.size() - 1 ? 0 : i + 1)] - '0';
~~~~~~^~~~~~~~~~~~~~~~~
/in/foo.cc:97:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < temp.size(); ++i) {
~~^~~~~~~~~~~~~
/in/foo.cc:99:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
int r = temp[(i + 1 > temp.size() - 1 ? 0 : i + 1)] - '0';
~~~~~~^~~~~~~~~~~~~~~~~
/in/foo.cc:104:61: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (new_string.empty() || new_string.size() > max_len || new_string.size() != temp.size() + 1)
~~~~~~~~~~~~~~~~~~^~~~~~~~~