Author: jdevlieghere Date: Wed May 16 03:23:25 2018 New Revision: 332448 URL: http://llvm.org/viewvc/llvm-project?rev=332448&view=rev Log: [diagtool] Add diagtool to install target.
Although not very well known, diagtool is an incredibly convenient utility for dealing with diagnostics. Particularly useful are the "tree" and "show-enabled" commands: - The former prints the hierarchy of diagnostic (warning) flags and which of them are enabled by default. - The latter can be used to replace an invocation to clang and will print which diagnostics are disabled, warnings or errors. For instance: `diagtool show-enabled -Wall -Werror /tmp/test.c` will print that -Wunused-variable (warn_unused_variable) will be treated as an error. This patch adds them to the install target so it gets shipped with the LLVM release. It also adds a very basic man page and mentions this change in the release notes. Differential revision: https://reviews.llvm.org/D46694 Added: cfe/trunk/docs/CommandGuide/diagtool.rst Modified: cfe/trunk/docs/CommandGuide/index.rst cfe/trunk/docs/ReleaseNotes.rst cfe/trunk/tools/diagtool/CMakeLists.txt Added: cfe/trunk/docs/CommandGuide/diagtool.rst URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/CommandGuide/diagtool.rst?rev=332448&view=auto ============================================================================== --- cfe/trunk/docs/CommandGuide/diagtool.rst (added) +++ cfe/trunk/docs/CommandGuide/diagtool.rst Wed May 16 03:23:25 2018 @@ -0,0 +1,52 @@ +diagtool - clang diagnostics tool +================================= + +SYNOPSIS +-------- + +:program:`diagtool` *command* [*args*] + +DESCRIPTION +----------- + +:program:`diagtool` is a combination of four tool for dealing with diagnostics in :program:`clang`. + +SUBCOMMANDS +----------- + +:program:`diagtool` is separated into several subcommands each tailored to a +different purpose. A brief summary of each command follows, with more detail in +the sections that follow. + + * :ref:`find_diagnostic_id` - Print the id of the given diagnostic. + * :ref:`list_warnings` - List warnings and their corresponding flags. + * :ref:`show_enabled` - Show which warnings are enabled for a given command line. + * :ref:`tree` - Show warning flags in a tree view. + +.. _find_diagnostic_id: + +find-diagnostic-id +~~~~~~~~~~~~~~~~~~ + +:program:`diagtool` find-diagnostic-id *diagnostic-name* + +.. _list_warnings: + +list-warnings +~~~~~~~~~~~~~ + +:program:`diagtool` list-warnings + +.. _show_enabled: + +show-enabled +~~~~~~~~~~~~ + +:program:`diagtool` show-enabled [*options*] *filename ...* + +.. _tree: + +tree +~~~~ + +:program:`diagtool` tree [*diagnostic-group*] Modified: cfe/trunk/docs/CommandGuide/index.rst URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/CommandGuide/index.rst?rev=332448&r1=332447&r2=332448&view=diff ============================================================================== --- cfe/trunk/docs/CommandGuide/index.rst (original) +++ cfe/trunk/docs/CommandGuide/index.rst Wed May 16 03:23:25 2018 @@ -15,3 +15,4 @@ Basic Commands :maxdepth: 1 clang + diagtool Modified: cfe/trunk/docs/ReleaseNotes.rst URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.rst?rev=332448&r1=332447&r2=332448&view=diff ============================================================================== --- cfe/trunk/docs/ReleaseNotes.rst (original) +++ cfe/trunk/docs/ReleaseNotes.rst Wed May 16 03:23:25 2018 @@ -93,6 +93,11 @@ Non-comprehensive list of changes in thi behavior can be restored by setting ``-fclang-abi-compat`` to ``6`` or lower. +- An existing tool named ``diagtool`` has been added to the release. As the + name suggests, it helps with dealing with diagnostics in ``clang``, such as + finding out the warning hierarchy, and which of them are enabled by default + or for a particular compiler invocation. + - ... New Compiler Flags Modified: cfe/trunk/tools/diagtool/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/diagtool/CMakeLists.txt?rev=332448&r1=332447&r2=332448&view=diff ============================================================================== --- cfe/trunk/tools/diagtool/CMakeLists.txt (original) +++ cfe/trunk/tools/diagtool/CMakeLists.txt Wed May 16 03:23:25 2018 @@ -17,3 +17,15 @@ target_link_libraries(diagtool clangBasic clangFrontend ) + +if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + install(TARGETS diagtool + COMPONENT diagtool + RUNTIME DESTINATION bin) + + if (NOT CMAKE_CONFIGURATION_TYPES) + add_llvm_install_targets(install-diagtool + DEPENDS diagtool + COMPONENT diagtool) + endif() +endif() _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits