/in/foo.cc: In function 'double sub(std::__cxx11::string, double)':
/in/foo.cc:28:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while (i < s.size())
         ~~^~~~~~~~~~
/in/foo.cc:50:30: warning: array subscript has type 'char' [-Wchar-subscripts]
     if (s[i] == '(' || f[s[i]] > f[ch[chi]])
                              ^
/in/foo.cc:57:8: warning: operation on 'di' may be undefined [-Wsequence-point]
      d[--di] = cal(d[di], ch[chi--], d[di + 1]);
        ^~~~
/in/foo.cc:57:8: warning: operation on 'di' may be undefined [-Wsequence-point]
/in/foo.cc: In function 'double cal(double, char, double)':
/in/foo.cc:21:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^