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