Ported to clang++