#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Debuginfod/Debuginfod.h"
#include "llvm/Debuginfod/HTTPClient.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Option/Option.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/LLVMDriver.h"
#include "llvm/Support/ThreadPool.h"
usingnamespacellvm;
namespace {
enum ID { … };
#define PREFIX …
#include "Opts.inc"
#undef PREFIX
usingnamespacellvm::opt;
static constexpr opt::OptTable::Info InfoTable[] = …;
class DebuginfodOptTable : public opt::GenericOptTable { … };
}
static unsigned Port;
static std::string HostInterface;
static int ScanInterval;
static double MinInterval;
static size_t MaxConcurrency;
static bool VerboseLogging;
static std::vector<std::string> ScanPaths;
ExitOnError ExitOnErr;
template <typename T>
static void parseIntArg(const opt::InputArgList &Args, int ID, T &Value,
T Default) { … }
static void parseArgs(int argc, char **argv) { … }
int llvm_debuginfod_main(int argc, char **argv, const llvm::ToolContext &) { … }