<div dir="ltr">This is fantastic Richard. Thank you so much.<br><div><br></div><div>-- Sean Silva</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Sep 11, 2016 at 10:58 PM, Richard Smith via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: rsmith<br>
Date: Mon Sep 12 00:58:29 2016<br>
New Revision: 281192<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=281192&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=281192&view=rev</a><br>
Log:<br>
Add a mode to clang-tblgen to generate reference documentation for warning and<br>
remark flags. For now I'm checking in a copy of the built documentation, but we<br>
can replace this with a placeholder (as we do for the attributes reference<br>
documentation) once we enable building this server-side.<br>
<br>
Added:<br>
    cfe/trunk/docs/<wbr>DiagnosticsReference.rst<br>
    cfe/trunk/include/clang/Basic/<wbr>DiagnosticDocs.td<br>
Modified:<br>
    cfe/trunk/docs/UsersManual.rst<br>
    cfe/trunk/docs/index.rst<br>
    cfe/trunk/include/clang/Basic/<wbr>Diagnostic.td<br>
    cfe/trunk/include/clang/Basic/<wbr>DiagnosticParseKinds.td<br>
    cfe/trunk/include/clang/Basic/<wbr>DiagnosticSemaKinds.td<br>
    cfe/trunk/utils/TableGen/<wbr>ClangDiagnosticsEmitter.cpp<br>
    cfe/trunk/utils/TableGen/<wbr>TableGen.cpp<br>
    cfe/trunk/utils/TableGen/<wbr>TableGenBackends.h<br>
