make compatible for clang on mac