#include "Opts.inc"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Object/Binary.h"
#include "llvm/Option/Arg.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Option/Option.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/InitLLVM.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Program.h"
#include "llvm/Support/WithColor.h"
#include <cctype>
#include <string>
usingnamespacellvm;
usingnamespacellvm::object;
namespace {
enum ID { … };
#define PREFIX …
#include "Opts.inc"
#undef PREFIX
usingnamespacellvm::opt;
static constexpr opt::OptTable::Info InfoTable[] = …;
class StringsOptTable : public opt::GenericOptTable { … };
}
static StringRef ToolName;
static cl::list<std::string> InputFileNames(cl::Positional,
cl::desc("<input object files>"));
static int MinLength = …;
static bool PrintFileName;
enum radix { … };
static radix Radix;
[[noreturn]] static void reportCmdLineError(const Twine &Message) { … }
template <typename T>
static void parseIntArg(const opt::InputArgList &Args, int ID, T &Value) { … }
static void strings(raw_ostream &OS, StringRef FileName, StringRef Contents) { … }
int main(int argc, char **argv) { … }