<br>
Added: cfe/trunk/docs/<wbr>DiagnosticsReference.rst<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/DiagnosticsReference.rst?rev=281192&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/docs/<wbr>DiagnosticsReference.rst?rev=<wbr>281192&view=auto</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/docs/<wbr>DiagnosticsReference.rst (added)<br>
+++ cfe/trunk/docs/<wbr>DiagnosticsReference.rst Mon Sep 12 00:58:29 2016<br>
@@ -0,0 +1,10538 @@<br>
+..<br>
+  ------------------------------<wbr>------------------------------<wbr>-------<br>
+  NOTE: This file is automatically generated by running clang-tblgen<br>
+  -gen-diag-docs. Do not edit this file by hand!!<br>
+  ------------------------------<wbr>------------------------------<wbr>-------<br>
+<br>
+.. Add custom CSS to output. FIXME: This should be put into <head> rather<br>
+   than the start of <body>.<br>
+.. raw:: html<br>
+<br>
+    <style><br>
+    table.docutils {<br>
+      width: 1px;<br>
+    }<br>
+    table.docutils td {<br>
+      border: none;<br>
+      padding: 0;<br>
+      vertical-align: middle;<br>
+      white-space: nowrap;<br>
+      width: 1px;<br>
+    }<br>
+    table.docutils tr + tr {<br>
+      border-top: 0.2em solid #aaa;<br>
+    }<br>
+    .error {<br>
+      font-family: monospace;<br>
+      font-weight: bold;<br>
+      color: #c70;<br>
+    }<br>
+    .warning {<br>
+      font-family: monospace;<br>
+      font-weight: bold;<br>
+      color: #c70;<br>
+    }<br>
+    .remark {<br>
+      font-family: monospace;<br>
+      font-weight: bold;<br>
+      color: #00c;<br>
+    }<br>
+    .diagtext {<br>
+      font-family: monospace;<br>
+      font-weight: bold;<br>
+    }<br>
+    </style><br>
+<br>
+.. FIXME: Format this as .diagtext. rST appears to not support this. :(<br>
+.. |nbsp| unicode:: 0xA0<br>
+   :trim:<br>
+<br>
+.. Roles generated by clang-tblgen.<br>
+.. role:: error<br>
+.. role:: warning<br>
+.. role:: remark<br>
+.. role:: diagtext<br>
+.. role:: placeholder(emphasis)<br>
+<br>
+=========================<br>
+Diagnostic flags in Clang<br>
+=========================<br>
+.. contents::<br>
+   :local:<br>
+<br>
+Introduction<br>
+============<br>
+<br>
+This page lists the diagnostic flags currently supported by Clang.<br>
+<br>
+Diagnostic flags<br>
+================<br>
+<br>
+-W<br>
+--<br>
+Synonym for `-Wextra`_.<br>
+<br>
+<br>
+-W#pragma-messages<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
+The text of this diagnostic is not controlled by Clang.<br>
+<br>
+<br>
+-W#warnings<br>
+-----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
+The text of this diagnostic is not controlled by Clang.<br>
+<br>
+<br>
+-WCFString-literal<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`input conversion stopped due to an input byte that does not belong to the input codeset UTF-8`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-WCL4<br>
+-----<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wall`_, `-Wextra`_.<br>
+<br>
+<br>
+-WIndependentClass-attribute<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'objc\_independent\<wbr>_class' attribute may be put on a typedef only; attribute is ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'objc\_independent\<wbr>_class' attribute may be put on Objective-C object pointer type only; attribute is ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-WNSObject-attribute<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'NSObject' attribute may be put on a typedef only; attribute is ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wabi<br>
+-----<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wabsolute-value<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`absolute value function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`given an argument of type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`but has parameter of type` |nbsp| :placeholder:`C` |nbsp| :diagtext:`which may cause truncation of value`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>----------+-------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`taking the absolute value of` |nbsp| |+--------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is suspicious`|<br>
+|                                                                           ||:diagtext:`pointer` ||                                                                                 |<br>
+|                                                                           |+--------------------+|                                                                                 |<br>
+|                                                                           ||:diagtext:`function`||                                                                                 |<br>
+|                                                                           |+--------------------+|                                                                                 |<br>
+|                                                                           ||:diagtext:`array`   ||                                                                                 |<br>
+|                                                                           |+--------------------+|                                                                                 |<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>----------+-------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`taking the absolute value of unsigned type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has no effect`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------+-----<wbr>-----------------------+------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+-----------<wbr>-----------------+------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using` |nbsp| |+--------------------------+| |nbsp| :diagtext:`absolute value function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`when argument is of` |nbsp| |+--------------------------+| |nbsp| :diagtext:`type`|<br>
+|                                                    ||:diagtext:`integer`       ||                                                                                                                  ||:diagtext:`integer`       ||                        |<br>
+|                                                    |+--------------------------+|                                                                                                                  |+--------------------------+|                        |<br>
+|                                                    ||:diagtext:`floating point`||                                                                                                                  ||:diagtext:`floating point`||                        |<br>
+|                                                    |+--------------------------+|                                                                                                                  |+--------------------------+|                        |<br>
+|                                                    ||:diagtext:`complex`       ||                                                                                                                  ||:diagtext:`complex`       ||                        |<br>
+|                                                    |+--------------------------+|                                                                                                                  |+--------------------------+|                        |<br>
++----------------------------<wbr>------------------------+-----<wbr>-----------------------+------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+-----------<wbr>-----------------+------------<wbr>------------+<br>
+<br>
+<br>
+-Wabstract-final-class<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------+--------------------+-<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`abstract class is marked '`|+------------------+|:<wbr>diagtext:`'`|<br>
+|                                                                 ||:diagtext:`final` ||             |<br>
+|                                                                 |+------------------+|             |<br>
+|                                                                 ||:diagtext:`sealed`||             |<br>
+|                                                                 |+------------------+|             |<br>
++----------------------------<wbr>------------------------------<wbr>-------+--------------------+-<wbr>------------+<br>
+<br>
+<br>
+-Wabstract-vbase-init<br>
+---------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initializer for virtual base class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of abstract class` |nbsp| :placeholder:`B` |nbsp| :diagtext:`will never be used`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Waddress<br>
+---------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Controls `-Wpointer-bool-conversion`_, `-Wstring-compare`_, `-Wtautological-pointer-<wbr>compare`_.<br>
+<br>
+<br>
+-Waddress-of-array-temporary<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pointer is initialized by a temporary array, which will be destroyed at the end of the full-expression`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Waddress-of-packed-member<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`taking address of packed member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of class or structure` |nbsp| :placeholder:`B` |nbsp| :diagtext:`may result in an unaligned pointer value`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Waddress-of-temporary<br>
+----------------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-address-of-temporary`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`taking the address of a temporary object of type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Waggregate-return<br>
+------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wall<br>
+-----<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wmost`_, `-Wparentheses`_, `-Wswitch`_, `-Wswitch-bool`_.<br>
+<br>
+<br>
+-Wambiguous-ellipsis<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'...' in this location creates a C-style varargs function`|+-------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`, not a function parameter pack`||<br>
+|                                                                                                |+----------------------------<wbr>---------------+|<br>
+|                                                                                                ||                                           ||<br>
+|                                                                                                |+----------------------------<wbr>---------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wambiguous-macro<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ambiguous expansion of macro` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wambiguous-member-template<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`lookup of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in member access expression is ambiguous; using member of` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wanalyzer-incompatible-<wbr>plugin<br>
+-----------------------------<wbr>-<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`checker plugin '`:placeholder:`A`:diagtext:`' is not compatible with this version of the analyzer`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wanonymous-pack-parens<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C++11 requires a parenthesized pack declaration to have a name`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Warc<br>
+-----<br>
+This diagnostic is enabled by default.<br>
+<br>
+Controls `-Warc-unsafe-retained-assign`<wbr>_, `-Warc-retain-cycles`_, `-Warc-non-pod-memaccess`_.<br>
+<br>
+<br>
+-Warc-bridge-casts-<wbr>disallowed-in-nonarc<br>
+-----------------------------<wbr>----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' casts have no effect when not using ARC`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Warc-maybe-repeated-use-of-<wbr>weak<br>
+-----------------------------<wbr>---<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>-----------------------+------<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+---<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`weak` |nbsp| |+----------------------------<wbr>-+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`may be accessed multiple times in this` |nbsp| |+--------------------+| |nbsp| :diagtext:`and may be unpredictably set to nil; assign to a strong variable to keep the object alive`|<br>
+|                                                   ||:diagtext:`variable`         ||                                                                                          ||:diagtext:`function`||                                                                                                             |<br>
+|                                                   |+----------------------------<wbr>-+|                                                                                          |+--------------------+|                                                                                                             |<br>
+|                                                   ||:diagtext:`property`         ||                                                                                          ||:diagtext:`method`  ||                                                                                                             |<br>
+|                                                   |+----------------------------<wbr>-+|                                                                                          |+--------------------+|                                                                                                             |<br>
+|                                                   ||:diagtext:`implicit property`||                                                                                          ||:diagtext:`block`   ||                                                                                                             |<br>
+|                                                   |+----------------------------<wbr>-+|                                                                                          |+--------------------+|                                                                                                             |<br>
+|                                                   ||:diagtext:`instance variable`||                                                                                          ||:diagtext:`lambda`  ||                                                                                                             |<br>
+|                                                   |+----------------------------<wbr>-+|                                                                                          |+--------------------+|                                                                                                             |<br>
++----------------------------<wbr>-----------------------+------<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+---<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Warc-non-pod-memaccess<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>-----------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| |+---------------------------+<wbr>| |nbsp| :diagtext:`this` |nbsp| :placeholder:`B` |nbsp| :diagtext:`call is a pointer to ownership-qualified type` |nbsp| :placeholder:`C`|<br>
+|                           ||:diagtext:`destination for`||                                                                                                                                         |<br>
+|                           |+---------------------------+<wbr>|                                                                                                                                         |<br>
+|                           ||:diagtext:`source of`      ||                                                                                                                                         |<br>
+|                           |+---------------------------+<wbr>|                                                                                                                                         |<br>
++---------------------------+<wbr>-----------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Warc-performSelector-leaks<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`performSelector may cause a leak because its selector is unknown`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Warc-repeated-use-of-weak<br>
+--------------------------<br>
+Also controls `-Warc-maybe-repeated-use-of-<wbr>weak`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>-----------------------+------<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+-------<wbr>---------------+--------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`weak` |nbsp| |+----------------------------<wbr>-+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`is accessed multiple times in this` |nbsp| |+--------------------+| |nbsp| :diagtext:`but may be unpredictably set to nil; assign to a strong variable to keep the object alive`|<br>
+|                                                   ||:diagtext:`variable`         ||                                                                                      ||:diagtext:`function`||                                                                                                             |<br>
+|                                                   |+----------------------------<wbr>-+|                                                                                      |+--------------------+|                                                                                                             |<br>
+|                                                   ||:diagtext:`property`         ||                                                                                      ||:diagtext:`method`  ||                                                                                                             |<br>
+|                                                   |+----------------------------<wbr>-+|                                                                                      |+--------------------+|                                                                                                             |<br>
+|                                                   ||:diagtext:`implicit property`||                                                                                      ||:diagtext:`block`   ||                                                                                                             |<br>
+|                                                   |+----------------------------<wbr>-+|                                                                                      |+--------------------+|                                                                                                             |<br>
+|                                                   ||:diagtext:`instance variable`||                                                                                      ||:diagtext:`lambda`  ||                                                                                                             |<br>
+|                                                   |+----------------------------<wbr>-+|                                                                                      |+--------------------+|                                                                                                             |<br>
++----------------------------<wbr>-----------------------+------<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+-------<wbr>---------------+--------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Warc-retain-cycles<br>
+-------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`capturing` |nbsp| :placeholder:`A` |nbsp| :diagtext:`strongly in this block is likely to lead to a retain cycle`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Warc-unsafe-retained-assign<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>--+---------------------------<wbr>----------+-------------------<wbr>---+--------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`assigning` |nbsp| |+----------------------------<wbr>---+| |nbsp| :diagtext:`to a weak` |nbsp| |+--------------------+|:<wbr>diagtext:`; object will be released after assignment`|<br>
+|                                                        ||:diagtext:`array literal`      ||                                     ||:diagtext:`property`||                                                      |<br>
+|                                                        |+----------------------------<wbr>---+|                                     |+--------------------+|                                                      |<br>
+|                                                        ||:diagtext:`dictionary literal` ||                                     ||:diagtext:`variable`||                                                      |<br>
+|                                                        |+----------------------------<wbr>---+|                                     |+--------------------+|                                                      |<br>
+|                                                        ||:diagtext:`numeric literal`    ||                                     |                      |                                                      |<br>
+|                                                        |+----------------------------<wbr>---+|                                     |                      |                                                      |<br>
+|                                                        ||:diagtext:`boxed expression`   ||                                     |                      |                                                      |<br>
+|                                                        |+----------------------------<wbr>---+|                                     |                      |                                                      |<br>
+|                                                        ||:diagtext:`<should not happen>`||                                     |                      |                                                      |<br>
+|                                                        |+----------------------------<wbr>---+|                                     |                      |                                                      |<br>
+|                                                        ||:diagtext:`block literal`      ||                                     |                      |                                                      |<br>
+|                                                        |+----------------------------<wbr>---+|                                     |                      |                                                      |<br>
++----------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>--+---------------------------<wbr>----------+-------------------<wbr>---+--------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>--------------------+--------+<wbr>----------------------+-------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`assigning retained object to` |nbsp| |+----------------------------<wbr>--+| |nbsp| |+--------------------+|:<wbr>diagtext:`; object will be released after assignment`|<br>
+|                                                                           ||:diagtext:`weak`              ||        ||:diagtext:`property`||                                                      |<br>
+|                                                                           |+----------------------------<wbr>--+|        |+--------------------+|                                                      |<br>
+|                                                                           ||:diagtext:`unsafe\_<wbr>unretained`||        ||:diagtext:`variable`||                                                      |<br>
+|                                                                           |+----------------------------<wbr>--+|        |+--------------------+|                                                      |<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>--------------------+--------+<wbr>----------------------+-------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`assigning retained object to unsafe property; object will be released after assignment`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Warray-bounds<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+---------------+--<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`array index` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is past the end of the array (which contains` |nbsp| :placeholder:`B` |nbsp| :diagtext:`element`|+---------<wbr>----+|:diagtext:`)`|<br>
+|                                                                                                                                                                                             ||             ||             |<br>
+|                                                                                                                                                                                             |+-------------+|             |<br>
+|                                                                                                                                                                                             ||:diagtext:`s`||             |<br>
+|                                                                                                                                                                                             |+-------------+|             |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+---------------+--<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`array index` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is before the beginning of the array`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`array argument is too small; contains` |nbsp| :placeholder:`A` |nbsp| :diagtext:`elements, callee requires at least` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'static' has no effect on zero-length arrays`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Warray-bounds-pointer-<wbr>arithmetic<br>
+-----------------------------<wbr>----<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<wbr>---------------+-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`the pointer incremented by` |nbsp| :placeholder:`A` |nbsp| :diagtext:`refers past the end of the array (that contains` |nbsp| :placeholder:`B` |nbsp| :diagtext:`element`|+---------<wbr>----+|:diagtext:`)`|<br>
+|                                                                                                                                                                                                               ||             ||             |<br>
+|                                                                                                                                                                                                               |+-------------+|             |<br>
+|                                                                                                                                                                                                               ||:diagtext:`s`||             |<br>
+|                                                                                                                                                                                                               |+-------------+|             |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<wbr>---------------+-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`the pointer decremented by` |nbsp| :placeholder:`A` |nbsp| :diagtext:`refers before the beginning of the array`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wasm<br>
+-----<br>
+Synonym for `-Wasm-operand-widths`_.<br>
+<br>
+<br>
+-Wasm-operand-widths<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`value size does not match register size specified by the constraint and modifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wassign-enum<br>
+-------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`integer constant not in range of enumerated type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wassume<br>
+--------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`the argument to` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has side effects that will be discarded`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wat-protocol<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`@protocol is using a forward protocol declaration of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Watomic-memory-ordering<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`memory order argument to atomic operation is invalid`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Watomic-properties<br>
+-------------------<br>
+Controls `-Wimplicit-atomic-properties`<wbr>_, `-Wcustom-atomic-properties`_.<br>
+<br>
+<br>
+-Watomic-property-with-user-<wbr>defined-accessor<br>
+-----------------------------<wbr>---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+-------<wbr>-------------+----------------<wbr>------------------------------<wbr>-+--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`writable atomic property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot pair a synthesized` |nbsp| |+------------------+| |nbsp| :diagtext:`with a user defined` |nbsp| |+------------------+|<br>
+|                                                                                                                                            ||:diagtext:`getter`||                                               ||:diagtext:`getter`||<br>
+|                                                                                                                                            |+------------------+|                                               |+------------------+|<br>
+|                                                                                                                                            ||:diagtext:`setter`||                                               ||:diagtext:`setter`||<br>
+|                                                                                                                                            |+------------------+|                                               |+------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+-------<wbr>-------------+----------------<wbr>------------------------------<wbr>-+--------------------+<br>
+<br>
+<br>
+-Wattribute-packed-for-<wbr>bitfield<br>
+-----------------------------<wbr>--<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'packed' attribute was ignored on bit-fields with single-byte alignment in older versions of GCC and Clang`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wattributes<br>
+------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Controls `-Wunknown-attributes`_, `-Wignored-attributes`_.<br>
+<br>
+<br>
+-Wauto-disable-vptr-sanitizer<br>
+-----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicitly disabling vptr sanitizer because rtti wasn't enabled`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wauto-import<br>
+-------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>---------------------+--------<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`treating #`|+--------------------------<wbr>-----+| |nbsp| :diagtext:`as an import of module '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
+|                                                 ||:diagtext:`include`            ||                                                                         |<br>
+|                                                 |+----------------------------<wbr>---+|                                                                         |<br>
+|                                                 ||:diagtext:`import`             ||                                                                         |<br>
+|                                                 |+----------------------------<wbr>---+|                                                                         |<br>
+|                                                 ||:diagtext:`include\_next`      ||                                                                         |<br>
+|                                                 |+----------------------------<wbr>---+|                                                                         |<br>
+|                                                 ||:diagtext:`\_\_include\_<wbr>macros`||                                                                         |<br>
+|                                                 |+----------------------------<wbr>---+|                                                                         |<br>
++----------------------------<wbr>---------------------+--------<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wauto-storage-class<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'auto' storage class specifier is not permitted in C++11, and will not be supported in future releases`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wauto-var-id<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'auto' deduced as 'id' in declaration of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wavailability<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'unavailable' availability overrides all other availability information`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown platform` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in availability macro`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+---------<wbr>---------------+--------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`feature cannot be` |nbsp| |+----------------------+| |nbsp| :diagtext:`in` |nbsp| :placeholder:`B` |nbsp| :diagtext:`version` |nbsp| :placeholder:`C` |nbsp| :diagtext:`before it was` |nbsp| |+----------------------+| |nbsp| :diagtext:`in version` |nbsp| :placeholder:`E`:diagtext:`; attribute ignored`|<br>
+|                                                                ||:diagtext:`introduced`||                                                                                                                                          ||:diagtext:`introduced`||                                                                                     |<br>
+|                                                                |+----------------------+|                                                                                                                                          |+----------------------+|                                                                                     |<br>
+|                                                                ||:diagtext:`deprecated`||                                                                                                                                          ||:diagtext:`deprecated`||                                                                                     |<br>
+|                                                                |+----------------------+|                                                                                                                                          |+----------------------+|                                                                                     |<br>
+|                                                                ||:diagtext:`obsoleted` ||                                                                                                                                          ||:diagtext:`obsoleted` ||                                                                                     |<br>
+|                                                                |+----------------------+|                                                                                                                                          |+----------------------+|                                                                                     |<br>
++----------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+---------<wbr>---------------+--------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use same version number separators '\_' or '.'; as in 'major\[.minor\[.subminor\]\]'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`availability does not match previous declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>--+--------------------------+<wbr>------------------------------<wbr>-+--------+-------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>--+|:diagtext:`method` |nbsp| |+----------------------------<wbr>-+| |nbsp| |+----------------------------<wbr>-----------------+| |nbsp| :diagtext:`on` |nbsp| :placeholder:`B` |nbsp| :diagtext:`(`:placeholder:`C` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`D`:diagtext:`)`|<br>
+|                           ||                              ||                          ||:diagtext:`introduced after` ||        ||:diagtext:`the protocol method it implements`||                                                                                                                                               |<br>
+|                           |+----------------------------<wbr>--+|                          |+----------------------------<wbr>-+|        |+----------------------------<wbr>-----------------+|                                                                                                                                               |<br>
+|                           ||:diagtext:`overriding` |nbsp| ||                          ||:diagtext:`deprecated before`||        ||:diagtext:`overridden method`                ||                                                                                                                                               |<br>
+|                           |+----------------------------<wbr>--+|                          |+----------------------------<wbr>-+|        |+----------------------------<wbr>-----------------+|                                                                                                                                               |<br>
+|                           |                                |                          ||:diagtext:`obsoleted before` ||        |                                               |                                                                                                                                               |<br>
+|                           |                                |                          |+----------------------------<wbr>-+|        |                                               |                                                                                                                                               |<br>
++---------------------------+<wbr>------------------------------<wbr>--+--------------------------+<wbr>------------------------------<wbr>-+--------+-------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>--+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------------------------------<wbr>+-----------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>--+|:diagtext:`method cannot be unavailable on` |nbsp| :placeholder:`A` |nbsp| :diagtext:`when` |nbsp| |+----------------------------<wbr>-----------------+| |nbsp| :diagtext:`is available`|<br>
+|                           ||                              ||                                                                                                   ||:diagtext:`the protocol method it implements`||                                |<br>
+|                           |+----------------------------<wbr>--+|                                                                                                   |+----------------------------<wbr>-----------------+|                                |<br>
+|                           ||:diagtext:`overriding` |nbsp| ||                                                                                                   ||:diagtext:`its overridden method`            ||                                |<br>
+|                           |+----------------------------<wbr>--+|                                                                                                   |+----------------------------<wbr>-----------------+|                                |<br>
++---------------------------+<wbr>------------------------------<wbr>--+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------------------------------<wbr>+-----------------------------<wbr>---+<br>
+<br>
+<br>
+-Wbackend-plugin<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
+The text of this diagnostic is not controlled by Clang.<br>
+<br>
+<br>
+-Wbackslash-newline-escape<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`backslash and newline separated by space`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wbad-array-new-length<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`array is too large (`:placeholder:`A` |nbsp| :diagtext:`elements)`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`array size is negative`|<br>
++----------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wbad-function-cast<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast from function call of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to non-matching type` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wbind-to-temporary-copy<br>
+------------------------<br>
+Also controls `-Wc++98-compat-bind-to-<wbr>temporary-copy`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`C++98 requires an accessible copy constructor for class` |nbsp| :placeholder:`C` |nbsp| :diagtext:`when binding a reference to a temporary; was` |nbsp| |+---------------------+|<br>
+|                                                                                                                                                                                              ||:diagtext:`private`  ||<br>
+|                                                                                                                                                                                              |+---------------------+|<br>
+|                                                                                                                                                                                              ||:diagtext:`protected`||<br>
+|                                                                                                                                                                                              |+---------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no viable constructor` |nbsp| |+----------------------------<wbr>-----------+| |nbsp| :diagtext:`of type` |nbsp| :placeholder:`B`:diagtext:`; C++98 requires a copy constructor when binding a reference to a temporary`|<br>
+|                                                                    ||:diagtext:`copying variable`           ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`copying parameter`          ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`returning object`           ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`throwing object`            ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`copying member subobject`   ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`copying array element`      ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`allocating object`          ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`copying temporary`          ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`initializing base subobject`||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`initializing vector element`||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`capturing value`            ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
++----------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wbitfield-constant-<wbr>conversion<br>
+-----------------------------<wbr>-<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit truncation from` |nbsp| :placeholder:`C` |nbsp| :diagtext:`to bitfield changes value from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wbitfield-width<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`width of anonymous bit-field (`:placeholder:`A` |nbsp| :diagtext:`bits) exceeds width of its type; value will be truncated to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`bit`|+-------------<wbr>+|<br>
+|                                                                                                                                                                                                                   ||             ||<br>
+|                                                                                                                                                                                                                   |+-------------+|<br>
+|                                                                                                                                                                                                                   ||:diagtext:`s`||<br>
+|                                                                                                                                                                                                                   |+-------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`width of bit-field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`(`:placeholder:`B` |nbsp| :diagtext:`bits) exceeds the width of its type; value will be truncated to` |nbsp| :placeholder:`C` |nbsp| :diagtext:`bit`|+-------------<wbr>+|<br>
+|                                                                                                                                                                                                                                                        ||             ||<br>
+|                                                                                                                                                                                                                                                        |+-------------+|<br>
+|                                                                                                                                                                                                                                                        ||:diagtext:`s`||<br>
+|                                                                                                                                                                                                                                                        |+-------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+---------------+<br>
+<br>
+<br>
+-Wbitwise-op-parentheses<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' within '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wbool-conversion<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wpointer-bool-conversion`_, `-Wundefined-bool-conversion`_<wbr>.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initialization of pointer of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to null from a constant boolean expression`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wbool-conversions<br>
+------------------<br>
+Synonym for `-Wbool-conversion`_.<br>
+<br>
+<br>
+-Wbraced-scalar-init<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`braces around scalar initializer`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wbridge-cast<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`bridges to` |nbsp| :placeholder:`B`:diagtext:`, not` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot bridge to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wbuiltin-macro-redefined<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redefining builtin macro`|<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`undefining builtin macro`|<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wbuiltin-memcpy-chk-size<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will always overflow destination buffer`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wbuiltin-requires-header<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`declaration of built-in function '`:placeholder:`B`:diagtext:`' requires inclusion of the header <`:placeholder:`A`:diagtext:`><wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wc++-compat<br>
+------------<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>---------------------------+--<wbr>------------------+-----------<wbr>------------------------------<wbr>---+--------------------------<wbr>-+--------------------------+<br>
+|:warning:`warning:` |nbsp| |+-------------------------+|+<wbr>------------------+| |nbsp| :diagtext:`has size 0 in C,` |nbsp| |+-------------------------+| |nbsp| :diagtext:`in C++`|<br>
+|                           ||                         |||:diagtext:`struct`||                                            ||:diagtext:`size 1`       ||                          |<br>
+|                           |+-------------------------+|+<wbr>------------------+|                                            |+-------------------------+|                          |<br>
+|                           ||:diagtext:`empty` |nbsp| |||:diagtext:`union` ||                                            ||:diagtext:`non-zero size`||                          |<br>
+|                           |+-------------------------+|+<wbr>------------------+|                                            |+-------------------------+|                          |<br>
++---------------------------+<wbr>---------------------------+--<wbr>------------------+-----------<wbr>------------------------------<wbr>---+--------------------------<wbr>-+--------------------------+<br>
+<br>
+<br>
+-Wc++0x-compat<br>
+--------------<br>
+Synonym for `-Wc++11-compat`_.<br>
+<br>
+<br>
+-Wc++0x-extensions<br>
+------------------<br>
+Synonym for `-Wc++11-extensions`_.<br>
+<br>
+<br>
+-Wc++0x-narrowing<br>
+-----------------<br>
+Synonym for `-Wc++11-narrowing`_.<br>
+<br>
+<br>
+-Wc++11-compat<br>
+--------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wc++11-narrowing`_, `-Wc++11-compat-reserved-user-<wbr>defined-literal`_, `-Wc++11-compat-deprecated-<wbr>writable-strings`_, `-Wc++98-c++11-compat`_, `-Wc++98-c++11-c++14-compat`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+----------------------------<wbr>-------+----------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`integer literal is too large to be represented in type 'long' and is subject to undefined behavior under C++98, interpreting as 'unsigned long'; this literal will` |nbsp| |+----------------------------<wbr>-----+| |nbsp| :diagtext:`in C++11 onwards`|<br>
+|                                                                                                                                                                                                                 ||:diagtext:`have type 'long long'`||                                    |<br>
+|                                                                                                                                                                                                                 |+----------------------------<wbr>-----+|                                    |<br>
+|                                                                                                                                                                                                                 ||:diagtext:`be ill-formed`        ||                                    |<br>
+|                                                                                                                                                                                                                 |+----------------------------<wbr>-----+|                                    |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+----------------------------<wbr>-------+----------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'auto' storage class specifier is redundant and incompatible with C++11`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`identifier after literal will be treated as a user-defined literal suffix in C++11`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' is a keyword in C++11`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of right-shift operator ('>>') in template argument will require parentheses in C++11`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation cannot be 'inline'`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`must occur at global scope`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not in a namespace enclosing` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`must occur in namespace` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+-------<wbr>----------------------------+-<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`integer literal is too large to be represented in type 'long', interpreting as 'unsigned long' per C++98; this literal will` |nbsp| |+----------------------------<wbr>-----+| |nbsp| :diagtext:`in C++11 onwards`|<br>
+|                                                                                                                                                                          ||:diagtext:`have type 'long long'`||                                    |<br>
+|                                                                                                                                                                          |+----------------------------<wbr>-----+|                                    |<br>
+|                                                                                                                                                                          ||:diagtext:`be ill-formed`        ||                                    |<br>
+|                                                                                                                                                                          |+----------------------------<wbr>-----+|                                    |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+-------<wbr>----------------------------+-<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wc++11-compat-deprecated-<wbr>writable-strings<br>
+-----------------------------<wbr>-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conversion from string literal to` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wc++11-compat-pedantic<br>
+-----------------------<br>
+Controls `-Wc++98-c++11-compat-<wbr>pedantic`_, `-Wc++98-c++11-c++14-compat-<wbr>pedantic`_.<br>
+<br>
+<br>
+-Wc++11-compat-reserved-user-<wbr>defined-literal<br>
+-----------------------------<wbr>---------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`identifier after literal will be treated as a reserved user-defined literal suffix in C++11`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wc++11-extensions<br>
+------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wc++11-extra-semi`_, `-Wc++11-inline-namespace`_, `-Wc++11-long-long`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`alias declarations are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from array size expression of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| |+-----------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`C` |nbsp| :diagtext:`is a C++11 extension`|<br>
+|                                                                                                                                                   ||:diagtext:`integral`   ||                                                                                        |<br>
+|                                                                                                                                                   |+-----------------------+|                                                                                        |<br>
+|                                                                                                                                                   ||:diagtext:`enumeration`||                                                                                        |<br>
+|                                                                                                                                                   |+-----------------------+|                                                                                        |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'auto' type specifier is a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`enumeration types with a fixed underlying type are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++---------------------------+<wbr>-----------------------+------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| |+---------------------+| |nbsp| :diagtext:`function definitions are a C++11 extension`|<br>
+|                           ||:diagtext:`defaulted`||                                                              |<br>
+|                           |+---------------------+|                                                              |<br>
+|                           ||:diagtext:`deleted`  ||                                                              |<br>
+|                           |+---------------------+|                                                              |<br>
++---------------------------+<wbr>-----------------------+------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`befriending enumeration type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`commas at the end of enumerator lists are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit conversion functions are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extern templates are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`range-based for loop is a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`generalized initializer lists are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of enumeration in a nested name specifier is a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-class friend type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`in-class initialization of non-static data member is a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' keyword is a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`reference qualifiers on functions are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`rvalue references are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`scoped enumerations are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`static data member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in union is a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+-<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-type template argument referring to` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`with internal linkage is a C++11 extension`|<br>
+|                                                                                      ||:diagtext:`function`||                                                                                      |<br>
+|                                                                                      |+--------------------+|                                                                                      |<br>
+|                                                                                      ||:diagtext:`object`  ||                                                                                      |<br>
+|                                                                                      |+--------------------+|                                                                                      |<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+-<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'template' keyword outside of a template`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`default template arguments for a function template are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------+--------------------<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`first declaration of` |nbsp| |+----------------------------<wbr>---------+| |nbsp| :diagtext:`specialization of` |nbsp| :placeholder:`B` |nbsp| :diagtext:`outside namespace` |nbsp| :placeholder:`C` |nbsp| :diagtext:`is a C++11 extension`|<br>
+|                                                                   ||:diagtext:`class template`           ||                                                                                                                                                                  |<br>
+|                                                                   |+----------------------------<wbr>---------+|                                                                                                                                                                  |<br>
+|                                                                   ||:diagtext:`class template partial`   ||                                                                                                                                                                  |<br>
+|                                                                   |+----------------------------<wbr>---------+|                                                                                                                                                                  |<br>
+|                                                                   ||:diagtext:`variable template`        ||                                                                                                                                                                  |<br>
+|                                                                   |+----------------------------<wbr>---------+|                                                                                                                                                                  |<br>
+|                                                                   ||:diagtext:`variable template partial`||                                                                                                                                                                  |<br>
+|                                                                   |+----------------------------<wbr>---------+|                                                                                                                                                                  |<br>
+|                                                                   ||:diagtext:`function template`        ||                                                                                                                                                                  |<br>
+|                                                                   |+----------------------------<wbr>---------+|                                                                                                                                                                  |<br>
+|                                                                   ||:diagtext:`member function`          ||                                                                                                                                                                  |<br>
+|                                                                   |+----------------------------<wbr>---------+|                                                                                                                                                                  |<br>
+|                                                                   ||:diagtext:`static data member`       ||                                                                                                                                                                  |<br>
+|                                                                   |+----------------------------<wbr>---------+|                                                                                                                                                                  |<br>
+|                                                                   ||:diagtext:`member class`             ||                                                                                                                                                                  |<br>
+|                                                                   |+----------------------------<wbr>---------+|                                                                                                                                                                  |<br>
+|                                                                   ||:diagtext:`member enumeration`       ||                                                                                                                                                                  |<br>
+|                                                                   |+----------------------------<wbr>---------+|                                                                                                                                                                  |<br>
++----------------------------<wbr>------------------------------<wbr>---------+--------------------<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'typename' occurs outside of a template`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+---------------<wbr>--------+---------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unelaborated friend declaration is a C++11 extension; specify '`|+---------------------+|:<wbr>diagtext:`' to befriend` |nbsp| :placeholder:`B`|<br>
+|                                                                                                      ||:diagtext:`struct`   ||                                                 |<br>
+|                                                                                                      |+---------------------+|                                                 |<br>
+|                                                                                                      ||:diagtext:`interface`||                                                 |<br>
+|                                                                                                      |+---------------------+|                                                 |<br>
+|                                                                                                      ||:diagtext:`union`    ||                                                 |<br>
+|                                                                                                      |+---------------------+|                                                 |<br>
+|                                                                                                      ||:diagtext:`class`    ||                                                 |<br>
+|                                                                                                      |+---------------------+|                                                 |<br>
+|                                                                                                      ||:diagtext:`enum`     ||                                                 |<br>
+|                                                                                                      |+---------------------+|                                                 |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+---------------<wbr>--------+---------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variadic templates are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wc++11-extra-semi<br>
+------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extra ';' outside of a function is a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wc++11-inline-namespace<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`inline namespaces are a C++11 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wc++11-long-long<br>
+-----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'long long' is a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wc++11-narrowing<br>
+-----------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++-----------------------+----<wbr>------------------------------<wbr>------+--------+--------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:error:`error:` |nbsp| |+----------------------------<wbr>----------+| |nbsp| |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+|<br>
+|                       ||:diagtext:`case value`                ||        ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+        ||<br>
+|                       |+----------------------------<wbr>----------+|        |||:diagtext:`cannot be narrowed from type` |nbsp| :placeholder:`C` |nbsp| :diagtext:`to` |nbsp| :placeholder:`D`|        ||<br>
+|                       ||:diagtext:`enumerator value`          ||        ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+        ||<br>
+|                       |+----------------------------<wbr>----------+|        |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+|<br>
+|                       ||:diagtext:`non-type template argument`||        ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+||<br>
+|                       |+----------------------------<wbr>----------+|        |||:diagtext:`evaluates to` |nbsp| :placeholder:`C`:diagtext:`, which cannot be narrowed to type` |nbsp| :placeholder:`D`|||<br>
+|                       ||:diagtext:`array size`                ||        ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+||<br>
+|                       |+----------------------------<wbr>----------+|        |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+|<br>
+|                       ||:diagtext:`constexpr if condition`    ||        |                                                                                                                          |<br>
+|                       |+----------------------------<wbr>----------+|        |                                                                                                                          |<br>
++-----------------------+----<wbr>------------------------------<wbr>------+--------+--------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`constant expression evaluates to` |nbsp| :placeholder:`A` |nbsp| :diagtext:`which cannot be narrowed to type` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot be narrowed to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`in initializer list`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`non-constant-<wbr>expression cannot be narrowed from type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`in initializer list`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`constant expression evaluates to` |nbsp| :placeholder:`A` |nbsp| :diagtext:`which cannot be narrowed to type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`in C++11`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot be narrowed to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`in initializer list in C++11`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-constant-<wbr>expression cannot be narrowed from type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`in initializer list in C++11`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wc++14-binary-literal<br>
+----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`binary integer literals are a C++14 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wc++14-compat<br>
+--------------<br>
+Synonym for `-Wc++98-c++11-c++14-compat`_.<br>
+<br>
+<br>
+-Wc++14-compat-pedantic<br>
+-----------------------<br>
+Synonym for `-Wc++98-c++11-c++14-compat-<wbr>pedantic`_.<br>
+<br>
+<br>
+-Wc++14-extensions<br>
+------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wc++14-binary-literal`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>---------------------+--------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of this statement in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is a C++14 extension`|<br>
+|                                                                                   ||:diagtext:`function`   ||                                        |<br>
+|                                                                                   |+-----------------------+|                                        |<br>
+|                                                                                   ||:diagtext:`constructor`||                                        |<br>
+|                                                                                   |+-----------------------+|                                        |<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>---------------------+--------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`multiple return statements in constexpr function is a C++14 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+-----<wbr>--------------------+---------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable declaration in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is a C++14 extension`|<br>
+|                                                                                  ||:diagtext:`function`   ||                                        |<br>
+|                                                                                  |+-----------------------+|                                        |<br>
+|                                                                                  ||:diagtext:`constructor`||                                        |<br>
+|                                                                                  |+-----------------------+|                                        |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+-----<wbr>--------------------+---------<wbr>------------------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>---------------+--------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`type definition in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is a C++14 extension`|<br>
+|                                                                             ||:diagtext:`function`   ||                                        |<br>
+|                                                                             |+-----------------------+|                                        |<br>
+|                                                                             ||:diagtext:`constructor`||                                        |<br>
+|                                                                             |+-----------------------+|                                        |<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>---------------+--------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is a C++14 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'decltype(auto)' type specifier is a C++14 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initialized lambda captures are a C++14 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable templates are a C++14 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wc++1y-extensions<br>
+------------------<br>
+Synonym for `-Wc++14-extensions`_.<br>
+<br>
+<br>
+-Wc++1z-compat<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Controls `-Wdeprecated-register`_, `-Wdeprecated-increment-bool`_<wbr>.<br>
+<br>
+<br>
+-Wc++1z-extensions<br>
+------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`constexpr if is a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'constexpr' on lambda expressions is a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`decomposition declarations are a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pack fold expression is a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'begin' and 'end' returning different types (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`) is a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`hexadecimal floating literals are a C++1z feature`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`inline variables are a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`nested namespace definition is a C++1z extension; define each namespace separately`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`capture of '\*this' by copy is a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`static\_assert with no message is a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`template template parameter using 'typename' is a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`default scope specifier for attributes is a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wc++98-c++11-c++14-compat<br>
+--------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--+---------------------------<wbr>+-----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attributes on` |nbsp| |+-------------------------+| |nbsp| :diagtext:`declaration are incompatible with C++ standards before C++1z`|<br>
+|                                                            ||:diagtext:`a namespace`  ||                                                                                |<br>
+|                                                            |+-------------------------+|                                                                                |<br>
+|                                                            ||:diagtext:`an enumerator`||                                                                                |<br>
+|                                                            |+-------------------------+|                                                                                |<br>
++----------------------------<wbr>------------------------------<wbr>--+---------------------------<wbr>+-----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`constexpr if is incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`constexpr on lambda expressions is incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`decomposition declarations are incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pack fold expression is incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`inline variables are incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`nested namespace definition is incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`by value capture of '\*this' is incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`static\_assert with no message is incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`template template parameter using 'typename' is incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unicode literals are incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`default scope specifier for attributes is incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'begin' and 'end' returning different types (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`) is incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wc++98-c++11-c++14-compat-<wbr>pedantic<br>
+-----------------------------<wbr>------<br>
+Also controls `-Wc++98-c++11-c++14-compat`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`hexidecimal floating literals are incompatible with C++ standards before C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wc++98-c++11-compat<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>---------------------+--------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of this statement in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is incompatible with C++ standards before C++14`|<br>
+|                                                                                   ||:diagtext:`function`   ||                                                                   |<br>
+|                                                                                   |+-----------------------+|                                                                   |<br>
+|                                                                                   ||:diagtext:`constructor`||                                                                   |<br>
+|                                                                                   |+-----------------------+|                                                                   |<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>---------------------+--------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`multiple return statements in constexpr function is incompatible with C++ standards before C++14`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`constexpr function with no return statements is incompatible with C++ standards before C++14`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+-----<wbr>--------------------+---------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable declaration in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is incompatible with C++ standards before C++14`|<br>
+|                                                                                  ||:diagtext:`function`   ||                                                                   |<br>
+|                                                                                  |+-----------------------+|                                                                   |<br>
+|                                                                                  ||:diagtext:`constructor`||                                                                   |<br>
+|                                                                                  |+-----------------------+|                                                                   |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+-----<wbr>--------------------+---------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>---------------+--------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`type definition in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is incompatible with C++ standards before C++14`|<br>
+|                                                                             ||:diagtext:`function`   ||                                                                   |<br>
+|                                                                             |+-----------------------+|                                                                   |<br>
+|                                                                             ||:diagtext:`constructor`||                                                                   |<br>
+|                                                                             |+-----------------------+|                                                                   |<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>---------------+--------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'decltype(auto)' type specifier is incompatible with C++ standards before C++14`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`digit separators are incompatible with C++ standards before C++14`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initialized lambda captures are incompatible with C++ standards before C++14`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable templates are incompatible with C++ standards before C++14`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wc++98-c++11-compat-pedantic<br>
+-----------------------------<br>
+Also controls `-Wc++98-c++11-compat`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`binary integer literals are incompatible with C++ standards before C++14`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wc++98-compat<br>
+--------------<br>
+Also controls `-Wc++98-compat-local-type-<wbr>template-args`_, `-Wc++98-compat-unnamed-type-<wbr>template-args`_, `-Wc++98-c++11-compat`_, `-Wc++98-c++11-c++14-compat`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`alias declarations are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'alignas' is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`alignof expressions are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`C++11 attribute syntax is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'auto' type specifier is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'constexpr' specifier is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`constructor call from initializer list is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'decltype' type specifier is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++---------------------------+<wbr>-----------------------+------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| |+---------------------+| |nbsp| :diagtext:`function definitions are incompatible with C++98`|<br>
+|                           ||:diagtext:`defaulted`||                                                                    |<br>
+|                           |+---------------------+|                                                                    |<br>
+|                           ||:diagtext:`deleted`  ||                                                                    |<br>
+|                           |+---------------------+|                                                                    |<br>
++---------------------------+<wbr>-----------------------+------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`delegating constructors are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`scalar initialized from empty initializer list is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`enumeration types with a fixed underlying type are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`befriending enumeration type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`enumeration type in nested name specifier is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit conversion functions are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`range-based for loop is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`friend declaration naming a member of the declaring class is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`generalized initializer lists are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`jump from this goto statement to its label is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`jump from this indirect goto statement to one of its possible targets is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initialization of initializer\_list object is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`inline namespaces are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`lambda expressions are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'<::' is treated as digraph '<:' (aka '\[') followed by ':' in C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`literal operators are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`universal character name referring to a control character is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`specifying character '`:placeholder:`A`:diagtext:`' with a universal character name is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`noexcept specifications are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`noexcept expressions are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of non-static data member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in an unevaluated context is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-class friend type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`in-class initialization of non-static data members is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>+-----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>+| |nbsp| :diagtext:`member` |nbsp| :placeholder:`B` |nbsp| :diagtext:`with a non-trivial` |nbsp| |+----------------------------<wbr>--------+| |nbsp| :diagtext:`is incompatible with C++98`|<br>
+|                           ||:diagtext:`anonymous struct`||                                                                                                ||:diagtext:`constructor`             ||                                              |<br>
+|                           |+----------------------------<wbr>+|                                                                                                |+----------------------------<wbr>--------+|                                              |<br>
+|                           ||:diagtext:`union`           ||                                                                                                ||:diagtext:`copy constructor`        ||                                              |<br>
+|                           |+----------------------------<wbr>+|                                                                                                |+----------------------------<wbr>--------+|                                              |<br>
+|                           |                              |                                                                                                ||:diagtext:`move constructor`        ||                                              |<br>
+|                           |                              |                                                                                                |+----------------------------<wbr>--------+|                                              |<br>
+|                           |                              |                                                                                                ||:diagtext:`copy assignment operator`||                                              |<br>
+|                           |                              |                                                                                                |+----------------------------<wbr>--------+|                                              |<br>
+|                           |                              |                                                                                                ||:diagtext:`move assignment operator`||                                              |<br>
+|                           |                              |                                                                                                |+----------------------------<wbr>--------+|                                              |<br>
+|                           |                              |                                                                                                ||:diagtext:`destructor`              ||                                              |<br>
+|                           |                              |                                                                                                |+----------------------------<wbr>--------+|                                              |<br>
++---------------------------+<wbr>------------------------------<wbr>+-----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'nullptr' is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' keyword is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+-------------------------+--<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`passing object of trivial but non-POD type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`through variadic` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is incompatible with C++98`|<br>
+|                                                                                                                                                     ||:diagtext:`function`   ||                                              |<br>
+|                                                                                                                                                     |+-----------------------+|                                              |<br>
+|                                                                                                                                                     ||:diagtext:`block`      ||                                              |<br>
+|                                                                                                                                                     |+-----------------------+|                                              |<br>
+|                                                                                                                                                     ||:diagtext:`method`     ||                                              |<br>
+|                                                                                                                                                     |+-----------------------+|                                              |<br>
+|                                                                                                                                                     ||:diagtext:`constructor`||                                              |<br>
+|                                                                                                                                                     |+-----------------------+|                                              |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+-------------------------+--<wbr>------------------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`raw string literals are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`reference qualifiers on functions are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`reference initialized from initializer list is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`rvalue references are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`scoped enumerations are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`substitution failure due to access control is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`static\_assert declarations are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`static data member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in union is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`jump from switch statement to this case label is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redundant parentheses surrounding address non-type template argument are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of null pointer as non-type template argument is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+-<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-type template argument referring to` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`with internal linkage is incompatible with C++98`|<br>
+|                                                                                      ||:diagtext:`function`||                                                                                            |<br>
+|                                                                                      |+--------------------+|                                                                                            |<br>
+|                                                                                      ||:diagtext:`object`  ||                                                                                            |<br>
+|                                                                                      |+--------------------+|                                                                                            |<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+-<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of 'template' keyword outside of a template is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`default template arguments for a function template are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>---------+--------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>---------+| |nbsp| :diagtext:`specialization of` |nbsp| :placeholder:`B` |nbsp| :diagtext:`outside namespace` |nbsp| :placeholder:`C` |nbsp| :diagtext:`is incompatible with C++98`|<br>
+|                           ||:diagtext:`class template`           ||                                                                                                                                                                        |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                        |<br>
+|                           ||:diagtext:`class template partial`   ||                                                                                                                                                                        |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                        |<br>
+|                           ||:diagtext:`variable template`        ||                                                                                                                                                                        |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                        |<br>
+|                           ||:diagtext:`variable template partial`||                                                                                                                                                                        |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                        |<br>
+|                           ||:diagtext:`function template`        ||                                                                                                                                                                        |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                        |<br>
+|                           ||:diagtext:`member function`          ||                                                                                                                                                                        |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                        |<br>
+|                           ||:diagtext:`static data member`       ||                                                                                                                                                                        |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                        |<br>
+|                           ||:diagtext:`member class`             ||                                                                                                                                                                        |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                        |<br>
+|                           ||:diagtext:`member enumeration`       ||                                                                                                                                                                        |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                        |<br>
++---------------------------+<wbr>------------------------------<wbr>---------+--------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`trailing return types are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`consecutive right angle brackets are incompatible with C++98 (use '> >')`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of 'typename' outside of a template is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+--------------<wbr>---------+--------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`befriending` |nbsp| :placeholder:`B` |nbsp| :diagtext:`without '`|+---------------------+|:<wbr>diagtext:`' keyword is incompatible with C++98`|<br>
+|                                                                                                       ||:diagtext:`struct`   ||                                                |<br>
+|                                                                                                       |+---------------------+|                                                |<br>
+|                                                                                                       ||:diagtext:`interface`||                                                |<br>
+|                                                                                                       |+---------------------+|                                                |<br>
+|                                                                                                       ||:diagtext:`union`    ||                                                |<br>
+|                                                                                                       |+---------------------+|                                                |<br>
+|                                                                                                       ||:diagtext:`class`    ||                                                |<br>
+|                                                                                                       |+---------------------+|                                                |<br>
+|                                                                                                       ||:diagtext:`enum`     ||                                                |<br>
+|                                                                                                       |+---------------------+|                                                |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+--------------<wbr>---------+--------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using this character in an identifier is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unicode literals are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' type specifier is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`inheriting constructors are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variadic templates are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wc++98-compat-bind-to-<wbr>temporary-copy<br>
+-----------------------------<wbr>--------<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>-----------+------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>-----+------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>-----------+| |nbsp| :diagtext:`of type` |nbsp| :placeholder:`C` |nbsp| :diagtext:`when binding a reference to a temporary would` |nbsp| |+----------------------------<wbr>------------------+| |nbsp| :diagtext:`in C++98`|<br>
+|                           ||:diagtext:`copying variable`           ||                                                                                                                            ||:diagtext:`invoke an inaccessible constructor`||                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                                                                                                            |+----------------------------<wbr>------------------+|                            |<br>
+|                           ||:diagtext:`copying parameter`          ||                                                                                                                            ||:diagtext:`find no viable constructor`        ||                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                                                                                                            |+----------------------------<wbr>------------------+|                            |<br>
+|                           ||:diagtext:`returning object`           ||                                                                                                                            ||:diagtext:`find ambiguous constructors`       ||                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                                                                                                            |+----------------------------<wbr>------------------+|                            |<br>
+|                           ||:diagtext:`throwing object`            ||                                                                                                                            ||:diagtext:`invoke a deleted constructor`      ||                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                                                                                                            |+----------------------------<wbr>------------------+|                            |<br>
+|                           ||:diagtext:`copying member subobject`   ||                                                                                                                            |                                                |                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                                                                                                            |                                                |                            |<br>
+|                           ||:diagtext:`copying array element`      ||                                                                                                                            |                                                |                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                                                                                                            |                                                |                            |<br>
+|                           ||:diagtext:`allocating object`          ||                                                                                                                            |                                                |                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                                                                                                            |                                                |                            |<br>
+|                           ||:diagtext:`copying temporary`          ||                                                                                                                            |                                                |                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                                                                                                            |                                                |                            |<br>
+|                           ||:diagtext:`initializing base subobject`||                                                                                                                            |                                                |                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                                                                                                            |                                                |                            |<br>
+|                           ||:diagtext:`initializing vector element`||                                                                                                                            |                                                |                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                                                                                                            |                                                |                            |<br>
++---------------------------+<wbr>------------------------------<wbr>-----------+------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>-----+------------------------<wbr>----+<br>
+<br>
+<br>
+-Wc++98-compat-local-type-<wbr>template-args<br>
+-----------------------------<wbr>----------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`local type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`as template argument is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wc++98-compat-pedantic<br>
+-----------------------<br>
+Also controls `-Wc++98-compat`_, `-Wc++98-compat-bind-to-<wbr>temporary-copy`_, `-Wc++98-c++11-compat-<wbr>pedantic`_, `-Wc++98-c++11-c++14-compat-<wbr>pedantic`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from array size expression of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| |+-----------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`C` |nbsp| :diagtext:`is incompatible with C++98`|<br>
+|                                                                                                                                                   ||:diagtext:`integral`   ||                                                                                              |<br>
+|                                                                                                                                                   |+-----------------------+|                                                                                              |<br>
+|                                                                                                                                                   ||:diagtext:`enumeration`||                                                                                              |<br>
+|                                                                                                                                                   |+-----------------------+|                                                                                              |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast between pointer-to-function and pointer-to-object is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`empty macro arguments are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`commas at the end of enumerator lists are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extern templates are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'long long' is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`C++98 requires newline at end of file`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#line number greater than 32767 is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extra ';' outside of a function is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variadic macros are incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wc++98-compat-unnamed-type-<wbr>template-args<br>
+-----------------------------<wbr>------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unnamed type as template argument is incompatible with C++98`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wc11-extensions<br>
+----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`anonymous unions are a C11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a C11-specific feature`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`anonymous structs are a C11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`generic selections are a C11-specific feature`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`\_Noreturn functions are a C11-specific feature`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`\_Static\_assert is a C11-specific feature`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wc99-compat<br>
+------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>--------------------------+---<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>--------------------------+| |nbsp| :diagtext:`is incompatible with C99`|<br>
+|                           ||:diagtext:`using this character in an identifier`     ||                                            |<br>
+|                           |+----------------------------<wbr>--------------------------+|                                            |<br>
+|                           ||:diagtext:`starting an identifier with this character`||                                            |<br>
+|                           |+----------------------------<wbr>--------------------------+|                                            |<br>
++---------------------------+<wbr>------------------------------<wbr>--------------------------+---<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unicode literals are incompatible with C99`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+---------<wbr>--------------------------+---<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`integer literal is too large to be represented in type 'long', interpreting as 'unsigned long' per C89; this literal will` |nbsp| |+----------------------------<wbr>-----+| |nbsp| :diagtext:`in C99 onwards`|<br>
+|                                                                                                                                                                        ||:diagtext:`have type 'long long'`||                                  |<br>
+|                                                                                                                                                                        |+----------------------------<wbr>-----+|                                  |<br>
+|                                                                                                                                                                        ||:diagtext:`be ill-formed`        ||                                  |<br>
+|                                                                                                                                                                        |+----------------------------<wbr>-----+|                                  |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+---------<wbr>--------------------------+---<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wc99-extensions<br>
+----------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initializer for aggregate is not a compile-time constant`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>----+-------------------------<wbr>-----+-----------------------+<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>----+|:diagtext:`array size` |nbsp| |+---------------------+|:<wbr>diagtext:`is a C99 feature`|<br>
+|                           ||:diagtext:`qualifier in` |nbsp| ||                              ||                     ||                            |<br>
+|                           |+----------------------------<wbr>----+|                              |+---------------------+|                            |<br>
+|                           ||:diagtext:`static` |nbsp|       ||                              ||                     ||                            |<br>
+|                           |+----------------------------<wbr>----+|                              |+---------------------+|                            |<br>
+|                           ||                                ||                              ||:diagtext:`'\[\*\] '`||                            |<br>
+|                           |+----------------------------<wbr>----+|                              |+---------------------+|                            |<br>
++---------------------------+<wbr>------------------------------<wbr>----+-------------------------<wbr>-----+-----------------------+<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`compound literals are a C99-specific feature`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`flexible array members are a C99 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable declaration in for loop is a C99-specific feature`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C99 requires whitespace after the macro name`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`designated initializers are a C99 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`empty macro arguments are a C99 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`commas at the end of enumerator lists are a C99-specific feature`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`hexadecimal floating constants are a C99 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wcast-align<br>
+------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`increases required alignment from` |nbsp| :placeholder:`C` |nbsp| :diagtext:`to` |nbsp| :placeholder:`D`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wcast-calling-convention<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast between incompatible calling conventions '`:placeholder:`A`:diagtext:`' and '`:placeholder:`B`:diagtext:`'<wbr>; calls through this pointer may abort at runtime`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wcast-of-sel-type<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is deprecated; use sel\_getName instead`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Wcast-qual<br>
+-----------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+--------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`drops` |nbsp| |+----------------------------<wbr>-------------+|<br>
+|                                                                                                                                                       ||:diagtext:`const and volatile qualifiers`||<br>
+|                                                                                                                                                       |+----------------------------<wbr>-------------+|<br>
+|                                                                                                                                                       ||:diagtext:`const qualifier`              ||<br>
+|                                                                                                                                                       |+----------------------------<wbr>-------------+|<br>
+|                                                                                                                                                       ||:diagtext:`volatile qualifier`           ||<br>
+|                                                                                                                                                       |+----------------------------<wbr>-------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+--------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`must have all intermediate pointers const qualified to be safe`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wchar-align<br>
+------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wchar-subscripts<br>
+-----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--+-------------------------+-<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`array section` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is of type 'char'`|<br>
+|                                                            ||:diagtext:`lower bound`||                                     |<br>
+|                                                            |+-----------------------+|                                     |<br>
+|                                                            ||:diagtext:`length`     ||                                     |<br>
+|                                                            |+-----------------------+|                                     |<br>
++----------------------------<wbr>------------------------------<wbr>--+-------------------------+-<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`array subscript is of type 'char'`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wclang-cl-pch<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`support for '/Yc' with more than one source file not implemented yet; flag ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`support for '/Yc' and '/Yu' with different filenames not implemented yet; flags ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`support for '`:placeholder:`A`:diagtext:`' without a filename not implemented yet; flag ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`support for '`:placeholder:`A`:diagtext:`' without a corresponding /FI flag not implemented yet; flag ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wclass-varargs<br>
+---------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wnon-pod-varargs`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>-------------+----------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`passing object of class type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`through variadic` |nbsp| |+-----------------------+|+--<wbr>------------------------------<wbr>------------------------------<wbr>------+|<br>
+|                                                                                                                                       ||:diagtext:`function`   |||                                                                    ||<br>
+|                                                                                                                                       |+-----------------------+|+--<wbr>------------------------------<wbr>------------------------------<wbr>------+|<br>
+|                                                                                                                                       ||:diagtext:`block`      |||+--------------------------<wbr>------------------------------<wbr>----------+||<br>
+|                                                                                                                                       |+-----------------------+|||:<wbr>diagtext:`; did you mean to call '`:placeholder:`D`:diagtext:`'<wbr>?`|||<br>
+|                                                                                                                                       ||:diagtext:`method`     |||+--------------------------<wbr>------------------------------<wbr>----------+||<br>
+|                                                                                                                                       |+-----------------------+|+--<wbr>------------------------------<wbr>------------------------------<wbr>------+|<br>
+|                                                                                                                                       ||:diagtext:`constructor`||                                                                      |<br>
+|                                                                                                                                       |+-----------------------+|                                                                      |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>-------------+----------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wcomma<br>
+-------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`possible misuse of comma operator here`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wcomment<br>
+---------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`escaped newline between \*/ characters at block comment end`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`// comments are not allowed in this language`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`multi-line // comment`|<br>
++----------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'/\*' within block comment`|<br>
++----------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wcomments<br>
+----------<br>
+Synonym for `-Wcomment`_.<br>
+<br>
+<br>
+-Wcompare-distinct-pointer-<wbr>types<br>
+-----------------------------<wbr>---<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparison of distinct pointer types`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparison of distinct pointer types (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`) uses non-standard composite pointer type` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wcomplex-component-init<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`complex initialization specifying real and imaginary components is an extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wconditional-type-mismatch<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pointer/integer type mismatch in conditional expression`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wconditional-uninitialized<br>
+---------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may be uninitialized when` |nbsp| |+----------------------------<wbr>-+|<br>
+|                                                                                                                            ||:diagtext:`used here`        ||<br>
+|                                                                                                                            |+----------------------------<wbr>-+|<br>
+|                                                                                                                            ||:diagtext:`captured by block`||<br>
+|                                                                                                                            |+----------------------------<wbr>-+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>--------+<br>
+<br>
+<br>
+-Wconfig-macros<br>
+---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+-----------<wbr>------------------------------<wbr>---------+--------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| |+----------------------+| |nbsp| :diagtext:`of configuration macro '`:placeholder:`B`:diagtext:`' has no effect on the import of '`:placeholder:`C`:diagtext:`'<wbr>; pass '`|+--------------------------<wbr>----------------------+|:<wbr>diagtext:`' on the command line to configure the module`|<br>
+|                           ||:diagtext:`definition`||                                                                                                                                               ||+---------------------------<wbr>-------------------+||                                                         |<br>
+|                           |+----------------------+|                                                                                                                                               |||:diagtext:`-D`:placeholder:<wbr>`B`:diagtext:`=...`|||                                                         |<br>
+|                           ||:diagtext:`#undef`    ||                                                                                                                                               ||+---------------------------<wbr>-------------------+||                                                         |<br>
+|                           |+----------------------+|                                                                                                                                               |+----------------------------<wbr>--------------------+|                                                         |<br>
+|                           |                        |                                                                                                                                               ||+---------------------------<wbr>---+                ||                                                         |<br>
+|                           |                        |                                                                                                                                               |||:diagtext:`-U`:placeholder:<wbr>`B`|                ||                                                         |<br>
+|                           |                        |                                                                                                                                               ||+---------------------------<wbr>---+                ||                                                         |<br>
+|                           |                        |                                                                                                                                               |+----------------------------<wbr>--------------------+|                                                         |<br>
++---------------------------+<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+-----------<wbr>------------------------------<wbr>---------+--------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wconstant-conversion<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wbitfield-constant-<wbr>conversion`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from` |nbsp| :placeholder:`C` |nbsp| :diagtext:`to` |nbsp| :placeholder:`D` |nbsp| :diagtext:`changes value from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wconstant-logical-operand<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of logical '`:placeholder:`A`:diagtext:`' with constant operand`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wconstexpr-not-const<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'constexpr' non-static member function will not be implicitly 'const' in C++14; add 'const' to avoid a change in behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wconsumed<br>
+----------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`consumed analysis attribute is attached to member of class '`:placeholder:`A`:diagtext:`' which isn't marked as consumable`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`state of variable '`:placeholder:`A`:diagtext:`' must match at the entry and exit of loop`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`parameter '`:placeholder:`A`:diagtext:`' not in expected state when the function returns: expected '`:placeholder:`B`:diagtext:`'<wbr>, observed '`:placeholder:`C`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`argument not in expected state; expected '`:placeholder:`A`:diagtext:`'<wbr>, observed '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`return state set for an unconsumable type '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`return value not in expected state; expected '`:placeholder:`A`:diagtext:`'<wbr>, observed '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid invocation of method '`:placeholder:`A`:diagtext:`' on object '`:placeholder:`B`:diagtext:`' while it is in the '`:placeholder:`C`:diagtext:`' state`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid invocation of method '`:placeholder:`A`:diagtext:`' on a temporary object while it is in the '`:placeholder:`B`:diagtext:`' state`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wconversion<br>
+------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wbool-conversion`_, `-Wconstant-conversion`_, `-Wenum-conversion`_, `-Wfloat-conversion`_, `-Wshorten-64-to-32`_, `-Wint-conversion`_, `-Wliteral-conversion`_, `-Wnon-literal-null-<wbr>conversion`_, `-Wnull-conversion`_, `-Wobjc-literal-conversion`_, `-Wsign-conversion`_, `-Wstring-conversion`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion discards imaginary component:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion loses floating-point precision:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion loses integer precision:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion turns vector to scalar:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-type template argument with value '`:placeholder:`A`:diagtext:`' converted to '`:placeholder:`B`:diagtext:`' for unsigned template parameter of type` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-type template argument value '`:placeholder:`A`:diagtext:`' truncated to '`:placeholder:`B`:diagtext:`' for template parameter of type` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wconversion-null<br>
+-----------------<br>
+Synonym for `-Wnull-conversion`_.<br>
+<br>
+<br>
+-Wcoreturn-without-coawait<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'co\_return' used in a function that uses neither 'co\_await' nor 'co\_yield'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wcovered-switch-default<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`default label in switch which covers all enumeration values`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wcstring-format-directive<br>
+--------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+---------<wbr>-------------+----------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using` |nbsp| :placeholder:`A` |nbsp| :diagtext:`directive in` |nbsp| |+--------------------+| |nbsp| :diagtext:`which is being passed as a formatting argument to the formatting` |nbsp| |+----------------------+|<br>
+|                                                                                                            ||:diagtext:`NSString`||                                                                                            ||:diagtext:`method`    ||<br>
+|                                                                                                            |+--------------------+|                                                                                            |+----------------------+|<br>
+|                                                                                                            ||:diagtext:`CFString`||                                                                                            ||:diagtext:`CFfunction`||<br>
+|                                                                                                            |+--------------------+|                                                                                            |+----------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+---------<wbr>-------------+----------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>-----------+<br>
+<br>
+<br>
+-Wctor-dtor-privacy<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wcuda-compat<br>
+-------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute parameter` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is negative and will be ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ignored 'inline' attribute on kernel function` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`kernel function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a member function; this may not be accepted by nvcc`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`argument to '#pragma unroll' should not be in parentheses in CUDA C/C++`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wcustom-atomic-properties<br>
+--------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>--------+---------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`atomic by default property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has a user defined` |nbsp| |+------------------+| |nbsp| :diagtext:`(property should be marked 'atomic' if this is intended)`|<br>
+|                                                                                                                                       ||:diagtext:`getter`||                                                                            |<br>
+|                                                                                                                                       |+------------------+|                                                                            |<br>
+|                                                                                                                                       ||:diagtext:`setter`||                                                                            |<br>
+|                                                                                                                                       |+------------------+|                                                                            |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>--------+---------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wdangling-else<br>
+---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`add explicit braces to avoid dangling else`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wdangling-field<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`binding reference member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to stack allocated parameter` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>-----------+------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`binding reference` |nbsp| |+----------------------------<wbr>----+|:diagtext:`member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to a temporary value`|<br>
+|                                                                ||                                ||                                                                                  |<br>
+|                                                                |+----------------------------<wbr>----+|                                                                                  |<br>
+|                                                                ||:diagtext:`subobject of` |nbsp| ||                                                                                  |<br>
+|                                                                |+----------------------------<wbr>----+|                                                                                  |<br>
++----------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>-----------+------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initializing pointer member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with the stack address of parameter` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wdangling-initializer-list<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`array backing the initializer list will be destroyed at the end of` |nbsp| |+----------------------------<wbr>---+|<br>
+|                                                                                                                 ||:diagtext:`the full-expression`||<br>
+|                                                                                                                 |+----------------------------<wbr>---+|<br>
+|                                                                                                                 ||:diagtext:`the constructor`    ||<br>
+|                                                                                                                 |+----------------------------<wbr>---+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wdate-time<br>
+-----------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expansion of date or time macro is not reproducible`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Wdealloc-in-category<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`-dealloc is being overridden in a category`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wdebug-compression-<wbr>unavailable<br>
+-----------------------------<wbr>--<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cannot compress debug sections (zlib not installed)`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Wdeclaration-after-statement<br>
+-----------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C90 forbids mixing declarations and code`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wdelegating-ctor-cycles<br>
+------------------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-delegating-ctor-cycles`<wbr>` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:error:`error:` |nbsp| :diagtext:`constructor for` |nbsp| :placeholder:`A` |nbsp| :diagtext:`creates a delegation cycle`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Wdelete-incomplete<br>
+-------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cannot delete expression with pointer-to-'void' type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`deleting pointer to incomplete type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may cause undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wdelete-non-virtual-dtor<br>
+-------------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------+| |nbsp| :diagtext:`called on` |nbsp| :placeholder:`B` |nbsp| :diagtext:`that is abstract but has non-virtual destructor`|<br>
+|                           ||:diagtext:`delete`    ||                                                                                                                        |<br>
+|                           |+----------------------+|                                                                                                                        |<br>
+|                           ||:diagtext:`destructor`||                                                                                                                        |<br>
+|                           |+----------------------+|                                                                                                                        |<br>
++---------------------------+<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++---------------------------+<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| |+----------------------+| |nbsp| :diagtext:`called on non-final` |nbsp| :placeholder:`B` |nbsp| :diagtext:`that has virtual functions but non-virtual destructor`|<br>
+|                           ||:diagtext:`delete`    ||                                                                                                                                        |<br>
+|                           |+----------------------+|                                                                                                                                        |<br>
+|                           ||:diagtext:`destructor`||                                                                                                                                        |<br>
+|                           |+----------------------+|                                                                                                                                        |<br>
++---------------------------+<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wdeprecated<br>
+------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wdeprecated-attributes`_, `-Wdeprecated-declarations`_, `-Wdeprecated-increment-bool`_<wbr>, `-Wdeprecated-register`_, `-Wdeprecated-writable-<wbr>strings`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`-O4 is equivalent to -O3`|<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`access declarations are deprecated; use using declarations instead`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>--------------------+---------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+---------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`definition of implicit copy` |nbsp| |+----------------------------<wbr>---+| |nbsp| :diagtext:`for` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated because it has a user-declared` |nbsp| |+----------------------------<wbr>------------------------------<wbr>--+|<br>
+|                                                                          ||:diagtext:`constructor`        ||                                                                                                                       ||+------------------------+--<wbr>------------------------------<wbr>-+||<br>
+|                                                                          |+----------------------------<wbr>---+|                                                                                                                       |||:diagtext:`copy` |nbsp| |+----------------------------<wbr>---+|||<br>
+|                                                                          ||:diagtext:`assignment operator`||                                                                                                                       |||                        ||:diagtext:`assignment operator`||||<br>
+|                                                                          |+----------------------------<wbr>---+|                                                                                                                       |||                        |+----------------------------<wbr>---+|||<br>
+|                                                                          |                                 |                                                                                                                       |||                        ||:diagtext:`constructor`        ||||<br>
+|                                                                          |                                 |                                                                                                                       |||                        |+----------------------------<wbr>---+|||<br>
+|                                                                          |                                 |                                                                                                                       ||+------------------------+--<wbr>------------------------------<wbr>-+||<br>
+|                                                                          |                                 |                                                                                                                       |+----------------------------<wbr>------------------------------<wbr>--+|<br>
+|                                                                          |                                 |                                                                                                                       ||:diagtext:`destructor`                                      ||<br>
+|                                                                          |                                 |                                                                                                                       |+----------------------------<wbr>------------------------------<wbr>--+|<br>
++----------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>--------------------+---------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+---------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`argument '`:placeholder:`A`:diagtext:`' is deprecated, use '`:placeholder:`B`:diagtext:`' instead`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`treating '`:placeholder:`A`:diagtext:`' input as '`:placeholder:`B`:diagtext:`' when in C++ mode, this behavior is deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`dynamic exception specifications are deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`OpenCL version` |nbsp| :placeholder:`A` |nbsp| :diagtext:`does not support the option '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`Use of 'long' with '\_\_vector' is deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wdeprecated-attributes<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`specifying vector types with the 'mode' attribute is deprecated; use the 'vector\_size' attribute instead`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wdeprecated-declarations<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of C-style parameters in Objective-C method declarations is deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may be deprecated because the receiver type is unknown`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated:` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property access is using` |nbsp| :placeholder:`A` |nbsp| :diagtext:`method which is deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wdeprecated-implementations<br>
+----------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`Implementing deprecated` |nbsp| |+--------------------+|<br>
+|                                                                      ||:diagtext:`method`  ||<br>
+|                                                                      |+--------------------+|<br>
+|                                                                      ||:diagtext:`class`   ||<br>
+|                                                                      |+--------------------+|<br>
+|                                                                      ||:diagtext:`category`||<br>
+|                                                                      |+--------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>-----+<br>
+<br>
+<br>
+-Wdeprecated-increment-bool<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incrementing expression of type bool is deprecated and incompatible with C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wdeprecated-objc-isa-usage<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`assignment to Objective-C's isa is deprecated in favor of object\_setClass()`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`direct access to Objective-C's isa is deprecated in favor of object\_getClass()`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wdeprecated-objc-pointer-<wbr>introspection<br>
+-----------------------------<wbr>----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wdeprecated-objc-pointer-<wbr>introspection-performSelector`<wbr>_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`bitmasking for introspection of Objective-C object pointers is strongly discouraged`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wdeprecated-objc-pointer-<wbr>introspection-performSelector<br>
+-----------------------------<wbr>--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`bitmasking for introspection of Objective-C object pointers is strongly discouraged`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wdeprecated-register<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'register' storage class specifier is deprecated and incompatible with C++1z`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wdeprecated-writable-strings<br>
+-----------------------------<br>
+Synonym for `-Wc++11-compat-deprecated-<wbr>writable-strings`_.<br>
+<br>
+<br>
+-Wdirect-ivar-access<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`instance variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is being directly accessed`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wdisabled-macro-expansion<br>
+--------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`disabled expansion of recursive macro`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wdisabled-optimization<br>
+-----------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wdiscard-qual<br>
+--------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wdistributed-object-<wbr>modifiers<br>
+-----------------------------<wbr>-<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting distributed object modifiers on parameter type in implementation of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting distributed object modifiers on return type in implementation of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wdiv-by-zero<br>
+-------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wdivision-by-zero<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>-----------------------+------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| |+---------------------+| |nbsp| :diagtext:`by zero is undefined`|<br>
+|                           ||:diagtext:`remainder`||                                        |<br>
+|                           |+---------------------+|                                        |<br>
+|                           ||:diagtext:`division` ||                                        |<br>
+|                           |+---------------------+|                                        |<br>
++---------------------------+<wbr>-----------------------+------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wdll-attribute-on-<wbr>redeclaration<br>
+-----------------------------<wbr>---<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redeclaration of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`should not add` |nbsp| :placeholder:`B` |nbsp| :diagtext:`attribute`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wdllexport-explicit-<wbr>instantiation-decl<br>
+-----------------------------<wbr>----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation declaration should not be 'dllexport'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wdllimport-static-field-def<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`definition of dllimport static field`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wdocumentation<br>
+---------------<br>
+Also controls `-Wdocumentation-html`_, `-Wdocumentation-deprecated-<wbr>sync`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------+----------------+<wbr>-----------------------+------<wbr>------------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>+-----------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+<wbr>|+---------------------+|:<wbr>diagtext:`' command should not be used in a comment attached to a non-`|+---------------------+| |nbsp| :diagtext:`declaration`|<br>
+|                                        ||:diagtext:`\\`|||:diagtext:`<wbr>class`    ||                                                                        ||:diagtext:`class`    ||                               |<br>
+|                                        |+--------------+|+-----------<wbr>----------+|                                                                        |+---------------------+|                               |<br>
+|                                        ||:diagtext:`@` |||:diagtext:`interface`||                                                                        ||:diagtext:`interface`||                               |<br>
+|                                        |+--------------+|+-----------<wbr>----------+|                                                                        |+---------------------+|                               |<br>
+|                                        |                ||:diagtext:`protocol` ||                                                                        ||:diagtext:`protocol` ||                               |<br>
+|                                        |                |+---------------------+|                                                                        |+---------------------+|                               |<br>
+|                                        |                ||:diagtext:`struct`   ||                                                                        ||:diagtext:`struct`   ||                               |<br>
+|                                        |                |+---------------------+|                                                                        |+---------------------+|                               |<br>
+|                                        |                ||:diagtext:`union`    ||                                                                        ||:diagtext:`union`    ||                               |<br>
+|                                        |                |+---------------------+|                                                                        |+---------------------+|                               |<br>
++----------------------------<wbr>------------+----------------+<wbr>-----------------------+------<wbr>------------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>+-----------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-+----------------+-----------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`duplicated command '`|+--------------+|:<wbr>placeholder:`B`:diagtext:`'`|<br>
+|                                                           ||:diagtext:`\\`||                             |<br>
+|                                                           |+--------------+|                             |<br>
+|                                                           ||:diagtext:`@` ||                             |<br>
+|                                                           |+--------------+|                             |<br>
++----------------------------<wbr>------------------------------<wbr>-+----------------+-----------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------+----------------+----<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`empty paragraph passed to '`|+--------------+|:<wbr>placeholder:`B`:diagtext:`' command`|<br>
+|                                                                  ||:diagtext:`\\`||                                     |<br>
+|                                                                  |+--------------+|                                     |<br>
+|                                                                  ||:diagtext:`@` ||                                     |<br>
+|                                                                  |+--------------+|                                     |<br>
++----------------------------<wbr>------------------------------<wbr>--------+----------------+----<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------+----------------+<wbr>--------------------------+---<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+<wbr>|+------------------------+|:<wbr>diagtext:`' command should not be used in a comment attached to a non-container declaration`|<br>
+|                                        ||:diagtext:`\\`|||:diagtext:`<wbr>classdesign` ||                                                                                             |<br>
+|                                        |+--------------+|+-----------<wbr>-------------+|                                                                                             |<br>
+|                                        ||:diagtext:`@` |||:diagtext:`coclass`     ||                                                                                             |<br>
+|                                        |+--------------+|+-----------<wbr>-------------+|                                                                                             |<br>
+|                                        |                ||:diagtext:`dependency`  ||                                                                                             |<br>
+|                                        |                |+------------------------+|                                                                                             |<br>
+|                                        |                ||:diagtext:`helper`      ||                                                                                             |<br>
+|                                        |                |+------------------------+|                                                                                             |<br>
+|                                        |                ||:diagtext:`helperclass` ||                                                                                             |<br>
+|                                        |                |+------------------------+|                                                                                             |<br>
+|                                        |                ||:diagtext:`helps`       ||                                                                                             |<br>
+|                                        |                |+------------------------+|                                                                                             |<br>
+|                                        |                ||:diagtext:`instancesize`||                                                                                             |<br>
+|                                        |                |+------------------------+|                                                                                             |<br>
+|                                        |                ||:diagtext:`ownership`   ||                                                                                             |<br>
+|                                        |                |+------------------------+|                                                                                             |<br>
+|                                        |                ||:diagtext:`performance` ||                                                                                             |<br>
+|                                        |                |+------------------------+|                                                                                             |<br>
+|                                        |                ||:diagtext:`security`    ||                                                                                             |<br>
+|                                        |                |+------------------------+|                                                                                             |<br>
+|                                        |                ||:diagtext:`superclass`  ||                                                                                             |<br>
+|                                        |                |+------------------------+|                                                                                             |<br>
++----------------------------<wbr>------------+----------------+<wbr>--------------------------+---<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------+----------------+<wbr>---------------------------+--<wbr>------------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>-------------+----------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+<wbr>|+-------------------------+|:<wbr>diagtext:`' command should be used in a comment attached to` |nbsp| |+----------------------------<wbr>-----+| |nbsp| :diagtext:`declaration`|<br>
+|                                        ||:diagtext:`\\`|||:diagtext:`<wbr>function`     ||                                                                     ||:diagtext:`a function`           ||                               |<br>
+|                                        |+--------------+|+-----------<wbr>--------------+|                                                                     |+----------------------------<wbr>-----+|                               |<br>
+|                                        ||:diagtext:`@` |||:diagtext:`functiongroup`||                                                                     ||:diagtext:`a function`           ||                               |<br>
+|                                        |+--------------+|+-----------<wbr>--------------+|                                                                     |+----------------------------<wbr>-----+|                               |<br>
+|                                        |                ||:diagtext:`method`       ||                                                                     ||:diagtext:`an Objective-C method`||                               |<br>
+|                                        |                |+-------------------------+|                                                                     |+----------------------------<wbr>-----+|                               |<br>
+|                                        |                ||:diagtext:`methodgroup`  ||                                                                     ||:diagtext:`an Objective-C method`||                               |<br>
+|                                        |                |+-------------------------+|                                                                     |+----------------------------<wbr>-----+|                               |<br>
+|                                        |                ||:diagtext:`callback`     ||                                                                     ||:diagtext:`a pointer to function`||                               |<br>
+|                                        |                |+-------------------------+|                                                                     |+----------------------------<wbr>-----+|                               |<br>
++----------------------------<wbr>------------+----------------+<wbr>---------------------------+--<wbr>------------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>-------------+----------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`HTML start tag prematurely ended, expected attribute name or '>'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected quoted string after equals sign`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`parameter '`:placeholder:`A`:diagtext:`' is already documented`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unrecognized parameter passing direction, valid directions are '\[in\]', '\[out\]' and '\[in,out\]'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------+----------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+<wbr>|:diagtext:`param' command used in a comment that is not attached to a function declaration`|<br>
+|                                        ||:diagtext:`\\`||                                                                                           |<br>
+|                                        |+--------------+|                                                                                           |<br>
+|                                        ||:diagtext:`@` ||                                                                                           |<br>
+|                                        |+--------------+|                                                                                           |<br>
++----------------------------<wbr>------------+----------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`parameter '`:placeholder:`A`:diagtext:`' not found in the function declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------+----------------+<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+<wbr>|:placeholder:`B`:diagtext:`' command used in a comment that is attached to a` |nbsp| |+----------------------------<wbr>-------+|<br>
+|                                        ||:diagtext:`\\`||                                                                                     ||:diagtext:`function returning void`||<br>
+|                                        |+--------------+|                                                                                     |+----------------------------<wbr>-------+|<br>
+|                                        ||:diagtext:`@` ||                                                                                     ||:diagtext:`constructor`            ||<br>
+|                                        |+--------------+|                                                                                     |+----------------------------<wbr>-------+|<br>
+|                                        |                |                                                                                     ||:diagtext:`destructor`             ||<br>
+|                                        |                |                                                                                     |+----------------------------<wbr>-------+|<br>
+|                                        |                |                                                                                     ||:diagtext:`method returning void`  ||<br>
+|                                        |                |                                                                                     |+----------------------------<wbr>-------+|<br>
++----------------------------<wbr>------------+----------------+<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------+----------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+<wbr>|:placeholder:`B`:diagtext:`' command used in a comment that is not attached to a function or method declaration`|<br>
+|                                        ||:diagtext:`\\`||                                                                                                                |<br>
+|                                        |+--------------+|                                                                                                                |<br>
+|                                        ||:diagtext:`@` ||                                                                                                                |<br>
+|                                        |+--------------+|                                                                                                                |<br>
++----------------------------<wbr>------------+----------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`template parameter '`:placeholder:`A`:diagtext:`' is already documented`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------+----------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+<wbr>|:diagtext:`tparam' command used in a comment that is not attached to a template declaration`|<br>
+|                                        ||:diagtext:`\\`||                                                                                            |<br>
+|                                        |+--------------+|                                                                                            |<br>
+|                                        ||:diagtext:`@` ||                                                                                            |<br>
+|                                        |+--------------+|                                                                                            |<br>
++----------------------------<wbr>------------+----------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`template parameter '`:placeholder:`A`:diagtext:`' not found in the template declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`not a Doxygen trailing comment`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------+----------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+<wbr>|:placeholder:`B`:diagtext:`' command does not terminate a verbatim text block`|<br>
+|                                        ||:diagtext:`\\`||                                                                              |<br>
+|                                        |+--------------+|                                                                              |<br>
+|                                        ||:diagtext:`@` ||                                                                              |<br>
+|                                        |+--------------+|                                                                              |<br>
++----------------------------<wbr>------------+----------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wdocumentation-deprecated-<wbr>sync<br>
+-----------------------------<wbr>--<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`declaration is marked with '\\deprecated' command but does not have a deprecation attribute`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wdocumentation-html<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`HTML end tag '`:placeholder:`A`:diagtext:`' is forbidden`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`HTML end tag does not match any start tag`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`HTML tag '`:placeholder:`A`:diagtext:`' requires an end tag`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`HTML start tag '`:placeholder:`A`:diagtext:`' closed by '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wdocumentation-pedantic<br>
+------------------------<br>
+Also controls `-Wdocumentation-unknown-<wbr>command`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`whitespace is not allowed in parameter passing direction`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wdocumentation-unknown-<wbr>command<br>
+-----------------------------<wbr>--<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown command tag name '`:placeholder:`A`:diagtext:`'<wbr>; did you mean '`:placeholder:`B`:diagtext:`'<wbr>?`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown command tag name`|<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wdollar-in-identifier-<wbr>extension<br>
+-----------------------------<wbr>---<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'$' in identifier`|<br>
++----------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wdouble-promotion<br>
+------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion increases floating-point precision:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wduplicate-decl-specifier<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`duplicate '`:placeholder:`A`:diagtext:`' declaration specifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`duplicate '`:placeholder:`A`:diagtext:`' declaration specifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wduplicate-enum<br>
+----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`element` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has been implicitly assigned` |nbsp| :placeholder:`B` |nbsp| :diagtext:`which another element has been assigned`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wduplicate-method-arg<br>
+----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redeclaration of method parameter` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wduplicate-method-match<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`multiple declarations of method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`found and ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wdynamic-class-memaccess<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>-+| |nbsp| :diagtext:`this` |nbsp| :placeholder:`B` |nbsp| :diagtext:`call is a pointer to` |nbsp| |+----------------------------<wbr>----------+|:diagtext:`dynamic class` |nbsp| :placeholder:`D`:diagtext:`; vtable pointer will be` |nbsp| |+-----------------------+|<br>
+|                           ||:diagtext:`destination for`  ||                                                                                                ||                                      ||                                                                                             ||:diagtext:`overwritten`||<br>
+|                           |+----------------------------<wbr>-+|                                                                                                |+----------------------------<wbr>----------+|                                                                                             |+-----------------------+|<br>
+|                           ||:diagtext:`source of`        ||                                                                                                ||:diagtext:`class containing a` |nbsp| ||                                                                                             ||:diagtext:`copied`     ||<br>
+|                           |+----------------------------<wbr>-+|                                                                                                |+----------------------------<wbr>----------+|                                                                                             |+-----------------------+|<br>
+|                           ||:diagtext:`first operand of` ||                                                                                                |                                        |                                                                                             ||:diagtext:`moved`      ||<br>
+|                           |+----------------------------<wbr>-+|                                                                                                |                                        |                                                                                             |+-----------------------+|<br>
+|                           ||:diagtext:`second operand of`||                                                                                                |                                        |                                                                                             ||:diagtext:`compared`   ||<br>
+|                           |+----------------------------<wbr>-+|                                                                                                |                                        |                                                                                             |+-----------------------+|<br>
++---------------------------+<wbr>------------------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+------<wbr>-------------------+<br>
+<br>
+<br>
+-Weffc++<br>
+--------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wembedded-directive<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`embedding a directive within macro arguments has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wempty-body<br>
+------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`for loop has empty body`|<br>
++----------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`if statement has empty body`|<br>
++----------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`range-based for loop has empty body`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`switch statement has empty body`|<br>
++----------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`while loop has empty body`|<br>
++----------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wempty-decomposition<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C++1z does not allow a decomposition group to be empty`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wempty-translation-unit<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C requires a translation unit to contain at least one declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wencode-type<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`encoding of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`type is incomplete because` |nbsp| :placeholder:`B` |nbsp| :diagtext:`component has unknown encoding`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wendif-labels<br>
+--------------<br>
+Synonym for `-Wextra-tokens`_.<br>
+<br>
+<br>
+-Wenum-compare<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparison of two values with different enumeration types`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wenum-conversion<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from enumeration type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to different enumeration type` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wenum-too-large<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`enumeration values exceed range of largest integer`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incremented enumerator value` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not representable in the largest integer type`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wexceptions<br>
+------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>------------+-----------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cannot refer to a non-static member from the handler of a` |nbsp| |+-----------------------+| |nbsp| :diagtext:`function try block`|<br>
+|                                                                                                        ||:diagtext:`constructor`||                                      |<br>
+|                                                                                                        |+-----------------------+|                                      |<br>
+|                                                                                                        ||:diagtext:`destructor` ||                                      |<br>
+|                                                                                                        |+-----------------------+|                                      |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>------------+-----------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`exception of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will be caught by earlier handler`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wexit-time-destructors<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`declaration requires an exit-time destructor`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wexpansion-to-defined<br>
+----------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`macro expansion producing 'defined' has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`macro expansion producing 'defined' has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wexplicit-initialize-call<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit call to +initialize results in duplicate call to +initialize`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit call to \[super initialize\] should only be in implementation of +initialize`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wexplicit-ownership-type<br>
+-------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`method parameter of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with no explicit ownership`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wextended-offsetof<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using extended field designator is an extension`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wextern-c-compat<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>---------------------------+--<wbr>------------------+-----------<wbr>------------------------------<wbr>---+--------------------------<wbr>-+--------------------------+<br>
+|:warning:`warning:` |nbsp| |+-------------------------+|+<wbr>------------------+| |nbsp| :diagtext:`has size 0 in C,` |nbsp| |+-------------------------+| |nbsp| :diagtext:`in C++`|<br>
+|                           ||                         |||:diagtext:`struct`||                                            ||:diagtext:`size 1`       ||                          |<br>
+|                           |+-------------------------+|+<wbr>------------------+|                                            |+-------------------------+|                          |<br>
+|                           ||:diagtext:`empty` |nbsp| |||:diagtext:`union` ||                                            ||:diagtext:`non-zero size`||                          |<br>
+|                           |+-------------------------+|+<wbr>------------------+|                                            |+-------------------------+|                          |<br>
++---------------------------+<wbr>---------------------------+--<wbr>------------------+-----------<wbr>------------------------------<wbr>---+--------------------------<wbr>-+--------------------------+<br>
+<br>
+<br>
+-Wextern-initializer<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'extern' variable has an initializer`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wextra<br>
+-------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wmissing-field-initializers`<wbr>_, `-Wignored-qualifiers`_, `-Winitializer-overrides`_, `-Wsemicolon-before-method-<wbr>body`_, `-Wmissing-method-return-type`<wbr>_, `-Wsign-compare`_, `-Wunused-parameter`_.<br>
+<br>
+<br>
+-Wextra-qualification<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extra qualification on member` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wextra-semi<br>
+------------<br>
+Also controls `-Wc++11-extra-semi`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extra ';'` |nbsp| |+----------------------------<wbr>------------------+|<br>
+|                                                        ||:diagtext:`outside of a function`             ||<br>
+|                                                        |+----------------------------<wbr>------------------+|<br>
+|                                                        ||+---------------------------<wbr>-----------------+||<br>
+|                                                        |||:diagtext:`inside a` |nbsp| :placeholder:`B`|||<br>
+|                                                        ||+---------------------------<wbr>-----------------+||<br>
+|                                                        |+----------------------------<wbr>------------------+|<br>
+|                                                        ||:diagtext:`inside instance variable list`     ||<br>
+|                                                        |+----------------------------<wbr>------------------+|<br>
+|                                                        ||:diagtext:`after member function definition`  ||<br>
+|                                                        |+----------------------------<wbr>------------------+|<br>
++----------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extra ';' after member function definition`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wextra-tokens<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extra tokens at end of #`:placeholder:`A` |nbsp| :diagtext:`directive`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extra tokens at the end of '#pragma omp` |nbsp| :placeholder:`A`:diagtext:`' are ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wfallback<br>
+----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`falling back to` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wflag-enum<br>
+-----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`enumeration value` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is out of range of flags in enumeration type` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wflexible-array-extensions<br>
+---------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may not be used as an array element due to flexible array member`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may not be nested in a struct due to flexible array member`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wfloat-conversion<br>
+------------------<br>
+Also controls `-Wfloat-overflow-conversion`_<wbr>, `-Wfloat-zero-conversion`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion turns floating-point number into integer:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wfloat-equal<br>
+-------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparing floating point with == or != is unsafe`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wfloat-overflow-conversion<br>
+---------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion of out of range value from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`changes value from` |nbsp| :placeholder:`C` |nbsp| :diagtext:`to` |nbsp| :placeholder:`D`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wfloat-zero-conversion<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`changes non-zero value from` |nbsp| :placeholder:`C` |nbsp| :diagtext:`to` |nbsp| :placeholder:`D`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wfor-loop-analysis<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+----------------<wbr>---------+--------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is` |nbsp| |+-----------------------+| |nbsp| :diagtext:`both in the loop header and in the loop body`|<br>
+|                                                                                                     ||:diagtext:`decremented`||                                                                |<br>
+|                                                                                                     |+-----------------------+|                                                                |<br>
+|                                                                                                     ||:diagtext:`incremented`||                                                                |<br>
+|                                                                                                     |+-----------------------+|                                                                |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+----------------<wbr>---------+--------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+---<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable`|+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+| |nbsp| :diagtext:`used in loop condition not modified in loop body`|<br>
+|                                               ||:diagtext:`s`                                                                                                                                             ||                                                                    |<br>
+|                                               |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+|                                                                    |<br>
+|                                               ||+------------------------+                                                                                                                                ||                                                                    |<br>
+|                                               ||| |nbsp| :placeholder:`B`|                                                                                                                                ||                                                                    |<br>
+|                                               ||+------------------------+                                                                                                                                ||                                                                    |<br>
+|                                               |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+|                                                                    |<br>
+|                                               ||+---------------------------<wbr>------------------------------<wbr>---------------------------+                                                                    ||                                                                    |<br>
+|                                               |||:diagtext:`s` |nbsp| :placeholder:`B` |nbsp| :diagtext:`and` |nbsp| :placeholder:`C`|                                                                    ||                                                                    |<br>
+|                                               ||+---------------------------<wbr>------------------------------<wbr>---------------------------+                                                                    ||                                                                    |<br>
+|                                               |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+|                                                                    |<br>
+|                                               ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+                                     ||                                                                    |<br>
+|                                               |||:diagtext:`s` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`, and` |nbsp| :placeholder:`D`|                                     ||                                                                    |<br>
+|                                               ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+                                     ||                                                                    |<br>
+|                                               |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+|                                                                    |<br>
+|                                               ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+||                                                                    |<br>
+|                                               |||:diagtext:`s` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`,` |nbsp| :placeholder:`D`:diagtext:`, and` |nbsp| :placeholder:`E`|||                                                                    |<br>
+|                                               ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+||                                                                    |<br>
+|                                               |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+|                                                                    |<br>
++----------------------------<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+---<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wformat<br>
+--------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wformat-extra-args`_, `-Wformat-zero-length`_, `-Wnonnull`_, `-Wformat-security`_, `-Wformat-y2k`_, `-Wformat-invalid-specifier`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>----------------+| |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' should not be used as format arguments; add an explicit cast to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`instead`|<br>
+|                           ||:diagtext:`values of type`                  ||                                                                                                                                                                     |<br>
+|                           |+----------------------------<wbr>----------------+|                                                                                                                                                                     |<br>
+|                           ||:diagtext:`enum values with underlying type`||                                                                                                                                                                     |<br>
+|                           |+----------------------------<wbr>----------------+|                                                                                                                                                                     |<br>
++---------------------------+<wbr>------------------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+---------------<wbr>--------------+---------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`format specifies type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`but the argument has` |nbsp| |+---------------------------+<wbr>| |nbsp| :placeholder:`B`|<br>
+|                                                                                                                                    ||:diagtext:`type`           ||                        |<br>
+|                                                                                                                                    |+---------------------------+<wbr>|                        |<br>
+|                                                                                                                                    ||:diagtext:`underlying type`||                        |<br>
+|                                                                                                                                    |+---------------------------+<wbr>|                        |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+---------------<wbr>--------------+---------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid position specified for` |nbsp| |+---------------------------+<wbr>|<br>
+|                                                                             ||:diagtext:`field width`    ||<br>
+|                                                                             |+---------------------------+<wbr>|<br>
+|                                                                             ||:diagtext:`field precision`||<br>
+|                                                                             |+---------------------------+<wbr>|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cannot mix positional and non-positional arguments in format string`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`length modifier '`:placeholder:`A`:diagtext:`' results in undefined behavior or no effect with '`:placeholder:`B`:diagtext:`' conversion specifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`format string should not be a wide string`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`position arguments in format strings start counting at 1 (not 0)`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`format string missing`|<br>
++----------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`object format flags cannot be used with '`:placeholder:`A`:diagtext:`' conversion specifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------+-----------------<wbr>+-----------------------------<wbr>--------+---------------------<wbr>--+---------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`|+---------------<wbr>+|:diagtext:`' specified field` |nbsp| |+---------------------+| |nbsp| :diagtext:`is missing a matching 'int' argument`|<br>
+|                                        ||:diagtext:`\*` ||                                     ||:diagtext:`width`    ||                                                        |<br>
+|                                        |+---------------+|                                     |+---------------------+|                                                        |<br>
+|                                        ||:diagtext:`.\*`||                                     ||:diagtext:`precision`||                                                        |<br>
+|                                        |+---------------+|                                     |+---------------------+|                                                        |<br>
++----------------------------<wbr>------------+-----------------<wbr>+-----------------------------<wbr>--------+---------------------<wbr>--+---------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------+-----<wbr>------------------+-----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`field` |nbsp| |+---------------------+| |nbsp| :diagtext:`should have type` |nbsp| :placeholder:`B`:diagtext:`, but argument has type` |nbsp| :placeholder:`C`|<br>
+|                                                    ||:diagtext:`width`    ||                                                                                                                       |<br>
+|                                                    |+---------------------+|                                                                                                                       |<br>
+|                                                    ||:diagtext:`precision`||                                                                                                                       |<br>
+|                                                    |+---------------------+|                                                                                                                       |<br>
++----------------------------<wbr>------------------------+-----<wbr>------------------+-----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing object format flag`|<br>
++----------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`format string contains '\\0' within the string body`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`format string is not null-terminated`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`flag '`:placeholder:`A`:diagtext:`' is ignored when flag '`:placeholder:`B`:diagtext:`' is present`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incomplete format specifier`|<br>
++----------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`more '%%' conversions than data arguments`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' is not a valid object format flag`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`flag '`:placeholder:`A`:diagtext:`' results in undefined behavior with '`:placeholder:`B`:diagtext:`' conversion specifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++---------------------------+<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| |+-----------------------+| |nbsp| :diagtext:`used with '`:placeholder:`B`:diagtext:`' conversion specifier, resulting in undefined behavior`|<br>
+|                           ||:diagtext:`field width`||                                                                                                                  |<br>
+|                           |+-----------------------+|                                                                                                                  |<br>
+|                           ||:diagtext:`precision`  ||                                                                                                                  |<br>
+|                           |+-----------------------+|                                                                                                                  |<br>
++---------------------------+<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`data argument position '`:placeholder:`A`:diagtext:`' exceeds the number of data arguments (`:placeholder:`B`:diagtext:`)<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`zero field width in scanf format string is unused`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no closing '\]' for '%%\[' in scanf format string`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wformat-extra-args<br>
+-------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`data argument not used by format string`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wformat-invalid-specifier<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid conversion specifier '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wformat-non-iso<br>
+----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>------------------------+-----<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`'` |nbsp| |+----------------------------<wbr>----+| |nbsp| :diagtext:`is not supported by ISO C`|<br>
+|                                                                             ||:diagtext:`length modifier`     ||                                             |<br>
+|                                                                             |+----------------------------<wbr>----+|                                             |<br>
+|                                                                             ||:diagtext:`conversion specifier`||                                             |<br>
+|                                                                             |+----------------------------<wbr>----+|                                             |<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>------------------------+-----<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using length modifier '`:placeholder:`A`:diagtext:`' with conversion specifier '`:placeholder:`B`:diagtext:`' is not supported by ISO C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`positional arguments are not supported by ISO C`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wformat-nonliteral<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`format string is not a string literal`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wformat-pedantic<br>
+-----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+---------------<wbr>--------------+---------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`format specifies type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`but the argument has` |nbsp| |+---------------------------+<wbr>| |nbsp| :placeholder:`B`|<br>
+|                                                                                                                                    ||:diagtext:`type`           ||                        |<br>
+|                                                                                                                                    |+---------------------------+<wbr>|                        |<br>
+|                                                                                                                                    ||:diagtext:`underlying type`||                        |<br>
+|                                                                                                                                    |+---------------------------+<wbr>|                        |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+---------------<wbr>--------------+---------------<wbr>---------+<br>
+<br>
+<br>
+-Wformat-security<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`format string is not a string literal (potentially insecure)`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wformat-y2k<br>
+------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wformat-zero-length<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`format string is empty`|<br>
++----------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wformat=2<br>
+----------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wformat-nonliteral`_, `-Wformat-security`_, `-Wformat-y2k`_.<br>
+<br>
+<br>
+-Wfour-char-constants<br>
+---------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`multi-character character constant`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wframe-larger-than=<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
+The text of this diagnostic is not controlled by Clang.<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`stack frame size of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`bytes in` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wfunction-def-in-objc-<wbr>container<br>
+-----------------------------<wbr>---<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`function definition inside an Objective-C container is deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wfuture-compat<br>
+---------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wgcc-compat<br>
+------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'enable\_if' is a clang extension`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`\_\_final is a GNU extension, consider using C++11 final`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`GCC does not allow` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute in this position on a function definition`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'break' is bound to loop, GCC binds it to switch`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`GCC does not allow the 'cleanup' attribute argument to be anything other than a simple identifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`GCC does not allow an attribute in this position on a function declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' is bound to current loop, GCC binds it to the enclosing loop`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wglobal-constructors<br>
+---------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`declaration requires a global constructor`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`declaration requires a global destructor`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wgnu<br>
+-----<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wgnu-alignof-expression`_, `-Wgnu-anonymous-struct`_, `-Wgnu-auto-type`_, `-Wgnu-binary-literal`_, `-Wgnu-case-range`_, `-Wgnu-complex-integer`_, `-Wgnu-compound-literal-<wbr>initializer`_, `-Wgnu-conditional-omitted-<wbr>operand`_, `-Wgnu-designator`_, `-Wgnu-empty-initializer`_, `-Wgnu-empty-struct`_, `-Wvla-extension`_, `-Wgnu-flexible-array-<wbr>initializer`_, `-Wgnu-flexible-array-union-<wbr>member`_, `-Wgnu-folding-constant`_, `-Wgnu-imaginary-constant`_, `-Wgnu-include-next`_, `-Wgnu-label-as-value`_, `-Wredeclared-class-member`_, `-Wgnu-redeclared-enum`_, `-Wgnu-statement-expression`_, `-Wgnu-static-float-init`_, `-Wgnu-string-literal-<wbr>operator-template`_, `-Wgnu-union-cast`_, `-Wgnu-variable-sized-type-<wbr>not-at-end`_, `-Wzero-length-array`_, `-Wgnu-zero-line-directive`_, `-Wgnu-zero-variadic-macro-<wbr>arguments`_.<br>
+<br>
+<br>
+-Wgnu-alignof-expression<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`applied to an expression is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wgnu-anonymous-struct<br>
+----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`anonymous structs are a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wgnu-array-member-paren-init<br>
+-----------------------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-gnu-array-member-paren-<wbr>init`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:error:`error:` |nbsp| :diagtext:`parenthesized initialization of a member array is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wgnu-auto-type<br>
+---------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'\_\_auto\_type' is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wgnu-binary-literal<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`binary integer literals are a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wgnu-case-range<br>
+----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of GNU case range extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wgnu-complex-integer<br>
+---------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`complex integer types are a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wgnu-compound-literal-<wbr>initializer<br>
+-----------------------------<wbr>-----<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initialization of an array` |nbsp| :diagtext:`from a compound literal` |nbsp| :diagtext:`is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wgnu-conditional-omitted-<wbr>operand<br>
+-----------------------------<wbr>----<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of GNU ?: conditional expression extension, omitting middle operand`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wgnu-designator<br>
+----------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of GNU array range extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of GNU 'missing =' extension in designator`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of GNU old-style field designator extension`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wgnu-empty-initializer<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of GNU empty initializer extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wgnu-empty-struct<br>
+------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------+-----<wbr>---------------+--------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`empty` |nbsp| |+------------------+| |nbsp| :diagtext:`is a GNU extension`|<br>
+|                                                    ||:diagtext:`struct`||                                      |<br>
+|                                                    |+------------------+|                                      |<br>
+|                                                    ||:diagtext:`union` ||                                      |<br>
+|                                                    |+------------------+|                                      |<br>
++----------------------------<wbr>------------------------+-----<wbr>---------------+--------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------+-----------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`flexible array member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in otherwise empty` |nbsp| |+---------------------+| |nbsp| :diagtext:`is a GNU extension`|<br>
+|                                                                                                                                  ||:diagtext:`struct`   ||                                      |<br>
+|                                                                                                                                  |+---------------------+|                                      |<br>
+|                                                                                                                                  ||:diagtext:`interface`||                                      |<br>
+|                                                                                                                                  |+---------------------+|                                      |<br>
+|                                                                                                                                  ||:diagtext:`union`    ||                                      |<br>
+|                                                                                                                                  |+---------------------+|                                      |<br>
+|                                                                                                                                  ||:diagtext:`class`    ||                                      |<br>
+|                                                                                                                                  |+---------------------+|                                      |<br>
+|                                                                                                                                  ||:diagtext:`enum`     ||                                      |<br>
+|                                                                                                                                  |+---------------------+|                                      |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------+-----------------------<wbr>---------------+<br>
+<br>
++---------------------------+<wbr>--------------------+---------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| |+------------------+| |nbsp| :diagtext:`without named members is a GNU extension`|<br>
+|                           ||:diagtext:`struct`||                                                            |<br>
+|                           |+------------------+|                                                            |<br>
+|                           ||:diagtext:`union` ||                                                            |<br>
+|                           |+------------------+|                                                            |<br>
++---------------------------+<wbr>--------------------+---------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wgnu-flexible-array-<wbr>initializer<br>
+-----------------------------<wbr>---<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`flexible array initialization is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wgnu-flexible-array-union-<wbr>member<br>
+-----------------------------<wbr>----<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`flexible array member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in a union is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wgnu-folding-constant<br>
+----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------+--------------------<wbr>--+---------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expression is not an` |nbsp| |+--------------------+| |nbsp| :diagtext:`constant expression; folding it to a constant is a GNU extension`|<br>
+|                                                                   ||:diagtext:`integer` ||                                                                                    |<br>
+|                                                                   |+--------------------+|                                                                                    |<br>
+|                                                                   ||:diagtext:`integral`||                                                                                    |<br>
+|                                                                   |+--------------------+|                                                                                    |<br>
++----------------------------<wbr>------------------------------<wbr>---------+--------------------<wbr>--+---------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`in-class initializer for static data member is not a constant expression; folding it to a constant is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable length array folded to constant array as an extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wgnu-imaginary-constant<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`imaginary constants are a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wgnu-include-next<br>
+------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#include\_next is a language extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wgnu-label-as-value<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of GNU address-of-label extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of GNU indirect-goto extension`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wgnu-redeclared-enum<br>
+---------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redeclaration of already-defined enum` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wgnu-statement-expression<br>
+--------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of GNU statement expression extension`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wgnu-static-float-init<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`in-class initializer for static data member of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wgnu-string-literal-<wbr>operator-template<br>
+-----------------------------<wbr>---------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`string literal operator templates are a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wgnu-union-cast<br>
+----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast to union type is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wgnu-variable-sized-type-<wbr>not-at-end<br>
+-----------------------------<wbr>-------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with variable sized type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`not at the end of a struct or class is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Wgnu-zero-line-directive<br>
+-------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#line directive with zero argument is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wgnu-zero-variadic-macro-<wbr>arguments<br>
+-----------------------------<wbr>------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`must specify at least one argument for '...' parameter of variadic macro`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`token pasting of ',' and \_\_VA\_ARGS\_\_ is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wheader-guard<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is used as a header guard here, followed by #define of a different macro`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wheader-hygiene<br>
+----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using namespace directive in global context in header`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Widiomatic-parentheses<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using the result of an assignment as a condition without parentheses`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wignored-attributes<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| |+-----------------+| |nbsp| :diagtext:`will always resolve to` |nbsp| :placeholder:`A` |nbsp| :diagtext:`even if weak definition of` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is overridden`|<br>
+|                           ||:diagtext:`alias`||                                                                                                                                                                         |<br>
+|                           |+-----------------+|                                                                                                                                                                         |<br>
+|                           ||:diagtext:`ifunc`||                                                                                                                                                                         |<br>
+|                           |+-----------------+|                                                                                                                                                                         |<br>
++---------------------------+<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++---------------------------+<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| |+-----------------+| |nbsp| :diagtext:`will not be in section '`:placeholder:`A`:diagtext:`' but in the same section as the` |nbsp| |+--------------------+|<br>
+|                           ||:diagtext:`alias`||                                                                                                                ||:diagtext:`aliasee` ||<br>
+|                           |+-----------------+|                                                                                                                |+--------------------+|<br>
+|                           ||:diagtext:`ifunc`||                                                                                                                ||:diagtext:`resolver`||<br>
+|                           |+-----------------+|                                                                                                                |+--------------------+|<br>
++---------------------------+<wbr>-------------------+----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>-------+----------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'abi\_tag' attribute on` |nbsp| |+----------------------+| |nbsp| :diagtext:`namespace ignored`|<br>
+|                                                                      ||:diagtext:`non-inline`||                                     |<br>
+|                                                                      |+----------------------+|                                     |<br>
+|                                                                      ||:diagtext:`anonymous` ||                                     |<br>
+|                                                                      |+----------------------+|                                     |<br>
++----------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>-------+----------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`after definition is ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute can only be applied to instance variables or properties`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute ignored on inline function`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' attribute cannot be specified on a definition`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored, because it is not attached to a declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'nonnull' attribute applied to function with no pointer arguments`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'nonnull' attribute when used on parameters takes no arguments`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute ignored when parsing type`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to a pointer or reference (`:placeholder:`B` |nbsp| :diagtext:`is invalid)`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+-----------------------------<wbr>-+----------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to`|+-------------------------<wbr>---+| |nbsp| :diagtext:`pointer arguments`|<br>
+|                                                                                        ||                            ||                                     |<br>
+|                                                                                        |+----------------------------<wbr>+|                                     |<br>
+|                                                                                        || |nbsp| :diagtext:`constant`||                                     |<br>
+|                                                                                        |+----------------------------<wbr>+|                                     |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+-----------------------------<wbr>-+----------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attribute declaration must precede definition`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to return values that are pointers`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to return values that are pointers or references`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'sentinel' attribute requires named arguments`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'sentinel' attribute only supported for variadic` |nbsp| |+---------------------+|<br>
+|                                                                                               ||:diagtext:`functions`||<br>
+|                                                                                               |+---------------------+|<br>
+|                                                                                               ||:diagtext:`blocks`   ||<br>
+|                                                                                               |+---------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute argument not supported:` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown visibility` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+---------------------------<wbr>-----+------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot be applied to` |nbsp| |+----------------------------<wbr>--+| |nbsp| :diagtext:`without return value`|<br>
+|                                                                                                                        ||:diagtext:`functions`         ||                                        |<br>
+|                                                                                                                        |+----------------------------<wbr>--+|                                        |<br>
+|                                                                                                                        ||:diagtext:`Objective-C method`||                                        |<br>
+|                                                                                                                        |+----------------------------<wbr>--+|                                        |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+---------------------------<wbr>-----+------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`\_\_weak attribute cannot be specified on a field declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`\_\_weak attribute cannot be specified on an automatic variable when ARC is not enabled`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to` |nbsp| |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`functions`                                                                                           ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`unions`                                                                                              ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`variables and functions`                                                                             ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`functions, variables, and Objective-C interfaces`                                                    ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`functions and methods`                                                                               ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`parameters`                                                                                          ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`functions, methods and blocks`                                                                       ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`functions, methods, and classes`                                                                     ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`functions, methods, and parameters`                                                                  ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`classes`                                                                                             ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`enums`                                                                                               ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`variables`                                                                                           ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`methods`                                                                                             ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`fields and global variables`                                                                         ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`structs`                                                                                             ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`parameters and typedefs`                                                                             ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`variables and typedefs`                                                                              ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`thread-local variables`                                                                              ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`variables and fields`                                                                                ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`variables, data members and tag types`                                                               ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`types and namespaces`                                                                                ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`Objective-C interfaces`                                                                              ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`methods and properties`                                                                              ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`struct or union`                                                                                     ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`struct, union or class`                                                                              ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`types`                                                                                               ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`Objective-C instance methods`                                                                        ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`init methods of interface or class extension declarations`                                           ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`variables, functions and classes`                                                                    ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`functions, variables, classes, and Objective-C interfaces`                                           ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`Objective-C protocols`                                                                               ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`functions and global variables`                                                                      ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`structs, unions, and typedefs`                                                                       ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`structs and typedefs`                                                                                ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`interface or protocol declarations`                                                                  ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`kernel functions`                                                                                    ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`non-K&R-style functions`                                                                             ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`variables, enums, fields and typedefs`                                                               ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`functions, methods, enums, and classes`                                                              ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`structs, classes, variables, functions, and inline namespaces`                                       ||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
+|                                                                                                ||:diagtext:`variables, functions, methods, types, enumerations, enumerators, labels, and non-static data members`||<br>
+|                                                                                                |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored, because it cannot be applied to omitted return type`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`calling convention` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored for this target`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`calling convention ignored on constructor/destructor`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`calling convention ignored on variadic function`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored, because it cannot be applied to a type`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+-----------------------+---<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is ignored, place it after "`|+---------------------+|:<wbr>diagtext:`" to apply attribute to type declaration`|<br>
+|                                                                                                                        ||:diagtext:`class`    ||                                                    |<br>
+|                                                                                                                        |+---------------------+|                                                    |<br>
+|                                                                                                                        ||:diagtext:`struct`   ||                                                    |<br>
+|                                                                                                                        |+---------------------+|                                                    |<br>
+|                                                                                                                        ||:diagtext:`interface`||                                                    |<br>
+|                                                                                                                        |+---------------------+|                                                    |<br>
+|                                                                                                                        ||:diagtext:`union`    ||                                                    |<br>
+|                                                                                                                        |+---------------------+|                                                    |<br>
+|                                                                                                                        ||:diagtext:`enum`     ||                                                    |<br>
+|                                                                                                                        |+---------------------+|                                                    |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+-----------------------+---<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'deprecated' attribute on anonymous namespace ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`redeclared inline;` |nbsp| :placeholder:`B` |nbsp| :diagtext:`attribute ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is already applied with different parameters`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is already applied`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`Objective-C GC does not allow weak variables on the stack`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'gnu\_inline' attribute requires function to be marked 'inline', attribute ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`inheritance model ignored on` |nbsp| |+----------------------------<wbr>------+|<br>
+|                                                                           ||:diagtext:`primary template`      ||<br>
+|                                                                           |+----------------------------<wbr>------+|<br>
+|                                                                           ||:diagtext:`partial specialization`||<br>
+|                                                                           |+----------------------------<wbr>------+|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'internal\_linkage' attribute on a non-static local variable is ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`qualifiers after comma in declarator list are ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+--------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`MIPS 'interrupt' attribute only applies to functions that have` |nbsp| |+----------------------------<wbr>----+|<br>
+|                                                                                                             ||:diagtext:`no parameters`       ||<br>
+|                                                                                                             |+----------------------------<wbr>----+|<br>
+|                                                                                                             ||:diagtext:`a 'void' return type`||<br>
+|                                                                                                             |+----------------------------<wbr>----+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+--------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown attribute '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>--------------+---------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to` |nbsp| |+----------------------------<wbr>-----+| |nbsp| :diagtext:`parameters`|<br>
+|                                                                                                ||:diagtext:`Objective-C object`   ||                              |<br>
+|                                                                                                |+----------------------------<wbr>-----+|                              |<br>
+|                                                                                                ||:diagtext:`pointer`              ||                              |<br>
+|                                                                                                |+----------------------------<wbr>-----+|                              |<br>
+|                                                                                                ||:diagtext:`pointer-to-CF-<wbr>pointer`||                              |<br>
+|                                                                                                |+----------------------------<wbr>-----+|                              |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>--------------+---------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>---+--------------------------<wbr>-------------+----------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to` |nbsp| |+----------------------+| |nbsp| :diagtext:`that return` |nbsp| |+----------------------------<wbr>--------+|<br>
+|                                                                                                ||:diagtext:`functions` ||                                       ||:diagtext:`an Objective-C object`   ||<br>
+|                                                                                                |+----------------------+|                                       |+----------------------------<wbr>--------+|<br>
+|                                                                                                ||:diagtext:`methods`   ||                                       ||:diagtext:`a pointer`               ||<br>
+|                                                                                                |+----------------------+|                                       |+----------------------------<wbr>--------+|<br>
+|                                                                                                ||:diagtext:`properties`||                                       ||:diagtext:`a non-retainable pointer`||<br>
+|                                                                                                |+----------------------+|                                       |+----------------------------<wbr>--------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>---+--------------------------<wbr>-------------+----------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is deprecated and ignored in OpenCL version` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++---------------------------+<wbr>-----------------------+------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+--------------<wbr>---------+--------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| |+---------------------+| |nbsp| :diagtext:`of field` |nbsp| :placeholder:`B` |nbsp| :diagtext:`(`:placeholder:`C` |nbsp| :diagtext:`bits) does not match the` |nbsp| |+---------------------+| |nbsp| :diagtext:`of the first field in transparent union; transparent\_union attribute ignored`|<br>
+|                           ||:diagtext:`alignment`||                                                                                                                                             ||:diagtext:`alignment`||                                                                                                 |<br>
+|                           |+---------------------+|                                                                                                                                             |+---------------------+|                                                                                                 |<br>
+|                           ||:diagtext:`size`     ||                                                                                                                                             ||:diagtext:`size`     ||                                                                                                 |<br>
+|                           |+---------------------+|                                                                                                                                             |+---------------------+|                                                                                                 |<br>
++---------------------------+<wbr>-----------------------+------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+--------------<wbr>---------+--------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+------------------------<wbr>----+-------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`first field of a transparent union cannot have` |nbsp| |+--------------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`B`:diagtext:`; transparent\_union attribute ignored`|<br>
+|                                                                                             ||:diagtext:`floating point`||                                                                                                  |<br>
+|                                                                                             |+--------------------------+|                                                                                                  |<br>
+|                                                                                             ||:diagtext:`vector`        ||                                                                                                  |<br>
+|                                                                                             |+--------------------------+|                                                                                                  |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+------------------------<wbr>----+-------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`transparent\_union attribute can only be applied to a union definition; attribute ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`transparent union definition must contain at least one field; transparent\_union attribute ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+------------------------<wbr>-------------------------+----<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' only applies to` |nbsp| |+----------------------------<wbr>-------------------+| |nbsp| :diagtext:`types; type here is` |nbsp| :placeholder:`C`|<br>
+|                                                                                             ||:diagtext:`function`                           ||                                                               |<br>
+|                                                                                             |+----------------------------<wbr>-------------------+|                                                               |<br>
+|                                                                                             ||:diagtext:`pointer`                            ||                                                               |<br>
+|                                                                                             |+----------------------------<wbr>-------------------+|                                                               |<br>
+|                                                                                             ||:diagtext:`Objective-C object or block pointer`||                                                               |<br>
+|                                                                                             |+----------------------------<wbr>-------------------+|                                                               |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+------------------------<wbr>-------------------------+----<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`\_\_declspec attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not supported`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`Ignoring unsupported '`:placeholder:`A`:diagtext:`' in the target attribute string`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wignored-optimization-<wbr>argument<br>
+-----------------------------<wbr>--<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`optimization flag '`:placeholder:`A`:diagtext:`' is not supported for target '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`optimization flag '`:placeholder:`A`:diagtext:`' is not supported`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wignored-pragmas<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+---------<wbr>------------------+-----------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected '=' following '#pragma` |nbsp| |+-------------------------+|:<wbr>diagtext:`' - ignored`|<br>
+|                                                                              ||:diagtext:`align`        ||                       |<br>
+|                                                                              |+-------------------------+|                       |<br>
+|                                                                              ||:diagtext:`options align`||                       |<br>
+|                                                                              |+-------------------------+|                       |<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+---------<wbr>------------------+-----------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>-----------------------+------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid alignment option in '#pragma` |nbsp| |+-------------------------+|:<wbr>diagtext:`' - ignored`|<br>
+|                                                                                   ||:diagtext:`align`        ||                       |<br>
+|                                                                                   |+-------------------------+|                       |<br>
+|                                                                                   ||:diagtext:`options align`||                       |<br>
+|                                                                                   |+-------------------------+|                       |<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>-----------------------+------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'#pragma comment` |nbsp| :placeholder:`A`:diagtext:`' ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing argument to debug command '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unexpected debug command '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected action or ')' in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing ':' after` |nbsp| :placeholder:`A` |nbsp| :diagtext:`- ignoring`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing ':' or ')' after` |nbsp| :placeholder:`A` |nbsp| :diagtext:`- ignoring`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected 'enable' or 'disable' - ignoring`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected identifier in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected 'compiler', 'lib', 'user', or a string literal for the section name in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected integer between` |nbsp| :placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B` |nbsp| :diagtext:`inclusive in '#pragma` |nbsp| :placeholder:`C`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing '(' after '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignoring`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected non-wide string literal in '#pragma` |nbsp| :placeholder:`A`:diagtext:`'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected ')' or ',' in '#pragma` |nbsp| :placeholder:`A`:diagtext:`'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing ')' after '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignoring`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected a stack label or a string literal for the section name in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected a string literal for the section name in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected push, pop or a string literal for the section name in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extra tokens at end of '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'#pragma init\_seg' is only supported when targeting a Microsoft environment`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown action for '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown action '`:placeholder:`B`:diagtext:`' for '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incorrect use of '#pragma ms\_struct on\|off' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#pragma options align=reset failed:` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected 'align' following '#pragma options' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected #pragma pack parameter to be '1', '2', '4', '8', or '16'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected integer or identifier in '#pragma pack' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#pragma` |nbsp| :placeholder:`A`:diagtext:`(<wbr>pop, ...) failed:` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pragma pop\_macro could not pop '`:placeholder:`A`:diagtext:`'<wbr>, no matching push\_macro`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown OpenCL extension` |nbsp| :placeholder:`A` |nbsp| :diagtext:`- ignoring`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`known but unsupported action '`:placeholder:`B`:diagtext:`' for '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unsupported OpenCL extension` |nbsp| :placeholder:`A` |nbsp| :diagtext:`- ignoring`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected '#pragma unused' argument to be a variable name`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`only variables can be arguments to '#pragma unused'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`undeclared variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`used as an argument for '#pragma unused'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wignored-qualifiers<br>
+--------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>----------------------+-------<wbr>-----------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ARC` |nbsp| |+----------------------------<wbr>------+| |nbsp| :diagtext:`lifetime qualifier on return type is ignored`|<br>
+|                                                  ||:diagtext:`unused`                ||                                                                |<br>
+|                                                  |+----------------------------<wbr>------+|                                                                |<br>
+|                                                  ||:diagtext:`\_\_unsafe\_<wbr>unretained`||                                                                |<br>
+|                                                  |+----------------------------<wbr>------+|                                                                |<br>
+|                                                  ||:diagtext:`\_\_strong`            ||                                                                |<br>
+|                                                  |+----------------------------<wbr>------+|                                                                |<br>
+|                                                  ||:diagtext:`\_\_weak`              ||                                                                |<br>
+|                                                  |+----------------------------<wbr>------+|                                                                |<br>
+|                                                  ||:diagtext:`\_\_<wbr>autoreleasing`     ||                                                                |<br>
+|                                                  |+----------------------------<wbr>------+|                                                                |<br>
++----------------------------<wbr>----------------------+-------<wbr>-----------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' qualifier on omitted return type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has no effect`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+---<wbr>------------+-----------------<wbr>-------------------------+----<wbr>---------------+--------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' type qualifier`|+-------------+| |nbsp| :diagtext:`on return type` |nbsp| |+-----------------+| |nbsp| :diagtext:`no effect`|<br>
+|                                                                                    ||             ||                                          ||:diagtext:`:has` ||                             |<br>
+|                                                                                    |+-------------+|                                          |+-----------------+|                             |<br>
+|                                                                                    ||:diagtext:`s`||                                          ||:diagtext:`:have`||                             |<br>
+|                                                                                    |+-------------+|                                          |+-----------------+|                             |<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+---<wbr>------------+-----------------<wbr>-------------------------+----<wbr>---------------+--------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' qualifier on function type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has no effect`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' qualifier on reference type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has no effect`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wimplicit<br>
+----------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wimplicit-function-<wbr>declaration`_, `-Wimplicit-int`_.<br>
+<br>
+<br>
+-Wimplicit-atomic-properties<br>
+----------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property is assumed atomic when auto-synthesizing the property`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property is assumed atomic by default`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wimplicit-conversion-<wbr>floating-point-to-bool<br>
+-----------------------------<wbr>---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion turns floating-point number into bool:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wimplicit-exception-spec-<wbr>mismatch<br>
+-----------------------------<wbr>-----<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>------------------+-----------<wbr>------------------------------<wbr>-----------------------------+<wbr>----------------------+-------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`function previously declared with an` |nbsp| |+--------------------+| |nbsp| :diagtext:`exception specification redeclared with an` |nbsp| |+--------------------+| |nbsp| :diagtext:`exception specification`|<br>
+|                                                                                   ||:diagtext:`explicit`||                                                                      ||:diagtext:`implicit`||                                           |<br>
+|                                                                                   |+--------------------+|                                                                      |+--------------------+|                                           |<br>
+|                                                                                   ||:diagtext:`implicit`||                                                                      ||:diagtext:`explicit`||                                           |<br>
+|                                                                                   |+--------------------+|                                                                      |+--------------------+|                                           |<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>------------------+-----------<wbr>------------------------------<wbr>-----------------------------+<wbr>----------------------+-------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wimplicit-fallthrough<br>
+----------------------<br>
+Also controls `-Wimplicit-fallthrough-per-<wbr>function`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`fallthrough annotation in unreachable code`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unannotated fall-through between switch labels`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wimplicit-fallthrough-per-<wbr>function<br>
+-----------------------------<wbr>------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unannotated fall-through between switch labels in partly-annotated function`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wimplicit-function-<wbr>declaration<br>
+-----------------------------<wbr>--<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit declaration of function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is invalid in C99`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicitly declaring library function '`:placeholder:`A`:diagtext:`' with type` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`use of unknown builtin` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit declaration of function` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wimplicit-int<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`type specifier missing, defaults to 'int'`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wimplicit-retain-self<br>
+----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wimplicitly-unsigned-literal<br>
+-----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`integer literal is too large to be represented in a signed integer type, interpreting as unsigned`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wimport<br>
+--------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wimport-preprocessor-<wbr>directive-pedantic<br>
+-----------------------------<wbr>-----------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#import is a language extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Winaccessible-base<br>
+-------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`direct base` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is inaccessible due to ambiguity:`:placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Winclude-next-absolute-path<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#include\_next with absolute path`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Winclude-next-outside-header<br>
+-----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#include\_next in primary source file`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wincompatible-function-<wbr>pointer-types<br>
+-----------------------------<wbr>--------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+-----<wbr>------------------------------<wbr>-----------------------------+<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incompatible function pointer types` |nbsp| |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                  ||:diagtext:`assigning to different types`                      |||                                     ||<br>
+|                                                                                  |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                  ||:diagtext:`passing to parameter of different type`            |||:diagtext:`; dereference with \*`    ||<br>
+|                                                                                  |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                  ||:diagtext:`returning from function with different return type`|||:diagtext:`; take the address with &`||<br>
+|                                                                                  |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                  ||:diagtext:`converting between types`                          |||:diagtext:`; remove \*`              ||<br>
+|                                                                                  |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                  ||:diagtext:`initializing with expression of different type`    |||:diagtext:`; remove &`               ||<br>
+|                                                                                  |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                  ||:diagtext:`sending to parameter of different type`            ||                                       |<br>
+|                                                                                  |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
+|                                                                                  ||:diagtext:`casting between types`                             ||                                       |<br>
+|                                                                                  |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+-----<wbr>------------------------------<wbr>-----------------------------+<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wincompatible-library-<wbr>redeclaration<br>
+-----------------------------<wbr>-------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incompatible redeclaration of library function` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wincompatible-ms-struct<br>
+------------------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-incompatible-ms-struct`<wbr>` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`ms\_struct may not produce Microsoft-compatible layouts for classes with base classes or virtual functions`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wincompatible-pointer-types<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wincompatible-pointer-types-<wbr>discards-qualifiers`_, `-Wincompatible-function-<wbr>pointer-types`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------+--------------<wbr>------------------------------<wbr>--------------------+---------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incompatible pointer types` |nbsp| |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                         ||:diagtext:`assigning to different types`                      |||                                     ||<br>
+|                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                         ||:diagtext:`passing to parameter of different type`            |||:diagtext:`; dereference with \*`    ||<br>
+|                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                         ||:diagtext:`returning from function with different return type`|||:diagtext:`; take the address with &`||<br>
+|                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                         ||:diagtext:`converting between types`                          |||:diagtext:`; remove \*`              ||<br>
+|                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                         ||:diagtext:`initializing with expression of different type`    |||:diagtext:`; remove &`               ||<br>
+|                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                         ||:diagtext:`sending to parameter of different type`            ||                                       |<br>
+|                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
+|                                                                         ||:diagtext:`casting between types`                             ||                                       |<br>
+|                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
++----------------------------<wbr>------------------------------<wbr>---------------+--------------<wbr>------------------------------<wbr>--------------------+---------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wincompatible-pointer-types-<wbr>discards-qualifiers<br>
+-----------------------------<wbr>-------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>----+-------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>------------------------------<wbr>----+| |nbsp| :diagtext:`discards qualifiers in nested pointer types`|<br>
+|                           ||:diagtext:`assigning to different types`                      ||                                                               |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                               |<br>
+|                           ||:diagtext:`passing to parameter of different type`            ||                                                               |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                               |<br>
+|                           ||:diagtext:`returning from function with different return type`||                                                               |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                               |<br>
+|                           ||:diagtext:`converting between types`                          ||                                                               |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                               |<br>
+|                           ||:diagtext:`initializing with expression of different type`    ||                                                               |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                               |<br>
+|                           ||:diagtext:`sending to parameter of different type`            ||                                                               |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                               |<br>
+|                           ||:diagtext:`casting between types`                             ||                                                               |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                               |<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>----+-------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>----+-------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>------------------------------<wbr>----+| |nbsp| :diagtext:`discards qualifiers`|<br>
+|                           ||:diagtext:`assigning to different types`                      ||                                       |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
+|                           ||:diagtext:`passing to parameter of different type`            ||                                       |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
+|                           ||:diagtext:`returning from function with different return type`||                                       |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
+|                           ||:diagtext:`converting between types`                          ||                                       |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
+|                           ||:diagtext:`initializing with expression of different type`    ||                                       |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
+|                           ||:diagtext:`sending to parameter of different type`            ||                                       |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
+|                           ||:diagtext:`casting between types`                             ||                                       |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>----+-------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wincompatible-property-type<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is incompatible with type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`inherited from` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wincompatible-sysroot<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using sysroot for '`:placeholder:`A`:diagtext:`' but targeting '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wincomplete-implementation<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`method definition for` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wincomplete-module<br>
+-------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wincomplete-umbrella`_, `-Wnon-modular-include-in-<wbr>module`_.<br>
+<br>
+<br>
+-Wincomplete-umbrella<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing submodule '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`umbrella header for module '`:placeholder:`A`:diagtext:`' does not include header '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Winconsistent-dllimport<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`redeclared without` |nbsp| :placeholder:`B` |nbsp| :diagtext:`attribute: previous` |nbsp| :placeholder:`B` |nbsp| :diagtext:`ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`redeclared without 'dllimport' attribute: 'dllexport' attribute added`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Winconsistent-missing-<wbr>override<br>
+-----------------------------<wbr>--<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`overrides a member function but is not marked 'override'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wincrement-bool<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wdeprecated-increment-bool`_<wbr>.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:error:`error:` |nbsp| :diagtext:`ISO C++1z does not allow incrementing expression of type bool`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Winfinite-recursion<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`all paths through this function will call itself`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Winit-self<br>
+-----------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Winitializer-overrides<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initializer overrides prior initialization of this subobject`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`subobject initialization overrides initialization of other fields within its enclosing subobject`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Winline<br>
+--------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Winline-asm<br>
+------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
+The text of this diagnostic is not controlled by Clang.<br>
+<br>
+<br>
+-Winline-new-delete<br>
+-------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`replacement function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot be declared 'inline'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Winstantiation-after-<wbr>specialization<br>
+-----------------------------<wbr>-------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`that occurs after an explicit specialization has no effect`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wint-conversion<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incompatible integer to pointer conversion` |nbsp| |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`assigning to different types`                      |||                                     ||<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`passing to parameter of different type`            |||:diagtext:`; dereference with \*`    ||<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`returning from function with different return type`|||:diagtext:`; take the address with &`||<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`converting between types`                          |||:diagtext:`; remove \*`              ||<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`initializing with expression of different type`    |||:diagtext:`; remove &`               ||<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`sending to parameter of different type`            ||                                       |<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
+|                                                                                         ||:diagtext:`casting between types`                             ||                                       |<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incompatible pointer to integer conversion` |nbsp| |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`assigning to different types`                      |||                                     ||<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`passing to parameter of different type`            |||:diagtext:`; dereference with \*`    ||<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`returning from function with different return type`|||:diagtext:`; take the address with &`||<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`converting between types`                          |||:diagtext:`; remove \*`              ||<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`initializing with expression of different type`    |||:diagtext:`; remove &`               ||<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|+-----------------------<wbr>--------------+|<br>
+|                                                                                         ||:diagtext:`sending to parameter of different type`            ||                                       |<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
+|                                                                                         ||:diagtext:`casting between types`                             ||                                       |<br>
+|                                                                                         |+----------------------------<wbr>------------------------------<wbr>----+|                                       |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wint-conversions<br>
+-----------------<br>
+Synonym for `-Wint-conversion`_.<br>
+<br>
+<br>
+-Wint-to-pointer-cast<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wint-to-void-pointer-cast`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`from smaller integer type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wint-to-void-pointer-cast<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`from smaller integer type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Winteger-overflow<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`overflow in expression; result is` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with type` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Winvalid-command-line-<wbr>argument<br>
+-----------------------------<wbr>--<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wignored-optimization-<wbr>argument`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`optimization level '`:placeholder:`A`:diagtext:`' is not supported; using '`:placeholder:`B`:<wbr>placeholder:`C`:diagtext:`' instead`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Winvalid-constexpr<br>
+-------------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-invalid-constexpr`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------+-----<wbr>--------------------+---------<wbr>------------------------------<wbr>-----------------+<br>
+|:error:`error:` |nbsp| :diagtext:`constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`never produces a constant expression`|<br>
+|                                                    ||:diagtext:`function`   ||                                                        |<br>
+|                                                    |+-----------------------+|                                                        |<br>
+|                                                    ||:diagtext:`constructor`||                                                        |<br>
+|                                                    |+-----------------------+|                                                        |<br>
++----------------------------<wbr>------------------------+-----<wbr>--------------------+---------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Winvalid-iboutlet<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>-+| |nbsp| :diagtext:`with` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute must be an object type (invalid` |nbsp| :placeholder:`B`:diagtext:`)`|<br>
+|                           ||:diagtext:`instance variable`||                                                                                                                                                  |<br>
+|                           |+----------------------------<wbr>-+|                                                                                                                                                  |<br>
+|                           ||:diagtext:`property`         ||                                                                                                                                                  |<br>
+|                           |+----------------------------<wbr>-+|                                                                                                                                                  |<br>
++---------------------------+<wbr>------------------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`IBOutletCollection properties should be copy/strong and not assign`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Winvalid-initializer-from-<wbr>system-header<br>
+-----------------------------<wbr>-----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid constructor form class in system header, should not be explicit`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Winvalid-noreturn<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`function declared 'noreturn' should not return`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared 'noreturn' should not return`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Winvalid-offsetof<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`offset of on non-POD type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`offset of on non-standard-layout type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Winvalid-or-nonexistent-<wbr>directory<br>
+-----------------------------<wbr>-----<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`environment variable SCE\_ORBIS\_SDK\_DIR is set, but points to invalid or nonexistent directory '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unable to find` |nbsp| :placeholder:`A` |nbsp| :diagtext:`directory, expected to be in '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Winvalid-pch<br>
+-------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Winvalid-pp-token<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`empty character constant`|<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------+-----------------+---<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing terminating` |nbsp| |+---------------+| |nbsp| :diagtext:`character`|<br>
+|                                                                  ||:diagtext:`'`  ||                             |<br>
+|                                                                  |+---------------+|                             |<br>
+|                                                                  ||:diagtext:`'"'`||                             |<br>
+|                                                                  |+---------------+|                             |<br>
++----------------------------<wbr>------------------------------<wbr>--------+-----------------+---<wbr>--------------------------+<br>
+<br>
+<br>
+-Winvalid-source-encoding<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`illegal character encoding in character literal`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`illegal character encoding in string literal`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Winvalid-token-paste<br>
+---------------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-invalid-token-paste`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`pasting formed '`:placeholder:`A`:diagtext:`'<wbr>, an invalid preprocessing token`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wjump-seh-finally<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`jump out of \_\_finally block has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wkeyword-compat<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`keyword '`:placeholder:`A`:diagtext:`' will be made available as an identifier` |nbsp| |+----------------------------<wbr>-------------------------+|<br>
+|                                                                                                                             ||:diagtext:`here`                                     ||<br>
+|                                                                                                                             |+----------------------------<wbr>-------------------------+|<br>
+|                                                                                                                             ||:diagtext:`for the remainder of the translation unit`||<br>
+|                                                                                                                             |+----------------------------<wbr>-------------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wkeyword-macro<br>
+---------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`keyword is hidden by macro definition`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wknr-promoted-parameter<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`promoted type of K&R function parameter is not compatible with parameter type` |nbsp| :diagtext:`declared in a previous prototype`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wlanguage-extension-token<br>
+--------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extension used`|<br>
++----------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wlarge-by-value-copy<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a large (`:placeholder:`B` |nbsp| :diagtext:`bytes) pass-by-value argument; pass it by reference instead ?`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`return value of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a large (`:placeholder:`B` |nbsp| :diagtext:`bytes) pass-by-value object; pass it by reference instead ?`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wliblto<br>
+--------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`libLTO.dylib relative to clang installed dir not found; using 'ld' default search path instead`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wliteral-conversion<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`changes value from` |nbsp| :placeholder:`C` |nbsp| :diagtext:`to` |nbsp| :placeholder:`D`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wliteral-range<br>
+---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`magnitude of floating-point constant too large for type` |nbsp| :placeholder:`A`:diagtext:`; maximum is` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`magnitude of floating-point constant too small for type` |nbsp| :placeholder:`A`:diagtext:`; minimum is` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wlocal-type-template-args<br>
+--------------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wc++98-compat-local-type-<wbr>template-args`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`template argument uses local type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wlogical-not-parentheses<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`logical not is only applied to the left hand side of this comparison`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wlogical-op-parentheses<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'&&' within '\|\|'`|<br>
++----------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wlong-long<br>
+-----------<br>
+Also controls `-Wc++11-long-long`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'long long' is an extension when C99 mode is not enabled`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wloop-analysis<br>
+---------------<br>
+Controls `-Wfor-loop-analysis`_, `-Wrange-loop-analysis`_.<br>
+<br>
+<br>
+-Wmacro-redefined<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`macro redefined`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wmain<br>
+------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C++ does not allow 'main' to be used by a program`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'main' is not allowed to be declared \_Noreturn`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'main' is not allowed to be declared variadic`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`only one parameter on 'main' declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable named 'main' with external linkage has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'main' should not be declared static`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wmain-return-type<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`return type of 'main' is not 'int'`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wmalformed-warning-check<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`\_\_has\_warning expected option name (e.g. "-Wundef")`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wmany-braces-around-scalar-<wbr>init<br>
+-----------------------------<wbr>---<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`too many braces around scalar initializer`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wmemsize-comparison<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`size argument in` |nbsp| :placeholder:`A` |nbsp| :diagtext:`call is a comparison`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wmethod-signatures<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting parameter types in implementation of` |nbsp| :placeholder:`A`:diagtext:`:` |nbsp| :placeholder:`B` |nbsp| :diagtext:`vs` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting return type in implementation of` |nbsp| :placeholder:`A`:diagtext:`:` |nbsp| :placeholder:`B` |nbsp| :diagtext:`vs` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wmicrosoft<br>
+-----------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wmicrosoft-charize`_, `-Wmicrosoft-include`_, `-Wmicrosoft-cpp-macro`_, `-Wmicrosoft-fixed-enum`_, `-Wmicrosoft-sealed`_, `-Wmicrosoft-unqualified-<wbr>friend`_, `-Wmicrosoft-exception-spec`_, `-Wmicrosoft-using-decl`_, `-Wmicrosoft-mutable-<wbr>reference`_, `-Wmicrosoft-pure-definition`_<wbr>, `-Wmicrosoft-union-member-<wbr>reference`_, `-Wmicrosoft-explicit-<wbr>constructor-call`_, `-Wmicrosoft-enum-value`_, `-Wmicrosoft-default-arg-<wbr>redefinition`_, `-Wmicrosoft-template`_, `-Wmicrosoft-redeclare-static`<wbr>_, `-Wmicrosoft-enum-forward-<wbr>reference`_, `-Wmicrosoft-goto`_, `-Wmicrosoft-flexible-array`_, `-Wmicrosoft-extra-<wbr>qualification`_, `-Wmicrosoft-cast`_, `-Wmicrosoft-const-init`_, `-Wmicrosoft-void-pseudo-dtor`<wbr>_, `-Wmicrosoft-anon-tag`_, `-Wmicrosoft-comment-paste`_, `-Wmicrosoft-end-of-file`_, `-Winconsistent-dllimport`_.<br>
+<br>
+<br>
+-Wmicrosoft-anon-tag<br>
+--------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>----------+-------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`types declared in an anonymous` |nbsp| |+------------------+| |nbsp| :diagtext:`are a Microsoft extension`|<br>
+|                                                                             ||:diagtext:`struct`||                                             |<br>
+|                                                                             |+------------------+|                                             |<br>
+|                                                                             ||:diagtext:`union` ||                                             |<br>
+|                                                                             |+------------------+|                                             |<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>----------+-------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>----------------------------+-<wbr>--------------------+---------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`anonymous` |nbsp| |+-------------------+| |nbsp| :diagtext:`are a Microsoft extension`|<br>
+|                                                        ||:diagtext:`structs`||                                             |<br>
+|                                                        |+-------------------+|                                             |<br>
+|                                                        ||:diagtext:`unions` ||                                             |<br>
+|                                                        |+-------------------+|                                             |<br>
++----------------------------<wbr>----------------------------+-<wbr>--------------------+---------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wmicrosoft-cast<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`static\_cast between pointer-to-function and pointer-to-object is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wmicrosoft-charize<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`charizing operator #@ is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wmicrosoft-comment-paste<br>
+-------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pasting two '/' tokens into a '//' comment is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wmicrosoft-const-init<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>+-----------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`default initialization of an object of const type` |nbsp| :placeholder:`A`|+------------<wbr>------------------------------<wbr>---------------------+| |nbsp| :diagtext:`is a Microsoft extension`|<br>
+|                                                                                                                ||                                                               ||                                            |<br>
+|                                                                                                                |+----------------------------<wbr>------------------------------<wbr>-----+|                                            |<br>
+|                                                                                                                || |nbsp| :diagtext:`without a user-provided default constructor`||                                            |<br>
+|                                                                                                                |+----------------------------<wbr>------------------------------<wbr>-----+|                                            |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>+-----------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wmicrosoft-cpp-macro<br>
+---------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`C++ operator` |nbsp| :placeholder:`A` |nbsp| :diagtext:`(aka` |nbsp| :placeholder:`B`:diagtext:`) used as a macro name`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wmicrosoft-default-arg-<wbr>redefinition<br>
+-----------------------------<wbr>-------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redefinition of default argument`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wmicrosoft-end-of-file<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`treating Ctrl-Z as end-of-file is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wmicrosoft-enum-forward-<wbr>reference<br>
+-----------------------------<wbr>-----<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`forward references to 'enum' types are a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wmicrosoft-enum-value<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`enumerator value is not representable in the underlying type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wmicrosoft-exception-spec<br>
+--------------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`exception specification of '...' is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>----+-------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>----+|:diagtext:`incomplete type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is not allowed in exception specification`|<br>
+|                           ||                                ||                                                                                                                |<br>
+|                           |+----------------------------<wbr>----+|                                                                                                                |<br>
+|                           ||:diagtext:`pointer to` |nbsp|   ||                                                                                                                |<br>
+|                           |+----------------------------<wbr>----+|                                                                                                                |<br>
+|                           ||:diagtext:`reference to` |nbsp| ||                                                                                                                |<br>
+|                           |+----------------------------<wbr>----+|                                                                                                                |<br>
++---------------------------+<wbr>------------------------------<wbr>----+-------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`exception specification in declaration does not match previous declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`exception specification in explicit instantiation does not match instantiated one`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is missing exception specification '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`exception specification of overriding function is more lax than base version`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wmicrosoft-exists<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>--+---------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`dependent` |nbsp| |+----------------------------<wbr>---+| |nbsp| :diagtext:`declarations are ignored`|<br>
+|                                                        ||:diagtext:`\_\_if\_not\_<wbr>exists`||                                            |<br>
+|                                                        |+----------------------------<wbr>---+|                                            |<br>
+|                                                        ||:diagtext:`\_\_if\_exists`     ||                                            |<br>
+|                                                        |+----------------------------<wbr>---+|                                            |<br>
++----------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>--+---------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wmicrosoft-explicit-<wbr>constructor-call<br>
+-----------------------------<wbr>--------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit constructor calls are a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wmicrosoft-extra-<wbr>qualification<br>
+-----------------------------<wbr>--<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extra qualification on member` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wmicrosoft-fixed-enum<br>
+----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`enumeration types with a fixed underlying type are a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wmicrosoft-flexible-array<br>
+--------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------+-----------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`flexible array member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in otherwise empty` |nbsp| |+---------------------+| |nbsp| :diagtext:`is a Microsoft extension`|<br>
+|                                                                                                                                  ||:diagtext:`struct`   ||                                            |<br>
+|                                                                                                                                  |+---------------------+|                                            |<br>
+|                                                                                                                                  ||:diagtext:`interface`||                                            |<br>
+|                                                                                                                                  |+---------------------+|                                            |<br>
+|                                                                                                                                  ||:diagtext:`union`    ||                                            |<br>
+|                                                                                                                                  |+---------------------+|                                            |<br>
+|                                                                                                                                  ||:diagtext:`class`    ||                                            |<br>
+|                                                                                                                                  |+---------------------+|                                            |<br>
+|                                                                                                                                  ||:diagtext:`enum`     ||                                            |<br>
+|                                                                                                                                  |+---------------------+|                                            |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------+-----------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`flexible array member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in a union is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wmicrosoft-goto<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`jump from this goto statement to its label is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wmicrosoft-include<br>
+-------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#include resolved using non-portable Microsoft search rules as:` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wmicrosoft-mutable-reference<br>
+-----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'mutable' on a reference type is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wmicrosoft-pure-definition<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`function definition with pure-specifier is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wmicrosoft-redeclare-static<br>
+----------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redeclaring non-static` |nbsp| :placeholder:`A` |nbsp| :diagtext:`as static is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wmicrosoft-sealed<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'sealed' keyword is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wmicrosoft-template<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`duplicate explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored as a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of identifier` |nbsp| :placeholder:`A` |nbsp| :diagtext:`found via unqualified lookup into dependent bases of class templates is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit specialization of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`within class scope is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using the undeclared type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`as a default template argument is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-type template argument containing a dereference operation is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>---------+--------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>---------+| |nbsp| :diagtext:`specialization of` |nbsp| :placeholder:`B` |nbsp| :diagtext:`outside namespace enclosing` |nbsp| :placeholder:`C` |nbsp| :diagtext:`is a Microsoft extension`|<br>
+|                           ||:diagtext:`class template`           ||                                                                                                                                                                                |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                                |<br>
+|                           ||:diagtext:`class template partial`   ||                                                                                                                                                                                |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                                |<br>
+|                           ||:diagtext:`variable template`        ||                                                                                                                                                                                |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                                |<br>
+|                           ||:diagtext:`variable template partial`||                                                                                                                                                                                |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                                |<br>
+|                           ||:diagtext:`function template`        ||                                                                                                                                                                                |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                                |<br>
+|                           ||:diagtext:`member function`          ||                                                                                                                                                                                |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                                |<br>
+|                           ||:diagtext:`static data member`       ||                                                                                                                                                                                |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                                |<br>
+|                           ||:diagtext:`member class`             ||                                                                                                                                                                                |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                                |<br>
+|                           ||:diagtext:`member enumeration`       ||                                                                                                                                                                                |<br>
+|                           |+----------------------------<wbr>---------+|                                                                                                                                                                                |<br>
++---------------------------+<wbr>------------------------------<wbr>---------+--------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`template argument for template type parameter must be a type; omitted 'typename' is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of undeclared identifier` |nbsp| :placeholder:`A`:diagtext:`; unqualified lookup into dependent bases of class template` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wmicrosoft-union-member-<wbr>reference<br>
+-----------------------------<wbr>-----<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`union member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has reference type` |nbsp| :placeholder:`B`:diagtext:`, which is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wmicrosoft-unqualified-<wbr>friend<br>
+-----------------------------<wbr>-<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wmicrosoft-using-decl<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using declaration referring to inaccessible member '`:placeholder:`A`:diagtext:`' (which refers to accessible member '`:placeholder:`B`:diagtext:`'<wbr>) is a Microsoft compatibility extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wmicrosoft-void-pseudo-dtor<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pseudo-destructors on type void are a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wmismatched-new-delete<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------+-----------<wbr>-------+----------------------<wbr>------------------------------<wbr>-----------+------------------<wbr>+-----------------------------<wbr>------+------------------+----<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'delete`|+---------<wbr>-------+|:diagtext:`' applied to a pointer that was allocated with 'new`|+----------------+|:<wbr>diagtext:`'; did you mean 'delete`|+----------------+|:<wbr>diagtext:`'?`|<br>
+|                                              ||                ||                                                               ||:diagtext:`\[\]`||                                   ||:diagtext:`\[\]`||              |<br>
+|                                              |+----------------+|                                                               |+----------------+|                                   |+----------------+|              |<br>
+|                                              ||:diagtext:`\[\]`||                                                               ||                ||                                   ||                ||              |<br>
+|                                              |+----------------+|                                                               |+----------------+|                                   |+----------------+|              |<br>
++----------------------------<wbr>------------------+-----------<wbr>-------+----------------------<wbr>------------------------------<wbr>-----------+------------------<wbr>+-----------------------------<wbr>------+------------------+----<wbr>----------+<br>
+<br>
+<br>
+-Wmismatched-parameter-types<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting parameter types in implementation of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wmismatched-return-types<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting return type in implementation of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wmismatched-tags<br>
+-----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+------<wbr>--------------------+---------<wbr>---------------------+--------<wbr>------------------------------<wbr>---------------------+--------<wbr>------------------+-----------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`C` |nbsp| :diagtext:`defined as` |nbsp| |+------------------------+|+-<wbr>---------------------------+| |nbsp| :diagtext:`here but previously declared as` |nbsp| |+------------------------+|+-<wbr>---------------------------+|<br>
+|                                                                                 ||:diagtext:`a struct`    |||                            ||                                                           ||:diagtext:`a struct`    |||                            ||<br>
+|                                                                                 |+------------------------+|+-<wbr>---------------------------+|                                                           |+------------------------+|+-<wbr>---------------------------+|<br>
+|                                                                                 ||:diagtext:`an interface`||| |nbsp| :diagtext:`template`||                                                           ||:diagtext:`an interface`||| |nbsp| :diagtext:`template`||<br>
+|                                                                                 |+------------------------+|+-<wbr>---------------------------+|                                                           |+------------------------+|+-<wbr>---------------------------+|<br>
+|                                                                                 ||:diagtext:`a class`     ||                              |                                                           ||:diagtext:`a class`     ||                              |<br>
+|                                                                                 |+------------------------+|                              |                                                           |+------------------------+|                              |<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+------<wbr>--------------------+---------<wbr>---------------------+--------<wbr>------------------------------<wbr>---------------------+--------<wbr>------------------+-----------<wbr>-------------------+<br>
+<br>
++---------------------------+<wbr>-----------------------+------<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>---------------+--------------<wbr>---------+--------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| |+---------------------+|+----<wbr>------------------------+| |nbsp| :placeholder:`C` |nbsp| :diagtext:`was previously declared as a` |nbsp| |+---------------------+|+----<wbr>------------------------+|<br>
+|                           ||:diagtext:`struct`   |||                            ||                                                                                ||:diagtext:`struct`   |||                            ||<br>
+|                           |+---------------------+|+----<wbr>------------------------+|                                                                                |+---------------------+|+----<wbr>------------------------+|<br>
+|                           ||:diagtext:`interface`||| |nbsp| :diagtext:`template`||                                                                                ||:diagtext:`interface`||| |nbsp| :diagtext:`template`||<br>
+|                           |+---------------------+|+----<wbr>------------------------+|                                                                                |+---------------------+|+----<wbr>------------------------+|<br>
+|                           ||:diagtext:`class`    ||                              |                                                                                ||:diagtext:`class`    ||                              |<br>
+|                           |+---------------------+|                              |                                                                                |+---------------------+|                              |<br>
++---------------------------+<wbr>-----------------------+------<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>---------------+--------------<wbr>---------+--------------------<wbr>----------+<br>
+<br>
+<br>
+-Wmissing-braces<br>
+----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`suggest braces around initialization of subobject`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wmissing-declarations<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`declaration does not declare anything`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' is not permitted on a declaration of a type`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`typedef requires a name`|<br>
++----------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' ignored on this declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wmissing-exception-spec<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is missing exception specification '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wmissing-field-initializers<br>
+----------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`initializer`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wmissing-format-attribute<br>
+--------------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wmissing-include-dirs<br>
+----------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wmissing-method-return-type<br>
+----------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`method has no return type specified; defaults to 'id'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wmissing-noreturn<br>
+------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`block could be declared with attribute 'noreturn'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++---------------------------+<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`could be declared with attribute 'noreturn'`|<br>
+|                           ||:diagtext:`function`||                                                                                       |<br>
+|                           |+--------------------+|                                                                                       |<br>
+|                           ||:diagtext:`method`  ||                                                                                       |<br>
+|                           |+--------------------+|                                                                                       |<br>
++---------------------------+<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wmissing-prototype-for-cc<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`function with no prototype cannot use the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`calling convention`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wmissing-prototypes<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no previous prototype for function` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wmissing-selector-name<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`used as the name of the previous parameter rather than as part of the selector`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wmissing-sysroot<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no such sysroot directory: '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wmissing-variable-<wbr>declarations<br>
+-----------------------------<wbr>--<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no previous extern declaration for non-static variable` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Rmodule-build<br>
+--------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:remark:`remark:` |nbsp| :diagtext:`building module '`:placeholder:`A`:diagtext:`' as '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:remark:`remark:` |nbsp| :diagtext:`finished building module '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wmodule-conflict<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`module '`:placeholder:`A`:diagtext:`' conflicts with already-imported module '`:placeholder:`B`:diagtext:`'<wbr>:` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wmodule-file-config-mismatch<br>
+-----------------------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-module-file-config-<wbr>mismatch`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`module file` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot be loaded due to a configuration mismatch with the current compilation`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wmodule-file-extension<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`duplicate module file extension block name '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wmodule-import-in-extern-c<br>
+---------------------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-module-import-in-<wbr>extern-c`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`import of C++ module '`:placeholder:`A`:diagtext:`' appears within extern "C" language linkage specification`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wmodules-ambiguous-internal-<wbr>linkage<br>
+-----------------------------<wbr>-------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ambiguous use of internal linkage declaration` |nbsp| :placeholder:`A` |nbsp| :diagtext:`defined in multiple modules`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wmodules-import-nested-<wbr>redundant<br>
+-----------------------------<wbr>----<br>
+This diagnostic is an error by default, but the flag ``-Wno-modules-import-nested-<wbr>redundant`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:error:`error:` |nbsp| :diagtext:`redundant #include of module '`:placeholder:`A`:diagtext:`' appears within` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wmost<br>
+------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wchar-subscripts`_, `-Wcomment`_, `-Wdelete-non-virtual-dtor`_, `-Wfor-loop-analysis`_, `-Wformat`_, `-Wimplicit`_, `-Winfinite-recursion`_, `-Wmismatched-tags`_, `-Wmissing-braces`_, `-Wmove`_, `-Wmultichar`_, `-Wreorder`_, `-Wreturn-type`_, `-Wself-assign`_, `-Wself-move`_, `-Wsizeof-array-argument`_, `-Wsizeof-array-decay`_, `-Wstring-plus-int`_, `-Wtrigraphs`_, `-Wuninitialized`_, `-Wunknown-pragmas`_, `-Wunused`_, `-Wvolatile-register-var`_, `-Wobjc-missing-super-calls`_, `-Wobjc-designated-<wbr>initializers`_, `-Woverloaded-virtual`_, `-Wprivate-extern`_, `-Wcast-of-sel-type`_, `-Wextern-c-compat`_.<br>
+<br>
+<br>
+-Wmove<br>
+------<br>
+Controls `-Wpessimizing-move`_, `-Wredundant-move`_, `-Wself-move`_.<br>
+<br>
+<br>
+-Wmsvc-include<br>
+--------------<br>
+Synonym for `-Wmicrosoft-include`_.<br>
+<br>
+<br>
+-Wmultichar<br>
+-----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`multi-character character constant`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wmultiple-move-vbase<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`defaulted move assignment operator of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will move assign virtual base class` |nbsp| :placeholder:`B` |nbsp| :diagtext:`multiple times`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wnarrowing<br>
+-----------<br>
+Synonym for `-Wc++11-narrowing`_.<br>
+<br>
+<br>
+-Wnested-anon-types<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<wbr>--------------------+---------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`anonymous types declared in an anonymous` |nbsp| |+------------------+| |nbsp| :diagtext:`are an extension`|<br>
+|                                                                                       ||:diagtext:`struct`||                                    |<br>
+|                                                                                       |+------------------+|                                    |<br>
+|                                                                                       ||:diagtext:`union` ||                                    |<br>
+|                                                                                       |+------------------+|                                    |<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<wbr>--------------------+---------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wnested-externs<br>
+----------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wnew-returns-null<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+--------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`should not return a null pointer unless it is declared 'throw()'`|+------------------<wbr>---------------+|<br>
+|                                                                                                                               ||                                 ||<br>
+|                                                                                                                               |+----------------------------<wbr>-----+|<br>
+|                                                                                                                               || |nbsp| :diagtext:`or 'noexcept'`||<br>
+|                                                                                                                               |+----------------------------<wbr>-----+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+--------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wnewline-eof<br>
+-------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no newline at end of file`|<br>
++----------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no newline at end of file`|<br>
++----------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wnon-gcc<br>
+---------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wsign-compare`_, `-Wconversion`_, `-Wliteral-range`_.<br>
+<br>
+<br>
+-Wnon-literal-null-conversion<br>
+-----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expression which evaluates to zero treated as a null pointer constant of type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wnon-modular-include-in-<wbr>framework-module<br>
+-----------------------------<wbr>------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`include of non-modular header inside framework module '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wnon-modular-include-in-<wbr>module<br>
+-----------------------------<wbr>--<br>
+Also controls `-Wnon-modular-include-in-<wbr>framework-module`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`include of non-modular header inside module '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wnon-pod-varargs<br>
+-----------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-non-pod-varargs`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>--+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+------------------------<wbr>-+----------------------------<wbr>------------+<br>
+|:error:`error:` |nbsp| :diagtext:`cannot pass object of` |nbsp| |+-----------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`through variadic` |nbsp| |+-----------------------+|:<wbr>diagtext:`; call will abort at runtime`|<br>
+|                                                                ||:diagtext:`non-POD`    ||                                                                                            ||:diagtext:`function`   ||                                        |<br>
+|                                                                |+-----------------------+|                                                                                            |+-----------------------+|                                        |<br>
+|                                                                ||:diagtext:`non-trivial`||                                                                                            ||:diagtext:`block`      ||                                        |<br>
+|                                                                |+-----------------------+|                                                                                            |+-----------------------+|                                        |<br>
+|                                                                |                         |                                                                                            ||:diagtext:`method`     ||                                        |<br>
+|                                                                |                         |                                                                                            |+-----------------------+|                                        |<br>
+|                                                                |                         |                                                                                            ||:diagtext:`constructor`||                                        |<br>
+|                                                                |                         |                                                                                            |+-----------------------+|                                        |<br>
++----------------------------<wbr>------------------------------<wbr>------+-----------------------<wbr>--+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+------------------------<wbr>-+----------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>--------------------------+---<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+-------------------------+---<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:error:`error:` |nbsp| :diagtext:`cannot pass` |nbsp| |+-----------------------+| |nbsp| :diagtext:`object of type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`to variadic` |nbsp| |+-----------------------+|:<wbr>diagtext:`; expected type from format string was` |nbsp| :placeholder:`D`|<br>
+|                                                      ||:diagtext:`non-POD`    ||                                                                                                 ||:diagtext:`function`   ||                                                                          |<br>
+|                                                      |+-----------------------+|                                                                                                 |+-----------------------+|                                                                          |<br>
+|                                                      ||:diagtext:`non-trivial`||                                                                                                 ||:diagtext:`block`      ||                                                                          |<br>
+|                                                      |+-----------------------+|                                                                                                 |+-----------------------+|                                                                          |<br>
+|                                                      |                         |                                                                                                 ||:diagtext:`method`     ||                                                                          |<br>
+|                                                      |                         |                                                                                                 |+-----------------------+|                                                                          |<br>
+|                                                      |                         |                                                                                                 ||:diagtext:`constructor`||                                                                          |<br>
+|                                                      |                         |                                                                                                 |+-----------------------+|                                                                          |<br>
++----------------------------<wbr>--------------------------+---<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+-------------------------+---<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`second argument to 'va\_arg' is of non-POD type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:error:`error:` |nbsp| :diagtext:`second argument to 'va\_arg' is of ARC ownership-qualified type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wnon-virtual-dtor<br>
+------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has virtual functions but non-virtual destructor`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wnonnull<br>
+---------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`null passed to a callee that requires a non-null argument`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>+-----------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`null returned from` |nbsp| |+--------------------+| |nbsp| :diagtext:`that requires a non-null return value`|<br>
+|                                                                 ||:diagtext:`function`||                                                         |<br>
+|                                                                 |+--------------------+|                                                         |<br>
+|                                                                 ||:diagtext:`method`  ||                                                         |<br>
+|                                                                 |+--------------------+|                                                         |<br>
++----------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>+-----------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wnonportable-cfstrings<br>
+-----------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wnonportable-include-path<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-portable path to file '`:placeholder:`A`:diagtext:`'<wbr>; specified path differs in case from file name on disk`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Wnonportable-system-include-<wbr>path<br>
+-----------------------------<wbr>----<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-portable path to file '`:placeholder:`A`:diagtext:`'<wbr>; specified path differs in case from file name on disk`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Wnonportable-vector-<wbr>initialization<br>
+-----------------------------<wbr>------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`vector initializers are not compatible with NEON intrinsics in big endian mode`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wnull-arithmetic<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of NULL in arithmetic operation`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparison between NULL and non-pointer` |nbsp| |+----------------------------<wbr>------------------------------<wbr>--+|<br>
+|                                                                                      ||+---------------------------<wbr>------------------------------<wbr>-+||<br>
+|                                                                                      |||:diagtext:`(`:placeholder:`<wbr>B` |nbsp| :diagtext:`and NULL)`|||<br>
+|                                                                                      ||+---------------------------<wbr>------------------------------<wbr>-+||<br>
+|                                                                                      |+----------------------------<wbr>------------------------------<wbr>--+|<br>
+|                                                                                      ||+---------------------------<wbr>------------------------------<wbr>-+||<br>
+|                                                                                      |||:diagtext:`(NULL and` |nbsp| :placeholder:`B`:diagtext:`)`|<wbr>||<br>
+|                                                                                      ||+---------------------------<wbr>------------------------------<wbr>-+||<br>
+|                                                                                      |+----------------------------<wbr>------------------------------<wbr>--+|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wnull-character<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>----------+-------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`null character(s) preserved in` |nbsp| |+------------------+| |nbsp| :diagtext:`literal`|<br>
+|                                                                             ||:diagtext:`char`  ||                           |<br>
+|                                                                             |+------------------+|                           |<br>
+|                                                                             ||:diagtext:`string`||                           |<br>
+|                                                                             |+------------------+|                           |<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>----------+-------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`null character ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wnull-conversion<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------+------------------<wbr>---+--------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion of` |nbsp| |+-------------------+| |nbsp| :diagtext:`constant to` |nbsp| :placeholder:`B`|<br>
+|                                                                     ||:diagtext:`NULL`   ||                                                       |<br>
+|                                                                     |+-------------------+|                                                       |<br>
+|                                                                     ||:diagtext:`nullptr`||                                                       |<br>
+|                                                                     |+-------------------+|                                                       |<br>
++----------------------------<wbr>------------------------------<wbr>-----------+------------------<wbr>---+--------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wnull-dereference<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`binding dereferenced null pointer to reference has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`indirection of non-volatile null pointer will be deleted, not trap`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wnullability<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting nullability specifier on parameter types,` |nbsp| :placeholder:`A` |nbsp| :diagtext:`conflicts with existing specifier` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting nullability specifier on return types,` |nbsp| :placeholder:`A` |nbsp| :diagtext:`conflicts with existing specifier` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`nullability specifier` |nbsp| :placeholder:`A` |nbsp| :diagtext:`conflicts with existing specifier` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`synthesized setter` |nbsp| :placeholder:`A` |nbsp| :diagtext:`for null\_resettable property` |nbsp| :placeholder:`B` |nbsp| :diagtext:`does not handle nil`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`duplicate nullability specifier` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wnullability-completeness<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>----------------------------+-<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| |+--------------------------+| |nbsp| :diagtext:`is missing a nullability type specifier (\_Nonnull, \_Nullable, or \_Null\_unspecified)`|<br>
+|                           ||:diagtext:`pointer`       ||                                                                                                           |<br>
+|                           |+--------------------------+|                                                                                                           |<br>
+|                           ||:diagtext:`block pointer` ||                                                                                                           |<br>
+|                           |+--------------------------+|                                                                                                           |<br>
+|                           ||:diagtext:`member pointer`||                                                                                                           |<br>
+|                           |+--------------------------+|                                                                                                           |<br>
++---------------------------+<wbr>----------------------------+-<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wnullability-declspec<br>
+----------------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-nullability-declspec`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>-------------------------+----<wbr>---------+<br>
+|:error:`error:` |nbsp| :diagtext:`nullability specifier` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot be applied to non-pointer type` |nbsp| :placeholder:`B`:diagtext:`; did you mean to apply the specifier to the` |nbsp| |+----------------------------<wbr>-------+|:diagtext:`?`|<br>
+|                                                                                                                                                                                                                                 ||:diagtext:`pointer`                ||             |<br>
+|                                                                                                                                                                                                                                 |+----------------------------<wbr>-------+|             |<br>
+|                                                                                                                                                                                                                                 ||:diagtext:`block pointer`          ||             |<br>
+|                                                                                                                                                                                                                                 |+----------------------------<wbr>-------+|             |<br>
+|                                                                                                                                                                                                                                 ||:diagtext:`member pointer`         ||             |<br>
+|                                                                                                                                                                                                                                 |+----------------------------<wbr>-------+|             |<br>
+|                                                                                                                                                                                                                                 ||:diagtext:`function pointer`       ||             |<br>
+|                                                                                                                                                                                                                                 |+----------------------------<wbr>-------+|             |<br>
+|                                                                                                                                                                                                                                 ||:diagtext:`member function pointer`||             |<br>
+|                                                                                                                                                                                                                                 |+----------------------------<wbr>-------+|             |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>-------------------------+----<wbr>---------+<br>
+<br>
+<br>
+-Wnullability-extension<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`type nullability specifier` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a Clang extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wnullable-to-nonnull-<wbr>conversion<br>
+-----------------------------<wbr>---<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from nullable pointer` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to non-nullable pointer type` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wobjc-autosynthesis-<wbr>property-ivar-name-match<br>
+-----------------------------<wbr>----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+------------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`autosynthesized property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will use` |nbsp| |+-----------------------+| |nbsp| :diagtext:`instance variable` |nbsp| :placeholder:`C`:diagtext:`, not existing instance variable` |nbsp| :placeholder:`D`|<br>
+|                                                                                                                           ||                       ||                                                                                                                                 |<br>
+|                                                                                                                           |+-----------------------+|                                                                                                                                 |<br>
+|                                                                                                                           ||:diagtext:`synthesized`||                                                                                                                                 |<br>
+|                                                                                                                           |+-----------------------+|                                                                                                                                 |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+------------------------<wbr>-+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wobjc-circular-container<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`adding '`:placeholder:`A`:diagtext:`' to '`:placeholder:`B`:diagtext:`' might cause circular dependency in container`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wobjc-cocoa-api<br>
+----------------<br>
+Synonym for `-Wobjc-redundant-api-use`_.<br>
+<br>
+<br>
+-Wobjc-designated-<wbr>initializers<br>
+-----------------------------<wbr>-<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`designated initializer missing a 'super' call to a designated initializer of the super class`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`designated initializer invoked a non-designated initializer`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`designated initializer should only invoke a designated initializer on 'super'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`method override for the designated initializer of the superclass` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`convenience initializer missing a 'self' call to another initializer`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`convenience initializer should not invoke an initializer on 'super'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wobjc-forward-class-<wbr>redefinition<br>
+-----------------------------<wbr>----<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redefinition of forward class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of a typedef name of an object type is ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wobjc-interface-ivars<br>
+----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`declaration of instance variables in the interface is deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wobjc-literal-compare<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wobjc-string-compare`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------+--------------------<wbr>--------------+---------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`direct comparison of` |nbsp| |+----------------------------<wbr>----+| |nbsp| :diagtext:`has undefined behavior`|<br>
+|                                                                   ||:diagtext:`an array literal`    ||                                          |<br>
+|                                                                   |+----------------------------<wbr>----+|                                          |<br>
+|                                                                   ||:diagtext:`a dictionary literal`||                                          |<br>
+|                                                                   |+----------------------------<wbr>----+|                                          |<br>
+|                                                                   ||:diagtext:`a numeric literal`   ||                                          |<br>
+|                                                                   |+----------------------------<wbr>----+|                                          |<br>
+|                                                                   ||:diagtext:`a boxed expression`  ||                                          |<br>
+|                                                                   |+----------------------------<wbr>----+|                                          |<br>
+|                                                                   ||                                ||                                          |<br>
+|                                                                   |+----------------------------<wbr>----+|                                          |<br>
++----------------------------<wbr>------------------------------<wbr>---------+--------------------<wbr>--------------+---------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wobjc-literal-conversion<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit boolean conversion of Objective-C object literal always evaluates to true`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+--------------------<wbr>---------------+--------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`object of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not compatible with` |nbsp| |+----------------------------<wbr>-----+| |nbsp| :placeholder:`C`|<br>
+|                                                                                                                               ||:diagtext:`array element type`   ||                        |<br>
+|                                                                                                                               |+----------------------------<wbr>-----+|                        |<br>
+|                                                                                                                               ||:diagtext:`dictionary key type`  ||                        |<br>
+|                                                                                                                               |+----------------------------<wbr>-----+|                        |<br>
+|                                                                                                                               ||:diagtext:`dictionary value type`||                        |<br>
+|                                                                                                                               |+----------------------------<wbr>-----+|                        |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+--------------------<wbr>---------------+--------------<wbr>----------+<br>
+<br>
+<br>
+-Wobjc-macro-redefinition<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ignoring redefinition of Objective-C qualifier macro`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wobjc-method-access<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`class method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found (return type defaults to 'id')`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`class method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found (return type defaults to 'id'); did you mean` |nbsp| :placeholder:`C`:diagtext:`?`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`instance method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found (return type defaults to 'id')`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`instance method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found (return type defaults to 'id'); did you mean` |nbsp| :placeholder:`C`:diagtext:`?`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`instance method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`found instead of class method` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`instance method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is being used on 'Class' which is not in the root class`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wobjc-missing-property-<wbr>synthesis<br>
+-----------------------------<wbr>----<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`auto property synthesis is synthesizing property not explicitly synthesized`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wobjc-missing-super-calls<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`method possibly missing a \[super` |nbsp| :placeholder:`A`:diagtext:`\] call`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wobjc-multiple-method-names<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`multiple methods named` |nbsp| :placeholder:`A` |nbsp| :diagtext:`found`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wobjc-noncopy-retain-block-<wbr>property<br>
+-----------------------------<wbr>-------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`retain'ed block property does not copy the block - use copy attribute instead`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wobjc-nonunified-exceptions<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cannot catch an exception thrown with @throw in C++ in the non-unified exception model`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wobjc-property-<wbr>implementation<br>
+-----------------------------<wbr>-<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`class property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires method` |nbsp| :placeholder:`B` |nbsp| :diagtext:`to be defined - use @dynamic or provide a method implementation in this class implementation`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`class property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires method` |nbsp| :placeholder:`B` |nbsp| :diagtext:`to be defined - use @dynamic or provide a method implementation in this category`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires method` |nbsp| :placeholder:`B` |nbsp| :diagtext:`to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires method` |nbsp| :placeholder:`B` |nbsp| :diagtext:`to be defined - use @dynamic or provide a method implementation in this category`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wobjc-property-implicit-<wbr>mismatch<br>
+-----------------------------<wbr>----<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`primary property declaration is implicitly strong while redeclaration in class extension is weak`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wobjc-property-matches-<wbr>cocoa-ownership-rule<br>
+-----------------------------<wbr>---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property follows Cocoa naming convention for returning 'owned' objects`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wobjc-property-no-attribute<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`default property attribute 'assign' not appropriate for non-GC object`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wobjc-property-synthesis<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`auto property synthesis will not synthesize property` |nbsp| :placeholder:`A`:diagtext:`; it will be implemented by its superclass, use @dynamic to acknowledge intention`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`auto property synthesis will not synthesize property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`because it is 'readwrite' but it will be synthesized 'readonly' via another property`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`auto property synthesis will not synthesize property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`because it cannot share an ivar with another synthesized property`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wobjc-protocol-method-<wbr>implementation<br>
+-----------------------------<wbr>--------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`category is implementing a method which will also be implemented by its primary class`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wobjc-protocol-property-<wbr>synthesis<br>
+-----------------------------<wbr>-----<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`auto property synthesis will not synthesize property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared in protocol` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wobjc-protocol-qualifiers<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`parameterized class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`already conforms to the protocols listed; did you forget a '\*'?`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wobjc-readonly-with-setter-<wbr>property<br>
+-----------------------------<wbr>-------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`setter cannot be specified for a readonly property`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wobjc-redundant-api-use<br>
+------------------------<br>
+Synonym for `-Wobjc-redundant-literal-use`<wbr>_.<br>
+<br>
+<br>
+-Wobjc-redundant-literal-use<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with a literal is redundant`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wobjc-root-class<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`defined without specifying a base class`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wobjc-string-compare<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`direct comparison of a string literal has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wobjc-string-concatenation<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`concatenated NSString literal for an NSArray expression - possibly missing a comma`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wodr<br>
+-----<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has incompatible definitions in different translation units`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wold-style-cast<br>
+----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of old-style cast`|<br>
++----------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Wold-style-definition<br>
+----------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wopencl-unsupported-rgba<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`vector component name '`:placeholder:`A`:diagtext:`' is an OpenCL version 2.2 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wopenmp-clauses<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`aligned clause will be ignored because the requested alignment is not a power of 2`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+------<wbr>------------------------------<wbr>---------------+--------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`zero linear step (`:placeholder:`A` |nbsp| |+----------------------------<wbr>---------------------+|:<wbr>diagtext:`should probably be const)`|<br>
+|                                                                                 ||                                                 ||                                     |<br>
+|                                                                                 |+----------------------------<wbr>---------------------+|                                     |<br>
+|                                                                                 ||:diagtext:`and other variables in clause` |nbsp| ||                                     |<br>
+|                                                                                 |+----------------------------<wbr>---------------------+|                                     |<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+------<wbr>------------------------------<wbr>---------------+--------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wopenmp-loop-form<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`OpenMP loop iteration variable cannot have more than 64 bits size and will be narrowed`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wopenmp-target<br>
+---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`declaration is not declared in any declare target region`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Woption-ignored<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`option '`:placeholder:`A`:diagtext:`' was ignored by the PS4 toolchain, using '-fPIC'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wout-of-line-declaration<br>
+-------------------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-out-of-line-<wbr>declaration`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:error:`error:` |nbsp| :diagtext:`out-of-line declaration of a member must be a definition`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wover-aligned<br>
+--------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires` |nbsp| :placeholder:`B` |nbsp| :diagtext:`bytes of alignment and the default allocator only guarantees` |nbsp| :placeholder:`C` |nbsp| :diagtext:`bytes`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Woverflow<br>
+----------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Woverlength-strings<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+---------------------+<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`string literal of length` |nbsp| :placeholder:`A` |nbsp| :diagtext:`exceeds maximum length` |nbsp| :placeholder:`B` |nbsp| :diagtext:`that` |nbsp| |+-------------------+| |nbsp| :diagtext:`compilers are required to support`|<br>
+|                                                                                                                                                                                         ||:diagtext:`C90`    ||                                                     |<br>
+|                                                                                                                                                                                         |+-------------------+|                                                     |<br>
+|                                                                                                                                                                                         ||:diagtext:`ISO C99`||                                                     |<br>
+|                                                                                                                                                                                         |+-------------------+|                                                     |<br>
+|                                                                                                                                                                                         ||:diagtext:`C++`    ||                                                     |<br>
+|                                                                                                                                                                                         |+-------------------+|                                                     |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+---------------------+<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Woverloaded-shift-op-<wbr>parentheses<br>
+-----------------------------<wbr>----<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------+----------------+----<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`overloaded operator` |nbsp| |+--------------+| |nbsp| :diagtext:`has higher precedence than comparison operator`|<br>
+|                                                                  ||:diagtext:`>>`||                                                                  |<br>
+|                                                                  |+--------------+|                                                                  |<br>
+|                                                                  ||:diagtext:`<<`||                                                                  |<br>
+|                                                                  |+--------------+|                                                                  |<br>
++----------------------------<wbr>------------------------------<wbr>--------+----------------+----<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Woverloaded-virtual<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`hides overloaded virtual` |nbsp| |+---------------------+|<br>
+|                                                                                               ||:diagtext:`function` ||<br>
+|                                                                                               |+---------------------+|<br>
+|                                                                                               ||:diagtext:`functions`||<br>
+|                                                                                               |+---------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>-+<br>
+<br>
+<br>
+-Woverride-module<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`overriding the module target triple with` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Woverriding-method-mismatch<br>
+----------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting distributed object modifiers on parameter type in declaration of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting parameter types in declaration of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting distributed object modifiers on return type in declaration of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting return type in declaration of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting variadic declaration of method and its implementation`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting parameter types in declaration of` |nbsp| :placeholder:`A`:diagtext:`:` |nbsp| :placeholder:`B` |nbsp| :diagtext:`vs` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`conflicting return type in declaration of` |nbsp| :placeholder:`A`:diagtext:`:` |nbsp| :placeholder:`B` |nbsp| :diagtext:`vs` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Woverriding-t-option<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`overriding '`:placeholder:`A`:diagtext:`' option with '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wpacked<br>
+--------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`packed attribute is unnecessary for` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wpadded<br>
+--------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>--------------------------+---<wbr>--------------------+---------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+------------------<wbr>+---------------+-------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`padding` |nbsp| |+---------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`with` |nbsp| :placeholder:`C` |nbsp| |+----------------+|+---------<wbr>----+| |nbsp| :diagtext:`to align anonymous bit-field`|<br>
+|                                                      ||:diagtext:`struct`   ||                                                                                ||:diagtext:`byte`|||             ||                                                |<br>
+|                                                      |+---------------------+|                                                                                |+----------------+|+---------<wbr>----+|                                                |<br>
+|                                                      ||:diagtext:`interface`||                                                                                ||:diagtext:`bit` |||:diagtext:`s`||                                                |<br>
+|                                                      |+---------------------+|                                                                                |+----------------+|+---------<wbr>----+|                                                |<br>
+|                                                      ||:diagtext:`class`    ||                                                                                |                  |               |                                                |<br>
+|                                                      |+---------------------+|                                                                                |                  |               |                                                |<br>
++----------------------------<wbr>--------------------------+---<wbr>--------------------+---------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+------------------<wbr>+---------------+-------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>--------------------------+---<wbr>--------------------+---------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+------------------<wbr>+---------------+-------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`padding` |nbsp| |+---------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`with` |nbsp| :placeholder:`C` |nbsp| |+----------------+|+---------<wbr>----+| |nbsp| :diagtext:`to align` |nbsp| :placeholder:`E`|<br>
+|                                                      ||:diagtext:`struct`   ||                                                                                ||:diagtext:`byte`|||             ||                                                    |<br>
+|                                                      |+---------------------+|                                                                                |+----------------+|+---------<wbr>----+|                                                    |<br>
+|                                                      ||:diagtext:`interface`||                                                                                ||:diagtext:`bit` |||:diagtext:`s`||                                                    |<br>
+|                                                      |+---------------------+|                                                                                |+----------------+|+---------<wbr>----+|                                                    |<br>
+|                                                      ||:diagtext:`class`    ||                                                                                |                  |               |                                                    |<br>
+|                                                      |+---------------------+|                                                                                |                  |               |                                                    |<br>
++----------------------------<wbr>--------------------------+---<wbr>--------------------+---------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+------------------<wbr>+---------------+-------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>-----+---------------+--------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`padding size of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with` |nbsp| :placeholder:`B` |nbsp| |+----------------+|+---------<wbr>----+| |nbsp| :diagtext:`to alignment boundary`|<br>
+|                                                                                                                                      ||:diagtext:`byte`|||             ||                                         |<br>
+|                                                                                                                                      |+----------------+|+---------<wbr>----+|                                         |<br>
+|                                                                                                                                      ||:diagtext:`bit` |||:diagtext:`s`||                                         |<br>
+|                                                                                                                                      |+----------------+|+---------<wbr>----+|                                         |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>-----+---------------+--------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wparentheses<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wlogical-op-parentheses`_, `-Wlogical-not-parentheses`_, `-Wbitwise-op-parentheses`_, `-Wshift-op-parentheses`_, `-Woverloaded-shift-op-<wbr>parentheses`_, `-Wparentheses-equality`_, `-Wdangling-else`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`using the result of an assignment as a condition without parentheses`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has lower precedence than` |nbsp| :placeholder:`B`:diagtext:`;` |nbsp| :placeholder:`B` |nbsp| :diagtext:`will be evaluated first`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`operator '?:' has lower precedence than '`:placeholder:`A`:diagtext:`'<wbr>; '`:placeholder:`A`:diagtext:`' will be evaluated first`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wparentheses-equality<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`equality comparison with extraneous parentheses`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wpartial-availability<br>
+----------------------<br>
+Synonym for `-Wunguarded-availability`_.<br>
+<br>
+<br>
+-Rpass<br>
+------<br>
+**Diagnostic text:**<br>
+<br>
+The text of this diagnostic is not controlled by Clang.<br>
+<br>
+<br>
+-Rpass-analysis<br>
+---------------<br>
+**Diagnostic text:**<br>
+<br>
+The text of this diagnostic is not controlled by Clang.<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:remark:`remark:` |nbsp| :placeholder:`A`:diagtext:`; allow reordering by specifying '#pragma clang loop vectorize(enable)' before the loop. If the arrays will always be independent specify '#pragma clang loop vectorize(assume\_safety)' before the loop or provide the '\_\_restrict\_\_' qualifier with the independent array arguments. Erroneous results will occur if these options are incorrectly applied!`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:remark:`remark:` |nbsp| :placeholder:`A`:diagtext:`; allow reordering by specifying '#pragma clang loop vectorize(enable)' before the loop or by providing the compiler option '-ffast-math'.`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wpass-failed<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
+The text of this diagnostic is not controlled by Clang.<br>
+<br>
+<br>
+-Rpass-missed<br>
+-------------<br>
+**Diagnostic text:**<br>
+<br>
+The text of this diagnostic is not controlled by Clang.<br>
+<br>
+<br>
+-Wpch-date-time<br>
+---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>--+---------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>--+| |nbsp| :diagtext:`uses \_\_DATE\_\_ or \_\_TIME\_\_`|<br>
+|                           ||:diagtext:`precompiled header`||                                                     |<br>
+|                           |+----------------------------<wbr>--+|                                                     |<br>
+|                           ||:diagtext:`module`            ||                                                     |<br>
+|                           |+----------------------------<wbr>--+|                                                     |<br>
++---------------------------+<wbr>------------------------------<wbr>--+---------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wpedantic<br>
+----------<br>
+Also controls `-Wgnu-union-cast`_, `-Wdollar-in-identifier-<wbr>extension`_, `-Wgnu-zero-line-directive`_, `-Wc11-extensions`_, `-Wgnu-flexible-array-union-<wbr>member`_, `-Wvariadic-macros`_, `-Wempty-translation-unit`_, `-Wgnu-include-next`_, `-Wembedded-directive`_, `-Wgnu-statement-expression`_, `-Wimport-preprocessor-<wbr>directive-pedantic`_, `-Wfour-char-constants`_, `-Wgnu-conditional-omitted-<wbr>operand`_, `-Wgnu-redeclared-enum`_, `-Wmicrosoft-enum-forward-<wbr>reference`_, `-Wc++14-binary-literal`_, `-Wgnu-empty-initializer`_, `-Wmicrosoft-charize`_, `-Wdeclaration-after-<wbr>statement`_, `-Woverlength-strings`_, `-Wcomplex-component-init`_, `-Wmicrosoft-end-of-file`_, `-Wgnu-folding-constant`_, `-Wmicrosoft-fixed-enum`_, `-Wkeyword-macro`_, `-Wlong-long`_, `-Wgnu-compound-literal-<wbr>initializer`_, `-Wc++11-extra-semi`_, `-Wformat-pedantic`_, `-Wnullability-extension`_, `-Wgnu-flexible-array-<wbr>initializer`_, `-Wmicrosoft-flexible-array`_, `-Wmicrosoft-cpp-macro`_, `-Wgnu-case-range`_, `-Wvla-extension`_,<br>
 `-Wgnu-zero-variadic-macro-<wbr>arguments`_, `-Wlanguage-extension-token`_, `-Wgnu-empty-struct`_, `-Wgnu-auto-type`_, `-Wzero-length-array`_, `-Wgnu-complex-integer`_, `-Wmicrosoft-redeclare-static`<wbr>_, `-Wc++11-long-long`_, `-Wretained-language-linkage`_<wbr>, `-Wgnu-imaginary-constant`_, `-Wgnu-anonymous-struct`_, `-Wflexible-array-extensions`_<wbr>, `-Wgnu-binary-literal`_, `-Wgnu-label-as-value`_, `-Wnested-anon-types`_, `-Wmicrosoft-comment-paste`_, `-Wextended-offsetof`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------+-----<wbr>------------------+-----------<wbr>----------------+-------------<wbr>--+----------------------+----<wbr>---------------------+--------<wbr>-------------------------+----<wbr>-----------+------------------<wbr>------+-----------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`arithmetic on`|+---------------------+| |nbsp| :diagtext:`pointer`|+---------<wbr>----+| |nbsp| :diagtext:`to`|+--------------<wbr>---------+| |nbsp| :diagtext:`function type`|+-------------+| |nbsp| :placeholder:`B`|+------------<wbr>------------------------------<wbr>-------+| |nbsp| :diagtext:`is a GNU extension`|<br>
+|                                                    || |nbsp| :diagtext:`a`||                           ||             ||                      || |nbsp| :diagtext:`the`||                                 ||             ||                        ||                                                 ||                                      |<br>
+|                                                    |+---------------------+|                           |+-------------+|                      |+-----------------------+|                                 |+-------------+|                        |+----------------------------<wbr>---------------------+|                                      |<br>
+|                                                    ||                     ||                           ||:diagtext:`s`||                      ||                       ||                                 ||:diagtext:`s`||                        ||+---------------------------<wbr>--------------------+||                                      |<br>
+|                                                    |+---------------------+|                           |+-------------+|                      |+-----------------------+|                                 |+-------------+|                        ||| |nbsp| :diagtext:`and` |nbsp| :placeholder:`D`|||                                      |<br>
+|                                                    |                       |                           |               |                      |                         |                                 |               |                        ||+---------------------------<wbr>--------------------+||                                      |<br>
+|                                                    |                       |                           |               |                      |                         |                                 |               |                        |+----------------------------<wbr>---------------------+|                                      |<br>
++----------------------------<wbr>------------------------+-----<wbr>------------------+-----------<wbr>----------------+-------------<wbr>--+----------------------+----<wbr>---------------------+--------<wbr>-------------------------+----<wbr>-----------+------------------<wbr>------+-----------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----+-----------------------+<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid application of '`|+---------------------+|:<wbr>diagtext:`' to a void type`|<br>
+|                                                               ||:diagtext:`sizeof`   ||                            |<br>
+|                                                               |+---------------------+|                            |<br>
+|                                                               ||:diagtext:`alignof`  ||                            |<br>
+|                                                               |+---------------------+|                            |<br>
+|                                                               ||:diagtext:`vec\_step`||                            |<br>
+|                                                               |+---------------------+|                            |<br>
++----------------------------<wbr>------------------------------<wbr>-----+-----------------------+<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`\_\_VA\_ARGS\_\_ can only appear in the expansion of a C99 variadic macro`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ordered comparison between pointer and zero (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`) is an extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C forbids forward references to 'enum' types`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is a C++1z extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of non-standard escape character '\\`:placeholder:`A`:diagtext:<wbr>`'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>----+-------------------------<wbr>-----+-----------------------+<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>----+|:diagtext:`array size` |nbsp| |+---------------------+|:<wbr>diagtext:`is a C99 feature`|<br>
+|                           ||:diagtext:`qualifier in` |nbsp| ||                              ||                     ||                            |<br>
+|                           |+----------------------------<wbr>----+|                              |+---------------------+|                            |<br>
+|                           ||:diagtext:`static` |nbsp|       ||                              ||                     ||                            |<br>
+|                           |+----------------------------<wbr>----+|                              |+---------------------+|                            |<br>
+|                           ||                                ||                              ||:diagtext:`'\[\*\] '`||                            |<br>
+|                           |+----------------------------<wbr>----+|                              |+---------------------+|                            |<br>
++---------------------------+<wbr>------------------------------<wbr>----+-------------------------<wbr>-----+-----------------------+<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no newline at end of file`|<br>
++----------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`macro expansion producing 'defined' has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`exception specification of '...' is a Microsoft extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable declaration in for loop is a C99-specific feature`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from array size expression of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| |+-----------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`C` |nbsp| :diagtext:`is a C++11 extension`|<br>
+|                                                                                                                                                   ||:diagtext:`integral`   ||                                                                                        |<br>
+|                                                                                                                                                   |+-----------------------+|                                                                                        |<br>
+|                                                                                                                                                   ||:diagtext:`enumeration`||                                                                                        |<br>
+|                                                                                                                                                   |+-----------------------+|                                                                                        |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cast between pointer-to-function and pointer-to-object is an extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'enable\_if' is a clang extension`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`hexadecimal floating constants are a C99 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`C99 forbids casting nonscalar type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to the same type`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C forbids taking the address of an expression of type 'void'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#ident is a language extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`initializer for aggregate is not a compile-time constant`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' cannot be signed or unsigned`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C90 does not allow subscripting non-lvalue array`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`flexible array members are a C99 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of GNU array range extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`empty macro arguments are a C99 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no viable constructor` |nbsp| |+----------------------------<wbr>-----------+| |nbsp| :diagtext:`of type` |nbsp| :placeholder:`B`:diagtext:`; C++98 requires a copy constructor when binding a reference to a temporary`|<br>
+|                                                                    ||:diagtext:`copying variable`           ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`copying parameter`          ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`returning object`           ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`throwing object`            ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`copying member subobject`   ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`copying array element`      ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`allocating object`          ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`copying temporary`          ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`initializing base subobject`||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`initializing vector element`||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
+|                                                                    ||:diagtext:`capturing value`            ||                                                                                                                                          |<br>
+|                                                                    |+----------------------------<wbr>-----------+|                                                                                                                                          |<br>
++----------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C does not support '~' for complex conjugation of` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>----------+-------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`types declared in an anonymous` |nbsp| |+------------------+| |nbsp| :diagtext:`are a Microsoft extension`|<br>
+|                                                                             ||:diagtext:`struct`||                                             |<br>
+|                                                                             |+------------------+|                                             |<br>
+|                                                                             ||:diagtext:`union` ||                                             |<br>
+|                                                                             |+------------------+|                                             |<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+----------<wbr>----------+-------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`parameter` |nbsp| :placeholder:`A` |nbsp| :diagtext:`was not declared, defaulting to type 'int'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C++ does not allow 'main' to be used by a program`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extern templates are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`qualifier in explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires a template-id (a typedef is not permitted)`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------+-----<wbr>------------------+-----------<wbr>----------------+-------------<wbr>--+---------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`arithmetic on`|+---------------------+| |nbsp| :diagtext:`pointer`|+---------<wbr>----+| |nbsp| :diagtext:`to void is a GNU extension`|<br>
+|                                                    || |nbsp| :diagtext:`a`||                           ||             ||                                              |<br>
+|                                                    |+---------------------+|                           |+-------------+|                                              |<br>
+|                                                    ||                     ||                           ||:diagtext:`s`||                                              |<br>
+|                                                    |+---------------------+|                           |+-------------+|                                              |<br>
++----------------------------<wbr>------------------------+-----<wbr>------------------+-----------<wbr>----------------+-------------<wbr>--+---------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comma operator in operand of #if`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>-------------------------+----<wbr>------------------+-----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`static` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`is used in an inline function with external linkage`|<br>
+|                                                     ||:diagtext:`function`||                                                                                               |<br>
+|                                                     |+--------------------+|                                                                                               |<br>
+|                                                     ||:diagtext:`variable`||                                                                                               |<br>
+|                                                     |+--------------------+|                                                                                               |<br>
++----------------------------<wbr>-------------------------+----<wbr>------------------+-----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>----------------------------+-<wbr>-------------------+----------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`anonymous` |nbsp| |+------------------+| |nbsp| :diagtext:`cannot be '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
+|                                                        ||:diagtext:`struct`||                                                            |<br>
+|                                                        |+------------------+|                                                            |<br>
+|                                                        ||:diagtext:`union` ||                                                            |<br>
+|                                                        |+------------------+|                                                            |<br>
++----------------------------<wbr>----------------------------+-<wbr>-------------------+----------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C does not support '++'/'--' on complex integer type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`commas at the end of enumerator lists are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+-----<wbr>--------------+-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C restricts enumerator values to range of 'int' (`:placeholder:`A` |nbsp| :diagtext:`is too` |nbsp| |+-----------------+|:<wbr>diagtext:`)`|<br>
+|                                                                                                                                              ||:diagtext:`small`||             |<br>
+|                                                                                                                                              |+-----------------+|             |<br>
+|                                                                                                                                              ||:diagtext:`large`||             |<br>
+|                                                                                                                                              |+-----------------+|             |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+-----<wbr>--------------+-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is a C++14 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`hexadecimal floating literals are a C++1z feature`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`kernel function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a member function; this may not be accepted by nvcc`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`type-less parameter names in function declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`C requires #line number to be less than` |nbsp| :placeholder:`A`:diagtext:`, allowed as extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>-----------------------+------<wbr>----------------+-------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`void` |nbsp| |+--------------------+| |nbsp| :placeholder:`A` |nbsp| :diagtext:`should not return void expression`|<br>
+|                                                   ||:diagtext:`function`||                                                                             |<br>
+|                                                   |+--------------------+|                                                                             |<br>
+|                                                   ||:diagtext:`method`  ||                                                                             |<br>
+|                                                   |+--------------------+|                                                                             |<br>
+|                                                   ||:diagtext:`block`   ||                                                                             |<br>
+|                                                   |+--------------------+|                                                                             |<br>
++----------------------------<wbr>-----------------------+------<wbr>----------------+-------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`complex numbers are an extension in a freestanding C99 implementation`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`equality comparison between function pointer and void pointer (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`)`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'\_\_thread' before '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`C99 forbids conditional expressions with only one void side`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`multi-line // comment`|<br>
++----------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`C++98 requires an accessible copy constructor for class` |nbsp| :placeholder:`C` |nbsp| :diagtext:`when binding a reference to a temporary; was` |nbsp| |+---------------------+|<br>
+|                                                                                                                                                                                              ||:diagtext:`private`  ||<br>
+|                                                                                                                                                                                              |+---------------------+|<br>
+|                                                                                                                                                                                              ||:diagtext:`protected`||<br>
+|                                                                                                                                                                                              |+---------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>----+-------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>------------------------------<wbr>----+| |nbsp| :diagtext:`converts between void pointer and function pointer`|<br>
+|                           ||:diagtext:`assigning to different types`                      ||                                                                      |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                      |<br>
+|                           ||:diagtext:`passing to parameter of different type`            ||                                                                      |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                      |<br>
+|                           ||:diagtext:`returning from function with different return type`||                                                                      |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                      |<br>
+|                           ||:diagtext:`converting between types`                          ||                                                                      |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                      |<br>
+|                           ||:diagtext:`initializing with expression of different type`    ||                                                                      |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                      |<br>
+|                           ||:diagtext:`sending to parameter of different type`            ||                                                                      |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                      |<br>
+|                           ||:diagtext:`casting between types`                             ||                                                                      |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                      |<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>----+-------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`compound literals are a C99-specific feature`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`extra ';'` |nbsp| |+----------------------------<wbr>------------------+|<br>
+|                                                        ||:diagtext:`outside of a function`             ||<br>
+|                                                        |+----------------------------<wbr>------------------+|<br>
+|                                                        ||+---------------------------<wbr>-----------------+||<br>
+|                                                        |||:diagtext:`inside a` |nbsp| :placeholder:`B`|||<br>
+|                                                        ||+---------------------------<wbr>-----------------+||<br>
+|                                                        |+----------------------------<wbr>------------------+|<br>
+|                                                        ||:diagtext:`inside instance variable list`     ||<br>
+|                                                        |+----------------------------<wbr>------------------+|<br>
+|                                                        ||:diagtext:`after member function definition`  ||<br>
+|                                                        |+----------------------------<wbr>------------------+|<br>
++----------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#warning is a language extension`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`subscript of a pointer to void is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`size of static array must be an integer constant expression`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`commas at the end of enumerator lists are a C99-specific feature`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`enumeration types with a fixed underlying type are a C++11 extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`designated initializers are a C99 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----+-----------------------+<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid application of '`|+---------------------+|:<wbr>diagtext:`' to a function type`|<br>
+|                                                               ||:diagtext:`sizeof`   ||                                |<br>
+|                                                               |+---------------------+|                                |<br>
+|                                                               ||:diagtext:`alignof`  ||                                |<br>
+|                                                               |+---------------------+|                                |<br>
+|                                                               ||:diagtext:`vec\_step`||                                |<br>
+|                                                               |+---------------------+|                                |<br>
++----------------------------<wbr>------------------------------<wbr>-----+-----------------------+<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`// comments are not allowed in this language`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wpedantic-core-features<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`OpenCL extension` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is core feature or supported optional core feature - ignoring`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wpessimizing-move<br>
+------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`moving a temporary object prevents copy elision`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`moving a local object in a return statement prevents copy elision`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wpointer-arith<br>
+---------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------+-----<wbr>------------------+-----------<wbr>----------------+-------------<wbr>--+----------------------+----<wbr>---------------------+--------<wbr>-------------------------+----<wbr>-----------+------------------<wbr>------+-----------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`arithmetic on`|+---------------------+| |nbsp| :diagtext:`pointer`|+---------<wbr>----+| |nbsp| :diagtext:`to`|+--------------<wbr>---------+| |nbsp| :diagtext:`function type`|+-------------+| |nbsp| :placeholder:`B`|+------------<wbr>------------------------------<wbr>-------+| |nbsp| :diagtext:`is a GNU extension`|<br>
+|                                                    || |nbsp| :diagtext:`a`||                           ||             ||                      || |nbsp| :diagtext:`the`||                                 ||             ||                        ||                                                 ||                                      |<br>
+|                                                    |+---------------------+|                           |+-------------+|                      |+-----------------------+|                                 |+-------------+|                        |+----------------------------<wbr>---------------------+|                                      |<br>
+|                                                    ||                     ||                           ||:diagtext:`s`||                      ||                       ||                                 ||:diagtext:`s`||                        ||+---------------------------<wbr>--------------------+||                                      |<br>
+|                                                    |+---------------------+|                           |+-------------+|                      |+-----------------------+|                                 |+-------------+|                        ||| |nbsp| :diagtext:`and` |nbsp| :placeholder:`D`|||                                      |<br>
+|                                                    |                       |                           |               |                      |                         |                                 |               |                        ||+---------------------------<wbr>--------------------+||                                      |<br>
+|                                                    |                       |                           |               |                      |                         |                                 |               |                        |+----------------------------<wbr>---------------------+|                                      |<br>
++----------------------------<wbr>------------------------+-----<wbr>------------------+-----------<wbr>----------------+-------------<wbr>--+----------------------+----<wbr>---------------------+--------<wbr>-------------------------+----<wbr>-----------+------------------<wbr>------+-----------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`subscript of a pointer to void is a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------+-----<wbr>------------------+-----------<wbr>----------------+-------------<wbr>--+---------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`arithmetic on`|+---------------------+| |nbsp| :diagtext:`pointer`|+---------<wbr>----+| |nbsp| :diagtext:`to void is a GNU extension`|<br>
+|                                                    || |nbsp| :diagtext:`a`||                           ||             ||                                              |<br>
+|                                                    |+---------------------+|                           |+-------------+|                                              |<br>
+|                                                    ||                     ||                           ||:diagtext:`s`||                                              |<br>
+|                                                    |+---------------------+|                           |+-------------+|                                              |<br>
++----------------------------<wbr>------------------------+-----<wbr>------------------+-----------<wbr>----------------+-------------<wbr>--+---------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----+-----------------------+<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid application of '`|+---------------------+|:<wbr>diagtext:`' to a function type`|<br>
+|                                                               ||:diagtext:`sizeof`   ||                                |<br>
+|                                                               |+---------------------+|                                |<br>
+|                                                               ||:diagtext:`alignof`  ||                                |<br>
+|                                                               |+---------------------+|                                |<br>
+|                                                               ||:diagtext:`vec\_step`||                                |<br>
+|                                                               |+---------------------+|                                |<br>
++----------------------------<wbr>------------------------------<wbr>-----+-----------------------+<wbr>------------------------------<wbr>--+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----+-----------------------+<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid application of '`|+---------------------+|:<wbr>diagtext:`' to a void type`|<br>
+|                                                               ||:diagtext:`sizeof`   ||                            |<br>
+|                                                               |+---------------------+|                            |<br>
+|                                                               ||:diagtext:`alignof`  ||                            |<br>
+|                                                               |+---------------------+|                            |<br>
+|                                                               ||:diagtext:`vec\_step`||                            |<br>
+|                                                               |+---------------------+|                            |<br>
++----------------------------<wbr>------------------------------<wbr>-----+-----------------------+<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`subtraction of pointers to type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of zero size has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wpointer-bool-conversion<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>--------------------------+---<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`nonnull` |nbsp| |+-------------------------+| |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' will evaluate to 'true' on first encounter`|<br>
+|                                                      ||:diagtext:`function call`||                                                                                             |<br>
+|                                                      |+-------------------------+|                                                                                             |<br>
+|                                                      ||:diagtext:`parameter`    ||                                                                                             |<br>
+|                                                      |+-------------------------+|                                                                                             |<br>
++----------------------------<wbr>--------------------------+---<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>---------------------+--------<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`address of`|+-------------------------<wbr>---+| |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' will always evaluate to 'true'`|<br>
+|                                                 ||                            ||                                                                                 |<br>
+|                                                 |+----------------------------<wbr>+|                                                                                 |<br>
+|                                                 || |nbsp| :diagtext:`function`||                                                                                 |<br>
+|                                                 |+----------------------------<wbr>+|                                                                                 |<br>
+|                                                 || |nbsp| :diagtext:`array`   ||                                                                                 |<br>
+|                                                 |+----------------------------<wbr>+|                                                                                 |<br>
++----------------------------<wbr>---------------------+--------<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wpointer-sign<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>----+-------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>------------------------------<wbr>----+| |nbsp| :diagtext:`converts between pointers to integer types with different sign`|<br>
+|                           ||:diagtext:`assigning to different types`                      ||                                                                                  |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                                  |<br>
+|                           ||:diagtext:`passing to parameter of different type`            ||                                                                                  |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                                  |<br>
+|                           ||:diagtext:`returning from function with different return type`||                                                                                  |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                                  |<br>
+|                           ||:diagtext:`converting between types`                          ||                                                                                  |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                                  |<br>
+|                           ||:diagtext:`initializing with expression of different type`    ||                                                                                  |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                                  |<br>
+|                           ||:diagtext:`sending to parameter of different type`            ||                                                                                  |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                                  |<br>
+|                           ||:diagtext:`casting between types`                             ||                                                                                  |<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>----+|                                                                                  |<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>----+-------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wpointer-to-int-cast<br>
+---------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wpointer-type-mismatch<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pointer type mismatch`|<br>
++----------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Wpotentially-evaluated-<wbr>expression<br>
+-----------------------------<wbr>-----<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expression with side effects will be evaluated despite being used as an operand to 'typeid'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wpragma-once-outside-header<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#pragma once in main file`|<br>
++----------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wpragma-system-header-<wbr>outside-header<br>
+-----------------------------<wbr>--------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#pragma system\_header ignored in main file`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wpragmas<br>
+---------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wunknown-pragmas`_, `-Wignored-pragmas`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>---------+--------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#pragma redefine\_extname is applicable to external C declarations only; not applied to` |nbsp| |+--------------------+| |nbsp| :placeholder:`B`|<br>
+|                                                                                                                                      ||:diagtext:`function`||                        |<br>
+|                                                                                                                                      |+--------------------+|                        |<br>
+|                                                                                                                                      ||:diagtext:`variable`||                        |<br>
+|                                                                                                                                      |+--------------------+|                        |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>---------+--------------------<wbr>----+<br>
+<br>
+<br>
+-Wpredefined-identifier-<wbr>outside-function<br>
+-----------------------------<wbr>-----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+|:warning:`warning:` |nbsp| :diagtext:`predefined identifier is only valid inside function`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
+<br>
+<br>
+-Wprivate-extern<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`use of \_\_private\_extern\_\_ on a declaration may not produce external symbol private to the linkage unit and is deprecated`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wprivate-header<br>
+----------------<br>
+This diagnostic is an error by default, but the flag ``-Wno-private-header`` can be used to disable the error.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`use of private header from outside its module: '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wprofile-instr-out-of-date<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------+-----<wbr>------------------------------<wbr>----------+-------------------<wbr>+-----------------------------<wbr>------------------------------<wbr>----+-------------------+-----<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`profile data may be out of date: of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`function`|+--------<wbr>-----+|:diagtext:`,` |nbsp| :placeholder:`B` |nbsp| |+-----------------+| |nbsp| :diagtext:`no data and` |nbsp| :placeholder:`C` |nbsp| |+-----------------+| |nbsp| :diagtext:`mismatched data that will be ignored`|<br>
+|                                                                                                                              ||             ||                                             ||:diagtext:`:has` ||                                                               ||:diagtext:`:has` ||                                                        |<br>
+|                                                                                                                              |+-------------+|                                             |+-----------------+|                                                               |+-----------------+|                                                        |<br>
+|                                                                                                                              ||:diagtext:`s`||                                             ||:diagtext:`:have`||                                                               ||:diagtext:`:have`||                                                        |<br>
+|                                                                                                                              |+-------------+|                                             |+-----------------+|                                                               |+-----------------+|                                                        |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+---------------+-----<wbr>------------------------------<wbr>----------+-------------------<wbr>+-----------------------------<wbr>------------------------------<wbr>----+-------------------+-----<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wprofile-instr-unprofiled<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no profile data available for file "`:placeholder:`A`:diagtext:`"<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wproperty-access-dot-syntax<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found on object of type` |nbsp| :placeholder:`B`:diagtext:`; did you mean to access property` |nbsp| :placeholder:`C`:diagtext:`?`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wproperty-attribute-mismatch<br>
+-----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property attribute in class extension does not match the primary class`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' attribute on property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`does not match the property inherited from` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`getter name mismatch between property redeclaration (`:placeholder:`B`:diagtext:`) and its original declaration (`:placeholder:`A`:diagtext:`)<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`attribute 'readonly' of property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`restricts attribute 'readwrite' of property inherited from` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wprotocol<br>
+----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in protocol` |nbsp| :placeholder:`B` |nbsp| :diagtext:`not implemented`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wprotocol-property-<wbr>synthesis-ambiguity<br>
+-----------------------------<wbr>----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`was selected for synthesis`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wqualified-void-return-type<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`function cannot return qualified void type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wrange-loop-analysis<br>
+---------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`loop variable` |nbsp| :placeholder:`A` |nbsp|  |nbsp| :diagtext:`is initialized with a value of a different type` |nbsp| :diagtext:`resulting in a copy`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`loop variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`creates a copy from type` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`loop variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is always a copy because the range of type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`does not return a reference`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wreadonly-iboutlet-property<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`readonly IBOutlet property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`when auto-synthesized may not work correctly with 'nib' loader`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wreceiver-expr<br>
+---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`receiver type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not 'id' or interface pointer, consider casting it to 'id'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wreceiver-forward-class<br>
+------------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`receiver` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a forward class and corresponding @interface may not exist`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`receiver type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`for instance message is a forward declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wredeclared-class-member<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`class member cannot be redeclared`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wredundant-decls<br>
+-----------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wredundant-move<br>
+----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redundant move in return statement`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wregister<br>
+----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wdeprecated-register`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:error:`error:` |nbsp| :diagtext:`ISO C++1z does not allow 'register' storage class specifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
+<br>
+-Wreinterpret-base-class<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------+------------------+--<wbr>------------------------------<wbr>-------------------------+----<wbr>--------------+---------------<wbr>----------------+-------------<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'reinterpret\_cast'<wbr>` |nbsp| |+----------------+| |nbsp| :diagtext:`class` |nbsp| :placeholder:`A` |nbsp| |+----------------+| |nbsp| :diagtext:`its` |nbsp| |+----------------------------<wbr>-------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`behaves differently from 'static\_cast'`|<br>
+|                                                                  ||:diagtext:`from`||                                                         ||:diagtext:`to`  ||                               ||:diagtext:`virtual base`           ||                                                                                   |<br>
+|                                                                  |+----------------+|                                                         |+----------------+|                               |+----------------------------<wbr>-------+|                                                                                   |<br>
+|                                                                  ||:diagtext:`to`  ||                                                         ||:diagtext:`from`||                               ||:diagtext:`base at non-zero offset`||                                                                                   |<br>
+|                                                                  |+----------------+|                                                         |+----------------+|                               |+----------------------------<wbr>-------+|                                                                                   |<br>
++----------------------------<wbr>------------------------------<wbr>--------+------------------+--<wbr>------------------------------<wbr>-------------------------+----<wbr>--------------+---------------<wbr>----------------+-------------<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Rremark-backend-plugin<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
+The text of this diagnostic is not controlled by Clang.<br>
+<br>
+<br>
+-Wreorder<br>
+---------<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>--+------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`will be initialized after` |nbsp| |+-----------------+| |nbsp| :placeholder:`D`|<br>
+|                           ||:diagtext:`field`     ||                                                                             ||:diagtext:`field`||                        |<br>
+|                           |+----------------------+|                                                                             |+-----------------+|                        |<br>
+|                           ||:diagtext:`base class`||                                                                             ||:diagtext:`base` ||                        |<br>
+|                           |+----------------------+|                                                                             |+-----------------+|                        |<br>
++---------------------------+<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>--+------------------------+<br>
+<br>
+<br>
+-Wrequires-super-attribute<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+----------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute cannot be applied to` |nbsp| |+----------------------------<wbr>----+|<br>
+|                                                                                                     ||:diagtext:`methods in protocols`||<br>
+|                                                                                                     |+----------------------------<wbr>----+|<br>
+|                                                                                                     ||:diagtext:`dealloc`             ||<br>
+|                                                                                                     |+----------------------------<wbr>----+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+----------------<wbr>------------------+<br>
+<br>
+<br>
+-Wreserved-id-macro<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`macro name is a reserved identifier`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wreserved-user-defined-<wbr>literal<br>
+-----------------------------<wbr>--<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wc++11-compat-reserved-user-<wbr>defined-literal`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid suffix on literal; C++11 requires a space between literal and identifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`invalid suffix on literal; C++11 requires a space between literal and identifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wretained-language-linkage<br>
+---------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`friend function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`retaining previous language linkage is an extension`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wreturn-stack-address<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`returning address of label, which is local`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>----------------------------+-<wbr>-------------------------+----<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`returning` |nbsp| |+------------------------+| |nbsp| :diagtext:`local temporary object`|<br>
+|                                                        ||:diagtext:`address of`  ||                                          |<br>
+|                                                        |+------------------------+|                                          |<br>
+|                                                        ||:diagtext:`reference to`||                                          |<br>
+|                                                        |+------------------------+|                                          |<br>
++----------------------------<wbr>----------------------------+-<wbr>-------------------------+----<wbr>------------------------------<wbr>--------+<br>
+<br>
++---------------------------+<wbr>--------------------------+---<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| |+------------------------+| |nbsp| :diagtext:`stack memory associated with local variable` |nbsp| :placeholder:`B` |nbsp| :diagtext:`returned`|<br>
+|                           ||:diagtext:`address of`  ||                                                                                                                   |<br>
+|                           |+------------------------+|                                                                                                                   |<br>
+|                           ||:diagtext:`reference to`||                                                                                                                   |<br>
+|                           |+------------------------+|                                                                                                                   |<br>
++---------------------------+<wbr>--------------------------+---<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wreturn-type<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wreturn-type-c-linkage`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++-----------------------+----<wbr>-----------------------+------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:error:`error:` |nbsp| |+-------------------------+| |nbsp| :placeholder:`A` |nbsp| :diagtext:`should not return a value`|<br>
+|                       ||:diagtext:`void function`||                                                                     |<br>
+|                       |+-------------------------+|                                                                     |<br>
+|                       ||:diagtext:`void method`  ||                                                                     |<br>
+|                       |+-------------------------+|                                                                     |<br>
+|                       ||:diagtext:`constructor`  ||                                                                     |<br>
+|                       |+-------------------------+|                                                                     |<br>
+|                       ||:diagtext:`destructor`   ||                                                                     |<br>
+|                       |+-------------------------+|                                                                     |<br>
++-----------------------+----<wbr>-----------------------+------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>-----------------------+------<wbr>----------------+-------------<wbr>------------------------------<wbr>----------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`non-void` |nbsp| |+--------------------+| |nbsp| :placeholder:`A` |nbsp| :diagtext:`should return a value`|<br>
+|                                                   ||:diagtext:`function`||                                                                 |<br>
+|                                                   |+--------------------+|                                                                 |<br>
+|                                                   ||:diagtext:`method`  ||                                                                 |<br>
+|                                                   |+--------------------+|                                                                 |<br>
++----------------------------<wbr>-----------------------+------<wbr>----------------+-------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`control reaches end of non-void function`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`control reaches end of non-void lambda`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`control may reach end of non-void function`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`control may reach end of non-void lambda`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>-----------------------+------<wbr>----------------+-------------<wbr>------------------------------<wbr>----------------------+<br>
+|:error:`error:` |nbsp| :diagtext:`non-void` |nbsp| |+--------------------+| |nbsp| :placeholder:`A` |nbsp| :diagtext:`should return a value`|<br>
+|                                                   ||:diagtext:`function`||                                                                 |<br>
+|                                                   |+--------------------+|                                                                 |<br>
+|                                                   ||:diagtext:`method`  ||                                                                 |<br>
+|                                                   |+--------------------+|                                                                 |<br>
++----------------------------<wbr>-----------------------+------<wbr>----------------+-------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wreturn-type-c-linkage<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has C-linkage specified, but returns user-defined type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`which is incompatible with C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has C-linkage specified, but returns incomplete type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`which could be incompatible with C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wrtti-for-exceptions<br>
+---------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicitly enabling rtti for exception handling`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Rsanitize-address<br>
+------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:remark:`remark:` |nbsp| :diagtext:`-fsanitize-address-<wbr>field-padding applied to` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>------------------------------<wbr>----+<br>
+|:remark:`remark:` |nbsp| :diagtext:`-fsanitize-address-<wbr>field-padding ignored for` |nbsp| :placeholder:`A` |nbsp| :diagtext:`because it` |nbsp| |+----------------------------<wbr>--------+|<br>
+|                                                                                                                                               ||:diagtext:`is not C++`              ||<br>
+|                                                                                                                                               |+----------------------------<wbr>--------+|<br>
+|                                                                                                                                               ||:diagtext:`is packed`               ||<br>
+|                                                                                                                                               |+----------------------------<wbr>--------+|<br>
+|                                                                                                                                               ||:diagtext:`is a union`              ||<br>
+|                                                                                                                                               |+----------------------------<wbr>--------+|<br>
+|                                                                                                                                               ||:diagtext:`is trivially copyable`   ||<br>
+|                                                                                                                                               |+----------------------------<wbr>--------+|<br>
+|                                                                                                                                               ||:diagtext:`has trivial destructor`  ||<br>
+|                                                                                                                                               |+----------------------------<wbr>--------+|<br>
+|                                                                                                                                               ||:diagtext:`is standard layout`      ||<br>
+|                                                                                                                                               |+----------------------------<wbr>--------+|<br>
+|                                                                                                                                               ||:diagtext:`is in a blacklisted file`||<br>
+|                                                                                                                                               |+----------------------------<wbr>--------+|<br>
+|                                                                                                                                               ||:diagtext:`is blacklisted`          ||<br>
+|                                                                                                                                               |+----------------------------<wbr>--------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wsection<br>
+---------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`section does not match previous declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wselector<br>
+----------<br>
+Also controls `-Wselector-type-mismatch`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`no method with selector` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is implemented in this translation unit`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wselector-type-mismatch<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`several methods with selector` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of mismatched types are found for the @selector expression`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wself-assign<br>
+-------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wself-assign-field`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicitly assigning value of variable of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to itself`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wself-assign-field<br>
+-------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>+-----------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`assigning` |nbsp| |+----------------------------<wbr>-+| |nbsp| :diagtext:`to itself`|<br>
+|                                                        ||:diagtext:`field`            ||                             |<br>
+|                                                        |+----------------------------<wbr>-+|                             |<br>
+|                                                        ||:diagtext:`instance variable`||                             |<br>
+|                                                        |+----------------------------<wbr>-+|                             |<br>
++----------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>+-----------------------------<wbr>+<br>
+<br>
+<br>
+-Wself-move<br>
+-----------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicitly moving variable of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to itself`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wsemicolon-before-method-<wbr>body<br>
+-----------------------------<wbr>-<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`semicolon before method body is ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wsentinel<br>
+----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing sentinel in` |nbsp| |+---------------------------+<wbr>|<br>
+|                                                                  ||:diagtext:`function call`  ||<br>
+|                                                                  |+---------------------------+<wbr>|<br>
+|                                                                  ||:diagtext:`method dispatch`||<br>
+|                                                                  |+---------------------------+<wbr>|<br>
+|                                                                  ||:diagtext:`block call`     ||<br>
+|                                                                  |+---------------------------+<wbr>|<br>
++----------------------------<wbr>------------------------------<wbr>--------+---------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`not enough variable arguments in` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declaration to fit a sentinel`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wsequence-point<br>
+----------------<br>
+Synonym for `-Wunsequenced`_.<br>
+<br>
+<br>
+-Wserialized-diagnostics<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unable to open file` |nbsp| :placeholder:`A` |nbsp| :diagtext:`for serializing diagnostics (`:placeholder:`B`:diagtext:`)<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unable to merge a subprocess's serialized diagnostics`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wshadow<br>
+--------<br>
+Also controls `-Wshadow-field-in-<wbr>constructor-modified`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`declaration shadows a` |nbsp| |+----------------------------<wbr>------------------------------<wbr>-+|<br>
+|                                                                    ||:diagtext:`local variable`                                 ||<br>
+|                                                                    |+----------------------------<wbr>------------------------------<wbr>-+|<br>
+|                                                                    ||+---------------------------<wbr>--------------------+          ||<br>
+|                                                                    |||:diagtext:`variable in` |nbsp| :placeholder:`C`|          ||<br>
+|                                                                    ||+---------------------------<wbr>--------------------+          ||<br>
+|                                                                    |+----------------------------<wbr>------------------------------<wbr>-+|<br>
+|                                                                    ||+---------------------------<wbr>------------------------------<wbr>+||<br>
+|                                                                    |||:diagtext:`static data member of` |nbsp| :placeholder:`C`|||<br>
+|                                                                    ||+---------------------------<wbr>------------------------------<wbr>+||<br>
+|                                                                    |+----------------------------<wbr>------------------------------<wbr>-+|<br>
+|                                                                    ||+---------------------------<wbr>-----------------+             ||<br>
+|                                                                    |||:diagtext:`field of` |nbsp| :placeholder:`C`|             ||<br>
+|                                                                    ||+---------------------------<wbr>-----------------+             ||<br>
+|                                                                    |+----------------------------<wbr>------------------------------<wbr>-+|<br>
++----------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wshadow-all<br>
+------------<br>
+Controls `-Wshadow`_, `-Wshadow-field-in-<wbr>constructor`_.<br>
+<br>
+<br>
+-Wshadow-field-in-constructor<br>
+-----------------------------<br>
+Also controls `-Wshadow-field-in-<wbr>constructor-modified`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`constructor parameter` |nbsp| :placeholder:`A` |nbsp| :diagtext:`shadows the field` |nbsp| :placeholder:`B` |nbsp| :diagtext:`of` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wshadow-field-in-<wbr>constructor-modified<br>
+-----------------------------<wbr>---------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`modifying constructor parameter` |nbsp| :placeholder:`A` |nbsp| :diagtext:`that shadows a field of` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wshadow-ivar<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`local declaration of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`hides instance variable`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wshift-count-negative<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`shift count is negative`|<br>
++----------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wshift-count-overflow<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`shift count >= width of type`|<br>
++----------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wshift-negative-value<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`shifting a negative signed value is undefined`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wshift-op-parentheses<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`operator '`:placeholder:`A`:diagtext:`' has lower precedence than '`:placeholder:`B`:diagtext:`'<wbr>; '`:placeholder:`B`:diagtext:`' will be evaluated first`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wshift-overflow<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`signed shift result (`:placeholder:`A`:diagtext:`) requires` |nbsp| :placeholder:`B` |nbsp| :diagtext:`bits to represent, but` |nbsp| :placeholder:`C` |nbsp| :diagtext:`only has` |nbsp| :placeholder:`D` |nbsp| :diagtext:`bits`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wshift-sign-overflow<br>
+---------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`signed shift result (`:placeholder:`A`:diagtext:`) sets the sign bit of the shift expression's type (`:placeholder:`B`:diagtext:`) and becomes negative`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wshorten-64-to-32<br>
+------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion loses integer precision:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wsign-compare<br>
+--------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparison of integers of different signs:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wsign-conversion<br>
+-----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion changes signedness:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`operand of ? changes signedness:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wsign-promo<br>
+------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wsizeof-array-argument<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`sizeof on array function parameter will return size of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`instead of` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
+<br>
+-Wsizeof-array-decay<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`sizeof on pointer operation will return size of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`instead of` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wsizeof-pointer-memaccess<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:<wbr>diagtext:`' call operates on objects of type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`while the size is based on a different type` |nbsp| :placeholder:`C`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+--------------<wbr>-----------+------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`argument to 'sizeof' in` |nbsp| :placeholder:`A` |nbsp| :diagtext:`call is the same pointer type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`as the` |nbsp| |+-----------------------+|:<wbr>diagtext:`; expected` |nbsp| :placeholder:`D` |nbsp| :diagtext:`or an explicit length`|<br>
+|                                                                                                                                                                                                 ||:diagtext:`destination`||                                                                                       |<br>
+|                                                                                                                                                                                                 |+-----------------------+|                                                                                       |<br>
+|                                                                                                                                                                                                 ||:diagtext:`source`     ||                                                                                       |<br>
+|                                                                                                                                                                                                 |+-----------------------+|                                                                                       |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+--------------<wbr>-----------+------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wsometimes-uninitialized<br>
+-------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+----------------<wbr>------+-----------------------<wbr>---------------------------+--<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is` |nbsp| |+--------------------+| |nbsp| :diagtext:`uninitialized whenever` |nbsp| |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+|<br>
+|                                                                                                     ||:diagtext:`used`    ||                                                  ||+---------------------------<wbr>------------------------------<wbr>------+-------------------+                       ||<br>
+|                                                                                                     |+--------------------+|                                                  |||:diagtext:`'`:placeholder:`<wbr>D`:diagtext:`' condition is` |nbsp| |+-----------------+|                       ||<br>
+|                                                                                                     ||:diagtext:`captured`||                                                  |||                                                               ||:diagtext:`true` ||                       ||<br>
+|                                                                                                     |+--------------------+|                                                  |||                                                               |+-----------------+|                       ||<br>
+|                                                                                                     |                      |                                                  |||                                                               ||:diagtext:`false`||                       ||<br>
+|                                                                                                     |                      |                                                  |||                                                               |+-----------------+|                       ||<br>
+|                                                                                                     |                      |                                                  ||+---------------------------<wbr>------------------------------<wbr>------+-------------------+                       ||<br>
+|                                                                                                     |                      |                                                  |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+|<br>
+|                                                                                                     |                      |                                                  ||+---------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-------------------+||<br>
+|                                                                                                     |                      |                                                  |||:diagtext:`'`:placeholder:`<wbr>D`:diagtext:`' loop` |nbsp| |+----------------------------<wbr>--------------------+|||<br>
+|                                                                                                     |                      |                                                  |||                                                       ||:diagtext:`is entered`                          ||||<br>
+|                                                                                                     |                      |                                                  |||                                                       |+----------------------------<wbr>--------------------+|||<br>
+|                                                                                                     |                      |                                                  |||                                                       ||:diagtext:`exits because its condition is false`||||<br>
+|                                                                                                     |                      |                                                  |||                                                       |+----------------------------<wbr>--------------------+|||<br>
+|                                                                                                     |                      |                                                  ||+---------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-------------------+||<br>
+|                                                                                                     |                      |                                                  |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+|<br>
+|                                                                                                     |                      |                                                  ||+---------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-------------------+||<br>
+|                                                                                                     |                      |                                                  |||:diagtext:`'`:placeholder:`<wbr>D`:diagtext:`' loop` |nbsp| |+----------------------------<wbr>--------------------+|||<br>
+|                                                                                                     |                      |                                                  |||                                                       ||:diagtext:`condition is true`                   ||||<br>
+|                                                                                                     |                      |                                                  |||                                                       |+----------------------------<wbr>--------------------+|||<br>
+|                                                                                                     |                      |                                                  |||                                                       ||:diagtext:`exits because its condition is false`||||<br>
+|                                                                                                     |                      |                                                  |||                                                       |+----------------------------<wbr>--------------------+|||<br>
+|                                                                                                     |                      |                                                  ||+---------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>-------------------+||<br>
+|                                                                                                     |                      |                                                  |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+|<br>
+|                                                                                                     |                      |                                                  ||+---------------------------<wbr>------------------------------<wbr>-------------+                                    ||<br>
+|                                                                                                     |                      |                                                  |||:diagtext:`switch` |nbsp| :placeholder:`D` |nbsp| :diagtext:`is taken`|                                    ||<br>
+|                                                                                                     |                      |                                                  ||+---------------------------<wbr>------------------------------<wbr>-------------+                                    ||<br>
+|                                                                                                     |                      |                                                  |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+|<br>
+|                                                                                                     |                      |                                                  ||:diagtext:`its declaration is reached`                                                                      ||<br>
+|                                                                                                     |                      |                                                  |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+|<br>
+|                                                                                                     |                      |                                                  ||+---------------------------<wbr>------------------+                                                             ||<br>
+|                                                                                                     |                      |                                                  |||:placeholder:`D` |nbsp| :diagtext:`is called`|                                                             ||<br>
+|                                                                                                     |                      |                                                  ||+---------------------------<wbr>------------------+                                                             ||<br>
+|                                                                                                     |                      |                                                  |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+----------------<wbr>------+-----------------------<wbr>---------------------------+--<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wsource-uses-openmp<br>
+--------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`OpenMP only allows an ordered construct with the simd clause nested in a simd construct`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unexpected '#pragma omp ...' in program`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wspir-compat<br>
+-------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`sampler initializer has invalid` |nbsp| :placeholder:`A` |nbsp| :diagtext:`bits`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wstack-protector<br>
+-----------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstatic-float-init<br>
+-------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wgnu-static-float-init`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:error:`error:` |nbsp| :diagtext:`in-class initializer for static data member of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires 'constexpr' specifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wstatic-in-inline<br>
+------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>-------------------------+----<wbr>------------------+-----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`static` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`is used in an inline function with external linkage`|<br>
+|                                                     ||:diagtext:`function`||                                                                                               |<br>
+|                                                     |+--------------------+|                                                                                               |<br>
+|                                                     ||:diagtext:`variable`||                                                                                               |<br>
+|                                                     |+--------------------+|                                                                                               |<br>
++----------------------------<wbr>-------------------------+----<wbr>------------------+-----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>-------------------------+----<wbr>------------------+-----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`static` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`is used in an inline function with external linkage`|<br>
+|                                                     ||:diagtext:`function`||                                                                                               |<br>
+|                                                     |+--------------------+|                                                                                               |<br>
+|                                                     ||:diagtext:`variable`||                                                                                               |<br>
+|                                                     |+--------------------+|                                                                                               |<br>
++----------------------------<wbr>-------------------------+----<wbr>------------------+-----------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wstatic-inline-explicit-<wbr>instantiation<br>
+-----------------------------<wbr>---------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>---------------------+--------<wbr>------------+-----------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ignoring '`|+------------------+|:<wbr>diagtext:`' keyword on explicit template instantiation`|<br>
+|                                                 ||:diagtext:`static`||                                                        |<br>
+|                                                 |+------------------+|                                                        |<br>
+|                                                 ||:diagtext:`inline`||                                                        |<br>
+|                                                 |+------------------+|                                                        |<br>
++----------------------------<wbr>---------------------+--------<wbr>------------+-----------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wstatic-local-in-inline<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`non-constant static local variable in inline function may be different in different files`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wstatic-self-init<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`static variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is suspiciously used within its own initialization`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wstrict-aliasing<br>
+-----------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-aliasing=0<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-aliasing=1<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-aliasing=2<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-overflow<br>
+-----------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-overflow=0<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-overflow=1<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-overflow=2<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-overflow=3<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-overflow=4<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-overflow=5<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-prototypes<br>
+-------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wstrict-selector-match<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`multiple methods named` |nbsp| :placeholder:`A` |nbsp| :diagtext:`found`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
+<br>
+-Wstring-compare<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>------------------+-----------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`result of comparison against` |nbsp| |+----------------------------<wbr>+| |nbsp| :diagtext:`is unspecified (use strncmp instead)`|<br>
+|                                                                           ||:diagtext:`a string literal`||                                                        |<br>
+|                                                                           |+----------------------------<wbr>+|                                                        |<br>
+|                                                                           ||:diagtext:`@encode`         ||                                                        |<br>
+|                                                                           |+----------------------------<wbr>+|                                                        |<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>------------------+-----------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wstring-conversion<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`implicit conversion turns string literal into bool:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wstring-plus-char<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`adding` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to a string pointer does not append to the string`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wstring-plus-int<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`adding` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to a string does not append to the string`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wstrlcpy-strlcat-size<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`size argument in` |nbsp| :placeholder:`A` |nbsp| :diagtext:`call appears to be size of the source; expected the size of the destination`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wstrncat-size<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`the value of the size argument in 'strncat' is too large, might lead to a buffer overflow`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`size argument in 'strncat' call appears to be size of the source`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`the value of the size argument to 'strncat' is wrong`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wsuper-class-method-mismatch<br>
+-----------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`method parameter type` |nbsp| :diagtext:`does not match super class method parameter type`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wswitch<br>
+--------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`overflow converting case value to switch condition type (`:placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`:diagtext:`)`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+|<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+                                                                                                            ||<br>
+|                           |||:diagtext:`:enumeration value` |nbsp| :placeholder:`B` |nbsp| :diagtext:`not handled in switch`|                                                                                                            ||<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+                                                                                                            ||<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+|<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+                                                            ||<br>
+|                           |||:diagtext:`:enumeration values` |nbsp| :placeholder:`B` |nbsp| :diagtext:`and` |nbsp| :placeholder:`C` |nbsp| :diagtext:`not handled in switch`|                                                            ||<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+                                                            ||<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+|<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+                             ||<br>
+|                           |||:diagtext:`:enumeration values` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`, and` |nbsp| :placeholder:`D` |nbsp| :diagtext:`not handled in switch`|                             ||<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+                             ||<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+|<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+||<br>
+|                           |||:diagtext:`:`:placeholder:`<wbr>A` |nbsp| :diagtext:`enumeration values not handled in switch:` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`,` |nbsp| :placeholder:`D`:diagtext:`...<wbr>`|||<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+||<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+|<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`case value not in enumerated type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wswitch-bool<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`switch condition has boolean value`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wswitch-default<br>
+----------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wswitch-enum<br>
+-------------<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+|<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+                                                                                                            ||<br>
+|                           |||:diagtext:`:enumeration value` |nbsp| :placeholder:`B` |nbsp| :diagtext:`not explicitly handled in switch`|                                                                                                            ||<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+                                                                                                            ||<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+|<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+                                                            ||<br>
+|                           |||:diagtext:`:enumeration values` |nbsp| :placeholder:`B` |nbsp| :diagtext:`and` |nbsp| :placeholder:`C` |nbsp| :diagtext:`not explicitly handled in switch`|                                                            ||<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+                                                            ||<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+|<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+                             ||<br>
+|                           |||:diagtext:`:enumeration values` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`, and` |nbsp| :placeholder:`D` |nbsp| :diagtext:`not explicitly handled in switch`|                             ||<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+                             ||<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+|<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+||<br>
+|                           |||:diagtext:`:`:placeholder:`<wbr>A` |nbsp| :diagtext:`enumeration values not explicitly handled in switch:` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`,` |nbsp| :placeholder:`D`:diagtext:`...<wbr>`|||<br>
+|                           ||+---------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+||<br>
+|                           |+----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+|<br>
++---------------------------+<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wsync-fetch-and-nand-<wbr>semantics-changed<br>
+-----------------------------<wbr>----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`the semantics of this intrinsic changed with GCC version 4.4 - the newer semantics are provided here`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wsynth<br>
+-------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wtautological-compare<br>
+----------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wtautological-constant-out-<wbr>of-range-compare`_, `-Wtautological-pointer-<wbr>compare`_, `-Wtautological-overlap-<wbr>compare`_, `-Wtautological-undefined-<wbr>compare`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>---------------------------+--<wbr>------------------------------<wbr>------------------+-----------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| |+-------------------------+|:<wbr>diagtext:`comparison always evaluates to` |nbsp| |+----------------------+|<br>
+|                           ||:diagtext:`self-`        ||                                                  ||:diagtext:`false`     ||<br>
+|                           |+-------------------------+|                                                  |+----------------------+|<br>
+|                           ||:diagtext:`array` |nbsp| ||                                                  ||:diagtext:`true`      ||<br>
+|                           |+-------------------------+|                                                  |+----------------------+|<br>
+|                           |                           |                                                  ||:diagtext:`a constant`||<br>
+|                           |                           |                                                  |+----------------------+|<br>
++---------------------------+<wbr>---------------------------+--<wbr>------------------------------<wbr>------------------+-----------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+--<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`bitwise comparison always evaluates to` |nbsp| |+-----------------+|<br>
+|                                                                                     ||:diagtext:`false`||<br>
+|                                                                                     |+-----------------+|<br>
+|                                                                                     ||:diagtext:`true` ||<br>
+|                                                                                     |+-----------------+|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+--<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---+--------------------------<wbr>+-----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparison of unsigned`|+-------------------<wbr>-----+| |nbsp| :diagtext:`expression` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is always` |nbsp| :placeholder:`B`|<br>
+|                                                             ||                        ||                                                                                                           |<br>
+|                                                             |+------------------------+|                                                                                                           |<br>
+|                                                             || |nbsp| :diagtext:`enum`||                                                                                                           |<br>
+|                                                             |+------------------------+|                                                                                                           |<br>
++----------------------------<wbr>------------------------------<wbr>---+--------------------------<wbr>+-----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>-------------+----------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparison of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`unsigned`|+--------<wbr>----------------+| |nbsp| :diagtext:`expression is always` |nbsp| :placeholder:`B`|<br>
+|                                                                                                        ||                        ||                                                                |<br>
+|                                                                                                        |+------------------------+|                                                                |<br>
+|                                                                                                        || |nbsp| :diagtext:`enum`||                                                                |<br>
+|                                                                                                        |+------------------------+|                                                                |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>-------------+----------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
+<br>
+-Wtautological-constant-out-<wbr>of-range-compare<br>
+-----------------------------<wbr>---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--+---------------------------<wbr>---------------------+--------<wbr>------------------------+-----<wbr>------------------------------<wbr>-----------------------+------<wbr>------------------------------<wbr>-+-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparison of` |nbsp| |+----------------------------<wbr>------------------+| |nbsp| :diagtext:`with` |nbsp| |+----------------------------<wbr>----------------------------+| |nbsp| :diagtext:`is always` |nbsp| |+-----------------+|<br>
+|                                                            ||+---------------------------<wbr>-----------------+||                                ||+---------------------------<wbr>---------------------------+||                                     ||:diagtext:`false`||<br>
+|                                                            |||:diagtext:`constant` |nbsp| :placeholder:`A`|||                                |||:diagtext:`expression of type` |nbsp| :placeholder:`C`|||                                     |+-----------------+|<br>
+|                                                            ||+---------------------------<wbr>-----------------+||                                ||+---------------------------<wbr>---------------------------+||                                     ||:diagtext:`true` ||<br>
+|                                                            |+----------------------------<wbr>------------------+|                                |+----------------------------<wbr>----------------------------+|                                     |+-----------------+|<br>
+|                                                            ||:diagtext:`true`                              ||                                ||:diagtext:`boolean expression`                          ||                                     |                   |<br>
+|                                                            |+----------------------------<wbr>------------------+|                                |+----------------------------<wbr>----------------------------+|                                     |                   |<br>
+|                                                            ||:diagtext:`false`                             ||                                |                                                          |                                     |                   |<br>
+|                                                            |+----------------------------<wbr>------------------+|                                |                                                          |                                     |                   |<br>
++----------------------------<wbr>------------------------------<wbr>--+---------------------------<wbr>---------------------+--------<wbr>------------------------+-----<wbr>------------------------------<wbr>-----------------------+------<wbr>------------------------------<wbr>-+-------------------+<br>
+<br>
+<br>
+-Wtautological-overlap-<wbr>compare<br>
+-----------------------------<wbr>-<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`overlapping comparisons always evaluate to` |nbsp| |+-----------------+|<br>
+|                                                                                         ||:diagtext:`false`||<br>
+|                                                                                         |+-----------------+|<br>
+|                                                                                         ||:diagtext:`true` ||<br>
+|                                                                                         |+-----------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+-------------------+<br>
+<br>
+<br>
+-Wtautological-pointer-<wbr>compare<br>
+-----------------------------<wbr>-<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>--------+---------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>---+--------------------------<wbr>--------------+---------------<wbr>----+-------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparison of nonnull` |nbsp| |+-------------------------+| |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`'` |nbsp| |+-----------------------+|:<wbr>diagtext:`equal to a null pointer is '`|+-----------------+|:<wbr>diagtext:`' on first encounter`|<br>
+|                                                                    ||:diagtext:`function call`||                                                          ||:diagtext:`not` |nbsp| ||                                        ||:diagtext:`true` ||                                |<br>
+|                                                                    |+-------------------------+|                                                          |+-----------------------+|                                        |+-----------------+|                                |<br>
+|                                                                    ||:diagtext:`parameter`    ||                                                          ||                       ||                                        ||:diagtext:`false`||                                |<br>
+|                                                                    |+-------------------------+|                                                          |+-----------------------+|                                        |+-----------------+|                                |<br>
++----------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>--------+---------------------<wbr>------------------------------<wbr>-------+----------------------<wbr>---+--------------------------<wbr>--------------+---------------<wbr>----+-------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--+------------------------+--<wbr>------------------------------<wbr>--------------------------+---<wbr>----------------------+-------<wbr>------------------------------<wbr>----------------+-------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`comparison of` |nbsp| |+----------------------+| |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`'` |nbsp| |+-----------------------+|:<wbr>diagtext:`equal to a null pointer is always` |nbsp| |+-----------------+|<br>
+|                                                            ||:diagtext:`address of`||                                                          ||:diagtext:`not` |nbsp| ||                                                     ||:diagtext:`true` ||<br>
+|                                                            |+----------------------+|                                                          |+-----------------------+|                                                     |+-----------------+|<br>
+|                                                            ||:diagtext:`function`  ||                                                          ||                       ||                                                     ||:diagtext:`false`||<br>
+|                                                            |+----------------------+|                                                          |+-----------------------+|                                                     |+-----------------+|<br>
+|                                                            ||:diagtext:`array`     ||                                                          |                         |                                                     |                   |<br>
+|                                                            |+----------------------+|                                                          |                         |                                                     |                   |<br>
++----------------------------<wbr>------------------------------<wbr>--+------------------------+--<wbr>------------------------------<wbr>--------------------------+---<wbr>----------------------+-------<wbr>------------------------------<wbr>----------------+-------------<wbr>------+<br>
+<br>
+<br>
+-Wtautological-undefined-<wbr>compare<br>
+-----------------------------<wbr>---<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+--<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`reference cannot be bound to dereferenced null pointer in well-defined C++ code; comparison may be assumed to always evaluate to` |nbsp| |+-----------------+|<br>
+|                                                                                                                                                                               ||:diagtext:`true` ||<br>
+|                                                                                                                                                                               |+-----------------+|<br>
+|                                                                                                                                                                               ||:diagtext:`false`||<br>
+|                                                                                                                                                                               |+-----------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+--<wbr>-----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'this' pointer cannot be null in well-defined C++ code; comparison may be assumed to always evaluate to` |nbsp| |+-----------------+|<br>
+|                                                                                                                                                      ||:diagtext:`true` ||<br>
+|                                                                                                                                                      |+-----------------+|<br>
+|                                                                                                                                                      ||:diagtext:`false`||<br>
+|                                                                                                                                                      |+-----------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+-------------------+<br>
+<br>
+<br>
+-Wtentative-definition-<wbr>incomplete-type<br>
+-----------------------------<wbr>---------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`tentative definition of variable with internal linkage has incomplete non-array type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
+<br>
+-Wthread-safety<br>
+---------------<br>
+Controls `-Wthread-safety-attributes`_, `-Wthread-safety-analysis`_, `-Wthread-safety-precise`_, `-Wthread-safety-reference`_.<br>
+<br>
+<br>
+-Wthread-safety-analysis<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' must be acquired before '`:placeholder:`C`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`Cycle in acquired\_before/after dependencies, starting with '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cannot resolve lock expression`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`acquiring` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' that is already held`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expecting` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' to be held at start of each loop`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expecting` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' to be held at the end of function`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`cannot call function '`:placeholder:`B`:diagtext:`' while` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`C`:<wbr>diagtext:`' is held`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`calling function '`:placeholder:`B`:diagtext:`' requires holding` |nbsp| :placeholder:`A` |nbsp| |+----------------------------<wbr>----------------------------+|<br>
+|                                                                                                                                       ||+---------------------------<wbr>---------------+            ||<br>
+|                                                                                                                                       |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`'`|            ||<br>
+|                                                                                                                                       ||+---------------------------<wbr>---------------+            ||<br>
+|                                                                                                                                       |+----------------------------<wbr>----------------------------+|<br>
+|                                                                                                                                       ||+---------------------------<wbr>---------------------------+||<br>
+|                                                                                                                                       |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`' exclusively`|||<br>
+|                                                                                                                                       ||+---------------------------<wbr>---------------------------+||<br>
+|                                                                                                                                       |+----------------------------<wbr>----------------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' is acquired exclusively and shared in the same scope`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' is not held on every path through here`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' is still held at the end of function`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`releasing` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' that was not held`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+-----------<wbr>------------+-----------------<wbr>---------------------------+--<wbr>---------------------+--------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`releasing` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' using` |nbsp| |+---------------------+| |nbsp| :diagtext:`access, expected` |nbsp| |+---------------------+| |nbsp| :diagtext:`access`|<br>
+|                                                                                                                                        ||:diagtext:`shared`   ||                                            ||:diagtext:`shared`   ||                          |<br>
+|                                                                                                                                        |+---------------------+|                                            |+---------------------+|                          |<br>
+|                                                                                                                                        ||:diagtext:`exclusive`||                                            ||:diagtext:`exclusive`||                          |<br>
+|                                                                                                                                        |+---------------------+|                                            |+---------------------+|                          |<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+-----------<wbr>------------+-----------------<wbr>---------------------------+--<wbr>---------------------+--------<wbr>------------------+<br>
+<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+----------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`the value pointed to by '`:placeholder:`A`:diagtext:`' requires holding` |nbsp| |+----------------------------<wbr>-----+|<br>
+|                           ||:diagtext:`reading`||                                                                                                   ||:diagtext:`any mutex`            ||<br>
+|                           |+-------------------+|                                                                                                   |+----------------------------<wbr>-----+|<br>
+|                           ||:diagtext:`writing`||                                                                                                   ||:diagtext:`any mutex exclusively`||<br>
+|                           |+-------------------+|                                                                                                   |+----------------------------<wbr>-----+|<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+----------------------------<wbr>-------+<br>
+<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`the value pointed to by '`:placeholder:`B`:diagtext:`' requires holding` |nbsp| :placeholder:`A` |nbsp| |+----------------------------<wbr>----------------------------+|<br>
+|                           ||:diagtext:`reading`||                                                                                                                           ||+---------------------------<wbr>---------------+            ||<br>
+|                           |+-------------------+|                                                                                                                           |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`'`|            ||<br>
+|                           ||:diagtext:`writing`||                                                                                                                           ||+---------------------------<wbr>---------------+            ||<br>
+|                           |+-------------------+|                                                                                                                           |+----------------------------<wbr>----------------------------+|<br>
+|                           |                     |                                                                                                                           ||+---------------------------<wbr>---------------------------+||<br>
+|                           |                     |                                                                                                                           |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`' exclusively`|||<br>
+|                           |                     |                                                                                                                           ||+---------------------------<wbr>---------------------------+||<br>
+|                           |                     |                                                                                                                           |+----------------------------<wbr>----------------------------+|<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`variable '`:placeholder:`A`:diagtext:`' requires holding` |nbsp| |+----------------------------<wbr>-----+|<br>
+|                           ||:diagtext:`reading`||                                                                                    ||:diagtext:`any mutex`            ||<br>
+|                           |+-------------------+|                                                                                    |+----------------------------<wbr>-----+|<br>
+|                           ||:diagtext:`writing`||                                                                                    ||:diagtext:`any mutex exclusively`||<br>
+|                           |+-------------------+|                                                                                    |+----------------------------<wbr>-----+|<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>----------------------+<br>
+<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`variable '`:placeholder:`B`:diagtext:`' requires holding` |nbsp| :placeholder:`A` |nbsp| |+----------------------------<wbr>----------------------------+|<br>
+|                           ||:diagtext:`reading`||                                                                                                            ||+---------------------------<wbr>---------------+            ||<br>
+|                           |+-------------------+|                                                                                                            |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`'`|            ||<br>
+|                           ||:diagtext:`writing`||                                                                                                            ||+---------------------------<wbr>---------------+            ||<br>
+|                           |+-------------------+|                                                                                                            |+----------------------------<wbr>----------------------------+|<br>
+|                           |                     |                                                                                                            ||+---------------------------<wbr>---------------------------+||<br>
+|                           |                     |                                                                                                            |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`' exclusively`|||<br>
+|                           |                     |                                                                                                            ||+---------------------------<wbr>---------------------------+||<br>
+|                           |                     |                                                                                                            |+----------------------------<wbr>----------------------------+|<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wthread-safety-attributes<br>
+--------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`invalid capability name '`:placeholder:`A`:diagtext:`'<wbr>; capability name must be 'mutex' or 'role'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute requires arguments whose type is annotated with 'capability' attribute; type here is` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute can only be applied in a context annotated with 'capability("mutex")' attribute`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`only applies to pointer types; type here is` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ignoring` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute because its argument is invalid`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wthread-safety-beta<br>
+--------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`Thread safety beta warning.`|<br>
++----------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wthread-safety-negative<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`acquiring` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:<wbr>diagtext:`' requires negative capability '`:placeholder:`C`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wthread-safety-precise<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`calling function '`:placeholder:`B`:diagtext:`' requires holding` |nbsp| :placeholder:`A` |nbsp| |+----------------------------<wbr>----------------------------+|<br>
+|                                                                                                                                       ||+---------------------------<wbr>---------------+            ||<br>
+|                                                                                                                                       |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`'`|            ||<br>
+|                                                                                                                                       ||+---------------------------<wbr>---------------+            ||<br>
+|                                                                                                                                       |+----------------------------<wbr>----------------------------+|<br>
+|                                                                                                                                       ||+---------------------------<wbr>---------------------------+||<br>
+|                                                                                                                                       |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`' exclusively`|||<br>
+|                                                                                                                                       ||+---------------------------<wbr>---------------------------+||<br>
+|                                                                                                                                       |+----------------------------<wbr>----------------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`the value pointed to by '`:placeholder:`B`:diagtext:`' requires holding` |nbsp| :placeholder:`A` |nbsp| |+----------------------------<wbr>----------------------------+|<br>
+|                           ||:diagtext:`reading`||                                                                                                                           ||+---------------------------<wbr>---------------+            ||<br>
+|                           |+-------------------+|                                                                                                                           |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`'`|            ||<br>
+|                           ||:diagtext:`writing`||                                                                                                                           ||+---------------------------<wbr>---------------+            ||<br>
+|                           |+-------------------+|                                                                                                                           |+----------------------------<wbr>----------------------------+|<br>
+|                           |                     |                                                                                                                           ||+---------------------------<wbr>---------------------------+||<br>
+|                           |                     |                                                                                                                           |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`' exclusively`|||<br>
+|                           |                     |                                                                                                                           ||+---------------------------<wbr>---------------------------+||<br>
+|                           |                     |                                                                                                                           |+----------------------------<wbr>----------------------------+|<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+----<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`variable '`:placeholder:`B`:diagtext:`' requires holding` |nbsp| :placeholder:`A` |nbsp| |+----------------------------<wbr>----------------------------+|<br>
+|                           ||:diagtext:`reading`||                                                                                                            ||+---------------------------<wbr>---------------+            ||<br>
+|                           |+-------------------+|                                                                                                            |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`'`|            ||<br>
+|                           ||:diagtext:`writing`||                                                                                                            ||+---------------------------<wbr>---------------+            ||<br>
+|                           |+-------------------+|                                                                                                            |+----------------------------<wbr>----------------------------+|<br>
+|                           |                     |                                                                                                            ||+---------------------------<wbr>---------------------------+||<br>
+|                           |                     |                                                                                                            |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`' exclusively`|||<br>
+|                           |                     |                                                                                                            ||+---------------------------<wbr>---------------------------+||<br>
+|                           |                     |                                                                                                            |+----------------------------<wbr>----------------------------+|<br>
++---------------------------+<wbr>---------------------+--------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+-------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wthread-safety-reference<br>
+-------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+-----------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`passing variable '`:placeholder:`B`:diagtext:`' by reference requires holding` |nbsp| :placeholder:`A` |nbsp| |+----------------------------<wbr>----------------------------+|<br>
+|                                                                                                                                                    ||+---------------------------<wbr>---------------+            ||<br>
+|                                                                                                                                                    |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`'`|            ||<br>
+|                                                                                                                                                    ||+---------------------------<wbr>---------------+            ||<br>
+|                                                                                                                                                    |+----------------------------<wbr>----------------------------+|<br>
+|                                                                                                                                                    ||+---------------------------<wbr>---------------------------+||<br>
+|                                                                                                                                                    |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`' exclusively`|||<br>
+|                                                                                                                                                    ||+---------------------------<wbr>---------------------------+||<br>
+|                                                                                                                                                    |+----------------------------<wbr>----------------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+-----------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`passing the value that '`:placeholder:`B`:diagtext:`' points to by reference requires holding` |nbsp| :placeholder:`A` |nbsp| |+----------------------------<wbr>----------------------------+|<br>
+|                                                                                                                                                                    ||+---------------------------<wbr>---------------+            ||<br>
+|                                                                                                                                                                    |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`'`|            ||<br>
+|                                                                                                                                                                    ||+---------------------------<wbr>---------------+            ||<br>
+|                                                                                                                                                                    |+----------------------------<wbr>----------------------------+|<br>
+|                                                                                                                                                                    ||+---------------------------<wbr>---------------------------+||<br>
+|                                                                                                                                                                    |||:diagtext:`'`:placeholder:`<wbr>C`:diagtext:`' exclusively`|||<br>
+|                                                                                                                                                                    ||+---------------------------<wbr>---------------------------+||<br>
+|                                                                                                                                                                    |+----------------------------<wbr>----------------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wthread-safety-verbose<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`Thread safety verbose warning.`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wtrigraphs<br>
+-----------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`trigraph converted to '`:placeholder:`A`:diagtext:`' character`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`trigraph ends block comment`|<br>
++----------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
++----------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`trigraph ignored`|<br>
++----------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ignored trigraph would end block comment`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wtype-limits<br>
+-------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wtype-safety<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`specified` |nbsp| :placeholder:`A` |nbsp| :diagtext:`type tag requires a null pointer`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+----------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`argument type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`doesn't match specified` |nbsp| :placeholder:`B` |nbsp| :diagtext:`type tag` |nbsp| |+----------------------------<wbr>-----------------------+|<br>
+|                                                                                                                                                                                   ||+---------------------------<wbr>----------------------+||<br>
+|                                                                                                                                                                                   |||:diagtext:`that requires` |nbsp| :placeholder:`D`|||<br>
+|                                                                                                                                                                                   ||+---------------------------<wbr>----------------------+||<br>
+|                                                                                                                                                                                   |+----------------------------<wbr>-----------------------+|<br>
+|                                                                                                                                                                                   ||                                                   ||<br>
+|                                                                                                                                                                                   |+----------------------------<wbr>-----------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+----------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`this type tag was not designed to be used with this function`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wtypedef-redefinition<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redefinition of typedef` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a C11 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wtypename-missing<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`missing 'typename' prior to dependent type name '`:placeholder:`A`:<wbr>placeholder:`B`:diagtext:`'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------+<br>
+<br>
+<br>
+-Wunavailable-declarations<br>
+--------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may be unavailable because the receiver type is unknown`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wundeclared-selector<br>
+---------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`undeclared selector` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`undeclared selector` |nbsp| :placeholder:`A`:diagtext:`; did you mean` |nbsp| :placeholder:`B`:diagtext:`?`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wundef<br>
+-------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not defined, evaluates to 0`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wundefined-bool-conversion<br>
+---------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wundefined-func-template<br>
+-------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`instantiation of function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`required here, but no definition is available`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wundefined-inline<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`inline function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not defined`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wundefined-internal<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`has internal linkage but is not defined`|<br>
+|                           ||:diagtext:`function`||                                                                                   |<br>
+|                           |+--------------------+|                                                                                   |<br>
+|                           ||:diagtext:`variable`||                                                                                   |<br>
+|                           |+--------------------+|                                                                                   |<br>
++---------------------------+<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wundefined-reinterpret-cast<br>
+----------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`dereference of type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`that was reinterpret\_cast from type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`reinterpret\_cast from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has undefined behavior`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wundefined-var-template<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`instantiation of variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`required here, but no definition is available`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wunevaluated-expression<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wpotentially-evaluated-<wbr>expression`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expression with side effects has no effect in an unevaluated context`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wunguarded-availability<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is only available conditionally`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may be partial because the receiver type is unknown`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is partial:` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is only available on` |nbsp| :placeholder:`B` |nbsp| :placeholder:`C` |nbsp| :diagtext:`or newer`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wunicode<br>
+---------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incomplete universal character name; treating as '\\' followed by identifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`\\`:placeholder:`A` |nbsp| :diagtext:`used with no following hex digits; treating as '\\' followed by identifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`universal character name refers to a surrogate character`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`universal character names are only valid in C99 or C++; treating as '\\' followed by identifier`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`universal character names are only valid in C99 or C++`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wunicode-whitespace<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`treating Unicode character as whitespace`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wuninitialized<br>
+---------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wsometimes-uninitialized`_, `-Wstatic-self-init`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`base class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is uninitialized when used here to access` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is uninitialized when used here`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`reference` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not yet bound to a value when used here`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`block pointer variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is uninitialized when captured by block`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is uninitialized when used within its own initialization`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`reference` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not yet bound to a value when used within its own initialization`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+---------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is uninitialized when` |nbsp| |+----------------------------<wbr>-+|<br>
+|                                                                                                                        ||:diagtext:`used here`        ||<br>
+|                                                                                                                        |+----------------------------<wbr>-+|<br>
+|                                                                                                                        ||:diagtext:`captured by block`||<br>
+|                                                                                                                        |+----------------------------<wbr>-+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--+---------------------------<wbr>----+<br>
+<br>
+<br>
+-Wunknown-argument<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown argument ignored in clang-cl: '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wunknown-attributes<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wunknown-escape-sequence<br>
+-------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown escape sequence '\\`:placeholder:`A`:diagtext:<wbr>`'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wunknown-pragmas<br>
+-----------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected 'ON' or 'OFF' or 'DEFAULT' in pragma`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expected end of directive in pragma`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown pragma in STDC namespace`|<br>
++----------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pragma diagnostic pop could not pop, no matching push`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pragma diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pragma diagnostic expected option name (e.g. "-Wundef")`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unexpected token in pragma diagnostic`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown warning group '`:placeholder:`A`:diagtext:`'<wbr>, ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown pragma ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pragma include\_alias expected '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pragma include\_alias expected include filename`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`angle-bracketed include <`:placeholder:`A`:diagtext:`> cannot be aliased to double-quoted include "`:placeholder:`B`:diagtext:`"<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`double-quoted include "`:placeholder:`A`:diagtext:`" cannot be aliased to angle-bracketed include <`:placeholder:`B`:diagtext:`><wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#pragma warning expected '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#pragma warning expected a warning number`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#pragma warning(push, level) requires a level between 0 and 4`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`#pragma warning expected 'push', 'pop', 'default', 'disable', 'error', 'once', 'suppress', 1, 2, 3, or 4`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`pragma STDC FENV\_ACCESS ON is not supported, ignoring pragma`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wunknown-sanitizers<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown sanitizer '`:placeholder:`A`:diagtext:`' ignored`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wunknown-warning-option<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>--------------------------+---<wbr>------------------+-----------<wbr>------------------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown` |nbsp| |+-------------------+| |nbsp| :diagtext:`option '`:placeholder:`B`:diagtext:`'<wbr>`|+---------------------------<wbr>------------------------------<wbr>---+|<br>
+|                                                      ||:diagtext:`warning`||                                                         ||                                                            ||<br>
+|                                                      |+-------------------+|                                                         |+----------------------------<wbr>------------------------------<wbr>--+|<br>
+|                                                      ||:diagtext:`remark` ||                                                         ||+---------------------------<wbr>------------------------------<wbr>-+||<br>
+|                                                      |+-------------------+|                                                         |||:diagtext:`; did you mean '`:placeholder:`D`:diagtext:`'<wbr>?`|||<br>
+|                                                      |                     |                                                         ||+---------------------------<wbr>------------------------------<wbr>-+||<br>
+|                                                      |                     |                                                         |+----------------------------<wbr>------------------------------<wbr>--+|<br>
++----------------------------<wbr>--------------------------+---<wbr>------------------+-----------<wbr>------------------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unknown` |nbsp| :placeholder:`A` |nbsp| :diagtext:`warning specifier: '`:placeholder:`B`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wunnamed-type-template-args<br>
+----------------------------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Also controls `-Wc++98-compat-unnamed-type-<wbr>template-args`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`template argument uses unnamed type`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
+<br>
+-Wunneeded-internal-<wbr>declaration<br>
+-----------------------------<wbr>--<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`is not needed and will not be emitted`|<br>
+|                           ||:diagtext:`function`||                                                                                 |<br>
+|                           |+--------------------+|                                                                                 |<br>
+|                           ||:diagtext:`variable`||                                                                                 |<br>
+|                           |+--------------------+|                                                                                 |<br>
++---------------------------+<wbr>----------------------+-------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'static' function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared in header file should be declared 'static inline'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wunneeded-member-function<br>
+--------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`member function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not needed and will not be emitted`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wunreachable-code<br>
+------------------<br>
+Also controls `-Wunreachable-code-loop-<wbr>increment`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`code will never be executed`|<br>
++----------------------------<wbr>------------------------------<wbr>--------+<br>
+<br>
+<br>
+-Wunreachable-code-aggressive<br>
+-----------------------------<br>
+Controls `-Wunreachable-code`_, `-Wunreachable-code-break`_, `-Wunreachable-code-return`_.<br>
+<br>
+<br>
+-Wunreachable-code-break<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'break' will never be executed`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------+<br>
+<br>
+<br>
+-Wunreachable-code-loop-<wbr>increment<br>
+-----------------------------<wbr>----<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`loop will run at most once (loop increment never executed)`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wunreachable-code-return<br>
+-------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`'return' will never be executed`|<br>
++----------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
+<br>
+-Wunsequenced<br>
+-------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`multiple unsequenced modifications to` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unsequenced modification and access to` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wunsupported-cb<br>
+----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mcompact-branches=' option because the '`:placeholder:`A`:diagtext:`' architecture does not support it`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----+<br>
+<br>
+<br>
+-Wunsupported-dll-base-class-<wbr>template<br>
+-----------------------------<wbr>--------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`propagating dll attribute to` |nbsp| |+----------------------------<wbr>------+| |nbsp| :diagtext:`base class template without dll attribute is not supported`|<br>
+|                                                                           ||:diagtext:`already instantiated`  ||                                                                              |<br>
+|                                                                           |+----------------------------<wbr>------+|                                                                              |<br>
+|                                                                           ||:diagtext:`explicitly specialized`||                                                                              |<br>
+|                                                                           |+----------------------------<wbr>------+|                                                                              |<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+------------<wbr>------------------------+-----<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
+<br>
+-Wunsupported-friend<br>
+--------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`dependent nested name specifier '`:placeholder:`A`:diagtext:`' for friend template declaration is not supported; ignoring this friend declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`dependent nested name specifier '`:placeholder:`A`:diagtext:`' for friend class declaration is not supported; turning off access control for` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
+<br>
+-Wunsupported-nan<br>
+-----------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mnan=2008' option because the '`:placeholder:`A`:diagtext:`' architecture does not support it`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mnan=legacy' option because the '`:placeholder:`A`:diagtext:`' architecture does not support it`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wunsupported-visibility<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`target does not support 'protected' visibility; using 'default'`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wunused<br>
+--------<br>
+Some of the diagnostics controlled by this flag are enabled by default.<br>
+<br>
+Controls `-Wunused-argument`_, `-Wunused-function`_, `-Wunused-label`_, `-Wunused-private-field`_, `-Wunused-local-typedef`_, `-Wunused-value`_, `-Wunused-variable`_, `-Wunused-property-ivar`_.<br>
+<br>
+<br>
+-Wunused-argument<br>
+-----------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wunused-command-line-<wbr>argument<br>
+-----------------------------<wbr>-<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`joined argument expects additional value: '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A`:diagtext:`: '`:placeholder:`B`:diagtext:`' input unused`|+---------------------<wbr>------------------------------<wbr>-----------------+|<br>
+|                                                                                                    ||+---------------------------<wbr>------------------------------<wbr>---------+||<br>
+|                                                                                                    ||| |nbsp| :diagtext:`when '`:placeholder:`D`:diagtext:`' is present`|||<br>
+|                                                                                                    ||+---------------------------<wbr>------------------------------<wbr>---------+||<br>
+|                                                                                                    |+----------------------------<wbr>------------------------------<wbr>----------+|<br>
+|                                                                                                    ||                                                                    ||<br>
+|                                                                                                    |+----------------------------<wbr>------------------------------<wbr>----------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------+-----------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A`:diagtext:`: '`:placeholder:`B`:diagtext:`' input unused in cpp mode`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A`:diagtext:`: previously preprocessed input`|+----------------------<wbr>------------------------------<wbr>-----------------------+|<br>
+|                                                                                      ||+---------------------------<wbr>------------------------------<wbr>----------------+||<br>
+|                                                                                      ||| |nbsp| :diagtext:`unused when '`:placeholder:`C`:diagtext:`' is present`|||<br>
+|                                                                                      ||+---------------------------<wbr>------------------------------<wbr>----------------+||<br>
+|                                                                                      |+----------------------------<wbr>------------------------------<wbr>-----------------+|<br>
+|                                                                                      ||                                                                           ||<br>
+|                                                                                      |+----------------------------<wbr>------------------------------<wbr>-----------------+|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------------+-<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`argument unused during compilation: '`:placeholder:`A`:diagtext:`'<wbr>`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wunused-comparison<br>
+-------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++---------------------------+<wbr>------------------------------<wbr>-----------+------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| |+----------------------------<wbr>-----------+| |nbsp| :diagtext:`comparison result unused`|<br>
+|                           ||+----------------+----------<wbr>----------+||                                            |<br>
+|                           |||+--------------+|:diagtext:<wbr>`equality`|||                                            |<br>
+|                           ||||              ||                    |||                                            |<br>
+|                           |||+--------------+|                    |||                                            |<br>
+|                           ||||:diagtext:`in`||                    |||                                            |<br>
+|                           |||+--------------+|                    |||                                            |<br>
+|                           ||+----------------+----------<wbr>----------+||                                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                            |<br>
+|                           ||:diagtext:`relational`                 ||                                            |<br>
+|                           |+----------------------------<wbr>-----------+|                                            |<br>
++---------------------------+<wbr>------------------------------<wbr>-----------+------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wunused-const-variable<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unused variable` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wunused-exception-parameter<br>
+----------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unused exception parameter` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-+<br>
+<br>
+<br>
+-Wunused-function<br>
+-----------------<br>
+Also controls `-Wunneeded-internal-<wbr>declaration`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unused function` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wunused-getter-return-value<br>
+----------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`property access result unused - getters should not be used for side effects`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------------------+<br>
+<br>
+<br>
+-Wunused-label<br>
+--------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unused label` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>-----------------+<br>
+<br>
+<br>
+-Wunused-local-typedef<br>
+----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>-------------------------+----<wbr>--------------------+---------<wbr>---------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unused` |nbsp| |+----------------------+| |nbsp| :placeholder:`B`|<br>
+|                                                     ||:diagtext:`typedef`   ||                        |<br>
+|                                                     |+----------------------+|                        |<br>
+|                                                     ||:diagtext:`type alias`||                        |<br>
+|                                                     |+----------------------+|                        |<br>
++----------------------------<wbr>-------------------------+----<wbr>--------------------+---------<wbr>---------------+<br>
+<br>
+<br>
+-Wunused-local-typedefs<br>
+-----------------------<br>
+Synonym for `-Wunused-local-typedef`_.<br>
+<br>
+<br>
+-Wunused-macros<br>
+---------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`macro is not used`|<br>
++----------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wunused-member-function<br>
+------------------------<br>
+Also controls `-Wunneeded-member-function`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unused member function` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------------+<br>
+<br>
+<br>
+-Wunused-parameter<br>
+------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unused parameter` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wunused-private-field<br>
+----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`private field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not used`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wunused-property-ivar<br>
+----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ivar` |nbsp| :placeholder:`A` |nbsp| :diagtext:`which backs the property is not referenced in this property's accessor`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wunused-result<br>
+---------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ignoring return value of function declared with` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wunused-value<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wunused-comparison`_, `-Wunused-result`_, `-Wunevaluated-expression`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ignoring return value of function declared with` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`container access result unused - container access should not be used for side effects`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expression result unused`|<br>
++----------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expression result unused; should this cast be to 'void'?`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wunused-variable<br>
+-----------------<br>
+Also controls `-Wunused-const-variable`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`unused variable` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------------+<br>
+<br>
+<br>
+-Wunused-volatile-lvalue<br>
+------------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`expression result unused; assign into a variable to force a volatile load`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wused-but-marked-unused<br>
+------------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`was marked unused but was used`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----+<br>
+<br>
+<br>
+-Wuser-defined-literals<br>
+-----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>---------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`user-defined literal suffixes not starting with '\_' are reserved`|+-------------------<wbr>------------------------------<wbr>-+|<br>
+|                                                                                                        ||:diagtext:`; no literal will invoke this operator`||<br>
+|                                                                                                        |+----------------------------<wbr>----------------------+|<br>
+|                                                                                                        ||                                                  ||<br>
+|                                                                                                        |+----------------------------<wbr>----------------------+|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+-------------<wbr>------------------------------<wbr>---------+<br>
+<br>
+<br>
+-Wvarargs<br>
+---------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`second argument to 'va\_start' is not the last named parameter`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`second argument to 'va\_arg' is of promotable type` |nbsp| :placeholder:`A`:diagtext:`; this va\_arg has undefined behavior because arguments will be promoted to` |nbsp| :placeholder:`B`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------+<br>
+<br>
++----------------------------<wbr>--------------------------+---<wbr>------------------------------<wbr>------------------------------<wbr>--+---------------------------<wbr>------------------------------<wbr>+<br>
+|:warning:`warning:` |nbsp| :diagtext:`passing` |nbsp| |+----------------------------<wbr>------------------------------<wbr>-----+| |nbsp| :diagtext:`to 'va\_start' has undefined behavior`|<br>
+|                                                      ||:diagtext:`an object that undergoes default argument promotion`||                                                         |<br>
+|                                                      |+----------------------------<wbr>------------------------------<wbr>-----+|                                                         |<br>
+|                                                      ||:diagtext:`an object of reference type`                        ||                                                         |<br>
+|                                                      |+----------------------------<wbr>------------------------------<wbr>-----+|                                                         |<br>
+|                                                      ||:diagtext:`a parameter declared with the 'register' keyword`   ||                                                         |<br>
+|                                                      |+----------------------------<wbr>------------------------------<wbr>-----+|                                                         |<br>
++----------------------------<wbr>--------------------------+---<wbr>------------------------------<wbr>------------------------------<wbr>--+---------------------------<wbr>------------------------------<wbr>+<br>
+<br>
+<br>
+-Wvariadic-macros<br>
+-----------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`named variadic macros are a GNU extension`|<br>
++----------------------------<wbr>------------------------------<wbr>----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variadic macros are a C99 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wvector-conversion<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------+---------------<wbr>------------------------------<wbr>-------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`incompatible vector types` |nbsp| |+----------------------------<wbr>------------------------------<wbr>----+|<br>
+|                                                                        ||:diagtext:`assigning to different types`                      ||<br>
+|                                                                        |+----------------------------<wbr>------------------------------<wbr>----+|<br>
+|                                                                        ||:diagtext:`passing to parameter of different type`            ||<br>
+|                                                                        |+----------------------------<wbr>------------------------------<wbr>----+|<br>
+|                                                                        ||:diagtext:`returning from function with different return type`||<br>
+|                                                                        |+----------------------------<wbr>------------------------------<wbr>----+|<br>
+|                                                                        ||:diagtext:`converting between types`                          ||<br>
+|                                                                        |+----------------------------<wbr>------------------------------<wbr>----+|<br>
+|                                                                        ||:diagtext:`initializing with expression of different type`    ||<br>
+|                                                                        |+----------------------------<wbr>------------------------------<wbr>----+|<br>
+|                                                                        ||:diagtext:`sending to parameter of different type`            ||<br>
+|                                                                        |+----------------------------<wbr>------------------------------<wbr>----+|<br>
+|                                                                        ||:diagtext:`casting between types`                             ||<br>
+|                                                                        |+----------------------------<wbr>------------------------------<wbr>----+|<br>
++----------------------------<wbr>------------------------------<wbr>--------------+---------------<wbr>------------------------------<wbr>-------------------+<br>
+<br>
+<br>
+-Wvector-conversions<br>
+--------------------<br>
+Synonym for `-Wvector-conversion`_.<br>
+<br>
+<br>
+-Wvexing-parse<br>
+--------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`empty parentheses interpreted as a function declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`parentheses were disambiguated as a function declaration`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wvisibility<br>
+------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`declaration of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will not be visible outside of this function`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------------+<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`redefinition of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will not be visible outside of this function`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------+<br>
+<br>
+<br>
+-Wvla<br>
+-----<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>-------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable length array used`|<br>
++----------------------------<wbr>------------------------------<wbr>-------+<br>
+<br>
+<br>
+-Wvla-extension<br>
+---------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`variable length arrays are a C99 feature`|<br>
++----------------------------<wbr>------------------------------<wbr>---------------------+<br>
+<br>
+<br>
+-Wvoid-ptr-dereference<br>
+----------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C++ does not allow indirection on operand of type` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------------------+<br>
+<br>
+<br>
+-Wvolatile-register-var<br>
+-----------------------<br>
+This diagnostic flag exists for GCC compatibility, and has no effect in Clang.<br>
+<br>
+-Wweak-template-vtables<br>
+-----------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`explicit template instantiation` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will emit a vtable in every translation unit`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------+<br>
+<br>
+<br>
+-Wweak-vtables<br>
+--------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
+-Wwritable-strings<br>
+------------------<br>
+This diagnostic is enabled by default.<br>
+<br>
+Also controls `-Wdeprecated-writable-<wbr>strings`_.<br>
+<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+|:warning:`warning:` |nbsp| :diagtext:`ISO C++11 does not allow conversion from string literal to` |nbsp| :placeholder:`A`|<br>
++----------------------------<wbr>------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>---+<br>
+<br>
+<br>
+-Wwrite-strings<br>
+---------------<br>
+Synonym for `-Wwritable-strings`_.<br>
+<br>
+<br>
+-Wzero-length-array<br>
+-------------------<br>
+**Diagnostic text:**<br>
+<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+|:warning:`warning:` |nbsp| :diagtext:`zero size arrays are an extension`|<br>
++----------------------------<wbr>------------------------------<wbr>--------------+<br>
+<br>
+<br>
<br>
Modified: cfe/trunk/docs/UsersManual.rst<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UsersManual.rst?rev=281192&r1=281191&r2=281192&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/docs/<wbr>UsersManual.rst?rev=281192&r1=<wbr>281191&r2=281192&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/docs/UsersManual.rst (original)<br>
+++ cfe/trunk/docs/UsersManual.rst Mon Sep 12 00:58:29 2016<br>
@@ -107,6 +107,8 @@ Options to Control Error and Warning Mes<br>
 .. option:: -Wfoo<br>
<br>
   Enable warning "foo".<br>
+  See the :doc:`diagnostics reference <DiagnosticsReference>` for a complete<br>
+  list of the warning flags that can be specified in this way.<br>
<br>
 .. option:: -Wno-foo<br>
<br>
<br>
Modified: cfe/trunk/docs/index.rst<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/index.rst?rev=281192&r1=281191&r2=281192&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/docs/index.<wbr>rst?rev=281192&r1=281191&r2=<wbr>281192&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/docs/index.rst (original)<br>
+++ cfe/trunk/docs/index.rst Mon Sep 12 00:58:29 2016<br>
@@ -19,6 +19,7 @@ Using Clang as a Compiler<br>
    UsersManual<br>
    LanguageExtensions<br>
    AttributeReference<br>
+   DiagnosticsReference<br>
    CrossCompilation<br>
    ThreadSafetyAnalysis<br>
    AddressSanitizer<br>
<br>
Modified: cfe/trunk/include/clang/Basic/<wbr>Diagnostic.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Diagnostic.td?rev=281192&r1=281191&r2=281192&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/include/<wbr>clang/Basic/Diagnostic.td?rev=<wbr>281192&r1=281191&r2=281192&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/include/clang/Basic/<wbr>Diagnostic.td (original)<br>
+++ cfe/trunk/include/clang/Basic/<wbr>Diagnostic.td Mon Sep 12 00:58:29 2016<br>
@@ -48,10 +48,13 @@ class DiagGroup<string Name, list<DiagGr<br>
   string GroupName = Name;<br>
   list<DiagGroup> SubGroups = subgroups;<br>
   string CategoryName = "";<br>
+  code Documentation = [{}];<br>
 }<br>
 class InGroup<DiagGroup G> { DiagGroup Group = G; }<br>
 //class IsGroup<string Name> { DiagGroup Group = DiagGroup<Name>; }<br>
<br>
+// This defines documentation for diagnostic groups.<br>
+include "DiagnosticDocs.td"<br>
<br>
 // This defines all of the named diagnostic categories.<br>
 include "DiagnosticCategories.td"<br>
<br>
Added: cfe/trunk/include/clang/Basic/<wbr>DiagnosticDocs.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticDocs.td?rev=281192&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/include/<wbr>clang/Basic/DiagnosticDocs.td?<wbr>rev=281192&view=auto</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/include/clang/Basic/<wbr>DiagnosticDocs.td (added)<br>
+++ cfe/trunk/include/clang/Basic/<wbr>DiagnosticDocs.td Mon Sep 12 00:58:29 2016<br>
@@ -0,0 +1,82 @@<br>
+//==--- DiagnosticDocs.td - Diagnostic documentation ---------------------===//<br>
+//<br>
+//                     The LLVM Compiler Infrastructure<br>
+//<br>
+// This file is distributed under the University of Illinois Open Source<br>
+// License. See LICENSE.TXT for details.<br>
+//<br>
+//===------------------------<wbr>------------------------------<wbr>---------------===//<br>
+<br>
+def GlobalDocumentation {<br>
+  code Intro =[{..<br>
+  ------------------------------<wbr>------------------------------<wbr>-------<br>
+  NOTE: This file is automatically generated by running clang-tblgen<br>
+  -gen-diag-docs. Do not edit this file by hand!!<br>
+  ------------------------------<wbr>------------------------------<wbr>-------<br>
+<br>
+.. Add custom CSS to output. FIXME: This should be put into <head> rather<br>
+   than the start of <body>.<br>
+.. raw:: html<br>
+<br>
+    <style><br>
+    table.docutils {<br>
+      width: 1px;<br>
+    }<br>
+    table.docutils td {<br>
+      border: none;<br>
+      padding: 0;<br>
+      vertical-align: middle;<br>
+      white-space: nowrap;<br>
+      width: 1px;<br>
+    }<br>
+    table.docutils tr + tr {<br>
+      border-top: 0.2em solid #aaa;<br>
+    }<br>
+    .error {<br>
+      font-family: monospace;<br>
+      font-weight: bold;<br>
+      color: #c70;<br>
+    }<br>
+    .warning {<br>
+      font-family: monospace;<br>
+      font-weight: bold;<br>
+      color: #c70;<br>
+    }<br>
+    .remark {<br>
+      font-family: monospace;<br>
+      font-weight: bold;<br>
+      color: #00c;<br>
+    }<br>
+    .diagtext {<br>
+      font-family: monospace;<br>
+      font-weight: bold;<br>
+    }<br>
+    </style><br>
+<br>
+.. FIXME: Format this as .diagtext. rST appears to not support this. :(<br>
+.. |nbsp| unicode:: 0xA0<br>
+   :trim:<br>
+<br>
+.. Roles generated by clang-tblgen.<br>
+.. role:: error<br>
+.. role:: warning<br>
+.. role:: remark<br>
+.. role:: diagtext<br>
+.. role:: placeholder(emphasis)<br>
+<br>
+=========================<br>
+Diagnostic flags in Clang<br>
+=========================<br>
+.. contents::<br>
+   :local:<br>
+<br>
+Introduction<br>
+============<br>
+<br>
+This page lists the diagnostic flags currently supported by Clang.<br>
+<br>
+Diagnostic flags<br>
+================<br>
+}];<br>
+}<br>
+<br>
<br>
Modified: cfe/trunk/include/clang/Basic/<wbr>DiagnosticParseKinds.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=281192&r1=281191&r2=281192&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/include/<wbr>clang/Basic/<wbr>DiagnosticParseKinds.td?rev=<wbr>281192&r1=281191&r2=281192&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/include/clang/Basic/<wbr>DiagnosticParseKinds.td (original)<br>
+++ cfe/trunk/include/clang/Basic/<wbr>DiagnosticParseKinds.td Mon Sep 12 00:58:29 2016<br>
@@ -427,7 +427,7 @@ def err_synthesized_property_name : Erro<br>
   "expected a property name in @synthesize">;<br>
 def warn_semicolon_before_method_<wbr>body : Warning<<br>
   "semicolon before method body is ignored">,<br>
-  InGroup<DiagGroup<"semicolon-<wbr>before-method-body">>, DefaultIgnore;<br>
+  InGroup<SemiBeforeMethodBody>, DefaultIgnore;<br>
 def note_extra_comma_message_arg : Note<<br>
   "comma separating Objective-C messaging arguments">;<br>
<br>
<br>
Modified: cfe/trunk/include/clang/Basic/<wbr>DiagnosticSemaKinds.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=281192&r1=281191&r2=281192&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/include/<wbr>clang/Basic/<wbr>DiagnosticSemaKinds.td?rev=<wbr>281192&r1=281191&r2=281192&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/include/clang/Basic/<wbr>DiagnosticSemaKinds.td (original)<br>
+++ cfe/trunk/include/clang/Basic/<wbr>DiagnosticSemaKinds.td Mon Sep 12 00:58:29 2016<br>
@@ -5464,7 +5464,7 @@ def err_typecheck_invalid_lvalue_<wbr>addrof<br>
   "cannot take the address of an rvalue of type %0">;<br>
 def ext_typecheck_addrof_temporary : ExtWarn<<br>
   "taking the address of a temporary object of type %0">,<br>
-  InGroup<DiagGroup<"address-of-<wbr>temporary">>, DefaultError;<br>
+  InGroup<AddressOfTemporary>, DefaultError;<br>
 def err_typecheck_addrof_temporary : Error<<br>
   "taking the address of a temporary object of type %0">;<br>
 def err_typecheck_addrof_dtor : Error<<br>
@@ -6821,7 +6821,7 @@ def warn_side_effects_typeid : Warning<<br>
   "operand to 'typeid'">, InGroup<<wbr>PotentiallyEvaluatedExpression<wbr>>;<br>
 def warn_unused_result : Warning<<br>
   "ignoring return value of function declared with %0 attribute">,<br>
-  InGroup<DiagGroup<"unused-<wbr>result">>;<br>
+  InGroup<UnusedResult>;<br>
 def warn_unused_volatile : Warning<<br>
   "expression result unused; assign into a variable to force a volatile load">,<br>
   InGroup<DiagGroup<"unused-<wbr>volatile-lvalue">>;<br>
<br>
Modified: cfe/trunk/utils/TableGen/<wbr>ClangDiagnosticsEmitter.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/TableGen/ClangDiagnosticsEmitter.cpp?rev=281192&r1=281191&r2=281192&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/utils/<wbr>TableGen/<wbr>ClangDiagnosticsEmitter.cpp?<wbr>rev=281192&r1=281191&r2=<wbr>281192&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/utils/TableGen/<wbr>ClangDiagnosticsEmitter.cpp (original)<br>
+++ cfe/trunk/utils/TableGen/<wbr>ClangDiagnosticsEmitter.cpp Mon Sep 12 00:58:29 2016<br>
@@ -18,6 +18,7 @@<br>
 #include "llvm/ADT/SmallString.h"<br>
 #include "llvm/ADT/SmallVector.h"<br>
 #include "llvm/ADT/StringMap.h"<br>
+#include "llvm/ADT/STLExtras.h"<br>
 #include "llvm/ADT/Twine.h"<br>
 #include "llvm/TableGen/Error.h"<br>
 #include "llvm/TableGen/Record.h"<br>
@@ -27,6 +28,7 @@<br>
 #include <cctype><br>
 #include <functional><br>
 #include <map><br>
+#include <set><br>
 using namespace llvm;<br>
<br>
 //===-------------------------<wbr>------------------------------<wbr>---------------===//<br>
@@ -141,6 +143,11 @@ static bool beforeThanCompare(const Reco<br>
     LHS->getLoc().front().<wbr>getPointer() < RHS->getLoc().front().<wbr>getPointer();<br>
 }<br>
<br>
+static bool diagGroupBeforeByName(const Record *LHS, const Record *RHS) {<br>
+  return LHS->getValueAsString("<wbr>GroupName") <<br>
+         RHS->getValueAsString("<wbr>GroupName");<br>
+}<br>
+<br>
 static bool beforeThanCompareGroups(const GroupInfo *LHS, const GroupInfo *RHS){<br>
   assert(!LHS->DiagsInGroup.<wbr>empty() && !RHS->DiagsInGroup.empty());<br>
   return beforeThanCompare(LHS-><wbr>DiagsInGroup.front(),<br>
@@ -892,4 +899,421 @@ void EmitClangDiagsIndexName(<wbr>RecordKeepe<br>
     OS << "DIAG_NAME_INDEX(" << R.Name << ")\n";<br>
   }<br>
 }<br>
+<br>
+//===------------------------<wbr>------------------------------<wbr>----------------===//<br>
+// Diagnostic documentation generation<br>
+//===------------------------<wbr>------------------------------<wbr>----------------===//<br>
+<br>
+namespace docs {<br>
+namespace {<br>
+<br>
+/// Diagnostic text, parsed into pieces.<br>
+struct DiagText {<br>
+  struct Piece {<br>
+    virtual void print(std::vector<std::string> &RST) = 0;<br>
+  };<br>
+  struct TextPiece : Piece {<br>
+    StringRef Role;<br>
+    std::string Text;<br>
+    void print(std::vector<std::string> &RST) override;<br>
+  };<br>
+  struct PlaceholderPiece : Piece {<br>
+    int Index;<br>
+    void print(std::vector<std::string> &RST) override;<br>
+  };<br>
+  struct SelectPiece : Piece {<br>
+    std::vector<DiagText> Options;<br>
+    void print(std::vector<std::string> &RST) override;<br>
+  };<br>
+<br>
+  std::vector<std::unique_ptr<<wbr>Piece>> Pieces;<br>
+<br>
+  DiagText() {}<br>
+  DiagText(StringRef Text);<br>
+  DiagText(StringRef Kind, StringRef Text);<br>
+<br>
+  template<typename P> void add(P Piece) {<br>
+    Pieces.push_back(llvm::make_<wbr>unique<P>(std::move(Piece)));<br>
+  }<br>
+  void print(std::vector<std::string> &RST);<br>
+};<br>
+<br>
+DiagText parseDiagText(StringRef &Text, bool Nested = false) {<br>
+  DiagText Parsed;<br>
+<br>
+  while (!Text.empty()) {<br>
+    size_t End = (size_t)-2;<br>
+    do<br>
+      End = Nested ? Text.find_first_of("%|}", End + 2)<br>
+                   : Text.find_first_of('%', End + 2);<br>
+    while (End < Text.size() - 1 && Text[End] == '%' && Text[End + 1] == '%');<br>
+<br>
+    if (End) {<br>
+      DiagText::TextPiece Piece;<br>
+      Piece.Role = "diagtext";<br>
+      Piece.Text = Text.slice(0, End);<br>
+      Parsed.add(std::move(Piece));<br>
+      Text = Text.slice(End, StringRef::npos);<br>
+      if (Text.empty()) break;<br>
+    }<br>
+<br>
+    if (Text[0] == '|' || Text[0] == '}')<br>
+      break;<br>
+<br>
+    // Drop the '%'.<br>
+    Text = Text.drop_front();<br>
+<br>
+    // Extract the (optional) modifier.<br>
+    size_t ModLength = Text.find_first_of("<wbr>0123456789{");<br>
+    StringRef Modifier = Text.slice(0, ModLength);<br>
+    Text = Text.slice(ModLength, StringRef::npos);<br>
+<br>
+    // FIXME: Handle %ordinal here.<br>
+    if (Modifier == "select" || Modifier == "plural") {<br>
+      DiagText::SelectPiece Select;<br>
+      do {<br>
+        Text = Text.drop_front();<br>
+        if (Modifier == "plural")<br>
+          while (Text[0] != ':')<br>
+            Text = Text.drop_front();<br>
+        Select.Options.push_back(<wbr>parseDiagText(Text, true));<br>
+        assert(!Text.empty() && "malformed %select");<br>
+      } while (Text.front() == '|');<br>
+      Parsed.add(std::move(Select));<br>
+<br>
+      // Drop the trailing '}n'.<br>
+      Text = Text.drop_front(2);<br>
+      continue;<br>
+    }<br>
+<br>
+    // For %diff, just take the second alternative (tree diagnostic). It would<br>
+    // be preferable to take the first one, and replace the $ with the suitable<br>
+    // placeholders.<br>
+    if (Modifier == "diff") {<br>
+      Text = Text.drop_front(); // '{'<br>
+      parseDiagText(Text, true);<br>
+      Text = Text.drop_front(); // '|'<br>
+<br>
+      DiagText D = parseDiagText(Text, true);<br>
+      for (auto &P : D.Pieces)<br>
+        Parsed.Pieces.push_back(std::<wbr>move(P));<br>
+<br>
+      Text = Text.drop_front(4); // '}n,m'<br>
+      continue;<br>
+    }<br>
+<br>
+    if (Modifier == "s") {<br>
+      Text = Text.drop_front();<br>
+      DiagText::SelectPiece Select;<br>
+      Select.Options.push_back(<wbr>DiagText(""));<br>
+      Select.Options.push_back(<wbr>DiagText("s"));<br>
+      Parsed.add(std::move(Select));<br>
+      continue;<br>
+    }<br>
+<br>
+    assert(!Text.empty() && isdigit(Text[0]) && "malformed placeholder");<br>
+    DiagText::PlaceholderPiece Placeholder;<br>
+    Placeholder.Index = Text[0] - '0';<br>
+    Parsed.add(std::move(<wbr>Placeholder));<br>
+    Text = Text.drop_front();<br>
+    continue;<br>
+  }<br>
+  return Parsed;<br>
+}<br>
+<br>
+DiagText::DiagText(StringRef Text) : DiagText(parseDiagText(Text, false)) {}<br>
+<br>
+DiagText::DiagText(StringRef Kind, StringRef Text) : DiagText(parseDiagText(Text, false)) {<br>
+  TextPiece Prefix;<br>
+  Prefix.Role = Kind;<br>
+  Prefix.Text = Kind;<br>
+  Prefix.Text += ": ";<br>
+  Pieces.insert(Pieces.begin(), llvm::make_unique<TextPiece>(<wbr>std::move(Prefix)));<br>
+}<br>
+<br>
+void escapeRST(StringRef Str, std::string &Out) {<br>
+  for (auto K : Str) {<br>
+    if (StringRef("`*|_[]\\").count(<wbr>K))<br>
+      Out.push_back('\\');<br>
+    Out.push_back(K);<br>
+  }<br>
+}<br>
+<br>
+template<typename It> void padToSameLength(It Begin, It End) {<br>
+  size_t Width = 0;<br>
+  for (It I = Begin; I != End; ++I)<br>
+    Width = std::max(Width, I->size());<br>
+  for (It I = Begin; I != End; ++I)<br>
+    (*I) += std::string(Width - I->size(), ' ');<br>
+}<br>
+<br>
+template<typename It> void makeTableRows(It Begin, It End) {<br>
+  if (Begin == End) return;<br>
+  padToSameLength(Begin, End);<br>
+  for (It I = Begin; I != End; ++I)<br>
+    *I = "|" + *I + "|";<br>
+}<br>
+<br>
+void makeRowSeparator(std::string &Str) {<br>
+  for (char &K : Str)<br>
+    K = (K == '|' ? '+' : '-');<br>
+}<br>
+<br>
+void DiagText::print(std::vector<<wbr>std::string> &RST) {<br>
+  if (Pieces.empty()) {<br>
+    RST.push_back("");<br>
+    return;<br>
+  }<br>
+<br>
+  if (Pieces.size() == 1)<br>
+    return Pieces[0]->print(RST);<br>
+<br>
+  std::string EmptyLinePrefix;<br>
+  size_t Start = RST.size();<br>
+  bool HasMultipleLines = true;<br>
+  for (auto &P : Pieces) {<br>
+    std::vector<std::string> Lines;<br>
+    P->print(Lines);<br>
+    if (Lines.empty())<br>
+      continue;<br>
+<br>
+    // We need a vertical separator if either this or the previous piece is a<br>
+    // multi-line piece, or this is the last piece.<br>
+    const char *Separator = (Lines.size() > 1 || HasMultipleLines) ? "|" : "";<br>
+    HasMultipleLines = Lines.size() > 1;<br>
+<br>
+    if (Start + Lines.size() > RST.size())<br>
+      RST.resize(Start + Lines.size(), EmptyLinePrefix);<br>
+<br>
+    padToSameLength(Lines.begin(), Lines.end());<br>
+    for (size_t I = 0; I != Lines.size(); ++I)<br>
+      RST[Start + I] += Separator + Lines[I];<br>
+    std::string Empty(Lines[0].size(), ' ');<br>
+    for (size_t I = Start + Lines.size(); I != RST.size(); ++I)<br>
+      RST[I] += Separator + Empty;<br>
+    EmptyLinePrefix += Separator + Empty;<br>
+  }<br>
+  for (size_t I = Start; I != RST.size(); ++I)<br>
+    RST[I] += "|";<br>
+  EmptyLinePrefix += "|";<br>
+<br>
+  makeRowSeparator(<wbr>EmptyLinePrefix);<br>
+  RST.insert(RST.begin() + Start, EmptyLinePrefix);<br>
+  RST.insert(RST.end(), EmptyLinePrefix);<br>
+}<br>
+<br>
+void DiagText::TextPiece::print(<wbr>std::vector<std::string> &RST) {<br>
+  RST.push_back("");<br>
+  auto &S = RST.back();<br>
+<br>
+  StringRef T = Text;<br>
+  while (!T.empty() && T.front() == ' ') {<br>
+    RST.back() += " |nbsp| ";<br>
+    T = T.drop_front();<br>
+  }<br>
+<br>
+  std::string Suffix;<br>
+  while (!T.empty() && T.back() == ' ') {<br>
+    Suffix += " |nbsp| ";<br>
+    T = T.drop_back();<br>
+  }<br>
+<br>
+  if (!T.empty()) {<br>
+    S += ':';<br>
+    S += Role;<br>
+    S += ":`";<br>
+    escapeRST(T, S);<br>
+    S += '`';<br>
+  }<br>
+<br>
+  S += Suffix;<br>
+}<br>
+<br>
+void DiagText::PlaceholderPiece::<wbr>print(std::vector<std::string> &RST) {<br>
+  RST.push_back(std::string(":<wbr>placeholder:`") + char('A' + Index) + "`");<br>
+}<br>
+<br>
+void DiagText::SelectPiece::print(<wbr>std::vector<std::string> &RST) {<br>
+  std::vector<size_t> SeparatorIndexes;<br>
+  SeparatorIndexes.push_back(<wbr>RST.size());<br>
+  RST.emplace_back();<br>
+  for (auto &O : Options) {<br>
+    O.print(RST);<br>
+    SeparatorIndexes.push_back(<wbr>RST.size());<br>
+    RST.emplace_back();<br>
+  }<br>
+<br>
+  makeTableRows(RST.begin() + SeparatorIndexes.front(),<br>
+                RST.begin() + SeparatorIndexes.back() + 1);<br>
+  for (size_t I : SeparatorIndexes)<br>
+    makeRowSeparator(RST[I]);<br>
+}<br>
+<br>
+bool isRemarkGroup(const Record *DiagGroup,<br>
+                   const std::map<std::string, GroupInfo> &DiagsInGroup) {<br>
+  bool AnyRemarks = false, AnyNonRemarks = false;<br>
+<br>
+  std::function<void(StringRef)> Visit = [&](StringRef GroupName) {<br>
+    auto &GroupInfo = DiagsInGroup.find(GroupName)-><wbr>second;<br>
+    for (const Record *Diag : GroupInfo.DiagsInGroup)<br>
+      (isRemark(*Diag) ? AnyRemarks : AnyNonRemarks) = true;<br>
+    for (const auto &Name : GroupInfo.SubGroups)<br>
+      Visit(Name);<br>
+  };<br>
+  Visit(DiagGroup-><wbr>getValueAsString("GroupName"))<wbr>;<br>
+<br>
+  if (AnyRemarks && AnyNonRemarks)<br>
+    PrintFatalError(<br>
+        DiagGroup->getLoc(),<br>
+        "Diagnostic group contains both remark and non-remark diagnostics");<br>
+  return AnyRemarks;<br>
+}<br>
+<br>
+std::string getDefaultSeverity(const Record *Diag) {<br>
+  return Diag->getValueAsDef("<wbr>DefaultSeverity")-><wbr>getValueAsString("Name");<br>
+}<br>
+<br>
+std::set<std::string><br>
+getDefaultSeverities(const Record *DiagGroup,<br>
+                     const std::map<std::string, GroupInfo> &DiagsInGroup) {<br>
+  std::set<std::string> States;<br>
+<br>
+  std::function<void(StringRef)> Visit = [&](StringRef GroupName) {<br>
+    auto &GroupInfo = DiagsInGroup.find(GroupName)-><wbr>second;<br>
+    for (const Record *Diag : GroupInfo.DiagsInGroup)<br>
+      States.insert(<wbr>getDefaultSeverity(Diag));<br>
+    for (const auto &Name : GroupInfo.SubGroups)<br>
+      Visit(Name);<br>
+  };<br>
+  Visit(DiagGroup-><wbr>getValueAsString("GroupName"))<wbr>;<br>
+  return States;<br>
+}<br>
+<br>
+void writeHeader(StringRef Str, raw_ostream &OS, char Kind = '-') {<br>
+  OS << Str << "\n" << std::string(Str.size(), Kind) << "\n";<br>
+}<br>
+<br>
+void writeDiagnosticText(StringRef Role, StringRef Text, raw_ostream &OS) {<br>
+  if (Text == "%0")<br>
+    OS << "The text of this diagnostic is not controlled by Clang.\n\n";<br>
+  else {<br>
+    std::vector<std::string> Out;<br>
+    DiagText(Role, Text).print(Out);<br>
+    for (auto &Line : Out)<br>
+      OS << Line << "\n";<br>
+    OS << "\n";<br>
+  }<br>
+}<br>
+<br>
+}  // namespace<br>
+}  // namespace docs<br>
+<br>
+void EmitClangDiagDocs(RecordKeeper &Records, raw_ostream &OS) {<br>
+  using namespace docs;<br>
+<br>
+  // Get the documentation introduction paragraph.<br>
+  const Record *Documentation = Records.getDef("<wbr>GlobalDocumentation");<br>
+  if (!Documentation) {<br>
+    PrintFatalError("The Documentation top-level definition is missing, "<br>
+                    "no documentation will be generated.");<br>
+    return;<br>
+  }<br>
+<br>
+  OS << Documentation-><wbr>getValueAsString("Intro") << "\n";<br>
+<br>
+  std::vector<Record*> Diags =<br>
+      Records.<wbr>getAllDerivedDefinitions("<wbr>Diagnostic");<br>
+  std::vector<Record*> DiagGroups =<br>
+      Records.<wbr>getAllDerivedDefinitions("<wbr>DiagGroup");<br>
+  std::sort(DiagGroups.begin(), DiagGroups.end(), diagGroupBeforeByName);<br>
+<br>
+  DiagGroupParentMap DGParentMap(Records);<br>
+<br>
+  std::map<std::string, GroupInfo> DiagsInGroup;<br>
+  groupDiagnostics(Diags, DiagGroups, DiagsInGroup);<br>
+<br>
+  // Compute the set of diagnostics that are in -Wpedantic.<br>
+  {<br>
+    RecordSet DiagsInPedantic;<br>
+    RecordSet GroupsInPedantic;<br>
+    InferPedantic inferPedantic(DGParentMap, Diags, DiagGroups, DiagsInGroup);<br>
+    inferPedantic.compute(&<wbr>DiagsInPedantic, &GroupsInPedantic);<br>
+    auto &PedDiags = DiagsInGroup["pedantic"];<br>
+    PedDiags.DiagsInGroup.insert(<wbr>PedDiags.DiagsInGroup.end(),<br>
+                                 DiagsInPedantic.begin(),<br>
+                                 DiagsInPedantic.end());<br>
+    for (auto *Group : GroupsInPedantic)<br>
+      PedDiags.SubGroups.push_back(<wbr>Group->getValueAsString("<wbr>GroupName"));<br>
+  }<br>
+<br>
+  // FIXME: Write diagnostic categories and link to diagnostic groups in each.<br>
+<br>
+  // Write out the diagnostic groups.<br>
+  for (const Record *G : DiagGroups) {<br>
+    bool IsRemarkGroup = isRemarkGroup(G, DiagsInGroup);<br>
+    auto &GroupInfo = DiagsInGroup[G-><wbr>getValueAsString("GroupName")]<wbr>;<br>
+    bool IsSynonym = GroupInfo.DiagsInGroup.empty() &&<br>
+                     GroupInfo.SubGroups.size() == 1;<br>
+<br>
+    writeHeader((IsRemarkGroup ? "-R" : "-W") +<br>
+                    G->getValueAsString("<wbr>GroupName"),<br>
+                OS);<br>
+<br>
+    if (!IsSynonym) {<br>
+      // FIXME: Ideally, all the diagnostics in a group should have the same<br>
+      // default state, but that is not currently the case.<br>
+      auto DefaultSeverities = getDefaultSeverities(G, DiagsInGroup);<br>
+      if (!DefaultSeverities.empty() && !DefaultSeverities.count("<wbr>Ignored")) {<br>
+        bool AnyNonErrors = DefaultSeverities.count("<wbr>Warning") ||<br>
+                            DefaultSeverities.count("<wbr>Remark");<br>
+        if (!AnyNonErrors)<br>
+          OS << "This diagnostic is an error by default, but the flag ``-Wno-"<br>
+             << G->getValueAsString("<wbr>GroupName") << "`` can be used to disable "<br>
+             << "the error.\n\n";<br>
+        else<br>
+          OS << "This diagnostic is enabled by default.\n\n";<br>
+      } else if (DefaultSeverities.size() > 1) {<br>
+        OS << "Some of the diagnostics controlled by this flag are enabled "<br>
+           << "by default.\n\n";<br>
+      }<br>
+    }<br>
+<br>
+    if (!GroupInfo.SubGroups.empty()) {<br>
+      if (IsSynonym)<br>
+        OS << "Synonym for ";<br>
+      else if (GroupInfo.DiagsInGroup.empty(<wbr>))<br>
+        OS << "Controls ";<br>
+      else<br>
+        OS << "Also controls ";<br>
+<br>
+      bool First = true;<br>
+      for (const auto &Name : GroupInfo.SubGroups) {<br>
+        if (!First) OS << ", ";<br>
+        OS << "`" << (IsRemarkGroup ? "-R" : "-W") << Name << "`_";<br>
+        First = false;<br>
+      }<br>
+      OS << ".\n\n";<br>
+    }<br>
+<br>
+    if (!GroupInfo.DiagsInGroup.<wbr>empty()) {<br>
+      OS << "**Diagnostic text:**\n\n";<br>
+      for (const Record *D : GroupInfo.DiagsInGroup) {<br>
+        auto Severity = getDefaultSeverity(D);<br>
+        Severity[0] = tolower(Severity[0]);<br>
+        if (Severity == "ignored")<br>
+          Severity = IsRemarkGroup ? "remark" : "warning";<br>
+        writeDiagnosticText(Severity, D->getValueAsString("Text"), OS);<br>
+      }<br>
+    }<br>
+<br>
+    auto Doc = G->getValueAsString("<wbr>Documentation");<br>
+    if (!Doc.empty())<br>
+      OS << Doc;<br>
+    else if (GroupInfo.SubGroups.empty() && GroupInfo.DiagsInGroup.empty()<wbr>)<br>
+      OS << "This diagnostic flag exists for GCC compatibility, and has no "<br>
+            "effect in Clang.\n";<br>
+    OS << "\n";<br>
+  }<br>
+}<br>
+<br>
 } // end namespace clang<br>
