From 2d2b420ab9452afe2b298418ceeb40096e72d935 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Sun, 6 Jul 2014 17:43:24 +0000 Subject: Update for llvm api change. llvm-svn: 212408 --- clang/lib/Frontend/CompilerInvocation.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'clang/lib/Frontend/CompilerInvocation.cpp') diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index d04d829..3d79ac7 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -1957,14 +1957,16 @@ std::string CompilerInvocation::getModuleHash() const { // $sysroot/System/Library/CoreServices/SystemVersion.plist // as part of the module hash. if (!hsOpts.Sysroot.empty()) { - std::unique_ptr buffer; SmallString<128> systemVersionFile; systemVersionFile += hsOpts.Sysroot; llvm::sys::path::append(systemVersionFile, "System"); llvm::sys::path::append(systemVersionFile, "Library"); llvm::sys::path::append(systemVersionFile, "CoreServices"); llvm::sys::path::append(systemVersionFile, "SystemVersion.plist"); - if (!llvm::MemoryBuffer::getFile(systemVersionFile.str(), buffer)) { + + llvm::ErrorOr> buffer = + llvm::MemoryBuffer::getFile(systemVersionFile.str()); + if (buffer) { code = hash_combine(code, buffer.get()->getBuffer()); struct stat statBuf; @@ -2031,14 +2033,15 @@ createVFSFromCompilerInvocation(const CompilerInvocation &CI, Overlay(new vfs::OverlayFileSystem(vfs::getRealFileSystem())); // earlier vfs files are on the bottom for (const std::string &File : CI.getHeaderSearchOpts().VFSOverlayFiles) { - std::unique_ptr Buffer; - if (llvm::MemoryBuffer::getFile(File, Buffer)) { + llvm::ErrorOr> Buffer = + llvm::MemoryBuffer::getFile(File); + if (!Buffer) { Diags.Report(diag::err_missing_vfs_overlay_file) << File; return IntrusiveRefCntPtr(); } IntrusiveRefCntPtr FS = - vfs::getVFSFromYAML(Buffer.release(), /*DiagHandler*/nullptr); + vfs::getVFSFromYAML(Buffer->release(), /*DiagHandler*/ nullptr); if (!FS.get()) { Diags.Report(diag::err_invalid_vfs_overlay) << File; return IntrusiveRefCntPtr(); -- cgit v1.1