compile on clang