<br>
Modified: cfe/trunk/utils/TableGen/<wbr>TableGen.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/TableGen/TableGen.cpp?rev=281192&r1=281191&r2=281192&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/utils/<wbr>TableGen/TableGen.cpp?rev=<wbr>281192&r1=281191&r2=281192&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/utils/TableGen/<wbr>TableGen.cpp (original)<br>
+++ cfe/trunk/utils/TableGen/<wbr>TableGen.cpp Mon Sep 12 00:58:29 2016<br>
@@ -52,7 +52,8 @@ enum ActionType {<br>
   GenArmNeon,<br>
   GenArmNeonSema,<br>
   GenArmNeonTest,<br>
-  GenAttrDocs<br>
+  GenAttrDocs,<br>
+  GenDiagDocs<br>
 };<br>
<br>
 namespace {<br>
@@ -133,6 +134,8 @@ cl::opt<ActionType> Action(<br>
                    "Generate ARM NEON tests for clang"),<br>
         clEnumValN(GenAttrDocs, "gen-attr-docs",<br>
                    "Generate attribute documentation"),<br>
+        clEnumValN(GenDiagDocs, "gen-diag-docs",<br>
+                   "Generate attribute documentation"),<br>
         clEnumValEnd));<br>
<br>
 cl::opt<std::string><br>
