You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.225
Former-commit-id: 10196d987d5fc5564b9d3b33b1fdf13190f4d0b5
This commit is contained in:
parent
32d52ae4ca
commit
f32dbaf0b2
49
external/llvm/tools/llvm-xray/llvm-xray.cc
vendored
Normal file
49
external/llvm/tools/llvm-xray/llvm-xray.cc
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
//===- llvm-xray.cc - XRay Tool Main Program ------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file implements the main entry point for the suite of XRay tools. All
|
||||
// additional functionality are implemented as subcommands.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Basic usage:
|
||||
//
|
||||
// llvm-xray [options] <subcommand> [subcommand-specific options]
|
||||
//
|
||||
#include "xray-registry.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
|
||||
using namespace llvm;
|
||||
using namespace llvm::xray;
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
cl::ParseCommandLineOptions(argc, argv,
|
||||
"XRay Tools\n\n"
|
||||
" This program consolidates multiple XRay trace "
|
||||
"processing tools for convenient access.\n");
|
||||
for (auto *SC : cl::getRegisteredSubcommands()) {
|
||||
if (*SC) {
|
||||
// If no subcommand was provided, we need to explicitly check if this is
|
||||
// the top-level subcommand.
|
||||
if (SC == &*cl::TopLevelSubCommand) {
|
||||
cl::PrintHelpMessage(false, true);
|
||||
return 0;
|
||||
}
|
||||
if (auto C = dispatch(SC)) {
|
||||
ExitOnError("llvm-xray: ")(C());
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If all else fails, we still print the usage message.
|
||||
cl::PrintHelpMessage(false, true);
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user