17c7aba6eSDimitry Andric //===- llvm/Testing/Support/Error.cpp -------------------------------------===// 27c7aba6eSDimitry Andric // 3e6d15924SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4e6d15924SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5e6d15924SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 67c7aba6eSDimitry Andric // 77c7aba6eSDimitry Andric //===----------------------------------------------------------------------===// 87c7aba6eSDimitry Andric 97c7aba6eSDimitry Andric #include "llvm/Testing/Support/Error.h" 107c7aba6eSDimitry Andric 117c7aba6eSDimitry Andric using namespace llvm; 127c7aba6eSDimitry Andric TakeError(llvm::Error Err)137c7aba6eSDimitry Andricllvm::detail::ErrorHolder llvm::detail::TakeError(llvm::Error Err) { 14eb11fae6SDimitry Andric std::vector<std::shared_ptr<ErrorInfoBase>> Infos; 15eb11fae6SDimitry Andric handleAllErrors(std::move(Err), 16eb11fae6SDimitry Andric [&Infos](std::unique_ptr<ErrorInfoBase> Info) { 17eb11fae6SDimitry Andric Infos.emplace_back(std::move(Info)); 18eb11fae6SDimitry Andric }); 19eb11fae6SDimitry Andric return {std::move(Infos)}; 207c7aba6eSDimitry Andric } 21