1*e5dd7070Spatrick //===- diagtool_main.h - Entry point for invoking all diagnostic tools ----===// 2*e5dd7070Spatrick // 3*e5dd7070Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*e5dd7070Spatrick // See https://llvm.org/LICENSE.txt for license information. 5*e5dd7070Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*e5dd7070Spatrick // 7*e5dd7070Spatrick //===----------------------------------------------------------------------===// 8*e5dd7070Spatrick // 9*e5dd7070Spatrick // This file implements the main function for diagtool. 10*e5dd7070Spatrick // 11*e5dd7070Spatrick //===----------------------------------------------------------------------===// 12*e5dd7070Spatrick 13*e5dd7070Spatrick #include "DiagTool.h" 14*e5dd7070Spatrick 15*e5dd7070Spatrick using namespace diagtool; 16*e5dd7070Spatrick main(int argc,char * argv[])17*e5dd7070Spatrickint main(int argc, char *argv[]) { 18*e5dd7070Spatrick if (argc > 1) 19*e5dd7070Spatrick if (DiagTool *tool = diagTools->getTool(argv[1])) 20*e5dd7070Spatrick return tool->run(argc - 2, &argv[2], llvm::outs()); 21*e5dd7070Spatrick 22*e5dd7070Spatrick llvm::errs() << "usage: diagtool <command> [<args>]\n\n"; 23*e5dd7070Spatrick diagTools->printCommands(llvm::errs()); 24*e5dd7070Spatrick return 1; 25*e5dd7070Spatrick } 26