Various small issues keep the existing Thrift c++ libraries from building on OS X and iOS. For example, in Clang, there is no <tr1/functional>, only a regular <functional>. Instead of adding a new configure token and a million #ifdefs, the patch has added a wrapper header that throws the relevant <functional> symbols into the apache::thrift:stdcxx namespace.
There are also several fixes for unused variable warnings in release mode. I have added a helper macro to better document these cases (as opposed to just adding the mysterious "ret=ret;" everywhere).