1*cb30e705SZachary Turner //===- llvm/Testing/Support/Error.cpp -------------------------------------===// 2*cb30e705SZachary Turner // 3*cb30e705SZachary Turner // The LLVM Compiler Infrastructure 4*cb30e705SZachary Turner // 5*cb30e705SZachary Turner // This file is distributed under the University of Illinois Open Source 6*cb30e705SZachary Turner // License. See LICENSE.TXT for details. 7*cb30e705SZachary Turner // 8*cb30e705SZachary Turner //===----------------------------------------------------------------------===// 9*cb30e705SZachary Turner 10*cb30e705SZachary Turner #include "llvm/Testing/Support/Error.h" 11*cb30e705SZachary Turner 12*cb30e705SZachary Turner #include "llvm/ADT/StringRef.h" 13*cb30e705SZachary Turner 14*cb30e705SZachary Turner using namespace llvm; 15*cb30e705SZachary Turner 16*cb30e705SZachary Turner llvm::detail::ErrorHolder llvm::detail::TakeError(llvm::Error Err) { 17*cb30e705SZachary Turner bool Succeeded = !static_cast<bool>(Err); 18*cb30e705SZachary Turner std::string Message; 19*cb30e705SZachary Turner if (!Succeeded) 20*cb30e705SZachary Turner Message = toString(std::move(Err)); 21*cb30e705SZachary Turner return {Succeeded, Message}; 22*cb30e705SZachary Turner } 23