fixed clang compatibility issues