compiles on clang on os x