compiles with clang