//===-- llvm-debuginfo-analyzer.cpp - LLVM Debug info analysis utility ---===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This program is a utility that displays the logical view for the debug // information. // //===----------------------------------------------------------------------===// #include "Options.h" #include "llvm/DebugInfo/LogicalView/Core/LVOptions.h" #include "llvm/DebugInfo/LogicalView/LVReaderHandler.h" #include "llvm/Support/COM.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/InitLLVM.h" #include "llvm/Support/TargetSelect.h" #include "llvm/Support/ToolOutputFile.h" #include "llvm/Support/WithColor.h" usingnamespacellvm; usingnamespacelogicalview; usingnamespacecmdline; /// Create formatted StringError object. static StringRef ToolName = …; template <typename... Ts> static void error(std::error_code EC, char const *Fmt, const Ts &...Vals) { … } static void error(Error EC) { … } /// If the input path is a .dSYM bundle (as created by the dsymutil tool), /// replace it with individual entries for each of the object files inside the /// bundle otherwise return the input path. static std::vector<std::string> expandBundle(const std::string &InputPath) { … } int main(int argc, char **argv) { … }