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 Andricllvm::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