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