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