124d58133SDimitry Andric //===- llvm/Testing/Support/Error.cpp -------------------------------------===//
224d58133SDimitry Andric //
324d58133SDimitry Andric //                     The LLVM Compiler Infrastructure
424d58133SDimitry Andric //
524d58133SDimitry Andric // This file is distributed under the University of Illinois Open Source
624d58133SDimitry Andric // License. See LICENSE.TXT for details.
724d58133SDimitry Andric //
824d58133SDimitry Andric //===----------------------------------------------------------------------===//
924d58133SDimitry Andric 
1024d58133SDimitry Andric #include "llvm/Testing/Support/Error.h"
1124d58133SDimitry Andric 
1224d58133SDimitry Andric #include "llvm/ADT/StringRef.h"
1324d58133SDimitry Andric 
1424d58133SDimitry Andric using namespace llvm;
1524d58133SDimitry Andric 
TakeError(llvm::Error Err)1624d58133SDimitry Andric llvm::detail::ErrorHolder llvm::detail::TakeError(llvm::Error Err) {
17*4ba319b5SDimitry Andric   std::vector<std::shared_ptr<ErrorInfoBase>> Infos;
18*4ba319b5SDimitry Andric   handleAllErrors(std::move(Err),
19*4ba319b5SDimitry Andric                   [&Infos](std::unique_ptr<ErrorInfoBase> Info) {
20*4ba319b5SDimitry Andric                     Infos.emplace_back(std::move(Info));
21*4ba319b5SDimitry Andric                   });
22*4ba319b5SDimitry Andric   return {std::move(Infos)};
2324d58133SDimitry Andric }
24