brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · a7f1310 Raw
32 lines · cpp
1//===- llvm/DebugInfod/BuildIDFetcher.cpp - Build ID fetcher --------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8///9/// \file10/// This file defines a DIFetcher implementation for obtaining debug info11/// from debuginfod.12///13//===----------------------------------------------------------------------===//14 15#include "llvm/Debuginfod/BuildIDFetcher.h"16 17#include "llvm/Debuginfod/Debuginfod.h"18 19using namespace llvm;20 21std::optional<std::string>22DebuginfodFetcher::fetch(ArrayRef<uint8_t> BuildID) const {23  if (std::optional<std::string> Path = BuildIDFetcher::fetch(BuildID))24    return std::move(*Path);25 26  Expected<std::string> PathOrErr = getCachedOrDownloadDebuginfo(BuildID);27  if (PathOrErr)28    return *PathOrErr;29  consumeError(PathOrErr.takeError());30  return std::nullopt;31}32