fixed compile with clang