summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/docs/CommandGuide/diagtool.rst52
-rw-r--r--clang/docs/CommandGuide/index.rst1
-rw-r--r--clang/docs/ReleaseNotes.rst5
-rw-r--r--clang/tools/diagtool/CMakeLists.txt12
4 files changed, 70 insertions, 0 deletions
diff --git a/clang/docs/CommandGuide/diagtool.rst b/clang/docs/CommandGuide/diagtool.rst
new file mode 100644
index 00000000000..59417f71f69
--- /dev/null
+++ b/clang/docs/CommandGuide/diagtool.rst
@@ -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*]
diff --git a/clang/docs/CommandGuide/index.rst b/clang/docs/CommandGuide/index.rst
index 826ed971198..83a91182e9c 100644
--- a/clang/docs/CommandGuide/index.rst
+++ b/clang/docs/CommandGuide/index.rst
@@ -15,3 +15,4 @@ Basic Commands
:maxdepth: 1
clang
+ diagtool
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 93a258c6378..84145554647 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -93,6 +93,11 @@ Non-comprehensive list of changes in this release
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
diff --git a/clang/tools/diagtool/CMakeLists.txt b/clang/tools/diagtool/CMakeLists.txt
index 5193c241cd8..96d1c390249 100644
--- a/clang/tools/diagtool/CMakeLists.txt
+++ b/clang/tools/diagtool/CMakeLists.txt
@@ -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()
OpenPOWER on IntegriCloud