port back to clang-3.3