support CLANG