updated codebase to be compatible with LLVM 3.3