adopt to llvm+clang 3.3