@@ -233,6 +236,9 @@ bool ClangTableGenMain(raw_ostream &OS,<br>
   case GenAttrDocs:<br>
     EmitClangAttrDocs(Records, OS);<br>
     break;<br>
+  case GenDiagDocs:<br>
+    EmitClangDiagDocs(Records, OS);<br>
+    break;<br>
   }<br>
<br>
   return false;<br>
<br>
Modified: cfe/trunk/utils/TableGen/<wbr>TableGenBackends.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/TableGen/TableGenBackends.h?rev=281192&r1=281191&r2=281192&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/utils/<wbr>TableGen/TableGenBackends.h?<wbr>rev=281192&r1=281191&r2=<wbr>281192&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/utils/TableGen/<wbr>TableGenBackends.h (original)<br>
+++ cfe/trunk/utils/TableGen/<wbr>TableGenBackends.h Mon Sep 12 00:58:29 2016<br>
@@ -69,6 +69,7 @@ void EmitNeonSema2(RecordKeeper &Records<br>
 void EmitNeonTest2(RecordKeeper &Records, raw_ostream &OS);<br>
<br>
 void EmitClangAttrDocs(RecordKeeper &Records, raw_ostream &OS);<br>
+void EmitClangDiagDocs(RecordKeeper &Records, raw_ostream &OS);<br>
<br>
 } // end namespace clang<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>