added cpp backend for supporting clang related tools