[clang] c5f1749 - Delete checked-in generated copy of diagnostic reference.
Richard Smith via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 30 16:19:13 PDT 2021
Author: Richard Smith
Date: 2021-03-30T16:18:55-07:00
New Revision: c5f174905b73620cf8690dbe68ea05b29d09f4a1
URL: https://github.com/llvm/llvm-project/commit/c5f174905b73620cf8690dbe68ea05b29d09f4a1
DIFF: https://github.com/llvm/llvm-project/commit/c5f174905b73620cf8690dbe68ea05b29d09f4a1.diff
LOG: Delete checked-in generated copy of diagnostic reference.
The documentation build rule will generate an up-to-date version of this
if it's not checked in.
Added:
Modified:
Removed:
clang/docs/DiagnosticsReference.rst
################################################################################
diff --git a/clang/docs/DiagnosticsReference.rst b/clang/docs/DiagnosticsReference.rst
deleted file mode 100644
index 730077f33397a..0000000000000
--- a/clang/docs/DiagnosticsReference.rst
+++ /dev/null
@@ -1,14017 +0,0 @@
-..
- -------------------------------------------------------------------
- NOTE: This file is automatically generated by running clang-tblgen
- -gen-diag-docs. Do not edit this file by hand!!
- -------------------------------------------------------------------
-
-.. Add custom CSS to output. FIXME: This should be put into <head> rather
- than the start of <body>.
-.. raw:: html
-
- <style>
- table.docutils {
- width: 1px;
- }
- table.docutils td {
- border: none;
- padding: 0 0 0 0.2em;
- vertical-align: middle;
- white-space: nowrap;
- width: 1px;
- font-family: monospace;
- }
- table.docutils tr + tr {
- border-top: 0.2em solid #aaa;
- }
- .error {
- font-family: monospace;
- font-weight: bold;
- color: #c00;
- }
- .warning {
- font-family: monospace;
- font-weight: bold;
- color: #80a;
- }
- .remark {
- font-family: monospace;
- font-weight: bold;
- color: #00c;
- }
- .diagtext {
- font-family: monospace;
- font-weight: bold;
- }
- </style>
-
-.. FIXME: rST doesn't support formatting this, so we format all <td> elements
- as monospace font face instead.
-.. |nbsp| unicode:: 0xA0
- :trim:
-
-.. Roles generated by clang-tblgen.
-.. role:: error
-.. role:: warning
-.. role:: remark
-.. role:: diagtext
-.. role:: placeholder(emphasis)
-
-=========================
-Diagnostic flags in Clang
-=========================
-.. contents::
- :local:
-
-Introduction
-============
-
-This page lists the diagnostic flags currently supported by Clang.
-
-Diagnostic flags
-================
-
--W
---
-Synonym for `-Wextra`_.
-
-
--W#pragma-messages
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-
--W#warnings
------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-
--WCFString-literal
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`input conversion stopped due to an input byte that does not belong to the input codeset UTF-8`|
-+------------------------------------------------------------------------------------------------------------------------------------+
-
-
--WCL4
------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wall`_, `-Wextra`_.
-
-
--WIndependentClass-attribute
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'objc\_independent\_class' attribute may be put on a typedef only; attribute is ignored`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'objc\_independent\_class' attribute may be put on Objective-C object pointer type only; attribute is ignored`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--WNSObject-attribute
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'NSObject' attribute may be put on a typedef only; attribute is ignored`|
-+--------------------------------------------------------------------------------------------------------------+
-
-
--Wabi
------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wabsolute-value
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`taking the absolute value of` |nbsp| |+--------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is suspicious`|
-| ||:diagtext:`pointer` || |
-| |+--------------------+| |
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`array` || |
-| |+--------------------+| |
-+---------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`taking the absolute value of unsigned type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has no effect`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------------+----------------------------+------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using` |nbsp| |+--------------------------+| |nbsp| :diagtext:`absolute value function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`when argument is of` |nbsp| |+--------------------------+| |nbsp| :diagtext:`type`|
-| ||:diagtext:`integer` || ||:diagtext:`integer` || |
-| |+--------------------------+| |+--------------------------+| |
-| ||:diagtext:`floating point`|| ||:diagtext:`floating point`|| |
-| |+--------------------------+| |+--------------------------+| |
-| ||:diagtext:`complex` || ||:diagtext:`complex` || |
-| |+--------------------------+| |+--------------------------+| |
-+----------------------------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------------+----------------------------+------------------------+
-
-
--Wabstract-final-class
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------+--------------------+-------------+
-|:warning:`warning:` |nbsp| :diagtext:`abstract class is marked '`|+------------------+|:diagtext:`'`|
-| ||:diagtext:`final` || |
-| |+------------------+| |
-| ||:diagtext:`sealed`|| |
-| |+------------------+| |
-+-----------------------------------------------------------------+--------------------+-------------+
-
-
--Wabstract-vbase-init
----------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Waddress
----------
-This diagnostic is enabled by default.
-
-Controls `-Wpointer-bool-conversion`_, `-Wstring-compare`_, `-Wtautological-pointer-compare`_.
-
-
--Waddress-of-packed-member
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Waddress-of-temporary
-----------------------
-This diagnostic is an error by default, but the flag ``-Wno-address-of-temporary`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`taking the address of a temporary object of type` |nbsp| :placeholder:`A`|
-+-----------------------------------------------------------------------------------------------------------+
-
-
--Waggregate-return
-------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wall
------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wmisleading-indentation`_, `-Wmost`_, `-Wparentheses`_, `-Wswitch`_, `-Wswitch-bool`_.
-
-
--Walloca
---------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is discouraged; there is no way to check for failure but failure may still occur, resulting in a possibly exploitable security vulnerability`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Walloca-with-align-alignof
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`second argument to \_\_builtin\_alloca\_with\_align is supposed to be in bits`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-
--Wambiguous-delete
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multiple suitable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`functions for` |nbsp| :placeholder:`B`:diagtext:`; no 'operator delete' function will be invoked if initialization throws an exception`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wambiguous-ellipsis
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------+---------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'...' in this location creates a C-style varargs function`|+-------------------------------------------+|
-| ||:diagtext:`, not a function parameter pack`||
-| |+-------------------------------------------+|
-| || ||
-| |+-------------------------------------------+|
-+------------------------------------------------------------------------------------------------+---------------------------------------------+
-
-
--Wambiguous-macro
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ambiguous expansion of macro` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------+
-
-
--Wambiguous-member-template
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`lookup of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in member access expression is ambiguous; using member of` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wambiguous-reversed-operator
------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++20 considers use of overloaded operator '`:placeholder:`A`:diagtext:`' (with operand types` |nbsp| :placeholder:`B` |nbsp| :diagtext:`and` |nbsp| :placeholder:`C`:diagtext:`) to be ambiguous despite there being a unique best viable function`|+-----------------------------------------------+|
-| || |nbsp| :diagtext:`with non-reversed arguments`||
-| |+-----------------------------------------------+|
-| || ||
-| |+-----------------------------------------------+|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------+
-
-
--Wanalyzer-incompatible-plugin
-------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`checker plugin '`:placeholder:`A`:diagtext:`' is not compatible with this version of the analyzer`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wanon-enum-enum-conversion
----------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wdeprecated-anon-enum-enum-conversion`_.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------+-----------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------+| |nbsp| :diagtext:`
diff erent enumeration types`|
-| ||:diagtext:`arithmetic between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`bitwise operation between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`comparison of` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`conditional expression between`|| |
-| |+------------------------------------------+| |
-| ||:diagtext:`compound assignment of` || |
-| |+------------------------------------------+| |
-+---------------------------+--------------------------------------------+-----------------------------------------------+
-
-
--Wanonymous-pack-parens
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++11 requires a parenthesized pack declaration to have a name`|
-+---------------------------------------------------------------------------------------------------------+
-
-
--Warc
------
-This diagnostic is enabled by default.
-
-Controls `-Warc-non-pod-memaccess`_, `-Warc-retain-cycles`_, `-Warc-unsafe-retained-assign`_.
-
-
--Warc-bridge-casts-disallowed-in-nonarc
----------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' casts have no effect when not using ARC`|
-+-------------------------------------------------------------------------------------------------------------+
-
-
--Warc-maybe-repeated-use-of-weak
---------------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------+-------------------------------+------------------------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`weak` |nbsp| |+-----------------------------+| |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`|
-| ||:diagtext:`variable` || ||:diagtext:`function`|| |
-| |+-----------------------------+| |+--------------------+| |
-| ||:diagtext:`property` || ||:diagtext:`method` || |
-| |+-----------------------------+| |+--------------------+| |
-| ||:diagtext:`implicit property`|| ||:diagtext:`block` || |
-| |+-----------------------------+| |+--------------------+| |
-| ||:diagtext:`instance variable`|| ||:diagtext:`lambda` || |
-| |+-----------------------------+| |+--------------------+| |
-+---------------------------------------------------+-------------------------------+------------------------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------+
-
-
--Warc-non-pod-memaccess
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+---------------------------+| |nbsp| :diagtext:`this` |nbsp| :placeholder:`B` |nbsp| :diagtext:`call is a pointer to ownership-qualified type` |nbsp| :placeholder:`C`|
-| ||:diagtext:`destination for`|| |
-| |+---------------------------+| |
-| ||:diagtext:`source of` || |
-| |+---------------------------+| |
-+---------------------------+-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Warc-performSelector-leaks
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`performSelector may cause a leak because its selector is unknown`|
-+-------------------------------------------------------------------------------------------------------+
-
-
--Warc-repeated-use-of-weak
---------------------------
-Also controls `-Warc-maybe-repeated-use-of-weak`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------+-------------------------------+--------------------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`weak` |nbsp| |+-----------------------------+| |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`|
-| ||:diagtext:`variable` || ||:diagtext:`function`|| |
-| |+-----------------------------+| |+--------------------+| |
-| ||:diagtext:`property` || ||:diagtext:`method` || |
-| |+-----------------------------+| |+--------------------+| |
-| ||:diagtext:`implicit property`|| ||:diagtext:`block` || |
-| |+-----------------------------+| |+--------------------+| |
-| ||:diagtext:`instance variable`|| ||:diagtext:`lambda` || |
-| |+-----------------------------+| |+--------------------+| |
-+---------------------------------------------------+-------------------------------+--------------------------------------------------------------------------------------+----------------------+-------------------------------------------------------------------------------------------------------------+
-
-
--Warc-retain-cycles
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`capturing` |nbsp| :placeholder:`A` |nbsp| :diagtext:`strongly in this block is likely to lead to a retain cycle`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Warc-unsafe-retained-assign
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------+---------------------------------+-------------------------------------+----------------------+------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`assigning` |nbsp| |+-------------------------------+| |nbsp| :diagtext:`to a weak` |nbsp| |+--------------------+|:diagtext:`; object will be released after assignment`|
-| ||:diagtext:`array literal` || ||:diagtext:`property`|| |
-| |+-------------------------------+| |+--------------------+| |
-| ||:diagtext:`dictionary literal` || ||:diagtext:`variable`|| |
-| |+-------------------------------+| |+--------------------+| |
-| ||:diagtext:`numeric literal` || | | |
-| |+-------------------------------+| | | |
-| ||:diagtext:`boxed expression` || | | |
-| |+-------------------------------+| | | |
-| ||:diagtext:`<should not happen>`|| | | |
-| |+-------------------------------+| | | |
-| ||:diagtext:`block literal` || | | |
-| |+-------------------------------+| | | |
-+--------------------------------------------------------+---------------------------------+-------------------------------------+----------------------+------------------------------------------------------+
-
-+---------------------------------------------------------------------------+--------------------------------+--------+----------------------+------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`assigning retained object to` |nbsp| |+------------------------------+| |nbsp| |+--------------------+|:diagtext:`; object will be released after assignment`|
-| ||:diagtext:`weak` || ||:diagtext:`property`|| |
-| |+------------------------------+| |+--------------------+| |
-| ||:diagtext:`unsafe\_unretained`|| ||:diagtext:`variable`|| |
-| |+------------------------------+| |+--------------------+| |
-+---------------------------------------------------------------------------+--------------------------------+--------+----------------------+------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`assigning retained object to unsafe property; object will be released after assignment`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wargument-outside-range
-------------------------
-This diagnostic is an error by default, but the flag ``-Wno-argument-outside-range`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`argument value` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is outside the valid range \[`:placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`\]`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Warray-bounds
---------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+-------------+
-|: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`|+-------------+|:diagtext:`)`|
-| || || |
-| |+-------------+| |
-| ||:diagtext:`s`|| |
-| |+-------------+| |
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+-------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`array index` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is before the beginning of the array`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------+----------------------------------------------------------------------------+--------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`array argument is too small;` |nbsp| |+--------------------------------------------------------------------------+|:diagtext:`, callee requires at least` |nbsp| :placeholder:`B`|
-| ||+------------------------------------------------------------------------+|| |
-| |||:diagtext:`contains` |nbsp| :placeholder:`A` |nbsp| :diagtext:`elements`||| |
-| ||+------------------------------------------------------------------------+|| |
-| |+--------------------------------------------------------------------------+| |
-| ||+----------------------------------------------+ || |
-| |||:diagtext:`is of size` |nbsp| :placeholder:`A`| || |
-| ||+----------------------------------------------+ || |
-| |+--------------------------------------------------------------------------+| |
-+---------------------------------------------------------------------------+----------------------------------------------------------------------------+--------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'static' has no effect on zero-length arrays`|
-+-----------------------------------------------------------------------------------+
-
-
--Warray-bounds-pointer-arithmetic
----------------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+-------------+
-|: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`|+-------------+|:diagtext:`)`|
-| || || |
-| |+-------------+| |
-| ||:diagtext:`s`|| |
-| |+-------------+| |
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+-------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the pointer decremented by` |nbsp| :placeholder:`A` |nbsp| :diagtext:`refers before the beginning of the array`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wasm
------
-Synonym for `-Wasm-operand-widths`_.
-
-
--Wasm-operand-widths
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`value size does not match register size specified by the constraint and modifier`|
-+-----------------------------------------------------------------------------------------------------------------------+
-
-
--Wassign-enum
--------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`integer constant not in range of enumerated type` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------------------------------------+
-
-
--Wassume
---------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the argument to` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has side effects that will be discarded`|
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wat-protocol
--------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Watimport-in-framework-header
-------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of '@import' in framework header is discouraged, including this header requires -fmodules`|
-+------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Watomic-alignment
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+------------------------+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+----------------------+| |nbsp| :diagtext:`atomic operation may incur significant performance penalty`|
-| ||:diagtext:`large` || |
-| |+----------------------+| |
-| ||:diagtext:`misaligned`|| |
-| |+----------------------+| |
-+---------------------------+------------------------+------------------------------------------------------------------------------+
-
-
--Watomic-implicit-seq-cst
--------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit use of sequentially-consistent atomic may incur stronger memory barriers than necessary`|
-+---------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Watomic-memory-ordering
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`memory order argument to atomic operation is invalid`|
-+-------------------------------------------------------------------------------------------+
-
-
--Watomic-properties
--------------------
-Controls `-Wcustom-atomic-properties`_, `-Wimplicit-atomic-properties`_.
-
-
--Watomic-property-with-user-defined-accessor
---------------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------+--------------------+-----------------------------------------------+--------------------+
-|:warning:`warning:` |nbsp| :diagtext:`writable atomic property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot pair a synthesized` |nbsp| |+------------------+| |nbsp| :diagtext:`with a user defined` |nbsp| |+------------------+|
-| ||:diagtext:`getter`|| ||:diagtext:`getter`||
-| |+------------------+| |+------------------+|
-| ||:diagtext:`setter`|| ||:diagtext:`setter`||
-| |+------------------+| |+------------------+|
-+--------------------------------------------------------------------------------------------------------------------------------------------+--------------------+-----------------------------------------------+--------------------+
-
-
--Wattribute-packed-for-bitfield
--------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'packed' attribute was ignored on bit-fields with single-byte alignment in older versions of GCC and Clang`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wattributes
-------------
-This diagnostic is enabled by default.
-
-Controls `-Wignored-attributes`_, `-Wunknown-attributes`_.
-
-
--Wauto-disable-vptr-sanitizer
------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicitly disabling vptr sanitizer because rtti wasn't enabled`|
-+------------------------------------------------------------------------------------------------------+
-
-
--Wauto-import
--------------
-**Diagnostic text:**
-
-+-------------------------------------------------+---------------------------------+-------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`treating #`|+-------------------------------+| |nbsp| :diagtext:`as an import of module '`:placeholder:`B`:diagtext:`'`|
-| ||:diagtext:`include` || |
-| |+-------------------------------+| |
-| ||:diagtext:`import` || |
-| |+-------------------------------+| |
-| ||:diagtext:`include\_next` || |
-| |+-------------------------------+| |
-| ||:diagtext:`\_\_include\_macros`|| |
-| |+-------------------------------+| |
-+-------------------------------------------------+---------------------------------+-------------------------------------------------------------------------+
-
-
--Wauto-storage-class
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'auto' storage class specifier is not permitted in C++11, and will not be supported in future releases`|
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wauto-var-id
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'auto' deduced as 'id' in declaration of` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------+
-
-
--Wavailability
---------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'unavailable' availability overrides all other availability information`|
-+--------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring availability attribute` |nbsp| |+--------------------------------------+|
-| ||:diagtext:`on '+load' method` ||
-| |+--------------------------------------+|
-| ||:diagtext:`with constructor attribute`||
-| |+--------------------------------------+|
-| ||:diagtext:`with destructor attribute` ||
-| |+--------------------------------------+|
-+------------------------------------------------------------------------------+----------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`only 'unavailable' and 'deprecated' are supported for Swift availability`|
-+---------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown platform` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in availability macro`|
-+------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------+------------------------+------------------------------------------------------------------------------------------------------------------------------------------+------------------------+-------------------------------------------------------------------------------------+
-|: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`|
-| ||:diagtext:`introduced`|| ||:diagtext:`introduced`|| |
-| |+----------------------+| |+----------------------+| |
-| ||:diagtext:`deprecated`|| ||:diagtext:`deprecated`|| |
-| |+----------------------+| |+----------------------+| |
-| ||:diagtext:`obsoleted` || ||:diagtext:`obsoleted` || |
-| |+----------------------+| |+----------------------+| |
-+----------------------------------------------------------------+------------------------+------------------------------------------------------------------------------------------------------------------------------------------+------------------------+-------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use same version number separators '\_' or '.'; as in 'major\[.minor\[.subminor\]\]'`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`availability does not match previous declaration`|
-+---------------------------------------------------------------------------------------+
-
-+---------------------------+--------------------------------+--------------------------+-------------------------------+--------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------+|:diagtext:`method` |nbsp| |+-----------------------------+| |nbsp| |+---------------------------------------------+| |nbsp| :diagtext:`on` |nbsp| :placeholder:`B` |nbsp| :diagtext:`(`:placeholder:`C` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`D`:diagtext:`)`|
-| || || ||:diagtext:`introduced after` || ||:diagtext:`the protocol method it implements`|| |
-| |+------------------------------+| |+-----------------------------+| |+---------------------------------------------+| |
-| ||:diagtext:`overriding` |nbsp| || ||:diagtext:`deprecated before`|| ||:diagtext:`overridden method` || |
-| |+------------------------------+| |+-----------------------------+| |+---------------------------------------------+| |
-| | | ||:diagtext:`obsoleted before` || | | |
-| | | |+-----------------------------+| | | |
-+---------------------------+--------------------------------+--------------------------+-------------------------------+--------+-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+--------------------------------+---------------------------------------------------------------------------------------------------+-----------------------------------------------+--------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------+|:diagtext:`method cannot be unavailable on` |nbsp| :placeholder:`A` |nbsp| :diagtext:`when` |nbsp| |+---------------------------------------------+| |nbsp| :diagtext:`is available`|
-| || || ||:diagtext:`the protocol method it implements`|| |
-| |+------------------------------+| |+---------------------------------------------+| |
-| ||:diagtext:`overriding` |nbsp| || ||:diagtext:`its overridden method` || |
-| |+------------------------------+| |+---------------------------------------------+| |
-+---------------------------+--------------------------------+---------------------------------------------------------------------------------------------------+-----------------------------------------------+--------------------------------+
-
-
--Wavr-rtlib-linking-quirks
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`support for linking stdlibs for microcontroller '`:placeholder:`A`:diagtext:`' is not implemented`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no avr-gcc installation can be found on the system, cannot link standard libraries`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no avr-libc installation can be found on the system, cannot link standard libraries`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no target microcontroller specified on command line, cannot link standard libraries, please pass -mmcu=<mcu name>`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`standard library not linked and so no interrupt vector table or compiler runtime routines will be linked`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wbackend-plugin
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-
--Wbackslash-newline-escape
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`backslash and newline separated by space`|
-+-------------------------------------------------------------------------------+
-
-
--Wbad-function-cast
--------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast from function call of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to non-matching type` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
--Wcast-function-type
--------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`converts to incompatible function types`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
--Wbinary-literal
-----------------
-Controls `-Wc++14-binary-literal`_, `-Wc++98-c++11-compat-binary-literal`_, `-Wgnu-binary-literal`_.
-
-
--Wbind-to-temporary-copy
-------------------------
-Also controls `-Wc++98-compat-bind-to-temporary-copy`_.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------+
-|: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| |+---------------------+|
-| ||:diagtext:`private` ||
-| |+---------------------+|
-| ||:diagtext:`protected`||
-| |+---------------------+|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------+
-
-+--------------------------------------------------------------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no viable constructor` |nbsp| |+----------------------------------------------------+| |nbsp| :diagtext:`of type` |nbsp| :placeholder:`B`:diagtext:`; C++98 requires a copy constructor when binding a reference to a temporary`|
-| ||:diagtext:`copying variable` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`copying parameter` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`returning object` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`initializing statement expression result`|| |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`throwing object` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`copying member subobject` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`copying array element` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`allocating object` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`copying temporary` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`initializing base subobject` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`initializing vector element` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`capturing value` || |
-| |+----------------------------------------------------+| |
-+--------------------------------------------------------------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wbinding-in-condition
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++17 does not permit structured binding declaration in a condition`|
-+--------------------------------------------------------------------------------------------------------------+
-
-
--Wbitfield-constant-conversion
-------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit truncation from` |nbsp| :placeholder:`C` |nbsp| :diagtext:`to bit-field changes value from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wbitfield-enum-conversion
---------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`bit-field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not wide enough to store all enumerators of` |nbsp| :placeholder:`B`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`signed bit-field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`needs an extra bit to represent the largest positive enumerators of` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`assigning value of signed enum type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`to unsigned bit-field` |nbsp| :placeholder:`A`:diagtext:`; negative enumerators of enum` |nbsp| :placeholder:`B` |nbsp| :diagtext:`will be converted to positive values`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wbitfield-width
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+
-|: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`|+-------------+|
-| || ||
-| |+-------------+|
-| ||:diagtext:`s`||
-| |+-------------+|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+
-|: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`|+-------------+|
-| || ||
-| |+-------------+|
-| ||:diagtext:`s`||
-| |+-------------+|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+
-
-
--Wbitwise-conditional-parentheses
----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`operator '?:' has lower precedence than '`:placeholder:`A`:diagtext:`'; '`:placeholder:`A`:diagtext:`' will be evaluated first`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wbitwise-op-parentheses
-------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' within '`:placeholder:`B`:diagtext:`'`|
-+-----------------------------------------------------------------------------------------------------------+
-
-
--Wblock-capture-autoreleasing
------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`block captures an autoreleasing out-parameter, which may result in use-after-free bugs`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wbool-conversion
------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wpointer-bool-conversion`_, `-Wundefined-bool-conversion`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initialization of pointer of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to null from a constant boolean expression`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wbool-conversions
-------------------
-Synonym for `-Wbool-conversion`_.
-
-
--Wbool-operation
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------+-------------------------------------------------+--------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`bitwise negation of a boolean expression`|+-----------------------------------------------+| |nbsp| :diagtext:`did you mean logical negation?`|
-| ||:diagtext:`;` || |
-| |+-----------------------------------------------+| |
-| || |nbsp| :diagtext:`always evaluates to 'true';`|| |
-| |+-----------------------------------------------+| |
-+-------------------------------------------------------------------------------+-------------------------------------------------+--------------------------------------------------+
-
-
--Wbraced-scalar-init
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------+----------------------------+-----------------------+
-|:warning:`warning:` |nbsp| :diagtext:`braces around` |nbsp| |+--------------------------+|:diagtext:`initializer`|
-| ||:diagtext:`scalar` |nbsp| || |
-| |+--------------------------+| |
-| || || |
-| |+--------------------------+| |
-+------------------------------------------------------------+----------------------------+-----------------------+
-
-
--Wbridge-cast
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`bridges to` |nbsp| :placeholder:`B`:diagtext:`, not` |nbsp| :placeholder:`C`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot bridge to` |nbsp| :placeholder:`B`|
-+-------------------------------------------------------------------------------------------------------+
-
-
--Wbuiltin-assume-aligned-alignment
-----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`requested alignment must be` |nbsp| :placeholder:`A` |nbsp| :diagtext:`bytes or smaller; maximum alignment assumed`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wbuiltin-macro-redefined
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redefining builtin macro`|
-+---------------------------------------------------------------+
-
-+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`undefining builtin macro`|
-+---------------------------------------------------------------+
-
-
--Wbuiltin-memcpy-chk-size
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' will always overflow; destination buffer has size` |nbsp| :placeholder:`B`:diagtext:`, but size argument is` |nbsp| :placeholder:`C`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wbuiltin-requires-header
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration of built-in function '`:placeholder:`B`:diagtext:`' requires inclusion of the header <`:placeholder:`A`:diagtext:`>`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wc++-compat
-------------
-**Diagnostic text:**
-
-+---------------------------+---------------------------+--------------------+--------------------------------------------+---------------------------+--------------------------+
-|:warning:`warning:` |nbsp| |+-------------------------+|+------------------+| |nbsp| :diagtext:`has size 0 in C,` |nbsp| |+-------------------------+| |nbsp| :diagtext:`in C++`|
-| || |||:diagtext:`struct`|| ||:diagtext:`size 1` || |
-| |+-------------------------+|+------------------+| |+-------------------------+| |
-| ||:diagtext:`empty` |nbsp| |||:diagtext:`union` || ||:diagtext:`non-zero size`|| |
-| |+-------------------------+|+------------------+| |+-------------------------+| |
-+---------------------------+---------------------------+--------------------+--------------------------------------------+---------------------------+--------------------------+
-
-
--Wc++0x-compat
---------------
-Synonym for `-Wc++11-compat`_.
-
-
--Wc++0x-extensions
-------------------
-Synonym for `-Wc++11-extensions`_.
-
-
--Wc++0x-narrowing
------------------
-Synonym for `-Wc++11-narrowing`_.
-
-
--Wc++11-compat
---------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wc++11-compat-deprecated-writable-strings`_, `-Wc++11-compat-reserved-user-defined-literal`_, `-Wc++11-narrowing`_, `-Wc++98-c++11-c++14-c++17-compat`_, `-Wc++98-c++11-c++14-compat`_, `-Wc++98-c++11-compat`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+------------------------------------+
-|: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| |+---------------------------------+| |nbsp| :diagtext:`in C++11 onwards`|
-| ||:diagtext:`have type 'long long'`|| |
-| |+---------------------------------+| |
-| ||:diagtext:`be ill-formed` || |
-| |+---------------------------------+| |
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'auto' storage class specifier is redundant and incompatible with C++11`|
-+--------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`identifier after literal will be treated as a user-defined literal suffix in C++11`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is a keyword in C++11`|
-+-------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of right-shift operator ('>>') in template argument will require parentheses in C++11`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation cannot be 'inline'`|
-+--------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`must occur at global scope`|
-+--------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not in a namespace enclosing` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`must occur in namespace` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+------------------------------------+
-|: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| |+---------------------------------+| |nbsp| :diagtext:`in C++11 onwards`|
-| ||:diagtext:`have type 'long long'`|| |
-| |+---------------------------------+| |
-| ||:diagtext:`be ill-formed` || |
-| |+---------------------------------+| |
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+------------------------------------+
-
-
--Wc++11-compat-deprecated-writable-strings
-------------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conversion from string literal to` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated`|
-+---------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wc++11-compat-pedantic
------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wc++11-compat`_, `-Wc++98-c++11-c++14-c++17-compat-pedantic`_, `-Wc++98-c++11-c++14-compat-pedantic`_, `-Wc++98-c++11-compat-pedantic`_.
-
-
--Wc++11-compat-reserved-user-defined-literal
---------------------------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`identifier after literal will be treated as a reserved user-defined literal suffix in C++11`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wc++11-extensions
-------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wc++11-extra-semi`_, `-Wc++11-inline-namespace`_, `-Wc++11-long-long`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`alias declarations are a C++11 extension`|
-+-------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------------------------------+
-|: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`|
-| ||:diagtext:`integral` || |
-| |+-----------------------+| |
-| ||:diagtext:`enumeration`|| |
-| |+-----------------------+| |
-+---------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'auto' type specifier is a C++11 extension`|
-+---------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`enumeration types with a fixed underlying type are a C++11 extension`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+---------------------------+-----------------------+--------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+---------------------+| |nbsp| :diagtext:`function definitions are a C++11 extension`|
-| ||:diagtext:`defaulted`|| |
-| |+---------------------+| |
-| ||:diagtext:`deleted` || |
-| |+---------------------+| |
-+---------------------------+-----------------------+--------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`befriending enumeration type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a C++11 extension`|
-+-----------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`commas at the end of enumerator lists are a C++11 extension`|
-+--------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit conversion functions are a C++11 extension`|
-+------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extern templates are a C++11 extension`|
-+-----------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`range-based for loop is a C++11 extension`|
-+--------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`generalized initializer lists are a C++11 extension`|
-+------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of enumeration in a nested name specifier is a C++11 extension`|
-+---------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-class friend type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a C++11 extension`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`in-class initialization of non-static data member is a C++11 extension`|
-+-------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' keyword is a C++11 extension`|
-+--------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`reference qualifiers on functions are a C++11 extension`|
-+----------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`rvalue references are a C++11 extension`|
-+------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`scoped enumerations are a C++11 extension`|
-+--------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`static data member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in union is a C++11 extension`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-type template argument referring to` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`with internal linkage is a C++11 extension`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`object` || |
-| |+--------------------+| |
-+--------------------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'template' keyword outside of a template`|
-+-------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`default template arguments for a function template are a C++11 extension`|
-+---------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'typename' occurs outside of a template`|
-+------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------+-----------------------+-------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unelaborated friend declaration is a C++11 extension; specify '`|+---------------------+|:diagtext:`' to befriend` |nbsp| :placeholder:`B`|
-| ||:diagtext:`struct` || |
-| |+---------------------+| |
-| ||:diagtext:`interface`|| |
-| |+---------------------+| |
-| ||:diagtext:`union` || |
-| |+---------------------+| |
-| ||:diagtext:`class` || |
-| |+---------------------+| |
-| ||:diagtext:`enum` || |
-| |+---------------------+| |
-+------------------------------------------------------------------------------------------------------+-----------------------+-------------------------------------------------+
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variadic templates are a C++11 extension`|
-+-------------------------------------------------------------------------------+
-
-
--Wc++11-extra-semi
-------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extra ';' outside of a function is a C++11 extension`|
-+-------------------------------------------------------------------------------------------+
-
-
--Wc++11-inline-namespace
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`inline namespaces are a C++11 feature`|
-+----------------------------------------------------------------------------+
-
-
--Wc++11-long-long
------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'long long' is a C++11 extension`|
-+-----------------------------------------------------------------------+
-
-
--Wc++11-narrowing
------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------+-----------------------------------------+--------+--------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| |+---------------------------------------+| |nbsp| |+------------------------------------------------------------------------------------------------------------------------+|
-| ||:diagtext:`case value` || ||+--------------------------------------------------------------------------------------------------------------+ ||
-| |+---------------------------------------+| |||:diagtext:`cannot be narrowed from type` |nbsp| :placeholder:`C` |nbsp| :diagtext:`to` |nbsp| :placeholder:`D`| ||
-| ||:diagtext:`enumerator value` || ||+--------------------------------------------------------------------------------------------------------------+ ||
-| |+---------------------------------------+| |+------------------------------------------------------------------------------------------------------------------------+|
-| ||:diagtext:`non-type template argument` || ||+----------------------------------------------------------------------------------------------------------------------+||
-| |+---------------------------------------+| |||:diagtext:`evaluates to` |nbsp| :placeholder:`C`:diagtext:`, which cannot be narrowed to type` |nbsp| :placeholder:`D`|||
-| ||:diagtext:`array size` || ||+----------------------------------------------------------------------------------------------------------------------+||
-| |+---------------------------------------+| |+------------------------------------------------------------------------------------------------------------------------+|
-| ||:diagtext:`constexpr if condition` || | |
-| |+---------------------------------------+| | |
-| ||:diagtext:`explicit specifier argument`|| | |
-| |+---------------------------------------+| | |
-+-----------------------+-----------------------------------------+--------+--------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`constant expression evaluates to` |nbsp| :placeholder:`A` |nbsp| :diagtext:`which cannot be narrowed to type` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot be narrowed to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`in initializer list`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`non-constant-expression cannot be narrowed from type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`in initializer list`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-constant-expression cannot be narrowed from type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`in initializer list in C++11`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wc++14-binary-literal
-----------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`binary integer literals are a C++14 extension`|
-+------------------------------------------------------------------------------------+
-
-
--Wc++14-compat
---------------
-Controls `-Wc++98-c++11-c++14-c++17-compat`_, `-Wc++98-c++11-c++14-compat`_.
-
-
--Wc++14-compat-pedantic
------------------------
-Controls `-Wc++14-compat`_, `-Wc++98-c++11-c++14-c++17-compat-pedantic`_, `-Wc++98-c++11-c++14-compat-pedantic`_.
-
-
--Wc++14-extensions
-------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wc++14-binary-literal`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of this statement in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is a C++14 extension`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+-----------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multiple return statements in constexpr function is a C++14 extension`|
-+------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable declaration in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is a C++14 extension`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+----------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-
-+-----------------------------------------------------------------------------+-------------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`type definition in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is a C++14 extension`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+-----------------------------------------------------------------------------+-------------------------+----------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is a C++14 extension`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'decltype(auto)' type specifier is a C++14 extension`|
-+-------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initialized lambda captures are a C++14 extension`|
-+----------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable templates are a C++14 extension`|
-+-------------------------------------------------------------------------------+
-
-
--Wc++17-compat
---------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wc++17-compat-mangling`_, `-Wc++98-c++11-c++14-c++17-compat`_, `-Wdeprecated-increment-bool`_, `-Wdeprecated-register`_.
-
-
--Wc++17-compat-mangling
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`mangled name of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will change in C++17 due to non-throwing exception specification in function signature`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wc++17-compat-pedantic
------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wc++17-compat`_, `-Wc++98-c++11-c++14-c++17-compat-pedantic`_.
-
-
--Wc++17-extensions
-------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ standards before C++17 do not allow new expression for type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to use list-initialization`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`constexpr if is a C++17 extension`|
-+------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'constexpr' on lambda expressions is a C++17 extension`|
-+---------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is a C++17 extension`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`decomposition declarations are a C++17 extension`|
-+---------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pack fold expression is a C++17 extension`|
-+--------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'begin' and 'end' returning
diff erent types (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`) is a C++17 extension`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`hexadecimal floating literals are a C++17 feature`|
-+----------------------------------------------------------------------------------------+
-
-+----------------------------------------+--------------------+-------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+------------------+|:diagtext:`' initialization statements are a C++17 extension`|
-| ||:diagtext:`if` || |
-| |+------------------+| |
-| ||:diagtext:`switch`|| |
-| |+------------------+| |
-+----------------------------------------+--------------------+-------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`inline variables are a C++17 extension`|
-+-----------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of multiple declarators in a single using declaration is a C++17 extension`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`nested namespace definition is a C++17 extension; define each namespace separately`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------+---------------------------+-----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attributes on` |nbsp| |+-------------------------+| |nbsp| :diagtext:`declaration are a C++17 extension`|
-| ||:diagtext:`a namespace` || |
-| |+-------------------------+| |
-| ||:diagtext:`an enumerator`|| |
-| |+-------------------------+| |
-+------------------------------------------------------------+---------------------------+-----------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`capture of '\*this' by copy is a C++17 extension`|
-+---------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`static\_assert with no message is a C++17 extension`|
-+------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`template template parameter using 'typename' is a C++17 extension`|
-+--------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`default scope specifier for attributes is a C++17 extension`|
-+--------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pack expansion of using declaration is a C++17 extension`|
-+-----------------------------------------------------------------------------------------------+
-
-
--Wc++1y-extensions
-------------------
-Synonym for `-Wc++14-extensions`_.
-
-
--Wc++1z-compat
---------------
-Synonym for `-Wc++17-compat`_.
-
-
--Wc++1z-compat-mangling
------------------------
-Synonym for `-Wc++17-compat-mangling`_.
-
-
--Wc++1z-extensions
-------------------
-Synonym for `-Wc++17-extensions`_.
-
-
--Wc++20-compat
---------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`aggregate initialization of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with user-declared constructors is incompatible with C++20`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'consteval' specifier is incompatible with C++ standards before C++20`|
-+------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'constinit' specifier is incompatible with C++ standards before C++20`|
-+------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`this expression will be parsed as explicit(bool) in C++20`|
-+------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'<=>' is a single token in C++20; add a space to avoid a change in behavior`|
-+------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`type of UTF-8 string literal will change from array of const char to array of const char8\_t in C++20`|
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is a keyword in C++20`|
-+-------------------------------------------------------------------------------------------+
-
-
--Wc++20-compat-pedantic
------------------------
-Synonym for `-Wc++20-compat`_.
-
-
--Wc++20-designator
-------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`designated initializers are a C++20 extension`|
-+------------------------------------------------------------------------------------+
-
-
--Wc++20-extensions
-------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wc++20-designator`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of function template name with no prior declaration in function call with explicit template arguments is a C++20 extension`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`default member initializer for bit-field is a C++20 extension`|
-+----------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of this statement in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is a C++20 extension`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+-----------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`constexpr constructor that does not initialize all members is a C++20 extension`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function try block in constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is a C++20 extension`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-
-+------------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`uninitialized variable in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is a C++20 extension`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+------------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`constexpr union constructor that does not initialize any member is a C++20 extension`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is a C++20 extension`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`decomposition declaration declared` |nbsp| |+------------------------------------------------------------+| |nbsp| :diagtext:`is a C++20 extension`|
-| ||+------------------------------------------+ || |
-| |||:diagtext:`'`:placeholder:`B`:diagtext:`'`| || |
-| ||+------------------------------------------+ || |
-| |+------------------------------------------------------------+| |
-| ||+----------------------------------------------------------+|| |
-| |||:diagtext:`with '`:placeholder:`B`:diagtext:`' specifiers`||| |
-| ||+----------------------------------------------------------+|| |
-| |+------------------------------------------------------------+| |
-+---------------------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------+
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`defaulted comparison operators are a C++20 extension`|
-+-------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit capture of 'this' with a capture default of '=' is a C++20 extension`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit(bool) is a C++20 extension`|
-+--------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`range-based for loop initialization statements are a C++20 extension`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initialized lambda pack captures are a C++20 extension`|
-+---------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`inline nested namespace definition is a C++20 extension`|
-+----------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit template parameter list for lambdas is a C++20 extension`|
-+--------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invoking a pointer to a 'const &' member function on an rvalue is a C++20 extension`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-
--Wc++2a-compat
---------------
-Synonym for `-Wc++20-compat`_.
-
-
--Wc++2a-compat-pedantic
------------------------
-Synonym for `-Wc++20-compat-pedantic`_.
-
-
--Wc++2a-extensions
-------------------
-Synonym for `-Wc++20-extensions`_.
-
-
--Wc++98-c++11-c++14-c++17-compat
---------------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of function template name with no prior function template declaration in function call with explicit template arguments is incompatible with C++ standards before C++20`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`default member initializer for bit-field is incompatible with C++ standards before C++20`|
-+-------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of this statement in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is incompatible with C++ standards before C++20`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+-----------------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`constexpr constructor that does not initialize all members is incompatible with C++ standards before C++20`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function try block in constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is incompatible with C++ standards before C++20`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+------------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`uninitialized variable in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is incompatible with C++ standards before C++20`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+------------------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`constexpr union constructor that does not initialize any member is incompatible with C++ standards before C++20`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`virtual constexpr functions are incompatible with C++ standards before C++20`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------+--------------------------------------------------------------+-------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`decomposition declaration declared` |nbsp| |+------------------------------------------------------------+| |nbsp| :diagtext:`is incompatible with C++ standards before C++20`|
-| ||+------------------------------------------+ || |
-| |||:diagtext:`'`:placeholder:`B`:diagtext:`'`| || |
-| ||+------------------------------------------+ || |
-| |+------------------------------------------------------------+| |
-| ||+----------------------------------------------------------+|| |
-| |||:diagtext:`with '`:placeholder:`B`:diagtext:`' specifiers`||| |
-| ||+----------------------------------------------------------+|| |
-| |+------------------------------------------------------------+| |
-+---------------------------------------------------------------------------------+--------------------------------------------------------------+-------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`defaulted comparison operators are incompatible with C++ standards before C++20`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicitly defaulting this` |nbsp| |+------------------------------------+| |nbsp| :diagtext:`with a type
diff erent from the implicit type is incompatible with C++ standards before C++20`|
-| ||:diagtext:`default constructor` || |
-| |+------------------------------------+| |
-| ||:diagtext:`copy constructor` || |
-| |+------------------------------------+| |
-| ||:diagtext:`move constructor` || |
-| |+------------------------------------+| |
-| ||:diagtext:`copy assignment operator`|| |
-| |+------------------------------------+| |
-| ||:diagtext:`move assignment operator`|| |
-| |+------------------------------------+| |
-| ||:diagtext:`destructor` || |
-| |+------------------------------------+| |
-+-------------------------------------------------------------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit capture of 'this' with a capture default of '=' is incompatible with C++ standards before C++20`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit(bool) is incompatible with C++ standards before C++20`|
-+-----------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`range-based for loop initialization statements are incompatible with C++ standards before C++20`|
-+--------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initialized lambda capture packs are incompatible with C++ standards before C++20`|
-+------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`inline nested namespace definition is incompatible with C++ standards before C++20`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+----------------------------------+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------------+| |nbsp| :diagtext:`of lambda is incompatible with C++ standards before C++20`|
-| ||:diagtext:`default construction`|| |
-| |+--------------------------------+| |
-| ||:diagtext:`assignment` || |
-| |+--------------------------------+| |
-+---------------------------+----------------------------------+-----------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit template parameter list for lambdas is incompatible with C++ standards before C++20`|
-+-----------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'<=>' operator is incompatible with C++ standards before C++20`|
-+-----------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'char8\_t' type specifier is incompatible with C++ standards before C++20`|
-+----------------------------------------------------------------------------------------------------------------+
-
-
--Wc++98-c++11-c++14-c++17-compat-pedantic
------------------------------------------
-Also controls `-Wc++98-c++11-c++14-c++17-compat`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`designated initializers are incompatible with C++ standards before C++20`|
-+---------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invoking a pointer to a 'const &' member function on an rvalue is incompatible with C++ standards before C++20`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wc++98-c++11-c++14-compat
---------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`class template argument deduction is incompatible with C++ standards before C++17`|+---------------------------------------------------------------------------------+|
-| || ||
-| |+---------------------------------------------------------------------------------+|
-| ||+-------------------------------------------------------------------------------+||
-| |||:diagtext:`; for compatibility, use explicit type name` |nbsp| :placeholder:`B`|||
-| ||+-------------------------------------------------------------------------------+||
-| |+---------------------------------------------------------------------------------+|
-+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`constexpr if is incompatible with C++ standards before C++17`|
-+---------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`constexpr on lambda expressions is incompatible with C++ standards before C++17`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`decomposition declarations are incompatible with C++ standards before C++17`|
-+------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pack fold expression is incompatible with C++ standards before C++17`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+---------------------------+--------------------+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------+| |nbsp| :diagtext:`initialization statements are incompatible with C++ standards before C++17`|
-| ||:diagtext:`if` || |
-| |+------------------+| |
-| ||:diagtext:`switch`|| |
-| |+------------------+| |
-+---------------------------+--------------------+----------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`inline variables are incompatible with C++ standards before C++17`|
-+--------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`nested namespace definition is incompatible with C++ standards before C++17`|
-+------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`by value capture of '\*this' is incompatible with C++ standards before C++17`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`static\_assert with no message is incompatible with C++ standards before C++17`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-type template parameters declared with` |nbsp| :placeholder:`A` |nbsp| :diagtext:`are incompatible with C++ standards before C++17`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`template template parameter using 'typename' is incompatible with C++ standards before C++17`|
-+-----------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unicode literals are incompatible with C++ standards before C++17`|
-+--------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`default scope specifier for attributes is incompatible with C++ standards before C++17`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of multiple declarators in a single using declaration is incompatible with C++ standards before C++17`|
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pack expansion using declaration is incompatible with C++ standards before C++17`|
-+-----------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'begin' and 'end' returning
diff erent types (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`) is incompatible with C++ standards before C++17`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wc++98-c++11-c++14-compat-pedantic
------------------------------------
-Also controls `-Wc++98-c++11-c++14-compat`_.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------+---------------------------+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attributes on` |nbsp| |+-------------------------+| |nbsp| :diagtext:`declaration are incompatible with C++ standards before C++17`|
-| ||:diagtext:`a namespace` || |
-| |+-------------------------+| |
-| ||:diagtext:`an enumerator`|| |
-| |+-------------------------+| |
-+------------------------------------------------------------+---------------------------+--------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`hexadecimal floating literals are incompatible with C++ standards before C++17`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-
--Wc++98-c++11-compat
---------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of this statement in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is incompatible with C++ standards before C++14`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+-----------------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multiple return statements in constexpr function is incompatible with C++ standards before C++14`|
-+---------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`constexpr function with no return statements is incompatible with C++ standards before C++14`|
-+-----------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable declaration in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is incompatible with C++ standards before C++14`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+----------------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`type definition in a constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is incompatible with C++ standards before C++14`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+-----------------------------------------------------------------------------+-------------------------+-------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'decltype(auto)' type specifier is incompatible with C++ standards before C++14`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`return type deduction is incompatible with C++ standards before C++14`|
-+------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`digit separators are incompatible with C++ standards before C++14`|
-+--------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`generic lambdas are incompatible with C++11`|
-+----------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initialized lambda captures are incompatible with C++ standards before C++14`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable templates are incompatible with C++ standards before C++14`|
-+----------------------------------------------------------------------------------------------------------+
-
-
--Wc++98-c++11-compat-binary-literal
------------------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`binary integer literals are incompatible with C++ standards before C++14`|
-+---------------------------------------------------------------------------------------------------------------+
-
-
--Wc++98-c++11-compat-pedantic
------------------------------
-Controls `-Wc++98-c++11-compat`_, `-Wc++98-c++11-compat-binary-literal`_.
-
-
--Wc++98-compat
---------------
-Also controls `-Wc++98-c++11-c++14-c++17-compat`_, `-Wc++98-c++11-c++14-compat`_, `-Wc++98-c++11-compat`_, `-Wc++98-compat-local-type-template-args`_, `-Wc++98-compat-unnamed-type-template-args`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`alias declarations are incompatible with C++98`|
-+-------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'alignas' is incompatible with C++98`|
-+---------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`alignof expressions are incompatible with C++98`|
-+--------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`C++11 attribute syntax is incompatible with C++98`|
-+----------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'auto' type specifier is incompatible with C++98`|
-+---------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'constexpr' specifier is incompatible with C++98`|
-+---------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`constructor call from initializer list is incompatible with C++98`|
-+--------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'decltype' type specifier is incompatible with C++98`|
-+-------------------------------------------------------------------------------------------+
-
-+---------------------------+-----------------------+--------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+---------------------+| |nbsp| :diagtext:`function definitions are incompatible with C++98`|
-| ||:diagtext:`defaulted`|| |
-| |+---------------------+| |
-| ||:diagtext:`deleted` || |
-| |+---------------------+| |
-+---------------------------+-----------------------+--------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`delegating constructors are incompatible with C++98`|
-+------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`scalar initialized from empty initializer list is incompatible with C++98`|
-+----------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initializing` |nbsp| :placeholder:`A` |nbsp| :diagtext:`from an empty initializer list is incompatible with C++98`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`enumeration types with a fixed underlying type are incompatible with C++98`|
-+-----------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`befriending enumeration type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is incompatible with C++98`|
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`enumeration type in nested name specifier is incompatible with C++98`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit conversion functions are incompatible with C++98`|
-+------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`range-based for loop is incompatible with C++98`|
-+--------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`friend declaration naming a member of the declaring class is incompatible with C++98`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`generalized initializer lists are incompatible with C++98`|
-+------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`jump from this goto statement to its label is incompatible with C++98`|
-+------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------+----------------------+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`jump from this` |nbsp| |+--------------------+| |nbsp| :diagtext:`goto statement to one of its possible targets is incompatible with C++98`|
-| ||:diagtext:`indirect`|| |
-| |+--------------------+| |
-| ||:diagtext:`asm` || |
-| |+--------------------+| |
-+-------------------------------------------------------------+----------------------+--------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initialization of initializer\_list object is incompatible with C++98`|
-+------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`inline namespaces are incompatible with C++98`|
-+------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`lambda expressions are incompatible with C++98`|
-+-------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'<::' is treated as digraph '<:' (aka '\[') followed by ':' in C++98`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`literal operators are incompatible with C++98`|
-+------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`universal character name referring to a control character is incompatible with C++98`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`specifying character '`:placeholder:`A`:diagtext:`' with a universal character name is incompatible with C++98`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`noexcept specifications are incompatible with C++98`|
-+------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`noexcept expressions are incompatible with C++98`|
-+---------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of non-static data member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in an unevaluated context is incompatible with C++98`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-class friend type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is incompatible with C++98`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`in-class initialization of non-static data members is incompatible with C++98`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+------------------------------+------------------------------------------------------------------------------------------------+--------------------------------------+----------------------------------------------+
-|:warning:`warning:` |nbsp| |+----------------------------+| |nbsp| :diagtext:`member` |nbsp| :placeholder:`B` |nbsp| :diagtext:`with a non-trivial` |nbsp| |+------------------------------------+| |nbsp| :diagtext:`is incompatible with C++98`|
-| ||:diagtext:`anonymous struct`|| ||:diagtext:`default constructor` || |
-| |+----------------------------+| |+------------------------------------+| |
-| ||:diagtext:`union` || ||:diagtext:`copy constructor` || |
-| |+----------------------------+| |+------------------------------------+| |
-| | | ||:diagtext:`move constructor` || |
-| | | |+------------------------------------+| |
-| | | ||:diagtext:`copy assignment operator`|| |
-| | | |+------------------------------------+| |
-| | | ||:diagtext:`move assignment operator`|| |
-| | | |+------------------------------------+| |
-| | | ||:diagtext:`destructor` || |
-| | | |+------------------------------------+| |
-+---------------------------+------------------------------+------------------------------------------------------------------------------------------------+--------------------------------------+----------------------------------------------+
-
-+---------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'nullptr' is incompatible with C++98`|
-+---------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' keyword is incompatible with C++98`|
-+--------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------+
-|: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`|
-| ||:diagtext:`function` || |
-| |+-----------------------+| |
-| ||:diagtext:`block` || |
-| |+-----------------------+| |
-| ||:diagtext:`method` || |
-| |+-----------------------+| |
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------+
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`raw string literals are incompatible with C++98`|
-+--------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`reference qualifiers on functions are incompatible with C++98`|
-+----------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`reference initialized from initializer list is incompatible with C++98`|
-+-------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`rvalue references are incompatible with C++98`|
-+------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`scoped enumerations are incompatible with C++98`|
-+--------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`substitution failure due to access control is incompatible with C++98`|
-+------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`static\_assert declarations are incompatible with C++98`|
-+----------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`static data member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in union is incompatible with C++98`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`jump from switch statement to this case label is incompatible with C++98`|
-+---------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redundant parentheses surrounding address non-type template argument are incompatible with C++98`|
-+---------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of null pointer as non-type template argument is incompatible with C++98`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-type template argument referring to` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`with internal linkage is incompatible with C++98`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`object` || |
-| |+--------------------+| |
-+--------------------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of 'template' keyword outside of a template is incompatible with C++98`|
-+-----------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`default template arguments for a function template are incompatible with C++98`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`trailing return types are incompatible with C++98`|
-+----------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`consecutive right angle brackets are incompatible with C++98 (use '> >')`|
-+---------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of 'typename' outside of a template is incompatible with C++98`|
-+---------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+-----------------------+------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`befriending` |nbsp| :placeholder:`B` |nbsp| :diagtext:`without '`|+---------------------+|:diagtext:`' keyword is incompatible with C++98`|
-| ||:diagtext:`struct` || |
-| |+---------------------+| |
-| ||:diagtext:`interface`|| |
-| |+---------------------+| |
-| ||:diagtext:`union` || |
-| |+---------------------+| |
-| ||:diagtext:`class` || |
-| |+---------------------+| |
-| ||:diagtext:`enum` || |
-| |+---------------------+| |
-+-------------------------------------------------------------------------------------------------------+-----------------------+------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using this character in an identifier is incompatible with C++98`|
-+-------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unicode literals are incompatible with C++98`|
-+-----------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' type specifier is incompatible with C++98`|
-+---------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`inheriting constructors are incompatible with C++98`|
-+------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variadic templates are incompatible with C++98`|
-+-------------------------------------------------------------------------------------+
-
-
--Wc++98-compat-bind-to-temporary-copy
--------------------------------------
-**Diagnostic text:**
-
-+---------------------------+------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------+----------------------------+
-|:warning:`warning:` |nbsp| |+----------------------------------------------------+| |nbsp| :diagtext:`of type` |nbsp| :placeholder:`C` |nbsp| :diagtext:`when binding a reference to a temporary would` |nbsp| |+----------------------------------------------+| |nbsp| :diagtext:`in C++98`|
-| ||:diagtext:`copying variable` || ||:diagtext:`invoke an inaccessible constructor`|| |
-| |+----------------------------------------------------+| |+----------------------------------------------+| |
-| ||:diagtext:`copying parameter` || ||:diagtext:`find no viable constructor` || |
-| |+----------------------------------------------------+| |+----------------------------------------------+| |
-| ||:diagtext:`returning object` || ||:diagtext:`find ambiguous constructors` || |
-| |+----------------------------------------------------+| |+----------------------------------------------+| |
-| ||:diagtext:`initializing statement expression result`|| ||:diagtext:`invoke a deleted constructor` || |
-| |+----------------------------------------------------+| |+----------------------------------------------+| |
-| ||:diagtext:`throwing object` || | | |
-| |+----------------------------------------------------+| | | |
-| ||:diagtext:`copying member subobject` || | | |
-| |+----------------------------------------------------+| | | |
-| ||:diagtext:`copying array element` || | | |
-| |+----------------------------------------------------+| | | |
-| ||:diagtext:`allocating object` || | | |
-| |+----------------------------------------------------+| | | |
-| ||:diagtext:`copying temporary` || | | |
-| |+----------------------------------------------------+| | | |
-| ||:diagtext:`initializing base subobject` || | | |
-| |+----------------------------------------------------+| | | |
-| ||:diagtext:`initializing vector element` || | | |
-| |+----------------------------------------------------+| | | |
-| ||:diagtext:`capturing value` || | | |
-| |+----------------------------------------------------+| | | |
-+---------------------------+------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------+----------------------------+
-
-
--Wc++98-compat-extra-semi
--------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extra ';' outside of a function is incompatible with C++98`|
-+-------------------------------------------------------------------------------------------------+
-
-
--Wc++98-compat-local-type-template-args
----------------------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`local type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`as template argument is incompatible with C++98`|
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wc++98-compat-pedantic
------------------------
-Also controls `-Wc++98-c++11-c++14-c++17-compat-pedantic`_, `-Wc++98-c++11-c++14-compat-pedantic`_, `-Wc++98-c++11-compat-pedantic`_, `-Wc++98-compat`_, `-Wc++98-compat-bind-to-temporary-copy`_, `-Wc++98-compat-extra-semi`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------------------------------------+
-|: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`|
-| ||:diagtext:`integral` || |
-| |+-----------------------+| |
-| ||:diagtext:`enumeration`|| |
-| |+-----------------------+| |
-+---------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast between pointer-to-function and pointer-to-object is incompatible with C++98`|
-+------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`empty macro arguments are incompatible with C++98`|
-+----------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`commas at the end of enumerator lists are incompatible with C++98`|
-+--------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extern templates are incompatible with C++98`|
-+-----------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'long long' is incompatible with C++98`|
-+-----------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`C++98 requires newline at end of file`|
-+----------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#line number greater than 32767 is incompatible with C++98`|
-+-------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variadic macros are incompatible with C++98`|
-+----------------------------------------------------------------------------------+
-
-
--Wc++98-compat-unnamed-type-template-args
------------------------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unnamed type as template argument is incompatible with C++98`|
-+---------------------------------------------------------------------------------------------------+
-
-
--Wc11-extensions
-----------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`anonymous unions are a C11 extension`|
-+---------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`anonymous structs are a C11 extension`|
-+----------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is a C11 extension`|
-+----------------------------------------------------------------------------------------+
-
-
--Wc2x-extensions
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`omitting the parameter name in a function definition is a C2x extension`|
-+--------------------------------------------------------------------------------------------------------------+
-
-
--Wc99-compat
-------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------------------+--------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------------------+| |nbsp| :diagtext:`is incompatible with C99`|
-| ||:diagtext:`using this character in an identifier` || |
-| |+------------------------------------------------------+| |
-| ||:diagtext:`starting an identifier with this character`|| |
-| |+------------------------------------------------------+| |
-+---------------------------+--------------------------------------------------------+--------------------------------------------+
-
-+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unicode literals are incompatible with C99`|
-+---------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+----------------------------------+
-|: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| |+---------------------------------+| |nbsp| :diagtext:`in C99 onwards`|
-| ||:diagtext:`have type 'long long'`|| |
-| |+---------------------------------+| |
-| ||:diagtext:`be ill-formed` || |
-| |+---------------------------------+| |
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+----------------------------------+
-
-
--Wc99-designator
-----------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wc++20-designator`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`designated initializers are a C99 feature`|
-+--------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`array designators are a C99 extension`|
-+----------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`mixture of designated and non-designated initializers in the same initializer list is a C99 extension`|
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`nested designators are a C99 extension`|
-+-----------------------------------------------------------------------------+
-
-
--Wc99-extensions
-----------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wc99-designator`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initializer for aggregate is not a compile-time constant`|
-+-----------------------------------------------------------------------------------------------+
-
-+---------------------------+----------------------------------+------------------------------+-----------------------+----------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------------+|:diagtext:`array size` |nbsp| |+---------------------+|:diagtext:`is a C99 feature`|
-| ||:diagtext:`qualifier in` |nbsp| || || || |
-| |+--------------------------------+| |+---------------------+| |
-| ||:diagtext:`static` |nbsp| || || || |
-| |+--------------------------------+| |+---------------------+| |
-| || || ||:diagtext:`'\[\*\] '`|| |
-| |+--------------------------------+| |+---------------------+| |
-+---------------------------+----------------------------------+------------------------------+-----------------------+----------------------------+
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`compound literals are a C99-specific feature`|
-+-----------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is a C99 extension`|
-+----------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`flexible array members are a C99 feature`|
-+-------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable declaration in for loop is a C99-specific feature`|
-+-------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C99 requires whitespace after the macro name`|
-+---------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`empty macro arguments are a C99 feature`|
-+------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`commas at the end of enumerator lists are a C99-specific feature`|
-+-------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`hexadecimal floating constants are a C99 feature`|
-+---------------------------------------------------------------------------------------+
-
-
--Wcall-to-pure-virtual-from-ctor-dtor
--------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`call to pure virtual member function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has undefined behavior; overrides of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in subclasses are not available in the` |nbsp| |+-----------------------+| |nbsp| :diagtext:`of` |nbsp| :placeholder:`C`|
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-| ||:diagtext:`destructor` || |
-| |+-----------------------+| |
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------+
-
-
--Wcast-align
-------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wcast-calling-convention
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast between incompatible calling conventions '`:placeholder:`A`:diagtext:`' and '`:placeholder:`B`:diagtext:`'; calls through this pointer may abort at runtime`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wcast-of-sel-type
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is deprecated; use sel\_getName instead`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wcast-qual
------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`drops` |nbsp| |+-----------------------------------------+|
-| ||:diagtext:`const and volatile qualifiers`||
-| |+-----------------------------------------+|
-| ||:diagtext:`const qualifier` ||
-| |+-----------------------------------------+|
-| ||:diagtext:`volatile qualifier` ||
-| |+-----------------------------------------+|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wcast-qual-unrelated
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ does not allow` |nbsp| |+---------------------------------+| |nbsp| :diagtext:`from` |nbsp| :placeholder:`B` |nbsp| :diagtext:`to` |nbsp| :placeholder:`C` |nbsp| :diagtext:`because it casts away qualifiers, even though the source and destination types are unrelated`|
-| ||:diagtext:`const\_cast` || |
-| |+---------------------------------+| |
-| ||:diagtext:`static\_cast` || |
-| |+---------------------------------+| |
-| ||:diagtext:`reinterpret\_cast` || |
-| |+---------------------------------+| |
-| ||:diagtext:`dynamic\_cast` || |
-| |+---------------------------------+| |
-| ||:diagtext:`C-style cast` || |
-| |+---------------------------------+| |
-| ||:diagtext:`functional-style cast`|| |
-| |+---------------------------------+| |
-+---------------------------------------------------------------------+-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wchar-align
-------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wchar-subscripts
------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------+-------------------------+-------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`array section` |nbsp| |+-----------------------+| |nbsp| :diagtext:`is of type 'char'`|
-| ||:diagtext:`lower bound`|| |
-| |+-----------------------+| |
-| ||:diagtext:`length` || |
-| |+-----------------------+| |
-+------------------------------------------------------------+-------------------------+-------------------------------------+
-
-+------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`array subscript is of type 'char'`|
-+------------------------------------------------------------------------+
-
-
--Wclang-cl-pch
---------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`support for '/Yc' with more than one source file not implemented yet; flag ignored`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`support for '/Yc' and '/Yu' with
diff erent filenames not implemented yet; flags ignored`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma hdrstop filename not supported, /Fp can be used to specify precompiled header filename`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`definition of macro` |nbsp| :placeholder:`A` |nbsp| :diagtext:`does not match definition in precompiled header`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wclass-varargs
----------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wnon-pod-varargs`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`passing object of class type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`through variadic` |nbsp| |+-----------------------+|+--------------------------------------------------------------------+|
-| ||:diagtext:`function` ||| ||
-| |+-----------------------+|+--------------------------------------------------------------------+|
-| ||:diagtext:`block` |||+------------------------------------------------------------------+||
-| |+-----------------------+|||:diagtext:`; did you mean to call '`:placeholder:`D`:diagtext:`'?`|||
-| ||:diagtext:`method` |||+------------------------------------------------------------------+||
-| |+-----------------------+|+--------------------------------------------------------------------+|
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-+---------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------------+
-
-
--Wcmse-union-leak
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------+-------------------------------------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`passing union across security boundary via` |nbsp| |+-----------------------------------------------+| |nbsp| :diagtext:`may leak information`|
-| ||+---------------------------------------------+|| |
-| |||:diagtext:`parameter` |nbsp| :placeholder:`B`||| |
-| ||+---------------------------------------------+|| |
-| |+-----------------------------------------------+| |
-| ||:diagtext:`return value` || |
-| |+-----------------------------------------------+| |
-+-----------------------------------------------------------------------------------------+-------------------------------------------------+----------------------------------------+
-
-
--Wcomma
--------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`possible misuse of comma operator here`|
-+-----------------------------------------------------------------------------+
-
-
--Wcomment
----------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`escaped newline between \*/ characters at block comment end`|
-+--------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`// comments are not allowed in this language`|
-+-----------------------------------------------------------------------------------+
-
-+------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multi-line // comment`|
-+------------------------------------------------------------+
-
-+-----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'/\*' within block comment`|
-+-----------------------------------------------------------------+
-
-
--Wcomments
-----------
-Synonym for `-Wcomment`_.
-
-
--Wcompare-distinct-pointer-types
---------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`comparison of distinct pointer types`|
-+---------------------------------------------------------------------------+
-
-
--Wcomplex-component-init
-------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`complex initialization specifying real and imaginary components is an extension`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-
--Wconcepts-ts-compat
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++20 does not permit the 'bool' keyword after 'concept'`|
-+---------------------------------------------------------------------------------------------------+
-
-
--Wconditional-type-mismatch
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pointer/integer type mismatch in conditional expression`|
-+----------------------------------------------------------------------------------------------+
-
-
--Wconditional-uninitialized
----------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------+-------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may be uninitialized when` |nbsp| |+-----------------------------+|
-| ||:diagtext:`used here` ||
-| |+-----------------------------+|
-| ||:diagtext:`captured by block`||
-| |+-----------------------------+|
-+----------------------------------------------------------------------------------------------------------------------------+-------------------------------+
-
-
--Wconfig-macros
----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------+---------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+----------------------+| |nbsp| :diagtext:`of configuration macro '`:placeholder:`B`:diagtext:`' has no effect on the import of '`:placeholder:`C`:diagtext:`'; pass '`|+------------------------------------------------+|:diagtext:`' on the command line to configure the module`|
-| ||:diagtext:`definition`|| ||+----------------------------------------------+|| |
-| |+----------------------+| |||:diagtext:`-D`:placeholder:`B`:diagtext:`=...`||| |
-| ||:diagtext:`#undef` || ||+----------------------------------------------+|| |
-| |+----------------------+| |+------------------------------------------------+| |
-| | | ||+------------------------------+ || |
-| | | |||:diagtext:`-U`:placeholder:`B`| || |
-| | | ||+------------------------------+ || |
-| | | |+------------------------------------------------+| |
-+---------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------+---------------------------------------------------------+
-
-
--Wconstant-conversion
----------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wbitfield-constant-conversion`_, `-Wobjc-bool-constant-conversion`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wconstant-evaluated
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' will always evaluate to 'true' in a manifestly constant-evaluated expression`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wconstant-logical-operand
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of logical '`:placeholder:`A`:diagtext:`' with constant operand`|
-+----------------------------------------------------------------------------------------------------------+
-
-
--Wconstexpr-not-const
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wconsumed
-----------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`consumed analysis attribute is attached to member of class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`which isn't marked as consumable`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`state of variable '`:placeholder:`A`:diagtext:`' must match at the entry and exit of loop`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`parameter '`:placeholder:`A`:diagtext:`' not in expected state when the function returns: expected '`:placeholder:`B`:diagtext:`', observed '`:placeholder:`C`:diagtext:`'`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`argument not in expected state; expected '`:placeholder:`A`:diagtext:`', observed '`:placeholder:`B`:diagtext:`'`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`return state set for an unconsumable type '`:placeholder:`A`:diagtext:`'`|
-+---------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`return value not in expected state; expected '`:placeholder:`A`:diagtext:`', observed '`:placeholder:`B`:diagtext:`'`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invalid invocation of method '`:placeholder:`A`:diagtext:`' on a temporary object while it is in the '`:placeholder:`B`:diagtext:`' state`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wconversion
-------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wbitfield-enum-conversion`_, `-Wbool-conversion`_, `-Wconstant-conversion`_, `-Wenum-conversion`_, `-Wfloat-conversion`_, `-Wimplicit-float-conversion`_, `-Wimplicit-int-conversion`_, `-Wint-conversion`_, `-Wliteral-conversion`_, `-Wnon-literal-null-conversion`_, `-Wnull-conversion`_, `-Wobjc-literal-conversion`_, `-Wshorten-64-to-32`_, `-Wsign-conversion`_, `-Wstring-conversion`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion discards imaginary component:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion turns vector to scalar:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`passing non-generic address space pointer to` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may cause dynamic conversion affecting performance`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wconversion-null
------------------
-Synonym for `-Wnull-conversion`_.
-
-
--Wcoroutine
------------
-Synonym for `-Wcoroutine-missing-unhandled-exception`_.
-
-
--Wcoroutine-missing-unhandled-exception
----------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is required to declare the member 'unhandled\_exception()' when exceptions are enabled`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wcovered-switch-default
-------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`default label in switch which covers all enumeration values`|
-+--------------------------------------------------------------------------------------------------+
-
-
--Wcpp
------
-Synonym for `-W#warnings`_.
-
-
--Wcstring-format-directive
---------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------------------------+------------------------+
-|: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| |+----------------------+|
-| ||:diagtext:`NSString`|| ||:diagtext:`method` ||
-| |+--------------------+| |+----------------------+|
-| ||:diagtext:`CFString`|| ||:diagtext:`CFfunction`||
-| |+--------------------+| |+----------------------+|
-+------------------------------------------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------------------------+------------------------+
-
-
--Wctad-maybe-unsupported
-------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may not intend to support class template argument deduction`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-
--Wctor-dtor-privacy
--------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wctu
------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`imported AST from '`:placeholder:`A`:diagtext:`' had been generated for a
diff erent target, current:` |nbsp| :placeholder:`B`:diagtext:`, imported:` |nbsp| :placeholder:`C`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wcuda-compat
--------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute parameter` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is negative and will be ignored`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`nvcc does not allow '\_\_`:placeholder:`A`:diagtext:`\_\_' to appear after '()' in lambdas`|
-+---------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignored 'inline' attribute on kernel function` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`kernel function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a member function; this may not be accepted by nvcc`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`argument to '#pragma unroll' should not be in parentheses in CUDA C/C++`|
-+--------------------------------------------------------------------------------------------------------------+
-
-
--Wcustom-atomic-properties
---------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------+--------------------+----------------------------------------------------------------------------+
-|: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)`|
-| ||:diagtext:`getter`|| |
-| |+------------------+| |
-| ||:diagtext:`setter`|| |
-| |+------------------+| |
-+---------------------------------------------------------------------------------------------------------------------------------------+--------------------+----------------------------------------------------------------------------+
-
-
--Wdangling
-----------
-This diagnostic is enabled by default.
-
-Also controls `-Wdangling-field`_, `-Wdangling-gsl`_, `-Wdangling-initializer-list`_, `-Wreturn-stack-address`_.
-
-**Diagnostic text:**
-
-+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+----------------------------+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| |nbsp| |+--------------------------+|:diagtext:`will be destroyed at the end of the full-expression`|
-| ||+-----------------------------+---------------------------------------------------------+--------+------------------------------------------------------------------------+|| ||+------------------------+|| |
-| |||:diagtext:`temporary` |nbsp| |+-------------------------------------------------------+| |nbsp| |+----------------------------------------------------------------------+||| |||:placeholder:`D` |nbsp| ||| |
-| ||| ||:diagtext:`whose address is used as value of` || ||+-------------------------------+------------------------------------+|||| ||+------------------------+|| |
-| ||| |+-------------------------------------------------------+| |||+-----------------------------+|:diagtext:`member of local variable`||||| |+--------------------------+| |
-| ||| ||+--------------------------------+--------------------+|| |||| || ||||| || || |
-| ||| |||+------------------------------+|:diagtext:`bound to`||| |||+-----------------------------+| ||||| |+--------------------------+| |
-| ||| |||| || ||| ||||:diagtext:`reference` |nbsp| || ||||| | | |
-| ||| |||+------------------------------+| ||| |||+-----------------------------+| ||||| | | |
-| ||| ||||:diagtext:`implicitly` |nbsp| || ||| ||+-------------------------------+------------------------------------+|||| | | |
-| ||| |||+------------------------------+| ||| |+----------------------------------------------------------------------+||| | | |
-| ||| ||+--------------------------------+--------------------+|| ||+-------------------------+-----------------------+ |||| | | |
-| ||| |+-------------------------------------------------------+| |||:diagtext:`local` |nbsp| |+---------------------+| |||| | | |
-| ||| | | ||| ||:diagtext:`variable` || |||| | | |
-| ||| | | ||| |+---------------------+| |||| | | |
-| ||| | | ||| ||:diagtext:`reference`|| |||| | | |
-| ||| | | ||| |+---------------------+| |||| | | |
-| ||| | | ||+-------------------------+-----------------------+ |||| | | |
-| ||| | | |+----------------------------------------------------------------------+||| | | |
-| ||+-----------------------------+---------------------------------------------------------+--------+------------------------------------------------------------------------+|| | | |
-| |+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| | | |
-| ||+---------------------------------+----------------------------------------------------------+ || | | |
-| |||:diagtext:`array backing` |nbsp| |+--------------------------------------------------------+| || | | |
-| ||| ||:diagtext:`initializer list subobject of local variable`|| || | | |
-| ||| |+--------------------------------------------------------+| || | | |
-| ||| ||:diagtext:`local initializer list` || || | | |
-| ||| |+--------------------------------------------------------+| || | | |
-| ||+---------------------------------+----------------------------------------------------------+ || | | |
-| |+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| | | |
-+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+----------------------------+---------------------------------------------------------------+
-
-+---------------------------------------------------------------------------+-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+---------------------------+--------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`sorry, lifetime extension of` |nbsp| |+---------------------------------------------+| |nbsp| :diagtext:`created by aggregate initialization using default member initializer is not supported; lifetime of` |nbsp| |+-------------------------+| |nbsp| :diagtext:`will end at the end of the full-expression`|
-| ||:diagtext:`temporary` || ||:diagtext:`temporary` || |
-| |+---------------------------------------------+| |+-------------------------+| |
-| ||:diagtext:`backing array of initializer list`|| ||:diagtext:`backing array`|| |
-| |+---------------------------------------------+| |+-------------------------+| |
-+---------------------------------------------------------------------------+-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+---------------------------+--------------------------------------------------------------+
-
-
--Wdangling-else
----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`add explicit braces to avoid dangling else`|
-+---------------------------------------------------------------------------------+
-
-
--Wdangling-field
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------+-----------------------+------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`binding reference member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to stack allocated` |nbsp| |+---------------------+| |nbsp| :placeholder:`B`|
-| ||:diagtext:`variable` || |
-| |+---------------------+| |
-| ||:diagtext:`parameter`|| |
-| |+---------------------+| |
-+-------------------------------------------------------------------------------------------------------------------------------------+-----------------------+------------------------+
-
-+---------------------------+--------------------------------------------------------+--------+----------------------------------+--------------------------------------------------+----------------------+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------------------+| |nbsp| |+--------------------------------+|:diagtext:`member` |nbsp| :placeholder:`A` |nbsp| |+--------------------+| |nbsp| :diagtext:`a temporary object whose lifetime is shorter than the lifetime of the constructed object`|
-| ||:diagtext:`reference` || || || ||:diagtext:`binds to`|| |
-| |+------------------------------------------------------+| |+--------------------------------+| |+--------------------+| |
-| ||:diagtext:`backing array for 'std::initializer\_list'`|| ||:diagtext:`subobject of` |nbsp| || ||:diagtext:`is` || |
-| |+------------------------------------------------------+| |+--------------------------------+| |+--------------------+| |
-+---------------------------+--------------------------------------------------------+--------+----------------------------------+--------------------------------------------------+----------------------+------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+-----------------------+------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initializing pointer member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with the stack address of` |nbsp| |+---------------------+| |nbsp| :placeholder:`B`|
-| ||:diagtext:`variable` || |
-| |+---------------------+| |
-| ||:diagtext:`parameter`|| |
-| |+---------------------+| |
-+-----------------------------------------------------------------------------------------------------------------------------------------------+-----------------------+------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`temporary bound to reference member of allocated object will be destroyed at the end of the full-expression`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdangling-gsl
---------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`object backing the pointer will be destroyed at the end of the full-expression`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initializing pointer member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to point to a temporary object whose lifetime is shorter than the lifetime of the constructed object`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdangling-initializer-list
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`array backing` |nbsp| |+--------------------------------------------------------------+| |nbsp| :diagtext:`will be destroyed at the end of the full-expression`|
-| ||:diagtext:`initializer list subobject of the allocated object`|| |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`the allocated initializer list` || |
-| |+--------------------------------------------------------------+| |
-+------------------------------------------------------------+----------------------------------------------------------------+-----------------------------------------------------------------------+
-
-
--Wdarwin-sdk-settings
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`SDK settings were ignored as 'SDKSettings.json' could not be parsed`|
-+----------------------------------------------------------------------------------------------------------+
-
-
--Wdate-time
------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expansion of date or time macro is not reproducible`|
-+------------------------------------------------------------------------------------------+
-
-
--Wdealloc-in-category
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`-dealloc is being overridden in a category`|
-+---------------------------------------------------------------------------------+
-
-
--Wdebug-compression-unavailable
--------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cannot compress debug sections (zlib not installed)`|
-+------------------------------------------------------------------------------------------+
-
-
--Wdeclaration-after-statement
------------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C90 forbids mixing declarations and code`|
-+-----------------------------------------------------------------------------------+
-
-
--Wdefaulted-function-deleted
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------+------------------------+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicitly defaulted` |nbsp| |+----------------------+| |nbsp| :diagtext:`comparison operator` |nbsp| :diagtext:`is implicitly deleted`|
-| ||:diagtext:`<ERROR>` || |
-| |+----------------------+| |
-| ||:diagtext:`equality` || |
-| |+----------------------+| |
-| ||:diagtext:`three-way` || |
-| |+----------------------+| |
-| ||:diagtext:`equality` || |
-| |+----------------------+| |
-| ||:diagtext:`relational`|| |
-| |+----------------------+| |
-+-------------------------------------------------------------------+------------------------+--------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------+--------------------------------------+-----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicitly defaulted` |nbsp| |+------------------------------------+| |nbsp| :diagtext:`is implicitly deleted`|
-| ||:diagtext:`default constructor` || |
-| |+------------------------------------+| |
-| ||:diagtext:`copy constructor` || |
-| |+------------------------------------+| |
-| ||:diagtext:`move constructor` || |
-| |+------------------------------------+| |
-| ||:diagtext:`copy assignment operator`|| |
-| |+------------------------------------+| |
-| ||:diagtext:`move assignment operator`|| |
-| |+------------------------------------+| |
-| ||:diagtext:`destructor` || |
-| |+------------------------------------+| |
-+-------------------------------------------------------------------+--------------------------------------+-----------------------------------------+
-
-
--Wdelegating-ctor-cycles
-------------------------
-This diagnostic is an error by default, but the flag ``-Wno-delegating-ctor-cycles`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`constructor for` |nbsp| :placeholder:`A` |nbsp| :diagtext:`creates a delegation cycle`|
-+------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdelete-abstract-non-virtual-dtor
-----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+------------------------+------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+----------------------+| |nbsp| :diagtext:`called on` |nbsp| :placeholder:`B` |nbsp| :diagtext:`that is abstract but has non-virtual destructor`|
-| ||:diagtext:`delete` || |
-| |+----------------------+| |
-| ||:diagtext:`destructor`|| |
-| |+----------------------+| |
-+---------------------------+------------------------+------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdelete-incomplete
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cannot delete expression with pointer-to-'void' type` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`deleting pointer to incomplete type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may cause undefined behavior`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdelete-non-abstract-non-virtual-dtor
---------------------------------------
-**Diagnostic text:**
-
-+---------------------------+------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+----------------------+| |nbsp| :diagtext:`called on non-final` |nbsp| :placeholder:`B` |nbsp| :diagtext:`that has virtual functions but non-virtual destructor`|
-| ||:diagtext:`delete` || |
-| |+----------------------+| |
-| ||:diagtext:`destructor`|| |
-| |+----------------------+| |
-+---------------------------+------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdelete-non-virtual-dtor
--------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wdelete-abstract-non-virtual-dtor`_, `-Wdelete-non-abstract-non-virtual-dtor`_.
-
-
--Wdeprecated
-------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wdeprecated-anon-enum-enum-conversion`_, `-Wdeprecated-array-compare`_, `-Wdeprecated-attributes`_, `-Wdeprecated-comma-subscript`_, `-Wdeprecated-copy`_, `-Wdeprecated-copy-dtor`_, `-Wdeprecated-declarations`_, `-Wdeprecated-dynamic-exception-spec`_, `-Wdeprecated-enum-compare`_, `-Wdeprecated-enum-compare-conditional`_, `-Wdeprecated-enum-enum-conversion`_, `-Wdeprecated-enum-float-conversion`_, `-Wdeprecated-increment-bool`_, `-Wdeprecated-register`_, `-Wdeprecated-this-capture`_, `-Wdeprecated-volatile`_, `-Wdeprecated-writable-strings`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`-O4 is equivalent to -O3`|
-+---------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`access declarations are deprecated; use using declarations instead`|
-+---------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`argument '`:placeholder:`A`:diagtext:`' is deprecated, use '`:placeholder:`B`:diagtext:`' instead`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`treating '`:placeholder:`A`:diagtext:`' input as '`:placeholder:`B`:diagtext:`' when in C++ mode, this behavior is deprecated`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`-fconcepts-ts is deprecated - use '-std=c++20' for Concepts support`|
-+----------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`OpenCL version` |nbsp| :placeholder:`A` |nbsp| :diagtext:`does not support the option '`:placeholder:`B`:diagtext:`'`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`Use of 'long' with '\_\_vector' is deprecated`|
-+------------------------------------------------------------------------------------+
-
-
--Wdeprecated-anon-enum-enum-conversion
---------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------+| |nbsp| :diagtext:`
diff erent enumeration types` |nbsp| :diagtext:`is deprecated`|
-| ||:diagtext:`arithmetic between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`bitwise operation between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`comparison of` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`conditional expression between`|| |
-| |+------------------------------------------+| |
-| ||:diagtext:`compound assignment of` || |
-| |+------------------------------------------+| |
-+---------------------------+--------------------------------------------+--------------------------------------------------------------------------------+
-
-
--Wdeprecated-array-compare
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`comparison between two arrays is deprecated; to compare array addresses, use unary '+' to decay operands to pointers`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-attributes
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`specifying vector types with the 'mode' attribute is deprecated; use the 'vector\_size' attribute instead`|
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-comma-subscript
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`top-level comma expression in array subscript is deprecated`|
-+--------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-copy
------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------+---------------------------------+----------------------------------------------------------------------------------------------------------------------------+---------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`definition of implicit copy` |nbsp| |+-------------------------------+| |nbsp| :diagtext:`for` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated because it has a user-declared copy` |nbsp| |+-------------------------------+|
-| ||:diagtext:`constructor` || ||:diagtext:`assignment operator`||
-| |+-------------------------------+| |+-------------------------------+|
-| ||:diagtext:`assignment operator`|| ||:diagtext:`constructor` ||
-| |+-------------------------------+| |+-------------------------------+|
-+--------------------------------------------------------------------------+---------------------------------+----------------------------------------------------------------------------------------------------------------------------+---------------------------------+
-
-
--Wdeprecated-copy-dtor
-----------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------+---------------------------------+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`definition of implicit copy` |nbsp| |+-------------------------------+| |nbsp| :diagtext:`for` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated because it has a user-declared destructor`|
-| ||:diagtext:`constructor` || |
-| |+-------------------------------+| |
-| ||:diagtext:`assignment operator`|| |
-| |+-------------------------------+| |
-+--------------------------------------------------------------------------+---------------------------------+--------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-declarations
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`specifying 'uuid' as an ATL attribute is deprecated; use \_\_declspec instead`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of C-style parameters in Objective-C method declarations is deprecated`|
-+-----------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated`|
-+----------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may be deprecated because the receiver type is unknown`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated:` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`property access is using` |nbsp| :placeholder:`A` |nbsp| :diagtext:`method which is deprecated`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-dynamic-exception-spec
------------------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`dynamic exception specifications are deprecated`|
-+--------------------------------------------------------------------------------------+
-
-
--Wdeprecated-enum-compare
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------+| |nbsp| :diagtext:`
diff erent enumeration types` |nbsp| :diagtext:`is deprecated`|
-| ||:diagtext:`arithmetic between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`bitwise operation between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`comparison of` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`conditional expression between`|| |
-| |+------------------------------------------+| |
-| ||:diagtext:`compound assignment of` || |
-| |+------------------------------------------+| |
-+---------------------------+--------------------------------------------+--------------------------------------------------------------------------------+
-
-
--Wdeprecated-enum-compare-conditional
--------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------+| |nbsp| :diagtext:`
diff erent enumeration types` |nbsp| :diagtext:`is deprecated`|
-| ||:diagtext:`arithmetic between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`bitwise operation between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`comparison of` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`conditional expression between`|| |
-| |+------------------------------------------+| |
-| ||:diagtext:`compound assignment of` || |
-| |+------------------------------------------+| |
-+---------------------------+--------------------------------------------+--------------------------------------------------------------------------------+
-
-
--Wdeprecated-enum-enum-conversion
----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------+| |nbsp| :diagtext:`
diff erent enumeration types` |nbsp| :diagtext:`is deprecated`|
-| ||:diagtext:`arithmetic between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`bitwise operation between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`comparison of` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`conditional expression between`|| |
-| |+------------------------------------------+| |
-| ||:diagtext:`compound assignment of` || |
-| |+------------------------------------------+| |
-+---------------------------+--------------------------------------------+--------------------------------------------------------------------------------+
-
-
--Wdeprecated-enum-float-conversion
-----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------+--------+----------------------------+--------------------------------------------------------+------------------+--------+----------------------------+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------+| |nbsp| |+--------------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`C` |nbsp| |+----------------+| |nbsp| |+--------------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`D` |nbsp| :diagtext:`is deprecated`|
-| ||:diagtext:`arithmetic between` || ||:diagtext:`floating-point`|| ||:diagtext:`with`|| ||:diagtext:`enumeration` || |
-| |+------------------------------------------+| |+--------------------------+| |+----------------+| |+--------------------------+| |
-| ||:diagtext:`bitwise operation between` || ||:diagtext:`enumeration` || ||:diagtext:`from`|| ||:diagtext:`floating-point`|| |
-| |+------------------------------------------+| |+--------------------------+| |+----------------+| |+--------------------------+| |
-| ||:diagtext:`comparison of` || | | ||:diagtext:`and` || | | |
-| |+------------------------------------------+| | | |+----------------+| | | |
-| ||:diagtext:`conditional expression between`|| | | | | | | |
-| |+------------------------------------------+| | | | | | | |
-| ||:diagtext:`compound assignment of` || | | | | | | |
-| |+------------------------------------------+| | | | | | | |
-+---------------------------+--------------------------------------------+--------+----------------------------+--------------------------------------------------------+------------------+--------+----------------------------+---------------------------------------------------------------------------------+
-
-
--Wdeprecated-implementations
-----------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------+----------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implementing deprecated` |nbsp| |+--------------------+|
-| ||:diagtext:`method` ||
-| |+--------------------+|
-| ||:diagtext:`class` ||
-| |+--------------------+|
-| ||:diagtext:`category`||
-| |+--------------------+|
-+----------------------------------------------------------------------+----------------------+
-
-+----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implementing unavailable method`|
-+----------------------------------------------------------------------+
-
-
--Wdeprecated-increment-bool
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incrementing expression of type bool is deprecated and incompatible with C++17`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-objc-isa-usage
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`assignment to Objective-C's isa is deprecated in favor of object\_setClass()`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`direct access to Objective-C's isa is deprecated in favor of object\_getClass()`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-objc-pointer-introspection
----------------------------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wdeprecated-objc-pointer-introspection-performSelector`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`bitmasking for introspection of Objective-C object pointers is strongly discouraged`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-objc-pointer-introspection-performSelector
--------------------------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`bitmasking for introspection of Objective-C object pointers is strongly discouraged`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-register
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'register' storage class specifier is deprecated and incompatible with C++17`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-this-capture
--------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit capture of 'this' with a capture default of '=' is deprecated`|
-+-------------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-volatile
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`compound assignment to object of volatile-qualified type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+-----------------------+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+---------------------+| |nbsp| :diagtext:`of object of volatile-qualified type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is deprecated`|
-| ||:diagtext:`decrement`|| |
-| |+---------------------+| |
-| ||:diagtext:`increment`|| |
-| |+---------------------+| |
-+---------------------------+-----------------------+-----------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of result of assignment to object of volatile-qualified type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`volatile-qualified parameter type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated`|
-+---------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`volatile-qualified return type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`volatile qualifier in structured binding declaration is deprecated`|
-+---------------------------------------------------------------------------------------------------------+
-
-
--Wdeprecated-writable-strings
------------------------------
-Synonym for `-Wc++11-compat-deprecated-writable-strings`_.
-
-
--Wdirect-ivar-access
---------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`instance variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is being directly accessed`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdisabled-macro-expansion
---------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`disabled expansion of recursive macro`|
-+----------------------------------------------------------------------------+
-
-
--Wdisabled-optimization
------------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wdiscard-qual
---------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wdistributed-object-modifiers
-------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting distributed object modifiers on parameter type in implementation of` |nbsp| :placeholder:`A`|
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting distributed object modifiers on return type in implementation of` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdiv-by-zero
--------------
-Synonym for `-Wdivision-by-zero`_.
-
-
--Wdivision-by-zero
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+-----------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| |+---------------------+| |nbsp| :diagtext:`by zero is undefined`|
-| ||:diagtext:`remainder`|| |
-| |+---------------------+| |
-| ||:diagtext:`division` || |
-| |+---------------------+| |
-+---------------------------+-----------------------+----------------------------------------+
-
-
--Wdll-attribute-on-redeclaration
---------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redeclaration of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`should not add` |nbsp| :placeholder:`B` |nbsp| :diagtext:`attribute`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdllexport-explicit-instantiation-decl
----------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation declaration should not be 'dllexport'`|
-+---------------------------------------------------------------------------------------------------+
-
-
--Wdllimport-static-field-def
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`definition of dllimport static field`|
-+---------------------------------------------------------------------------+
-
-
--Wdocumentation
----------------
-Also controls `-Wdocumentation-deprecated-sync`_, `-Wdocumentation-html`_.
-
-**Diagnostic text:**
-
-+----------------------------------------+----------------+-----------------------+------------------------------------------------------------------------+-----------------------+-------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+|+---------------------+|:diagtext:`' command should not be used in a comment attached to a non-`|+---------------------+| |nbsp| :diagtext:`declaration`|
-| ||:diagtext:`\\`|||:diagtext:`class` || ||:diagtext:`class` || |
-| |+--------------+|+---------------------+| |+---------------------+| |
-| ||:diagtext:`@` |||:diagtext:`interface`|| ||:diagtext:`interface`|| |
-| |+--------------+|+---------------------+| |+---------------------+| |
-| | ||:diagtext:`protocol` || ||:diagtext:`protocol` || |
-| | |+---------------------+| |+---------------------+| |
-| | ||:diagtext:`struct` || ||:diagtext:`struct` || |
-| | |+---------------------+| |+---------------------+| |
-| | ||:diagtext:`union` || ||:diagtext:`union` || |
-| | |+---------------------+| |+---------------------+| |
-+----------------------------------------+----------------+-----------------------+------------------------------------------------------------------------+-----------------------+-------------------------------+
-
-+-----------------------------------------------------------+----------------+-----------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`duplicated command '`|+--------------+|:placeholder:`B`:diagtext:`'`|
-| ||:diagtext:`\\`|| |
-| |+--------------+| |
-| ||:diagtext:`@` || |
-| |+--------------+| |
-+-----------------------------------------------------------+----------------+-----------------------------+
-
-+------------------------------------------------------------------+----------------+-------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`empty paragraph passed to '`|+--------------+|:placeholder:`B`:diagtext:`' command`|
-| ||:diagtext:`\\`|| |
-| |+--------------+| |
-| ||:diagtext:`@` || |
-| |+--------------+| |
-+------------------------------------------------------------------+----------------+-------------------------------------+
-
-+----------------------------------------+----------------+--------------------------+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+|+------------------------+|:diagtext:`' command should not be used in a comment attached to a non-container declaration`|
-| ||:diagtext:`\\`|||:diagtext:`classdesign` || |
-| |+--------------+|+------------------------+| |
-| ||:diagtext:`@` |||:diagtext:`coclass` || |
-| |+--------------+|+------------------------+| |
-| | ||:diagtext:`dependency` || |
-| | |+------------------------+| |
-| | ||:diagtext:`helper` || |
-| | |+------------------------+| |
-| | ||:diagtext:`helperclass` || |
-| | |+------------------------+| |
-| | ||:diagtext:`helps` || |
-| | |+------------------------+| |
-| | ||:diagtext:`instancesize`|| |
-| | |+------------------------+| |
-| | ||:diagtext:`ownership` || |
-| | |+------------------------+| |
-| | ||:diagtext:`performance` || |
-| | |+------------------------+| |
-| | ||:diagtext:`security` || |
-| | |+------------------------+| |
-| | ||:diagtext:`superclass` || |
-| | |+------------------------+| |
-+----------------------------------------+----------------+--------------------------+---------------------------------------------------------------------------------------------+
-
-+----------------------------------------+----------------+---------------------------+---------------------------------------------------------------------+-----------------------------------+-------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+|+-------------------------+|:diagtext:`' command should be used in a comment attached to` |nbsp| |+---------------------------------+| |nbsp| :diagtext:`declaration`|
-| ||:diagtext:`\\`|||:diagtext:`function` || ||:diagtext:`a function` || |
-| |+--------------+|+-------------------------+| |+---------------------------------+| |
-| ||:diagtext:`@` |||:diagtext:`functiongroup`|| ||:diagtext:`a function` || |
-| |+--------------+|+-------------------------+| |+---------------------------------+| |
-| | ||:diagtext:`method` || ||:diagtext:`an Objective-C method`|| |
-| | |+-------------------------+| |+---------------------------------+| |
-| | ||:diagtext:`methodgroup` || ||:diagtext:`an Objective-C method`|| |
-| | |+-------------------------+| |+---------------------------------+| |
-| | ||:diagtext:`callback` || ||:diagtext:`a pointer to function`|| |
-| | |+-------------------------+| |+---------------------------------+| |
-+----------------------------------------+----------------+---------------------------+---------------------------------------------------------------------+-----------------------------------+-------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`HTML start tag prematurely ended, expected attribute name or '>'`|
-+-------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected quoted string after equals sign`|
-+-------------------------------------------------------------------------------+
-
-+----------------------------------------+----------------+-------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+|:placeholder:`B`:diagtext:`' command does not have a valid word argument`|
-| ||:diagtext:`\\`|| |
-| |+--------------+| |
-| ||:diagtext:`@` || |
-| |+--------------+| |
-+----------------------------------------+----------------+-------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`parameter '`:placeholder:`A`:diagtext:`' is already documented`|
-+-----------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unrecognized parameter passing direction, valid directions are '\[in\]', '\[out\]' and '\[in,out\]'`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------+----------------+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+|:diagtext:`param' command used in a comment that is not attached to a function declaration`|
-| ||:diagtext:`\\`|| |
-| |+--------------+| |
-| ||:diagtext:`@` || |
-| |+--------------+| |
-+----------------------------------------+----------------+-------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`parameter '`:placeholder:`A`:diagtext:`' not found in the function declaration`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------+----------------+-------------------------------------------------------------------------------------+-------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+|:placeholder:`B`:diagtext:`' command used in a comment that is attached to a` |nbsp| |+-----------------------------------+|
-| ||:diagtext:`\\`|| ||:diagtext:`function returning void`||
-| |+--------------+| |+-----------------------------------+|
-| ||:diagtext:`@` || ||:diagtext:`constructor` ||
-| |+--------------+| |+-----------------------------------+|
-| | | ||:diagtext:`destructor` ||
-| | | |+-----------------------------------+|
-| | | ||:diagtext:`method returning void` ||
-| | | |+-----------------------------------+|
-+----------------------------------------+----------------+-------------------------------------------------------------------------------------+-------------------------------------+
-
-+----------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+|:placeholder:`B`:diagtext:`' command used in a comment that is not attached to a function or method declaration`|
-| ||:diagtext:`\\`|| |
-| |+--------------+| |
-| ||:diagtext:`@` || |
-| |+--------------+| |
-+----------------------------------------+----------------+----------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`template parameter '`:placeholder:`A`:diagtext:`' is already documented`|
-+--------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------+----------------+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+|:diagtext:`tparam' command used in a comment that is not attached to a template declaration`|
-| ||:diagtext:`\\`|| |
-| |+--------------+| |
-| ||:diagtext:`@` || |
-| |+--------------+| |
-+----------------------------------------+----------------+--------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`template parameter '`:placeholder:`A`:diagtext:`' not found in the template declaration`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`not a Doxygen trailing comment`|
-+---------------------------------------------------------------------+
-
-+----------------------------------------+----------------+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+--------------+|:placeholder:`B`:diagtext:`' command does not terminate a verbatim text block`|
-| ||:diagtext:`\\`|| |
-| |+--------------+| |
-| ||:diagtext:`@` || |
-| |+--------------+| |
-+----------------------------------------+----------------+------------------------------------------------------------------------------+
-
-
--Wdocumentation-deprecated-sync
--------------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------+----------------+-------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration is marked with '`|+--------------+|:diagtext:`deprecated' command but does not have a deprecation attribute`|
-| ||:diagtext:`\\`|| |
-| |+--------------+| |
-| ||:diagtext:`@` || |
-| |+--------------+| |
-+-------------------------------------------------------------------+----------------+-------------------------------------------------------------------------+
-
-
--Wdocumentation-html
---------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`HTML end tag '`:placeholder:`A`:diagtext:`' is forbidden`|
-+-----------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`HTML end tag does not match any start tag`|
-+--------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`HTML tag '`:placeholder:`A`:diagtext:`' requires an end tag`|
-+--------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`HTML start tag '`:placeholder:`A`:diagtext:`' closed by '`:placeholder:`B`:diagtext:`'`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdocumentation-pedantic
-------------------------
-Also controls `-Wdocumentation-unknown-command`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`whitespace is not allowed in parameter passing direction`|
-+-----------------------------------------------------------------------------------------------+
-
-
--Wdocumentation-unknown-command
--------------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown command tag name '`:placeholder:`A`:diagtext:`'; did you mean '`:placeholder:`B`:diagtext:`'?`|
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown command tag name`|
-+---------------------------------------------------------------+
-
-
--Wdollar-in-identifier-extension
---------------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'$' in identifier`|
-+--------------------------------------------------------+
-
-
--Wdouble-promotion
-------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion increases floating-point precision:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdtor-name
------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ considers this destructor name lookup to be ambiguous`|
-+----------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ requires the name after '::~' to be found in the same scope as the name before '::~'`|
-+-----------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`qualified destructor name only found in lexical scope; omit the qualifier to find this type name by unqualified lookup`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdtor-typedef
---------------
-This diagnostic is an error by default, but the flag ``-Wno-dtor-typedef`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------+------------------------+-------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`destructor cannot be declared using a` |nbsp| |+----------------------+| |nbsp| :placeholder:`A` |nbsp| :diagtext:`of the class name`|
-| ||:diagtext:`typedef` || |
-| |+----------------------+| |
-| ||:diagtext:`type alias`|| |
-| |+----------------------+| |
-+--------------------------------------------------------------------------------+------------------------+-------------------------------------------------------------+
-
-
--Wduplicate-decl-specifier
---------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`duplicate '`:placeholder:`A`:diagtext:`' declaration specifier`|
-+-----------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`duplicate '`:placeholder:`A`:diagtext:`' declaration specifier`|
-+-----------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multiple identical address spaces specified for type`|
-+-------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`duplicate '`:placeholder:`A`:diagtext:`' declaration specifier`|
-+-----------------------------------------------------------------------------------------------------+
-
-
--Wduplicate-enum
-----------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wduplicate-method-arg
-----------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redeclaration of method parameter` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------------------------+
-
-
--Wduplicate-method-match
-------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multiple declarations of method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`found and ignored`|
-+-----------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wduplicate-protocol
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`duplicate protocol definition of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is ignored`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wdynamic-class-memaccess
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+-------------------------------+------------------------------------------------------------------------------------------------+----------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-|:warning:`warning:` |nbsp| |+-----------------------------+| |nbsp| :diagtext:`this` |nbsp| :placeholder:`B` |nbsp| :diagtext:`call is a pointer to` |nbsp| |+--------------------------------------+|:diagtext:`dynamic class` |nbsp| :placeholder:`D`:diagtext:`; vtable pointer will be` |nbsp| |+-----------------------+|
-| ||:diagtext:`destination for` || || || ||:diagtext:`overwritten`||
-| |+-----------------------------+| |+--------------------------------------+| |+-----------------------+|
-| ||:diagtext:`source of` || ||:diagtext:`class containing a` |nbsp| || ||:diagtext:`copied` ||
-| |+-----------------------------+| |+--------------------------------------+| |+-----------------------+|
-| ||:diagtext:`first operand of` || | | ||:diagtext:`moved` ||
-| |+-----------------------------+| | | |+-----------------------+|
-| ||:diagtext:`second operand of`|| | | ||:diagtext:`compared` ||
-| |+-----------------------------+| | | |+-----------------------+|
-+---------------------------+-------------------------------+------------------------------------------------------------------------------------------------+----------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+
-
-
--Wdynamic-exception-spec
-------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wdeprecated-dynamic-exception-spec`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`ISO C++17 does not allow dynamic exception specifications`|
-+--------------------------------------------------------------------------------------------+
-
-
--Weffc++
---------
-Synonym for `-Wnon-virtual-dtor`_.
-
-
--Wembedded-directive
---------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`embedding a directive within macro arguments has undefined behavior`|
-+----------------------------------------------------------------------------------------------------------+
-
-
--Wempty-body
-------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`for loop has empty body`|
-+--------------------------------------------------------------+
-
-+------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`if statement has empty body`|
-+------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`range-based for loop has empty body`|
-+--------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`switch statement has empty body`|
-+----------------------------------------------------------------------+
-
-+----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`while loop has empty body`|
-+----------------------------------------------------------------+
-
-
--Wempty-decomposition
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++17 does not allow a decomposition group to be empty`|
-+-------------------------------------------------------------------------------------------------+
-
-
--Wempty-init-stmt
------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------+-----------------------------+---------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`empty initialization statement of '`|+---------------------------+|:diagtext:`' has no effect`|
-| ||:diagtext:`if` || |
-| |+---------------------------+| |
-| ||:diagtext:`switch` || |
-| |+---------------------------+| |
-| ||:diagtext:`range-based for`|| |
-| |+---------------------------+| |
-+--------------------------------------------------------------------------+-----------------------------+---------------------------+
-
-
--Wempty-translation-unit
-------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C requires a translation unit to contain at least one declaration`|
-+------------------------------------------------------------------------------------------------------------+
-
-
--Wencode-type
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`encoding of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`type is incomplete because` |nbsp| :placeholder:`B` |nbsp| :diagtext:`component has unknown encoding`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wendif-labels
---------------
-Synonym for `-Wextra-tokens`_.
-
-
--Wenum-compare
---------------
-This diagnostic is enabled by default.
-
-Also controls `-Wdeprecated-enum-compare`_, `-Wenum-compare-switch`_.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------+-----------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------+| |nbsp| :diagtext:`
diff erent enumeration types`|
-| ||:diagtext:`arithmetic between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`bitwise operation between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`comparison of` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`conditional expression between`|| |
-| |+------------------------------------------+| |
-| ||:diagtext:`compound assignment of` || |
-| |+------------------------------------------+| |
-+---------------------------+--------------------------------------------+-----------------------------------------------+
-
-
--Wenum-compare-conditional
---------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wdeprecated-enum-compare-conditional`_.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------+-----------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------+| |nbsp| :diagtext:`
diff erent enumeration types`|
-| ||:diagtext:`arithmetic between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`bitwise operation between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`comparison of` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`conditional expression between`|| |
-| |+------------------------------------------+| |
-| ||:diagtext:`compound assignment of` || |
-| |+------------------------------------------+| |
-+---------------------------+--------------------------------------------+-----------------------------------------------+
-
-
--Wenum-compare-switch
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`comparison of
diff erent enumeration types in switch statement`|
-+----------------------------------------------------------------------------------------------------+
-
-
--Wenum-conversion
------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wenum-compare-conditional`_, `-Wenum-enum-conversion`_, `-Wenum-float-conversion`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from enumeration type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to
diff erent enumeration type` |nbsp| :placeholder:`B`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wenum-enum-conversion
-----------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wdeprecated-enum-enum-conversion`_.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------+-----------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------+| |nbsp| :diagtext:`
diff erent enumeration types`|
-| ||:diagtext:`arithmetic between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`bitwise operation between` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`comparison of` || |
-| |+------------------------------------------+| |
-| ||:diagtext:`conditional expression between`|| |
-| |+------------------------------------------+| |
-| ||:diagtext:`compound assignment of` || |
-| |+------------------------------------------+| |
-+---------------------------+--------------------------------------------+-----------------------------------------------+
-
-
--Wenum-float-conversion
------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wdeprecated-enum-float-conversion`_.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------------------+--------+----------------------------+--------------------------------------------------------+------------------+--------+----------------------------+------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------+| |nbsp| |+--------------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`C` |nbsp| |+----------------+| |nbsp| |+--------------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`D`|
-| ||:diagtext:`arithmetic between` || ||:diagtext:`floating-point`|| ||:diagtext:`with`|| ||:diagtext:`enumeration` || |
-| |+------------------------------------------+| |+--------------------------+| |+----------------+| |+--------------------------+| |
-| ||:diagtext:`bitwise operation between` || ||:diagtext:`enumeration` || ||:diagtext:`from`|| ||:diagtext:`floating-point`|| |
-| |+------------------------------------------+| |+--------------------------+| |+----------------+| |+--------------------------+| |
-| ||:diagtext:`comparison of` || | | ||:diagtext:`and` || | | |
-| |+------------------------------------------+| | | |+----------------+| | | |
-| ||:diagtext:`conditional expression between`|| | | | | | | |
-| |+------------------------------------------+| | | | | | | |
-| ||:diagtext:`compound assignment of` || | | | | | | |
-| |+------------------------------------------+| | | | | | | |
-+---------------------------+--------------------------------------------+--------+----------------------------+--------------------------------------------------------+------------------+--------+----------------------------+------------------------------------------------+
-
-
--Wenum-too-large
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`enumeration values exceed range of largest integer`|
-+-----------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incremented enumerator value` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not representable in the largest integer type`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wexceptions
-------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------+-------------------------+--------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cannot refer to a non-static member from the handler of a` |nbsp| |+-----------------------+| |nbsp| :diagtext:`function try block`|
-| ||:diagtext:`constructor`|| |
-| |+-----------------------+| |
-| ||:diagtext:`destructor` || |
-| |+-----------------------+| |
-+--------------------------------------------------------------------------------------------------------+-------------------------+--------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`exception of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will be caught by earlier handler`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has a non-throwing exception specification but can still throw`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wexcess-initializers
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------+--------------------+-------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`excess elements in` |nbsp| |+------------------+| |nbsp| :diagtext:`initializer`|
-| ||:diagtext:`array` || |
-| |+------------------+| |
-| ||:diagtext:`vector`|| |
-| |+------------------+| |
-| ||:diagtext:`scalar`|| |
-| |+------------------+| |
-| ||:diagtext:`union` || |
-| |+------------------+| |
-| ||:diagtext:`struct`|| |
-| |+------------------+| |
-+-----------------------------------------------------------------+--------------------+-------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`excess elements in initializer for indivisible sizeless type` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`excess elements in char array initializer`|
-+--------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initializer-string for char array is too long`|
-+------------------------------------------------------------------------------------+
-
-
--Wexit-time-destructors
------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration requires an exit-time destructor`|
-+-----------------------------------------------------------------------------------+
-
-
--Wexpansion-to-defined
-----------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`macro expansion producing 'defined' has undefined behavior`|
-+-------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`macro expansion producing 'defined' has undefined behavior`|
-+-------------------------------------------------------------------------------------------------+
-
-
--Wexplicit-initialize-call
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit call to +initialize results in duplicate call to +initialize`|
-+------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit call to \[super initialize\] should only be in implementation of +initialize`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wexplicit-ownership-type
--------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`method parameter of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with no explicit ownership`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wexport-unnamed
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------+------------------------------+------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++20 does not permit` |nbsp| |+----------------------------+| |nbsp| :diagtext:`declaration to appear in an export block`|
-| ||:diagtext:`an empty` || |
-| |+----------------------------+| |
-| ||:diagtext:`a static\_assert`|| |
-| |+----------------------------+| |
-+------------------------------------------------------------------------+------------------------------+------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++20 does not permit a declaration that does not introduce any names to be exported`|
-+-------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wexport-using-directive
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++20 does not permit using directive to be exported`|
-+-----------------------------------------------------------------------------------------------+
-
-
--Wextern-c-compat
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+---------------------------+--------------------+--------------------------------------------+---------------------------+--------------------------+
-|:warning:`warning:` |nbsp| |+-------------------------+|+------------------+| |nbsp| :diagtext:`has size 0 in C,` |nbsp| |+-------------------------+| |nbsp| :diagtext:`in C++`|
-| || |||:diagtext:`struct`|| ||:diagtext:`size 1` || |
-| |+-------------------------+|+------------------+| |+-------------------------+| |
-| ||:diagtext:`empty` |nbsp| |||:diagtext:`union` || ||:diagtext:`non-zero size`|| |
-| |+-------------------------+|+------------------+| |+-------------------------+| |
-+---------------------------+---------------------------+--------------------+--------------------------------------------+---------------------------+--------------------------+
-
-
--Wextern-initializer
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'extern' variable has an initializer`|
-+---------------------------------------------------------------------------+
-
-
--Wextra
--------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wdeprecated-copy`_, `-Wempty-init-stmt`_, `-Wignored-qualifiers`_, `-Winitializer-overrides`_, `-Wmissing-field-initializers`_, `-Wmissing-method-return-type`_, `-Wnull-pointer-arithmetic`_, `-Wsemicolon-before-method-body`_, `-Wsign-compare`_, `-Wunused-parameter`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`call to function without interrupt attribute could clobber interruptee's VFP registers`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wextra-qualification
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extra qualification on member` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------+
-
-
--Wextra-semi
-------------
-Also controls `-Wc++11-extra-semi`_, `-Wc++98-compat-extra-semi`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------+------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extra ';'` |nbsp| |+----------------------------------------------+|
-| ||:diagtext:`outside of a function` ||
-| |+----------------------------------------------+|
-| ||+--------------------------------------------+||
-| |||:diagtext:`inside a` |nbsp| :placeholder:`B`|||
-| ||+--------------------------------------------+||
-| |+----------------------------------------------+|
-| ||:diagtext:`inside instance variable list` ||
-| |+----------------------------------------------+|
-| ||:diagtext:`after member function definition` ||
-| |+----------------------------------------------+|
-+--------------------------------------------------------+------------------------------------------------+
-
-+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extra ';' after member function definition`|
-+---------------------------------------------------------------------------------+
-
-
--Wextra-semi-stmt
------------------
-Also controls `-Wempty-init-stmt`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`empty expression statement has no effect; remove unnecessary ';' to silence this warning`|
-+-------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wextra-tokens
---------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extra tokens at end of #`:placeholder:`A` |nbsp| :diagtext:`directive`|
-+------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extra tokens at the end of '#pragma omp` |nbsp| :placeholder:`A`:diagtext:`' are ignored`|
-+-------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wfallback
-----------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`falling back to` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------+
-
-
--Wfinal-dtor-non-final-class
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------+--------------------+--------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`class with destructor marked '`|+------------------+|:diagtext:`' cannot be inherited from`|
-| ||:diagtext:`final` || |
-| |+------------------+| |
-| ||:diagtext:`sealed`|| |
-| |+------------------+| |
-+---------------------------------------------------------------------+--------------------+--------------------------------------+
-
-
--Wfixed-enum-extension
-----------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`enumeration types with a fixed underlying type are a Clang extension`|
-+-----------------------------------------------------------------------------------------------------------+
-
-
--Wflag-enum
------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`enumeration value` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is out of range of flags in enumeration type` |nbsp| :placeholder:`B`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wflexible-array-extensions
----------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may not be used as an array element due to flexible array member`|
-+-------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may not be nested in a struct due to flexible array member`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-
--Wfloat-conversion
-------------------
-Also controls `-Wfloat-overflow-conversion`_, `-Wfloat-zero-conversion`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion turns floating-point number into integer:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wfloat-equal
--------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`comparing floating point with == or != is unsafe`|
-+---------------------------------------------------------------------------------------+
-
-
--Wfloat-overflow-conversion
----------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion of out of range value from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is undefined`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wfloat-zero-conversion
------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wfor-loop-analysis
--------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is` |nbsp| |+-----------------------+| |nbsp| :diagtext:`both in the loop header and in the loop body`|
-| ||:diagtext:`decremented`|| |
-| |+-----------------------+| |
-| ||:diagtext:`incremented`|| |
-| |+-----------------------+| |
-+-----------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------+
-
-+-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable`|+----------------------------------------------------------------------------------------------------------------------------------------------------------+| |nbsp| :diagtext:`used in loop condition not modified in loop body`|
-| ||:diagtext:`s` || |
-| |+----------------------------------------------------------------------------------------------------------------------------------------------------------+| |
-| ||+------------------------+ || |
-| ||| |nbsp| :placeholder:`B`| || |
-| ||+------------------------+ || |
-| |+----------------------------------------------------------------------------------------------------------------------------------------------------------+| |
-| ||+------------------------------------------------------------------------------------+ || |
-| |||:diagtext:`s` |nbsp| :placeholder:`B` |nbsp| :diagtext:`and` |nbsp| :placeholder:`C`| || |
-| ||+------------------------------------------------------------------------------------+ || |
-| |+----------------------------------------------------------------------------------------------------------------------------------------------------------+| |
-| ||+-------------------------------------------------------------------------------------------------------------------+ || |
-| |||:diagtext:`s` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`, and` |nbsp| :placeholder:`D`| || |
-| ||+-------------------------------------------------------------------------------------------------------------------+ || |
-| |+----------------------------------------------------------------------------------------------------------------------------------------------------------+| |
-| ||+--------------------------------------------------------------------------------------------------------------------------------------------------------+|| |
-| |||:diagtext:`s` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`,` |nbsp| :placeholder:`D`:diagtext:`, and` |nbsp| :placeholder:`E`||| |
-| ||+--------------------------------------------------------------------------------------------------------------------------------------------------------+|| |
-| |+----------------------------------------------------------------------------------------------------------------------------------------------------------+| |
-+-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------+
-
-
--Wformat
---------
-This diagnostic is enabled by default.
-
-Also controls `-Wformat-extra-args`_, `-Wformat-invalid-specifier`_, `-Wformat-security`_, `-Wformat-y2k`_, `-Wformat-zero-length`_, `-Wnonnull`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using '%%P' format specifier without precision`|
-+-------------------------------------------------------------------------------------+
-
-+---------------------------+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------------------------+| |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' should not be used as format arguments; add an explicit cast to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`instead`|
-| ||:diagtext:`values of type` || |
-| |+--------------------------------------------+| |
-| ||:diagtext:`enum values with underlying type`|| |
-| |+--------------------------------------------+| |
-+---------------------------+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using '`:placeholder:`A`:diagtext:`' format specifier, but argument has boolean value`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format specifies type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`but the argument has` |nbsp| |+---------------------------+| |nbsp| :placeholder:`B`|
-| ||:diagtext:`type` || |
-| |+---------------------------+| |
-| ||:diagtext:`underlying type`|| |
-| |+---------------------------+| |
-+------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using '`:placeholder:`A`:diagtext:`' format specifier annotation outside of os\_log()/os\_trace()`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------+-----------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invalid position specified for` |nbsp| |+---------------------------+|
-| ||:diagtext:`field width` ||
-| |+---------------------------+|
-| ||:diagtext:`field precision`||
-| |+---------------------------+|
-+-----------------------------------------------------------------------------+-----------------------------+
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cannot mix positional and non-positional arguments in format string`|
-+----------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`length modifier '`:placeholder:`A`:diagtext:`' results in undefined behavior or no effect with '`:placeholder:`B`:diagtext:`' conversion specifier`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format string should not be a wide string`|
-+--------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`position arguments in format strings start counting at 1 (not 0)`|
-+-------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format string missing`|
-+------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`object format flags cannot be used with '`:placeholder:`A`:diagtext:`' conversion specifier`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------+-----------------+-------------------------------------+-----------------------+--------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`|+---------------+|:diagtext:`' specified field` |nbsp| |+---------------------+| |nbsp| :diagtext:`is missing a matching 'int' argument`|
-| ||:diagtext:`\*` || ||:diagtext:`width` || |
-| |+---------------+| |+---------------------+| |
-| ||:diagtext:`.\*`|| ||:diagtext:`precision`|| |
-| |+---------------+| |+---------------------+| |
-+----------------------------------------+-----------------+-------------------------------------+-----------------------+--------------------------------------------------------+
-
-+----------------------------------------------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`field` |nbsp| |+---------------------+| |nbsp| :diagtext:`should have type` |nbsp| :placeholder:`B`:diagtext:`, but argument has type` |nbsp| :placeholder:`C`|
-| ||:diagtext:`width` || |
-| |+---------------------+| |
-| ||:diagtext:`precision`|| |
-| |+---------------------+| |
-+----------------------------------------------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing object format flag`|
-+-----------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format string contains '\\0' within the string body`|
-+------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format string is not null-terminated`|
-+---------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`flag '`:placeholder:`A`:diagtext:`' is ignored when flag '`:placeholder:`B`:diagtext:`' is present`|
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incomplete format specifier`|
-+------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`more '%%' conversions than data arguments`|
-+--------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is not a valid object format flag`|
-+-------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`flag '`:placeholder:`A`:diagtext:`' results in undefined behavior with '`:placeholder:`B`:diagtext:`' conversion specifier`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+-------------------------+------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+-----------------------+| |nbsp| :diagtext:`used with '`:placeholder:`B`:diagtext:`' conversion specifier, resulting in undefined behavior`|
-| ||:diagtext:`field width`|| |
-| |+-----------------------+| |
-| ||:diagtext:`precision` || |
-| |+-----------------------+| |
-+---------------------------+-------------------------+------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`data argument position '`:placeholder:`A`:diagtext:`' exceeds the number of data arguments (`:placeholder:`B`:diagtext:`)`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`zero field width in scanf format string is unused`|
-+----------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no closing '\]' for '%%\[' in scanf format string`|
-+----------------------------------------------------------------------------------------+
-
-
--Wformat-extra-args
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`data argument not used by format string`|
-+------------------------------------------------------------------------------+
-
-
--Wformat-invalid-specifier
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invalid conversion specifier '`:placeholder:`A`:diagtext:`'`|
-+--------------------------------------------------------------------------------------------------+
-
-
--Wformat-non-iso
-----------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------+----------------------------------+---------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`'` |nbsp| |+--------------------------------+| |nbsp| :diagtext:`is not supported by ISO C`|
-| ||:diagtext:`length modifier` || |
-| |+--------------------------------+| |
-| ||:diagtext:`conversion specifier`|| |
-| |+--------------------------------+| |
-+-----------------------------------------------------------------------------+----------------------------------+---------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using length modifier '`:placeholder:`A`:diagtext:`' with conversion specifier '`:placeholder:`B`:diagtext:`' is not supported by ISO C`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`positional arguments are not supported by ISO C`|
-+--------------------------------------------------------------------------------------+
-
-
--Wformat-nonliteral
--------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format string is not a string literal`|
-+----------------------------------------------------------------------------+
-
-
--Wformat-pedantic
------------------
-**Diagnostic text:**
-
-+---------------------------+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------------------------+| |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' should not be used as format arguments; add an explicit cast to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`instead`|
-| ||:diagtext:`values of type` || |
-| |+--------------------------------------------+| |
-| ||:diagtext:`enum values with underlying type`|| |
-| |+--------------------------------------------+| |
-+---------------------------+----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format specifies type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`but the argument has` |nbsp| |+---------------------------+| |nbsp| :placeholder:`B`|
-| ||:diagtext:`type` || |
-| |+---------------------------+| |
-| ||:diagtext:`underlying type`|| |
-| |+---------------------------+| |
-+------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+------------------------+
-
-
--Wformat-security
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format string is not a string literal (potentially insecure)`|
-+---------------------------------------------------------------------------------------------------+
-
-
--Wformat-type-confusion
------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format specifies type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`but the argument has` |nbsp| |+---------------------------+| |nbsp| :placeholder:`B`|
-| ||:diagtext:`type` || |
-| |+---------------------------+| |
-| ||:diagtext:`underlying type`|| |
-| |+---------------------------+| |
-+------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+------------------------+
-
-
--Wformat-y2k
-------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wformat-zero-length
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format string is empty`|
-+-------------------------------------------------------------+
-
-
--Wformat=2
-----------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wformat-nonliteral`_, `-Wformat-security`_, `-Wformat-y2k`_.
-
-
--Wfortify-source
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' will always overflow; destination buffer has size` |nbsp| :placeholder:`B`:diagtext:`, but format string expands to at least` |nbsp| :placeholder:`C`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' will always overflow; destination buffer has size` |nbsp| :placeholder:`B`:diagtext:`, but size argument is` |nbsp| :placeholder:`C`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' size argument is too large; destination buffer has size` |nbsp| :placeholder:`B`:diagtext:`, but size argument is` |nbsp| :placeholder:`C`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wfour-char-constants
----------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multi-character character constant`|
-+-------------------------------------------------------------------------+
-
-
--Wframe-address
----------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`calling '`:placeholder:`A`:diagtext:`' with a nonzero argument is unsafe`|
-+---------------------------------------------------------------------------------------------------------------+
-
-
--Wframe-larger-than=
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-+--------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`stack frame size of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`bytes in` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wframework-include-private-from-public
----------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`public framework header includes private framework header '`:placeholder:`A`:diagtext:`'`|
-+-------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wfunction-def-in-objc-container
---------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function definition inside an Objective-C container is deprecated`|
-+--------------------------------------------------------------------------------------------------------+
-
-
--Wfunction-multiversion
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`body of cpu\_dispatch function will be ignored`|
-+-------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`CPU list contains duplicate entries; attribute ignored`|
-+---------------------------------------------------------------------------------------------+
-
-
--Wfuture-compat
----------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wgcc-compat
-------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'diagnose\_if' is a clang extension`|
-+--------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'enable\_if' is a clang extension`|
-+------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`\_\_final is a GNU extension, consider using C++11 final`|
-+-----------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`GCC does not allow` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute in this position on a function definition`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'break' is bound to loop, GCC binds it to switch`|
-+---------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`GCC does not allow the 'cleanup' attribute argument to be anything other than a simple identifier`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`GCC does not allow an attribute in this position on a function declaration`|
-+-----------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`GCC does not allow the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute to be written on a type`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`GCC does not allow variable declarations in for loop initializers before C99`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is bound to current loop, GCC binds it to the enclosing loop`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wglobal-constructors
----------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration requires a global constructor`|
-+--------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration requires a global destructor`|
-+-------------------------------------------------------------------------------+
-
-
--Wglobal-isel
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`-fglobal-isel support for the '`:placeholder:`A`:diagtext:`' architecture is incomplete`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`-fglobal-isel support is incomplete for this architecture at the current optimization level`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wgnu
------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wgnu-alignof-expression`_, `-Wgnu-anonymous-struct`_, `-Wgnu-auto-type`_, `-Wgnu-binary-literal`_, `-Wgnu-case-range`_, `-Wgnu-complex-integer`_, `-Wgnu-compound-literal-initializer`_, `-Wgnu-conditional-omitted-operand`_, `-Wgnu-designator`_, `-Wgnu-empty-initializer`_, `-Wgnu-empty-struct`_, `-Wgnu-flexible-array-initializer`_, `-Wgnu-flexible-array-union-member`_, `-Wgnu-folding-constant`_, `-Wgnu-imaginary-constant`_, `-Wgnu-include-next`_, `-Wgnu-label-as-value`_, `-Wgnu-redeclared-enum`_, `-Wgnu-statement-expression`_, `-Wgnu-static-float-init`_, `-Wgnu-string-literal-operator-template`_, `-Wgnu-union-cast`_, `-Wgnu-variable-sized-type-not-at-end`_, `-Wgnu-zero-line-directive`_, `-Wgnu-zero-variadic-macro-arguments`_, `-Wredeclared-class-member`_, `-Wvla-extension`_, `-Wzero-length-array`_.
-
-
--Wgnu-alignof-expression
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`applied to an expression is a GNU extension`|
-+----------------------------------------------------------------------------------------------------------+
-
-
--Wgnu-anonymous-struct
-----------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`anonymous structs are a GNU extension`|
-+----------------------------------------------------------------------------+
-
-
--Wgnu-array-member-paren-init
------------------------------
-This diagnostic is an error by default, but the flag ``-Wno-gnu-array-member-paren-init`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`parenthesized initialization of a member array is a GNU extension`|
-+----------------------------------------------------------------------------------------------------+
-
-
--Wgnu-auto-type
----------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'\_\_auto\_type' is a GNU extension`|
-+--------------------------------------------------------------------------+
-
-
--Wgnu-binary-literal
---------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`binary integer literals are a GNU extension`|
-+----------------------------------------------------------------------------------+
-
-
--Wgnu-case-range
-----------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of GNU case range extension`|
-+----------------------------------------------------------------------+
-
-
--Wgnu-complex-integer
----------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`complex integer types are a GNU extension`|
-+--------------------------------------------------------------------------------+
-
-
--Wgnu-compound-literal-initializer
-----------------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initialization of an array` |nbsp| :diagtext:`from a compound literal` |nbsp| :diagtext:`is a GNU extension`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wgnu-conditional-omitted-operand
----------------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of GNU ?: conditional expression extension, omitting middle operand`|
-+--------------------------------------------------------------------------------------------------------------+
-
-
--Wgnu-designator
-----------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of GNU array range extension`|
-+-----------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of GNU 'missing =' extension in designator`|
-+-------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of GNU old-style field designator extension`|
-+--------------------------------------------------------------------------------------+
-
-
--Wgnu-empty-initializer
------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of GNU empty initializer extension`|
-+-----------------------------------------------------------------------------+
-
-
--Wgnu-empty-struct
-------------------
-**Diagnostic text:**
-
-+----------------------------------------------------+--------------------+--------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`empty` |nbsp| |+------------------+| |nbsp| :diagtext:`is a GNU extension`|
-| ||:diagtext:`struct`|| |
-| |+------------------+| |
-| ||:diagtext:`union` || |
-| |+------------------+| |
-+----------------------------------------------------+--------------------+--------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------+-----------------------+--------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`flexible array member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in otherwise empty` |nbsp| |+---------------------+| |nbsp| :diagtext:`is a GNU extension`|
-| ||:diagtext:`struct` || |
-| |+---------------------+| |
-| ||:diagtext:`interface`|| |
-| |+---------------------+| |
-| ||:diagtext:`union` || |
-| |+---------------------+| |
-| ||:diagtext:`class` || |
-| |+---------------------+| |
-| ||:diagtext:`enum` || |
-| |+---------------------+| |
-+----------------------------------------------------------------------------------------------------------------------------------+-----------------------+--------------------------------------+
-
-+---------------------------+--------------------+------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------+| |nbsp| :diagtext:`without named members is a GNU extension`|
-| ||:diagtext:`struct`|| |
-| |+------------------+| |
-| ||:diagtext:`union` || |
-| |+------------------+| |
-+---------------------------+--------------------+------------------------------------------------------------+
-
-
--Wgnu-flexible-array-initializer
---------------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`flexible array initialization is a GNU extension`|
-+---------------------------------------------------------------------------------------+
-
-
--Wgnu-flexible-array-union-member
----------------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`flexible array member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in a union is a GNU extension`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wgnu-folding-constant
-----------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expression is not an` |nbsp| |+--------------------+| |nbsp| :diagtext:`constant expression; folding it to a constant is a GNU extension`|
-| ||:diagtext:`integer` || |
-| |+--------------------+| |
-| ||:diagtext:`integral`|| |
-| |+--------------------+| |
-+-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable length array folded to constant array as an extension`|
-+-----------------------------------------------------------------------------------------------------+
-
-
--Wgnu-imaginary-constant
-------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`imaginary constants are a GNU extension`|
-+------------------------------------------------------------------------------+
-
-
--Wgnu-include-next
-------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#include\_next is a language extension`|
-+-----------------------------------------------------------------------------+
-
-
--Wgnu-inline-cpp-without-extern
--------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'gnu\_inline' attribute without 'extern' in C++ treated as externally available, this changed in Clang 10`|
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wgnu-label-as-value
---------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of GNU address-of-label extension`|
-+----------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of GNU indirect-goto extension`|
-+-------------------------------------------------------------------------+
-
-
--Wgnu-redeclared-enum
----------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redeclaration of already-defined enum` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a GNU extension`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wgnu-statement-expression
---------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of GNU statement expression extension`|
-+--------------------------------------------------------------------------------+
-
-
--Wgnu-static-float-init
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`in-class initializer for static data member of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a GNU extension`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wgnu-string-literal-operator-template
---------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`string literal operator templates are a GNU extension`|
-+--------------------------------------------------------------------------------------------+
-
-
--Wgnu-union-cast
-----------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast to union type is a GNU extension`|
-+----------------------------------------------------------------------------+
-
-
--Wgnu-variable-sized-type-not-at-end
-------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wgnu-zero-line-directive
--------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#line directive with zero argument is a GNU extension`|
-+--------------------------------------------------------------------------------------------+
-
-
--Wgnu-zero-variadic-macro-arguments
------------------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`must specify at least one argument for '...' parameter of variadic macro`|
-+---------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`token pasting of ',' and \_\_VA\_ARGS\_\_ is a GNU extension`|
-+---------------------------------------------------------------------------------------------------+
-
-
--Wheader-guard
---------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is used as a header guard here, followed by #define of a
diff erent macro`|
-+---------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wheader-hygiene
-----------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using namespace directive in global context in header`|
-+--------------------------------------------------------------------------------------------+
-
-
--Whip-only
-----------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is ignored since it is only supported for HIP`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-
--Widiomatic-parentheses
------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using the result of an assignment as a condition without parentheses`|
-+-----------------------------------------------------------------------------------------------------------+
-
-
--Wignored-attributes
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'trivial\_abi' cannot be applied to` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------------+
-
-+---------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-| ||:diagtext:`alias`|| |
-| |+-----------------+| |
-| ||:diagtext:`ifunc`|| |
-| |+-----------------+| |
-+---------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+-------------------+----------------------------------------------------------------------------------------------------------------+----------------------+
-|:warning:`warning:` |nbsp| |+-----------------+| |nbsp| :diagtext:`will not be in section '`:placeholder:`A`:diagtext:`' but in the same section as the` |nbsp| |+--------------------+|
-| ||:diagtext:`alias`|| ||:diagtext:`aliasee` ||
-| |+-----------------+| |+--------------------+|
-| ||:diagtext:`ifunc`|| ||:diagtext:`resolver`||
-| |+-----------------+| |+--------------------+|
-+---------------------------+-------------------+----------------------------------------------------------------------------------------------------------------+----------------------+
-
-+----------------------------------------------------------------------+------------------------+-------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'abi\_tag' attribute on` |nbsp| |+----------------------+| |nbsp| :diagtext:`namespace ignored`|
-| ||:diagtext:`non-inline`|| |
-| |+----------------------+| |
-| ||:diagtext:`anonymous` || |
-| |+----------------------+| |
-+----------------------------------------------------------------------+------------------------+-------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`after definition is ignored`|
-+-----------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'cmse\_nonsecure\_entry' cannot be applied to functions with internal linkage`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'dllexport' attribute ignored on explicit instantiation definition`|
-+---------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute can only be applied to instance variables or properties`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute ignored`|
-+--------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute ignored for field of type` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute ignored on inline function`|
-+---------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' attribute cannot be specified on a definition`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored, because it is not attached to a declaration`|
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'nonnull' attribute applied to function with no pointer arguments`|
-+--------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'nonnull' attribute when used on parameters takes no arguments`|
-+-----------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute ignored when parsing type`|
-+--------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to a pointer or reference (`:placeholder:`B` |nbsp| :diagtext:`is invalid)`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+------------------------------+-------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to`|+----------------------------+| |nbsp| :diagtext:`pointer arguments`|
-| || || |
-| |+----------------------------+| |
-| || |nbsp| :diagtext:`constant`|| |
-| |+----------------------------+| |
-+----------------------------------------------------------------------------------------+------------------------------+-------------------------------------+
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attribute declaration must precede definition`|
-+------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to return values that are pointers`|
-+------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to return values that are pointers or references`|
-+--------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'sentinel' attribute requires named arguments`|
-+------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------+-----------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'sentinel' attribute only supported for variadic` |nbsp| |+---------------------+|
-| ||:diagtext:`functions`||
-| |+---------------------+|
-| ||:diagtext:`blocks` ||
-| |+---------------------+|
-+-----------------------------------------------------------------------------------------------+-----------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute argument not supported:` |nbsp| :placeholder:`B`|
-+------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown visibility` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+--------------------------------+----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot be applied to` |nbsp| |+------------------------------+| |nbsp| :diagtext:`without return value`|
-| ||:diagtext:`functions` || |
-| |+------------------------------+| |
-| ||:diagtext:`Objective-C method`|| |
-| |+------------------------------+| |
-+------------------------------------------------------------------------------------------------------------------------+--------------------------------+----------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`\_\_weak attribute cannot be specified on a field declaration`|
-+----------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`\_\_weak attribute cannot be specified on an automatic variable when ARC is not enabled`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to` |nbsp| |+-------------------------------------------------+|
-| ||:diagtext:`functions` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`unions` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`variables and functions` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`functions and methods` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`functions, methods and blocks` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`functions, methods, and parameters` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`variables` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`variables and fields` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`variables, data members and tag types`||
-| |+-------------------------------------------------+|
-| ||:diagtext:`types and namespaces` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`variables, functions and classes` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`kernel functions` ||
-| |+-------------------------------------------------+|
-| ||:diagtext:`non-K&R-style functions` ||
-| |+-------------------------------------------------+|
-+------------------------------------------------------------------------------------------------+---------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored, because it cannot be applied to omitted return type`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------+---------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`calling convention is not supported` |nbsp| |+-------------------------------------+|
-| ||:diagtext:`for this target` ||
-| |+-------------------------------------+|
-| ||:diagtext:`on variadic function` ||
-| |+-------------------------------------+|
-| ||:diagtext:`on constructor/destructor`||
-| |+-------------------------------------+|
-| ||:diagtext:`on builtin function` ||
-| |+-------------------------------------+|
-+----------------------------------------------------------------------------------------------------------+---------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored, because it cannot be applied to a type`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring \_\_declspec(allocator) because the function return type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not a pointer or reference type`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+-----------------------+----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is ignored, place it after "`|+---------------------+|:diagtext:`" to apply attribute to type declaration`|
-| ||:diagtext:`class` || |
-| |+---------------------+| |
-| ||:diagtext:`struct` || |
-| |+---------------------+| |
-| ||:diagtext:`interface`|| |
-| |+---------------------+| |
-| ||:diagtext:`union` || |
-| |+---------------------+| |
-| ||:diagtext:`enum` || |
-| |+---------------------+| |
-+------------------------------------------------------------------------------------------------------------------------+-----------------------+----------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'deprecated' attribute on anonymous namespace ignored`|
-+--------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`redeclared inline;` |nbsp| :placeholder:`B` |nbsp| :diagtext:`attribute ignored`|
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is already applied with
diff erent parameters`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is already applied`|
-+--------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`Objective-C GC does not allow weak variables on the stack`|
-+------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'gnu\_inline' attribute requires function to be marked 'inline', attribute ignored`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------+------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`inheritance model ignored on` |nbsp| |+----------------------------------+|
-| ||:diagtext:`primary template` ||
-| |+----------------------------------+|
-| ||:diagtext:`partial specialization`||
-| |+----------------------------------+|
-+---------------------------------------------------------------------------+------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------+-----------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'objc\_externally\_retained' can only be applied to local variables` |nbsp| |+---------------------------------+|
-| ||:diagtext:`of retainable type` ||
-| |+---------------------------------+|
-| ||:diagtext:`with strong ownership`||
-| |+---------------------------------+|
-+------------------------------------------------------------------------------------------------------------------+-----------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'internal\_linkage' attribute on a non-static local variable is ignored`|
-+--------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+--------------------+-------------------------------------------------------------------------------------+----------------------------------+
-|:warning:`warning:` |nbsp| |+------------------+| |nbsp| :diagtext:`'interrupt' attribute only applies to functions that have` |nbsp| |+--------------------------------+|
-| ||:diagtext:`MIPS` || ||:diagtext:`no parameters` ||
-| |+------------------+| |+--------------------------------+|
-| ||:diagtext:`MSP430`|| ||:diagtext:`a 'void' return type`||
-| |+------------------+| |+--------------------------------+|
-| ||:diagtext:`RISC-V`|| | |
-| |+------------------+| | |
-+---------------------------+--------------------+-------------------------------------------------------------------------------------+----------------------------------+
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`qualifiers after comma in declarator list are ignored`|
-+--------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'mig\_server\_routine' attribute only applies to routines that return a kern\_return\_t`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown attribute '`:placeholder:`A`:diagtext:`'`|
-+---------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'nocf\_check' attribute ignored; use -fcf-protection to enable the attribute`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'noderef' can only be used on an array or pointer type`|
-+---------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'nothrow' attribute conflicts with exception specification; attribute ignored`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------+---------------------------------------------------+------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to` |nbsp| |+-------------------------------------------------+| |nbsp| :diagtext:`parameters`|
-| ||:diagtext:`Objective-C object` || |
-| |+-------------------------------------------------+| |
-| ||:diagtext:`pointer` || |
-| |+-------------------------------------------------+| |
-| ||:diagtext:`pointer-to-CF-pointer` || |
-| |+-------------------------------------------------+| |
-| ||:diagtext:`pointer/reference-to-OSObject-pointer`|| |
-| |+-------------------------------------------------+| |
-+------------------------------------------------------------------------------------------------+---------------------------------------------------+------------------------------+
-
-+------------------------------------------------------------------------------------------------+------------------------+---------------------------------------+--------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute only applies to` |nbsp| |+----------------------+| |nbsp| :diagtext:`that return` |nbsp| |+------------------------------------+|
-| ||:diagtext:`functions` || ||:diagtext:`an Objective-C object` ||
-| |+----------------------+| |+------------------------------------+|
-| ||:diagtext:`methods` || ||:diagtext:`a pointer` ||
-| |+----------------------+| |+------------------------------------+|
-| ||:diagtext:`properties`|| ||:diagtext:`a non-retainable pointer`||
-| |+----------------------+| |+------------------------------------+|
-+------------------------------------------------------------------------------------------------+------------------------+---------------------------------------+--------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute isn't implemented by this Objective-C runtime`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`direct attribute on property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored (not implemented by this Objective-C runtime)`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is deprecated and ignored in OpenCL version` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'require\_constant\_initialization' attribute added after initialization of variable`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`repeated RISC-V 'interrupt' attribute`|
-+----------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`template parameter of a function template with the 'sycl\_kernel' attribute cannot be a non-type template parameter`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function template with 'sycl\_kernel' attribute must have a single parameter`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'sycl\_kernel' attribute only applies to a function template with at least two template parameters`|
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function template with 'sycl\_kernel' attribute must have a 'void' return type`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------+-----------------------+-------------------------------------------------------------------------------------------------+
-|: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`|
-| ||:diagtext:`alignment`|| ||:diagtext:`alignment`|| |
-| |+---------------------+| |+---------------------+| |
-| ||:diagtext:`size` || ||:diagtext:`size` || |
-| |+---------------------+| |+---------------------+| |
-+---------------------------+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------+-----------------------+-------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------+----------------------------+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`first field of a transparent union cannot have` |nbsp| |+--------------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`B`:diagtext:`; transparent\_union attribute ignored`|
-| ||:diagtext:`floating point`|| |
-| |+--------------------------+| |
-| ||:diagtext:`vector` || |
-| |+--------------------------+| |
-+---------------------------------------------------------------------------------------------+----------------------------+--------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`transparent\_union attribute can only be applied to a union definition; attribute ignored`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`transparent union definition must contain at least one field; transparent\_union attribute ignored`|
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------+-------------------------------------------------+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' only applies to` |nbsp| |+-----------------------------------------------+| |nbsp| :diagtext:`types; type here is` |nbsp| :placeholder:`C`|
-| ||:diagtext:`function` || |
-| |+-----------------------------------------------+| |
-| ||:diagtext:`pointer` || |
-| |+-----------------------------------------------+| |
-| ||:diagtext:`Objective-C object or block pointer`|| |
-| |+-----------------------------------------------+| |
-+---------------------------------------------------------------------------------------------+-------------------------------------------------+---------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`\_\_declspec attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not supported`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+-------------------------+----------------------------------+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+-----------------------+|+--------------------------------+| |nbsp| :diagtext:`'`:placeholder:`C`:diagtext:`' in the 'target' attribute string; 'target' attribute ignored`|
-| ||:diagtext:`unsupported`||| || |
-| |+-----------------------+|+--------------------------------+| |
-| ||:diagtext:`duplicate` ||| |nbsp| :diagtext:`architecture`|| |
-| |+-----------------------+|+--------------------------------+| |
-+---------------------------+-------------------------+----------------------------------+---------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'\_\_clang\_\_' is a predefined macro name, not an attribute scope specifier; did you mean '\_Clang' instead?`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wignored-optimization-argument
--------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`optimization flag '`:placeholder:`A`:diagtext:`' is not supported for target '`:placeholder:`B`:diagtext:`'`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`optimization flag '`:placeholder:`A`:diagtext:`' is not supported`|
-+--------------------------------------------------------------------------------------------------------+
-
-
--Wignored-pragma-intrinsic
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not a recognized builtin`|+----------------------------------------------------------------------------+|
-| || ||
-| |+----------------------------------------------------------------------------+|
-| ||:diagtext:`; consider including <intrin.h> to access non-builtin intrinsics`||
-| |+----------------------------------------------------------------------------+|
-+------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+
-
-
--Wignored-pragma-optimize
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'#pragma optimize' is not supported`|
-+--------------------------------------------------------------------------+
-
-
--Wignored-pragmas
------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wignored-pragma-intrinsic`_, `-Wignored-pragma-optimize`_.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------+---------------------------+-----------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected '=' following '#pragma` |nbsp| |+-------------------------+|:diagtext:`' - ignored`|
-| ||:diagtext:`align` || |
-| |+-------------------------+| |
-| ||:diagtext:`options align`|| |
-| |+-------------------------+| |
-+------------------------------------------------------------------------------+---------------------------+-----------------------+
-
-+-----------------------------------------------------------------------------------+---------------------------+-----------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invalid alignment option in '#pragma` |nbsp| |+-------------------------+|:diagtext:`' - ignored`|
-| ||:diagtext:`align` || |
-| |+-------------------------+| |
-| ||:diagtext:`options align`|| |
-| |+-------------------------+| |
-+-----------------------------------------------------------------------------------+---------------------------+-----------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`OpenCL extension end directive mismatches begin directive - ignoring`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'#pragma comment` |nbsp| :placeholder:`A`:diagtext:`' ignored`|
-+----------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing argument to debug command '`:placeholder:`A`:diagtext:`'`|
-+-------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unexpected debug command '`:placeholder:`A`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown module '`:placeholder:`A`:diagtext:`'`|
-+------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected action or ')' in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
-+------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing ':' after` |nbsp| :placeholder:`A` |nbsp| :diagtext:`- ignoring`|
-+--------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing ':' or ')' after` |nbsp| :placeholder:`A` |nbsp| :diagtext:`- ignoring`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected ',' in '#pragma` |nbsp| :placeholder:`A`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected identifier in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected 'compiler', 'lib', 'user', or a string literal for the section name in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing '(' after '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignoring`|
-+-----------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected non-wide string literal in '#pragma` |nbsp| :placeholder:`A`:diagtext:`'`|
-+------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------+---------------------------------------------------+------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected` |nbsp| |+-------------------------------------------------+| |nbsp| :diagtext:`- ignoring`|
-| ||:diagtext:`'enable', 'disable', 'begin' or 'end'`|| |
-| |+-------------------------------------------------+| |
-| ||:diagtext:`'disable'` || |
-| |+-------------------------------------------------+| |
-+-------------------------------------------------------+---------------------------------------------------+------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected ')' or ',' in '#pragma` |nbsp| :placeholder:`A`:diagtext:`'`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing ')' after '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignoring`|
-+-----------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected a stack label or a string literal for the section name in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected a string literal for the section name in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected push, pop or a string literal for the section name in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected string literal in '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignoring`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extra tokens at end of '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incorrect use of #pragma clang force\_cuda\_host\_device begin\|end`|
-+----------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'#pragma init\_seg' is only supported when targeting a Microsoft environment`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown action for '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
-+-----------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unexpected argument '`:placeholder:`A`:diagtext:`' to '#pragma` |nbsp| :placeholder:`B`:diagtext:`'`|+------------------------------------------------+|
-| || ||
-| |+------------------------------------------------+|
-| ||+----------------------------------------------+||
-| |||:diagtext:`; expected` |nbsp| :placeholder:`D`|||
-| ||+----------------------------------------------+||
-| |+------------------------------------------------+|
-+------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown action '`:placeholder:`B`:diagtext:`' for '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+--------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing argument to '#pragma` |nbsp| :placeholder:`A`:diagtext:`'`|+------------------------------------------------+|
-| || ||
-| |+------------------------------------------------+|
-| ||+----------------------------------------------+||
-| |||:diagtext:`; expected` |nbsp| :placeholder:`C`|||
-| ||+----------------------------------------------+||
-| |+------------------------------------------------+|
-+--------------------------------------------------------------------------------------------------------+--------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incorrect use of '#pragma ms\_struct on\|off' - ignored`|
-+----------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma options align=reset failed:` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected 'align' following '#pragma options' - ignored`|
-+---------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected #pragma pack parameter to be '1', '2', '4', '8', or '16'`|
-+--------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected integer or identifier in '#pragma pack' - ignored`|
-+-------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma` |nbsp| :placeholder:`A`:diagtext:`(pop, ...) failed:` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pragma pop\_macro could not pop '`:placeholder:`A`:diagtext:`', no matching push\_macro`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown OpenCL extension` |nbsp| :placeholder:`A` |nbsp| :diagtext:`- ignoring`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`known but unsupported action '`:placeholder:`B`:diagtext:`' for '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unsupported OpenCL extension` |nbsp| :placeholder:`A` |nbsp| :diagtext:`- ignoring`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected '#pragma unused' argument to be a variable name`|
-+-----------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`only variables can be arguments to '#pragma unused'`|
-+------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`undeclared variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`used as an argument for '#pragma unused'`|
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wignored-qualifiers
---------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------+------------------------------------+----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ARC` |nbsp| |+----------------------------------+| |nbsp| :diagtext:`lifetime qualifier on return type is ignored`|
-| ||:diagtext:`unused` || |
-| |+----------------------------------+| |
-| ||:diagtext:`\_\_unsafe\_unretained`|| |
-| |+----------------------------------+| |
-| ||:diagtext:`\_\_strong` || |
-| |+----------------------------------+| |
-| ||:diagtext:`\_\_weak` || |
-| |+----------------------------------+| |
-| ||:diagtext:`\_\_autoreleasing` || |
-| |+----------------------------------+| |
-+--------------------------------------------------+------------------------------------+----------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' qualifier on omitted return type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has no effect`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+---------------+------------------------------------------+------------------+-----------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' type qualifier`|+-------------+| |nbsp| :diagtext:`on return type` |nbsp| |+----------------+| |nbsp| :diagtext:`no effect`|
-| || || ||:diagtext:`has` || |
-| |+-------------+| |+----------------+| |
-| ||:diagtext:`s`|| ||:diagtext:`have`|| |
-| |+-------------+| |+----------------+| |
-+------------------------------------------------------------------------------------+---------------+------------------------------------------+------------------+-----------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' qualifier on function type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has no effect`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' qualifier on reference type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has no effect`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wimplicit
-----------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wimplicit-function-declaration`_, `-Wimplicit-int`_.
-
-
--Wimplicit-atomic-properties
-----------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`property is assumed atomic when auto-synthesizing the property`|
-+-----------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`property is assumed atomic by default`|
-+----------------------------------------------------------------------------+
-
-
--Wimplicit-const-int-float-conversion
--------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wimplicit-conversion-floating-point-to-bool
---------------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion turns floating-point number into bool:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wimplicit-exception-spec-mismatch
-----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------+----------------------+----------------------------------------------------------------------+----------------------+-------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function previously declared with an` |nbsp| |+--------------------+| |nbsp| :diagtext:`exception specification redeclared with an` |nbsp| |+--------------------+| |nbsp| :diagtext:`exception specification`|
-| ||:diagtext:`explicit`|| ||:diagtext:`implicit`|| |
-| |+--------------------+| |+--------------------+| |
-| ||:diagtext:`implicit`|| ||:diagtext:`explicit`|| |
-| |+--------------------+| |+--------------------+| |
-+-----------------------------------------------------------------------------------+----------------------+----------------------------------------------------------------------+----------------------+-------------------------------------------+
-
-
--Wimplicit-fallthrough
-----------------------
-Also controls `-Wimplicit-fallthrough-per-function`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`fallthrough annotation in unreachable code`|
-+---------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unannotated fall-through between switch labels`|
-+-------------------------------------------------------------------------------------+
-
-
--Wimplicit-fallthrough-per-function
------------------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unannotated fall-through between switch labels in partly-annotated function`|
-+------------------------------------------------------------------------------------------------------------------+
-
-
--Wimplicit-fixed-point-conversion
----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot fit within the range of values for` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wimplicit-float-conversion
----------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wimplicit-int-float-conversion`_, `-Wobjc-signed-char-bool-implicit-float-conversion`_.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion loses floating-point precision:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion when assigning computation result loses floating-point precision:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wimplicit-function-declaration
--------------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit declaration of function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is invalid in C99`|
-+------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicitly declaring library function '`:placeholder:`A`:diagtext:`' with type` |nbsp| :placeholder:`B`|
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`use of unknown builtin` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit declaration of function` |nbsp| :placeholder:`A`|
-+-----------------------------------------------------------------------------------------------+
-
-
--Wimplicit-int
---------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`type specifier missing, defaults to 'int'`|
-+--------------------------------------------------------------------------------+
-
-
--Wimplicit-int-conversion
--------------------------
-Also controls `-Wobjc-signed-char-bool-implicit-int-conversion`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`higher order bits are zeroes after implicit conversion`|
-+---------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion loses integer precision:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wimplicit-int-float-conversion
--------------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wimplicit-const-int-float-conversion`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`may lose precision`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wimplicit-retain-self
-----------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior`|
-+---------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wimplicitly-unsigned-literal
------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`integer literal is too large to be represented in a signed integer type, interpreting as unsigned`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wimport
---------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wimport-preprocessor-directive-pedantic
-----------------------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#import is a language extension`|
-+----------------------------------------------------------------------+
-
-
--Winaccessible-base
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`direct base` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is inaccessible due to ambiguity:`:placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winclude-next-absolute-path
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#include\_next in file found relative to primary source file or found by absolute path; will search from start of include path`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winclude-next-outside-header
------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#include\_next in primary source file; will search from start of include path`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-
--Wincompatible-exception-spec
------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------+----------------------+--------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`exception specifications of` |nbsp| |+--------------------+| |nbsp| :diagtext:`types
diff er`|
-| ||:diagtext:`return` || |
-| |+--------------------+| |
-| ||:diagtext:`argument`|| |
-| |+--------------------+| |
-+--------------------------------------------------------------------------+----------------------+--------------------------------+
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`target exception specification is not superset of source`|
-+-----------------------------------------------------------------------------------------------+
-
-
--Wincompatible-function-pointer-types
--------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incompatible function pointer types` |nbsp| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`assigning to
diff erent types` ||| ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`passing to parameter of
diff erent type` |||:diagtext:`; dereference with \*` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`returning from function with
diff erent return type`|||:diagtext:`; take the address with &`||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`converting between types` |||:diagtext:`; remove \*` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`initializing with expression of
diff erent type` |||:diagtext:`; remove &` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`sending to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`casting between types` || |
-| |+--------------------------------------------------------------+| |
-+----------------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+
-
-
--Wincompatible-library-redeclaration
-------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incompatible redeclaration of library function` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------+
-
-
--Wincompatible-ms-struct
-------------------------
-This diagnostic is an error by default, but the flag ``-Wno-incompatible-ms-struct`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`ms\_struct may not produce Microsoft-compatible layouts for classes with base classes or virtual functions`|
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`ms\_struct may not produce Microsoft-compatible layouts with fundamental data types with sizes that aren't a power of two`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wincompatible-pointer-types
-----------------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wincompatible-function-pointer-types`_, `-Wincompatible-pointer-types-discards-qualifiers`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incompatible pointer types` |nbsp| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`assigning to
diff erent types` ||| ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`passing to parameter of
diff erent type` |||:diagtext:`; dereference with \*` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`returning from function with
diff erent return type`|||:diagtext:`; take the address with &`||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`converting between types` |||:diagtext:`; remove \*` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`initializing with expression of
diff erent type` |||:diagtext:`; remove &` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`sending to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`casting between types` || |
-| |+--------------------------------------------------------------+| |
-+-------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+
-
-
--Wincompatible-pointer-types-discards-qualifiers
-------------------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+----------------------------------------------------------------+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------------------------------------------+| |nbsp| :diagtext:`discards qualifiers in nested pointer types`|
-| ||:diagtext:`assigning to
diff erent types` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`passing to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`returning from function with
diff erent return type`|| |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`converting between types` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`initializing with expression of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`sending to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`casting between types` || |
-| |+--------------------------------------------------------------+| |
-+---------------------------+----------------------------------------------------------------+---------------------------------------------------------------+
-
-+---------------------------+----------------------------------------------------------------+---------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------------------------------------------+| |nbsp| :diagtext:`discards qualifiers`|
-| ||:diagtext:`assigning to
diff erent types` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`passing to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`returning from function with
diff erent return type`|| |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`converting between types` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`initializing with expression of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`sending to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`casting between types` || |
-| |+--------------------------------------------------------------+| |
-+---------------------------+----------------------------------------------------------------+---------------------------------------+
-
-+---------------------------+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+-----------------------------+| |nbsp| :diagtext:`from` |nbsp| :placeholder:`B` |nbsp| :diagtext:`to` |nbsp| :placeholder:`C` |nbsp| :diagtext:`changes address space of nested pointers`|
-| ||:diagtext:`reinterpret\_cast`|| |
-| |+-----------------------------+| |
-| ||:diagtext:`C-style cast` || |
-| |+-----------------------------+| |
-+---------------------------+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wincompatible-property-type
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wincompatible-sysroot
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using sysroot for '`:placeholder:`A`:diagtext:`' but targeting '`:placeholder:`B`:diagtext:`'`|
-+------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wincomplete-framework-module-declaration
------------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`skipping '`:placeholder:`A`:diagtext:`' because module declaration of '`:placeholder:`B`:diagtext:`' lacks the 'framework' qualifier`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wincomplete-implementation
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`method definition for` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found`|
-+-----------------------------------------------------------------------------------------------------------------+
-
-
--Wincomplete-module
--------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wincomplete-umbrella`_, `-Wnon-modular-include-in-module`_.
-
-
--Wincomplete-setjmp-declaration
--------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration of built-in function '`:placeholder:`A`:diagtext:`' requires the declaration of the 'jmp\_buf' type, commonly provided in the header <setjmp.h>.`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wincomplete-umbrella
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing submodule '`:placeholder:`A`:diagtext:`'`|
-+---------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`umbrella directory '`:placeholder:`A`:diagtext:`' not found`|
-+--------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`umbrella header for module '`:placeholder:`A`:diagtext:`' does not include header '`:placeholder:`B`:diagtext:`'`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winconsistent-dllimport
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`redeclared without` |nbsp| :placeholder:`B` |nbsp| :diagtext:`attribute: previous` |nbsp| :placeholder:`B` |nbsp| :diagtext:`ignored`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`redeclared without 'dllimport' attribute: 'dllexport' attribute added`|
-+------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winconsistent-missing-destructor-override
-------------------------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`overrides a destructor but is not marked 'override'`|
-+------------------------------------------------------------------------------------------------------------------+
-
-
--Winconsistent-missing-override
--------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`overrides a member function but is not marked 'override'`|
-+-----------------------------------------------------------------------------------------------------------------------+
-
-
--Wincrement-bool
-----------------
-This diagnostic is enabled by default.
-
-Also controls `-Wdeprecated-increment-bool`_.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`ISO C++17 does not allow incrementing expression of type bool`|
-+------------------------------------------------------------------------------------------------+
-
-
--Winfinite-recursion
---------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`all paths through this function will call itself`|
-+---------------------------------------------------------------------------------------+
-
-
--Winit-self
------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Winitializer-overrides
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------+-------------------------------+------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initializer` |nbsp| |+-----------------------------+|:diagtext:`overrides prior initialization of this subobject`|
-| ||:diagtext:`partially` |nbsp| || |
-| |+-----------------------------+| |
-| || || |
-| |+-----------------------------+| |
-+----------------------------------------------------------+-------------------------------+------------------------------------------------------------+
-
-+----------------------------------------------------------+-------------------------------+------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initializer` |nbsp| |+-----------------------------+|:diagtext:`overrides prior initialization of this subobject`|
-| ||:diagtext:`partially` |nbsp| || |
-| |+-----------------------------+| |
-| || || |
-| |+-----------------------------+| |
-+----------------------------------------------------------+-------------------------------+------------------------------------------------------------+
-
-
--Winjected-class-name
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------+--------------------------------------------------------------+------------------------+---------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ specifies that qualified reference to` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a constructor name rather than a` |nbsp| |+-------------------------+| |nbsp| :diagtext:`in this context, despite preceding` |nbsp| |+----------------------+| |nbsp| :diagtext:`keyword`|
-| ||:diagtext:`template name`|| ||:diagtext:`'typename'`|| |
-| |+-------------------------+| |+----------------------+| |
-| ||:diagtext:`type` || ||:diagtext:`'template'`|| |
-| |+-------------------------+| |+----------------------+| |
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------+--------------------------------------------------------------+------------------------+---------------------------+
-
-
--Winline
---------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Winline-asm
-------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-
--Winline-new-delete
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`replacement function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot be declared 'inline'`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winstantiation-after-specialization
-------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`that occurs after an explicit specialization has no effect`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wint-conversion
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incompatible integer to pointer conversion` |nbsp| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`assigning to
diff erent types` ||| ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`passing to parameter of
diff erent type` |||:diagtext:`; dereference with \*` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`returning from function with
diff erent return type`|||:diagtext:`; take the address with &`||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`converting between types` |||:diagtext:`; remove \*` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`initializing with expression of
diff erent type` |||:diagtext:`; remove &` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`sending to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`casting between types` || |
-| |+--------------------------------------------------------------+| |
-+-----------------------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+
-
-+-----------------------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incompatible pointer to integer conversion` |nbsp| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`assigning to
diff erent types` ||| ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`passing to parameter of
diff erent type` |||:diagtext:`; dereference with \*` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`returning from function with
diff erent return type`|||:diagtext:`; take the address with &`||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`converting between types` |||:diagtext:`; remove \*` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`initializing with expression of
diff erent type` |||:diagtext:`; remove &` ||
-| |+--------------------------------------------------------------+|+-------------------------------------+|
-| ||:diagtext:`sending to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`casting between types` || |
-| |+--------------------------------------------------------------+| |
-+-----------------------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+
-
-
--Wint-conversions
------------------
-Synonym for `-Wint-conversion`_.
-
-
--Wint-in-bool-context
----------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`converting the enum constant to a boolean`|
-+--------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`converting the result of '<<' to a boolean; did you mean '(`:placeholder:`A`:diagtext:`) != 0'?`|
-+--------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wint-to-pointer-cast
----------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wint-to-void-pointer-cast`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`from smaller integer type` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wint-to-void-pointer-cast
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`from smaller integer type` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winteger-overflow
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`overflow in expression; result is` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with type` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winvalid-command-line-argument
--------------------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wignored-optimization-argument`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the given MCU supports` |nbsp| :placeholder:`A` |nbsp| :diagtext:`hardware multiply, but -mhwmult is set to` |nbsp| :placeholder:`B`:diagtext:`.`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no MCU device specified, but '-mhwmult' is set to 'auto', assuming no hardware multiply. Use -mmcu to specify a MSP430 device, or -mhwmult to set hardware multiply type explicitly.`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the given MCU does not support hardware multiply, but -mhwmult is set to` |nbsp| :placeholder:`A`:diagtext:`.`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the object size sanitizer has no effect at -O0, but is explicitly enabled:` |nbsp| :placeholder:`A`|
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`optimization level '`:placeholder:`A`:diagtext:`' is not supported; using '`:placeholder:`B`:placeholder:`C`:diagtext:`' instead`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring extension '`:placeholder:`A`:diagtext:`' because the '`:placeholder:`B`:diagtext:`' architecture does not support it`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winvalid-constexpr
--------------------
-This diagnostic is an error by default, but the flag ``-Wno-invalid-constexpr`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+-----------------------+-----------------------+--------+-------------------------+--------------------------------------------------------+
-|:error:`error:` |nbsp| |+---------------------+| |nbsp| |+-----------------------+| |nbsp| :diagtext:`never produces a constant expression`|
-| ||:diagtext:`constexpr`|| ||:diagtext:`function` || |
-| |+---------------------+| |+-----------------------+| |
-| ||:diagtext:`consteval`|| ||:diagtext:`constructor`|| |
-| |+---------------------+| |+-----------------------+| |
-+-----------------------+-----------------------+--------+-------------------------+--------------------------------------------------------+
-
-
--Winvalid-iboutlet
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+-----------------------------+| |nbsp| :diagtext:`with` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute must be an object type (invalid` |nbsp| :placeholder:`B`:diagtext:`)`|
-| ||:diagtext:`instance variable`|| |
-| |+-----------------------------+| |
-| ||:diagtext:`property` || |
-| |+-----------------------------+| |
-+---------------------------+-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`IBOutletCollection properties should be copy/strong and not assign`|
-+---------------------------------------------------------------------------------------------------------+
-
-
--Winvalid-initializer-from-system-header
-----------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invalid constructor form class in system header, should not be explicit`|
-+--------------------------------------------------------------------------------------------------------------+
-
-
--Winvalid-ios-deployment-target
--------------------------------
-This diagnostic is an error by default, but the flag ``-Wno-invalid-ios-deployment-target`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`invalid iOS deployment version '`:placeholder:`A`:diagtext:`', iOS 10 is the maximum deployment target for 32-bit targets`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winvalid-no-builtin-names
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is not a valid builtin name for` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-
--Winvalid-noreturn
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function declared 'noreturn' should not return`|
-+-------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared 'noreturn' should not return`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winvalid-offsetof
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`offset of on non-POD type` |nbsp| :placeholder:`A`|
-+----------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`offset of on non-standard-layout type` |nbsp| :placeholder:`A`|
-+----------------------------------------------------------------------------------------------------+
-
-
--Winvalid-or-nonexistent-directory
-----------------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`environment variable SCE\_ORBIS\_SDK\_DIR is set, but points to invalid or nonexistent directory '`:placeholder:`A`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unable to find` |nbsp| :placeholder:`A` |nbsp| :diagtext:`directory, expected to be in '`:placeholder:`B`:diagtext:`'`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Winvalid-partial-specialization
---------------------------------
-This diagnostic is an error by default, but the flag ``-Wno-invalid-partial-specialization`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+-----------------------+----------------------+-----------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| |+--------------------+| |nbsp| :diagtext:`template partial specialization is not more specialized than the primary template`|
-| ||:diagtext:`class` || |
-| |+--------------------+| |
-| ||:diagtext:`variable`|| |
-| |+--------------------+| |
-+-----------------------+----------------------+-----------------------------------------------------------------------------------------------------+
-
-
--Winvalid-pch
--------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Winvalid-pp-token
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`empty character constant`|
-+---------------------------------------------------------------+
-
-+------------------------------------------------------------------+-----------------+-----------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing terminating` |nbsp| |+---------------+| |nbsp| :diagtext:`character`|
-| ||:diagtext:`'` || |
-| |+---------------+| |
-| ||:diagtext:`'"'`|| |
-| |+---------------+| |
-+------------------------------------------------------------------+-----------------+-----------------------------+
-
-
--Winvalid-source-encoding
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`illegal character encoding in character literal`|
-+--------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`illegal character encoding in string literal`|
-+-----------------------------------------------------------------------------------+
-
-
--Winvalid-token-paste
----------------------
-This diagnostic is an error by default, but the flag ``-Wno-invalid-token-paste`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`pasting formed '`:placeholder:`A`:diagtext:`', an invalid preprocessing token`|
-+----------------------------------------------------------------------------------------------------------------+
-
-
--Wjump-seh-finally
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`jump out of \_\_finally block has undefined behavior`|
-+-------------------------------------------------------------------------------------------+
-
-
--Wkeyword-compat
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`keyword '`:placeholder:`A`:diagtext:`' will be made available as an identifier` |nbsp| |+-----------------------------------------------------+|
-| ||:diagtext:`here` ||
-| |+-----------------------------------------------------+|
-| ||:diagtext:`for the remainder of the translation unit`||
-| |+-----------------------------------------------------+|
-+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------+
-
-
--Wkeyword-macro
----------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`keyword is hidden by macro definition`|
-+----------------------------------------------------------------------------+
-
-
--Wknr-promoted-parameter
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`promoted type of K&R function parameter is not compatible with parameter type` |nbsp| :diagtext:`declared in a previous prototype`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wlanguage-extension-token
---------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extension used`|
-+-----------------------------------------------------+
-
-
--Wlarge-by-value-copy
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a large (`:placeholder:`B` |nbsp| :diagtext:`bytes) pass-by-value argument; pass it by reference instead ?`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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 ?`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wliblto
---------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wliteral-conversion
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion of out of range value from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is undefined`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wliteral-range
----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`magnitude of floating-point constant too large for type` |nbsp| :placeholder:`A`:diagtext:`; maximum is` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`magnitude of floating-point constant too small for type` |nbsp| :placeholder:`A`:diagtext:`; minimum is` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wlocal-type-template-args
---------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wc++98-compat-local-type-template-args`_.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`template argument uses local type` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------------------------+
-
-
--Wlogical-not-parentheses
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------+------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`logical not is only applied to the left hand side of this` |nbsp| |+----------------------------+|
-| ||:diagtext:`comparison` ||
-| |+----------------------------+|
-| ||:diagtext:`bitwise operator`||
-| |+----------------------------+|
-+--------------------------------------------------------------------------------------------------------+------------------------------+
-
-
--Wlogical-op-parentheses
-------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'&&' within '\|\|'`|
-+---------------------------------------------------------+
-
-
--Wlong-long
------------
-Also controls `-Wc++11-long-long`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'long long' is an extension when C99 mode is not enabled`|
-+-----------------------------------------------------------------------------------------------+
-
-
--Wloop-analysis
----------------
-Controls `-Wfor-loop-analysis`_, `-Wrange-loop-analysis`_.
-
-
--Wmacro-redefined
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`macro redefined`|
-+------------------------------------------------------------------------------+
-
-
--Wmain
-------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ does not allow 'main' to be used by a program`|
-+--------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'main' is not allowed to be declared \_Noreturn`|
-+--------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'main' is not allowed to be declared variadic`|
-+------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`only one parameter on 'main' declaration`|
-+-------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable named 'main' with external linkage has undefined behavior`|
-+---------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`bool literal returned from 'main'`|
-+------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'main' should not be declared static`|
-+---------------------------------------------------------------------------+
-
-
--Wmain-return-type
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`return type of 'main' is not 'int'`|
-+-------------------------------------------------------------------------+
-
-
--Wmalformed-warning-check
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`\_\_has\_warning expected option name (e.g. "-Wundef")`|
-+---------------------------------------------------------------------------------------------+
-
-
--Wmany-braces-around-scalar-init
---------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------+----------------------------+-----------------------+
-|:warning:`warning:` |nbsp| :diagtext:`too many braces around` |nbsp| |+--------------------------+|:diagtext:`initializer`|
-| ||:diagtext:`scalar` |nbsp| || |
-| |+--------------------------+| |
-| || || |
-| |+--------------------------+| |
-+---------------------------------------------------------------------+----------------------------+-----------------------+
-
-
--Wmax-tokens
-------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the number of preprocessor source tokens (`:placeholder:`A`:diagtext:`) exceeds this token limit (`:placeholder:`B`:diagtext:`)`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the total number of preprocessor source tokens (`:placeholder:`A`:diagtext:`) exceeds the token limit (`:placeholder:`B`:diagtext:`)`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
-The warning is issued if the number of pre-processor tokens exceeds
-the token limit, which can be set in three ways:
-
-1. As a limit at a specific point in a file, using the ``clang max_tokens_here``
- pragma:
-
- .. code-block: c++
- #pragma clang max_tokens_here 1234
-
-2. As a per-translation unit limit, using the ``-fmax-tokens=`` command-line
- flag:
-
- .. code-block: console
- clang -c a.cpp -fmax-tokens=1234
-
-3. As a per-translation unit limit using the ``clang max_tokens_total`` pragma,
- which works like and overrides the ``-fmax-tokens=`` flag:
-
- .. code-block: c++
- #pragma clang max_tokens_total 1234
-
-These limits can be helpful in limiting code growth through included files.
-
-Setting a token limit of zero means no limit.
-
--Wmax-unsigned-zero
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------+---------------------------------------+------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`taking the max of` |nbsp| |+-------------------------------------+| |nbsp| :diagtext:`is always equal to the other value`|
-| ||:diagtext:`a value and unsigned zero`|| |
-| |+-------------------------------------+| |
-| ||:diagtext:`unsigned zero and a value`|| |
-| |+-------------------------------------+| |
-+----------------------------------------------------------------+---------------------------------------+------------------------------------------------------+
-
-
--Wmemset-transposed-args
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+-----------------------------------------------------+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+---------------------------------------------------+|:diagtext:`; did you mean to transpose the last two arguments?`|
-| ||:diagtext:`'size' argument to memset is '0'` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`setting buffer to a 'sizeof' expression`|| |
-| |+---------------------------------------------------+| |
-+---------------------------+-----------------------------------------------------+---------------------------------------------------------------+
-
-
--Wmemsize-comparison
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`size argument in` |nbsp| :placeholder:`A` |nbsp| :diagtext:`call is a comparison`|
-+-----------------------------------------------------------------------------------------------------------------------+
-
-
--Wmethod-signatures
--------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting parameter types in implementation of` |nbsp| :placeholder:`A`:diagtext:`:` |nbsp| :placeholder:`B` |nbsp| :diagtext:`vs` |nbsp| :placeholder:`C`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting return type in implementation of` |nbsp| :placeholder:`A`:diagtext:`:` |nbsp| :placeholder:`B` |nbsp| :diagtext:`vs` |nbsp| :placeholder:`C`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft
------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Winconsistent-dllimport`_, `-Wmicrosoft-anon-tag`_, `-Wmicrosoft-cast`_, `-Wmicrosoft-charize`_, `-Wmicrosoft-comment-paste`_, `-Wmicrosoft-const-init`_, `-Wmicrosoft-cpp-macro`_, `-Wmicrosoft-default-arg-redefinition`_, `-Wmicrosoft-drectve-section`_, `-Wmicrosoft-end-of-file`_, `-Wmicrosoft-enum-forward-reference`_, `-Wmicrosoft-enum-value`_, `-Wmicrosoft-exception-spec`_, `-Wmicrosoft-explicit-constructor-call`_, `-Wmicrosoft-extra-qualification`_, `-Wmicrosoft-fixed-enum`_, `-Wmicrosoft-flexible-array`_, `-Wmicrosoft-goto`_, `-Wmicrosoft-include`_, `-Wmicrosoft-mutable-reference`_, `-Wmicrosoft-pure-definition`_, `-Wmicrosoft-redeclare-static`_, `-Wmicrosoft-sealed`_, `-Wmicrosoft-template`_, `-Wmicrosoft-union-member-reference`_, `-Wmicrosoft-unqualified-friend`_, `-Wmicrosoft-using-decl`_, `-Wmicrosoft-void-pseudo-dtor`_.
-
-
--Wmicrosoft-anon-tag
---------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------+--------------------+---------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`types declared in an anonymous` |nbsp| |+------------------+| |nbsp| :diagtext:`are a Microsoft extension`|
-| ||:diagtext:`struct`|| |
-| |+------------------+| |
-| ||:diagtext:`union` || |
-| |+------------------+| |
-+-----------------------------------------------------------------------------+--------------------+---------------------------------------------+
-
-+--------------------------------------------------------+---------------------+---------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`anonymous` |nbsp| |+-------------------+| |nbsp| :diagtext:`are a Microsoft extension`|
-| ||:diagtext:`structs`|| |
-| |+-------------------+| |
-| ||:diagtext:`unions` || |
-| |+-------------------+| |
-+--------------------------------------------------------+---------------------+---------------------------------------------+
-
-
--Wmicrosoft-cast
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`static\_cast between pointer-to-function and pointer-to-object is a Microsoft extension`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-charize
--------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`charizing operator #@ is a Microsoft extension`|
-+-------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-comment-paste
--------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pasting two '/' tokens into a '//' comment is a Microsoft extension`|
-+----------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-const-init
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`default initialization of an object of const type` |nbsp| :placeholder:`A`|+---------------------------------------------------------------+| |nbsp| :diagtext:`is a Microsoft extension`|
-| || || |
-| |+---------------------------------------------------------------+| |
-| || |nbsp| :diagtext:`without a user-provided default constructor`|| |
-| |+---------------------------------------------------------------+| |
-+----------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------+--------------------------------------------+
-
-
--Wmicrosoft-cpp-macro
----------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`C++ operator` |nbsp| :placeholder:`A` |nbsp| :diagtext:`(aka` |nbsp| :placeholder:`B`:diagtext:`) used as a macro name`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-default-arg-redefinition
-------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redefinition of default argument`|
-+-----------------------------------------------------------------------+
-
-
--Wmicrosoft-drectve-section
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma` |nbsp| :placeholder:`A`:diagtext:`(".drectve") has undefined behavior, use #pragma comment(linker, ...) instead`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-end-of-file
------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`treating Ctrl-Z as end-of-file is a Microsoft extension`|
-+----------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-enum-forward-reference
-----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`forward references to 'enum' types are a Microsoft extension`|
-+---------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-enum-value
-----------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`enumerator value is not representable in the underlying type` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-exception-spec
---------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`exception specification of '...' is a Microsoft extension`|
-+------------------------------------------------------------------------------------------------+
-
-+---------------------------+----------------------------------+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------------+|:diagtext:`incomplete type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is not allowed in exception specification`|
-| || || |
-| |+--------------------------------+| |
-| ||:diagtext:`pointer to` |nbsp| || |
-| |+--------------------------------+| |
-| ||:diagtext:`reference to` |nbsp| || |
-| |+--------------------------------+| |
-+---------------------------+----------------------------------+----------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`exception specification in declaration does not match previous declaration`|
-+-----------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`exception specification in explicit instantiation does not match instantiated one`|
-+------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is missing exception specification '`:placeholder:`B`:diagtext:`'`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`exception specification of overriding function is more lax than base version`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-exists
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------+---------------------------------+--------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`dependent` |nbsp| |+-------------------------------+| |nbsp| :diagtext:`declarations are ignored`|
-| ||:diagtext:`\_\_if\_not\_exists`|| |
-| |+-------------------------------+| |
-| ||:diagtext:`\_\_if\_exists` || |
-| |+-------------------------------+| |
-+--------------------------------------------------------+---------------------------------+--------------------------------------------+
-
-
--Wmicrosoft-explicit-constructor-call
--------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit constructor calls are a Microsoft extension`|
-+-------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-extra-qualification
--------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extra qualification on member` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-fixed-enum
-----------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`enumeration types with a fixed underlying type are a Microsoft extension`|
-+---------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-flexible-array
---------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------+-----------------------+--------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`flexible array member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in otherwise empty` |nbsp| |+---------------------+| |nbsp| :diagtext:`is a Microsoft extension`|
-| ||:diagtext:`struct` || |
-| |+---------------------+| |
-| ||:diagtext:`interface`|| |
-| |+---------------------+| |
-| ||:diagtext:`union` || |
-| |+---------------------+| |
-| ||:diagtext:`class` || |
-| |+---------------------+| |
-| ||:diagtext:`enum` || |
-| |+---------------------+| |
-+----------------------------------------------------------------------------------------------------------------------------------+-----------------------+--------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`flexible array member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in a union is a Microsoft extension`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-goto
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`jump from this goto statement to its label is a Microsoft extension`|
-+----------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-inaccessible-base
------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`accessing inaccessible direct base` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is a Microsoft extension`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-include
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#include resolved using non-portable Microsoft search rules as:` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-mutable-reference
------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'mutable' on a reference type is a Microsoft extension`|
-+---------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-pure-definition
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function definition with pure-specifier is a Microsoft extension`|
-+-------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-redeclare-static
-----------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redeclaring non-static` |nbsp| :placeholder:`A` |nbsp| :diagtext:`as static is a Microsoft extension`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-sealed
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'sealed' keyword is a Microsoft extension`|
-+--------------------------------------------------------------------------------+
-
-
--Wmicrosoft-template
---------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wmicrosoft-template-shadow`_.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`duplicate explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored as a Microsoft extension`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using the undeclared type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`as a default template argument is a Microsoft extension`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-type template argument containing a dereference operation is a Microsoft extension`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+--------------------------------------------+
-|:warning:`warning:` |nbsp| |+-------------------------------------+| |nbsp| :diagtext:`specialization of` |nbsp| :placeholder:`B` |nbsp| :diagtext:`not in` |nbsp| |+----------------------------------------------------------------------------------------+| |nbsp| :diagtext:`is a Microsoft extension`|
-| ||:diagtext:`class template` || ||+---------------------------------------------------------+ || |
-| |+-------------------------------------+| |||:diagtext:`a namespace enclosing` |nbsp| :placeholder:`C`| || |
-| ||:diagtext:`class template partial` || ||+---------------------------------------------------------+ || |
-| |+-------------------------------------+| |+----------------------------------------------------------------------------------------+| |
-| ||:diagtext:`variable template` || ||+--------------------------------------------------------------------------------------+|| |
-| |+-------------------------------------+| |||:diagtext:`class` |nbsp| :placeholder:`C` |nbsp| :diagtext:`or an enclosing namespace`||| |
-| ||:diagtext:`variable template partial`|| ||+--------------------------------------------------------------------------------------+|| |
-| |+-------------------------------------+| |+----------------------------------------------------------------------------------------+| |
-| ||:diagtext:`function template` || | | |
-| |+-------------------------------------+| | | |
-| ||:diagtext:`member function` || | | |
-| |+-------------------------------------+| | | |
-| ||:diagtext:`static data member` || | | |
-| |+-------------------------------------+| | | |
-| ||:diagtext:`member class` || | | |
-| |+-------------------------------------+| | | |
-| ||:diagtext:`member enumeration` || | | |
-| |+-------------------------------------+| | | |
-+---------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+--------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`template argument for template type parameter must be a type; omitted 'typename' is a Microsoft extension`|
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'static' can only be specified inside the class definition`|
-+-------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-template-shadow
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`shadows template parameter`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-union-member-reference
-----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`union member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has reference type` |nbsp| :placeholder:`B`:diagtext:`, which is a Microsoft extension`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-unqualified-friend
-------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-using-decl
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using declaration referring to inaccessible member '`:placeholder:`A`:diagtext:`' (which refers to accessible member '`:placeholder:`B`:diagtext:`') is a Microsoft compatibility extension`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmicrosoft-void-pseudo-dtor
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pseudo-destructors on type void are a Microsoft extension`|
-+------------------------------------------------------------------------------------------------+
-
-
--Wmisleading-indentation
-------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------+-------------------+-------------+
-|:warning:`warning:` |nbsp| :diagtext:`misleading indentation; statement is not part of the previous '`|+-----------------+|:diagtext:`'`|
-| ||:diagtext:`if` || |
-| |+-----------------+| |
-| ||:diagtext:`else` || |
-| |+-----------------+| |
-| ||:diagtext:`for` || |
-| |+-----------------+| |
-| ||:diagtext:`while`|| |
-| |+-----------------+| |
-+------------------------------------------------------------------------------------------------------+-------------------+-------------+
-
-
--Wmismatched-new-delete
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------+------------------+---------------------------------------------------------------+------------------+-----------------------------------+------------------+--------------+
-|:warning:`warning:` |nbsp| :diagtext:`'delete`|+----------------+|:diagtext:`' applied to a pointer that was allocated with 'new`|+----------------+|:diagtext:`'; did you mean 'delete`|+----------------+|:diagtext:`'?`|
-| || || ||:diagtext:`\[\]`|| ||:diagtext:`\[\]`|| |
-| |+----------------+| |+----------------+| |+----------------+| |
-| ||:diagtext:`\[\]`|| || || || || |
-| |+----------------+| |+----------------+| |+----------------+| |
-+----------------------------------------------+------------------+---------------------------------------------------------------+------------------+-----------------------------------+------------------+--------------+
-
-
--Wmismatched-parameter-types
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting parameter types in implementation of` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------------------------------------+
-
-
--Wmismatched-return-types
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting return type in implementation of` |nbsp| :placeholder:`A`|
-+-----------------------------------------------------------------------------------------------------------+
-
-
--Wmismatched-tags
------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------+--------------------------+------------------------------+-----------------------------------------------------------+--------------------------+------------------------------+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`C` |nbsp| :diagtext:`defined as` |nbsp| |+------------------------+|+----------------------------+| |nbsp| :diagtext:`here but previously declared as` |nbsp| |+------------------------+|+----------------------------+|:diagtext:`; this is valid, but may result in linker errors under the Microsoft C++ ABI`|
-| ||:diagtext:`a struct` ||| || ||:diagtext:`a struct` ||| || |
-| |+------------------------+|+----------------------------+| |+------------------------+|+----------------------------+| |
-| ||:diagtext:`an interface`||| |nbsp| :diagtext:`template`|| ||:diagtext:`an interface`||| |nbsp| :diagtext:`template`|| |
-| |+------------------------+|+----------------------------+| |+------------------------+|+----------------------------+| |
-| ||:diagtext:`a class` || | ||:diagtext:`a class` || | |
-| |+------------------------+| | |+------------------------+| | |
-+---------------------------------------------------------------------------------+--------------------------+------------------------------+-----------------------------------------------------------+--------------------------+------------------------------+----------------------------------------------------------------------------------------+
-
-+---------------------------+-----------------------+------------------------------+--------------------------------------------------------------------------------+-----------------------+------------------------------+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+---------------------+|+----------------------------+| |nbsp| :placeholder:`C` |nbsp| :diagtext:`was previously declared as a` |nbsp| |+---------------------+|+----------------------------+|:diagtext:`; this is valid, but may result in linker errors under the Microsoft C++ ABI`|
-| ||:diagtext:`struct` ||| || ||:diagtext:`struct` ||| || |
-| |+---------------------+|+----------------------------+| |+---------------------+|+----------------------------+| |
-| ||:diagtext:`interface`||| |nbsp| :diagtext:`template`|| ||:diagtext:`interface`||| |nbsp| :diagtext:`template`|| |
-| |+---------------------+|+----------------------------+| |+---------------------+|+----------------------------+| |
-| ||:diagtext:`class` || | ||:diagtext:`class` || | |
-| |+---------------------+| | |+---------------------+| | |
-+---------------------------+-----------------------+------------------------------+--------------------------------------------------------------------------------+-----------------------+------------------------------+----------------------------------------------------------------------------------------+
-
-
--Wmissing-braces
-----------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`suggest braces around initialization of subobject`|
-+----------------------------------------------------------------------------------------+
-
-
--Wmissing-constinit
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'constinit' specifier missing on initializing declaration of` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmissing-declarations
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration does not declare anything`|
-+----------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is not permitted on a declaration of a type`|
-+-----------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`typedef requires a name`|
-+--------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' ignored on this declaration`|
-+-------------------------------------------------------------------------------------------------+
-
-
--Wmissing-exception-spec
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is missing exception specification '`:placeholder:`B`:diagtext:`'`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmissing-field-initializers
-----------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`initializer`|
-+-----------------------------------------------------------------------------------------------------------+
-
-
--Wmissing-format-attribute
---------------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wmissing-include-dirs
-----------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wmissing-method-return-type
-----------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`method has no return type specified; defaults to 'id'`|
-+--------------------------------------------------------------------------------------------+
-
-
--Wmissing-noescape
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`parameter of overriding method should be annotated with \_\_attribute\_\_((noescape))`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmissing-noreturn
-------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`block could be declared with attribute 'noreturn'`|
-+----------------------------------------------------------------------------------------+
-
-+---------------------------+----------------------+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`could be declared with attribute 'noreturn'`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`method` || |
-| |+--------------------+| |
-+---------------------------+----------------------+---------------------------------------------------------------------------------------+
-
-
--Wmissing-prototype-for-cc
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function with no prototype cannot use the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`calling convention`|
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmissing-prototypes
---------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no previous prototype for function` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------+
-
-
--Wmissing-selector-name
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`used as the name of the previous parameter rather than as part of the selector`|
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmissing-sysroot
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no such sysroot directory: '`:placeholder:`A`:diagtext:`'`|
-+------------------------------------------------------------------------------------------------+
-
-
--Wmissing-variable-declarations
--------------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no previous extern declaration for non-static variable` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-
--Rmodule-build
---------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:remark:`remark:` |nbsp| :diagtext:`building module '`:placeholder:`A`:diagtext:`' as '`:placeholder:`B`:diagtext:`'`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------+
-|:remark:`remark:` |nbsp| :diagtext:`finished building module '`:placeholder:`A`:diagtext:`'`|
-+--------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------+
-|:remark:`remark:` |nbsp| :diagtext:`could not acquire lock file for module '`:placeholder:`A`:diagtext:`':` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:remark:`remark:` |nbsp| :diagtext:`timed out waiting to acquire lock file for module '`:placeholder:`A`:diagtext:`'`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-
--Wmodule-conflict
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`module '`:placeholder:`A`:diagtext:`' conflicts with already-imported module '`:placeholder:`B`:diagtext:`':` |nbsp| :placeholder:`C`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`module file '`:placeholder:`A`:diagtext:`' was validated as a system module and is now being imported as a non-system module; any
diff erence in diagnostic options will be ignored`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmodule-file-config-mismatch
------------------------------
-This diagnostic is an error by default, but the flag ``-Wno-module-file-config-mismatch`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`module file` |nbsp| :placeholder:`A` |nbsp| :diagtext:`cannot be loaded due to a configuration mismatch with the current compilation`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmodule-file-extension
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`duplicate module file extension block name '`:placeholder:`A`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------------------------+
-
-
--Rmodule-import
----------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------+-----------------------------------------------------------+-------------------------------------------------------+
-|:remark:`remark:` |nbsp| :diagtext:`importing module '`:placeholder:`A`:diagtext:`'`|+---------------------------------------------------------+| |nbsp| :diagtext:`from '`:placeholder:`B`:diagtext:`'`|
-| || || |
-| |+---------------------------------------------------------+| |
-| ||+-------------------------------------------------------+|| |
-| ||| |nbsp| :diagtext:`into '`:placeholder:`D`:diagtext:`'`||| |
-| ||+-------------------------------------------------------+|| |
-| |+---------------------------------------------------------+| |
-+------------------------------------------------------------------------------------+-----------------------------------------------------------+-------------------------------------------------------+
-
-
--Wmodule-import-in-extern-c
----------------------------
-This diagnostic is an error by default, but the flag ``-Wno-module-import-in-extern-c`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`import of C++ module '`:placeholder:`A`:diagtext:`' appears within extern "C" language linkage specification`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmodules-ambiguous-internal-linkage
-------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ambiguous use of internal linkage declaration` |nbsp| :placeholder:`A` |nbsp| :diagtext:`defined in multiple modules`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmodules-import-nested-redundant
----------------------------------
-This diagnostic is an error by default, but the flag ``-Wno-modules-import-nested-redundant`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`redundant #include of module '`:placeholder:`A`:diagtext:`' appears within` |nbsp| :placeholder:`B`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmost
-------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wcast-of-sel-type`_, `-Wchar-subscripts`_, `-Wcomment`_, `-Wdelete-non-virtual-dtor`_, `-Wextern-c-compat`_, `-Wfor-loop-analysis`_, `-Wformat`_, `-Wframe-address`_, `-Wimplicit`_, `-Winfinite-recursion`_, `-Wint-in-bool-context`_, `-Wmismatched-tags`_, `-Wmissing-braces`_, `-Wmove`_, `-Wmultichar`_, `-Wobjc-designated-initializers`_, `-Wobjc-flexible-array`_, `-Wobjc-missing-super-calls`_, `-Woverloaded-virtual`_, `-Wprivate-extern`_, `-Wrange-loop-construct`_, `-Wreorder`_, `-Wreturn-type`_, `-Wself-assign`_, `-Wself-move`_, `-Wsizeof-array-argument`_, `-Wsizeof-array-decay`_, `-Wstring-plus-int`_, `-Wtautological-compare`_, `-Wtrigraphs`_, `-Wuninitialized`_, `-Wunknown-pragmas`_, `-Wunused`_, `-Wuser-defined-warnings`_, `-Wvolatile-register-var`_.
-
-
--Wmove
-------
-Controls `-Wpessimizing-move`_, `-Wredundant-move`_, `-Wreturn-std-move`_, `-Wself-move`_.
-
-
--Wmsvc-include
---------------
-Synonym for `-Wmicrosoft-include`_.
-
-
--Wmsvc-not-found
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unable to find a Visual Studio installation; try running Clang from a developer command prompt`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wmultichar
------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multi-character character constant`|
-+-------------------------------------------------------------------------+
-
-
--Wmultiple-move-vbase
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wnarrowing
------------
-Synonym for `-Wc++11-narrowing`_.
-
-
--Wnested-anon-types
--------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------+--------------------+------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`anonymous types declared in an anonymous` |nbsp| |+------------------+| |nbsp| :diagtext:`are an extension`|
-| ||:diagtext:`struct`|| |
-| |+------------------+| |
-| ||:diagtext:`union` || |
-| |+------------------+| |
-+---------------------------------------------------------------------------------------+--------------------+------------------------------------+
-
-
--Wnested-externs
-----------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wnew-returns-null
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`should not return a null pointer unless it is declared 'throw()'`|+---------------------------------+|
-| || ||
-| |+---------------------------------+|
-| || |nbsp| :diagtext:`or 'noexcept'`||
-| |+---------------------------------+|
-+-------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+
-
-
--Wnewline-eof
--------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no newline at end of file`|
-+----------------------------------------------------------------+
-
-+----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no newline at end of file`|
-+----------------------------------------------------------------+
-
-
--Wnoderef
----------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`dereferencing` |nbsp| :placeholder:`A`:diagtext:`; was declared with a 'noderef' type`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`dereferencing expression marked as 'noderef'`|
-+-----------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`casting to dereferenceable pointer removes 'noderef' attribute`|
-+-----------------------------------------------------------------------------------------------------+
-
-
--Wnoexcept-type
----------------
-Synonym for `-Wc++17-compat-mangling`_.
-
-
--Wnon-c-typedef-for-linkage
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------+---------------------+----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`anonymous non-C-compatible type given name for linkage purposes by` |nbsp| |+-------------------+| |nbsp| :diagtext:`declaration; add a tag name here`|
-| ||:diagtext:`typedef`|| |
-| |+-------------------+| |
-| ||:diagtext:`alias` || |
-| |+-------------------+| |
-+-----------------------------------------------------------------------------------------------------------------+---------------------+----------------------------------------------------+
-
-
--Wnon-gcc
----------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wconversion`_, `-Wliteral-range`_, `-Wsign-compare`_.
-
-
--Wnon-literal-null-conversion
------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expression which evaluates to zero treated as a null pointer constant of type` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wnon-modular-include-in-framework-module
------------------------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`include of non-modular header inside framework module '`:placeholder:`A`:diagtext:`': '`:placeholder:`B`:diagtext:`'`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wnon-modular-include-in-module
--------------------------------
-Also controls `-Wnon-modular-include-in-framework-module`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`include of non-modular header inside module '`:placeholder:`A`:diagtext:`': '`:placeholder:`B`:diagtext:`'`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wnon-pod-varargs
------------------
-This diagnostic is an error by default, but the flag ``-Wno-non-pod-varargs`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------+-------------------------+--------------------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`cannot pass object of` |nbsp| |+-----------------------+| |nbsp| :diagtext:`type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`through variadic` |nbsp| |+-----------------------+|:diagtext:`; call will abort at runtime`|
-| ||:diagtext:`non-POD` || ||:diagtext:`function` || |
-| |+-----------------------+| |+-----------------------+| |
-| ||:diagtext:`non-trivial`|| ||:diagtext:`block` || |
-| |+-----------------------+| |+-----------------------+| |
-| | | ||:diagtext:`method` || |
-| | | |+-----------------------+| |
-| | | ||:diagtext:`constructor`|| |
-| | | |+-----------------------+| |
-+----------------------------------------------------------------+-------------------------+--------------------------------------------------------------------------------------------+-------------------------+----------------------------------------+
-
-+------------------------------------------------------+-------------------------+-------------------------------------------------------------------------------------------------+-------------------------+--------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`cannot pass` |nbsp| |+-----------------------+| |nbsp| :diagtext:`object of type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`to variadic` |nbsp| |+-----------------------+|:diagtext:`; expected type from format string was` |nbsp| :placeholder:`D`|
-| ||:diagtext:`non-POD` || ||:diagtext:`function` || |
-| |+-----------------------+| |+-----------------------+| |
-| ||:diagtext:`non-trivial`|| ||:diagtext:`block` || |
-| |+-----------------------+| |+-----------------------+| |
-| | | ||:diagtext:`method` || |
-| | | |+-----------------------+| |
-| | | ||:diagtext:`constructor`|| |
-| | | |+-----------------------+| |
-+------------------------------------------------------+-------------------------+-------------------------------------------------------------------------------------------------+-------------------------+--------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`second argument to 'va\_arg' is of non-POD type` |nbsp| :placeholder:`A`|
-+----------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`second argument to 'va\_arg' is of ARC ownership-qualified type` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-
--Wnon-power-of-two-alignment
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`requested alignment is not a power of 2`|
-+------------------------------------------------------------------------------+
-
-
--Wnon-virtual-dtor
-------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has virtual functions but non-virtual destructor`|
-+---------------------------------------------------------------------------------------------------------------+
-
-
--Wnonnull
----------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`null passed to a callee that requires a non-null argument`|
-+------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------+----------------------+---------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`null returned from` |nbsp| |+--------------------+| |nbsp| :diagtext:`that requires a non-null return value`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`method` || |
-| |+--------------------+| |
-+-----------------------------------------------------------------+----------------------+---------------------------------------------------------+
-
-
--Wnonportable-cfstrings
------------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wnonportable-include-path
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-portable path to file '`:placeholder:`A`:diagtext:`'; specified path
diff ers in case from file name on disk`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wnonportable-system-include-path
----------------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-portable path to file '`:placeholder:`A`:diagtext:`'; specified path
diff ers in case from file name on disk`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wnonportable-vector-initialization
------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`vector initializers are not compatible with NEON intrinsics in big endian mode`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-
--Wnontrivial-memaccess
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------+
-|:warning:`warning:` |nbsp| |+-----------------------------+| |nbsp| :diagtext:`this` |nbsp| :placeholder:`B` |nbsp| :diagtext:`call is a pointer to record` |nbsp| :placeholder:`C` |nbsp| :diagtext:`that is not trivial to` |nbsp| |+----------------------------------------+|
-| ||:diagtext:`destination for` || ||:diagtext:`primitive-default-initialize`||
-| |+-----------------------------+| |+----------------------------------------+|
-| ||:diagtext:`source of` || ||:diagtext:`primitive-copy` ||
-| |+-----------------------------+| |+----------------------------------------+|
-| ||:diagtext:`first operand of` || | |
-| |+-----------------------------+| | |
-| ||:diagtext:`second operand of`|| | |
-| |+-----------------------------+| | |
-+---------------------------+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------+
-
-
--Wnsconsumed-mismatch
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`overriding method has mismatched ns\_consumed attribute on its parameter`|
-+---------------------------------------------------------------------------------------------------------------+
-
-
--Wnsreturns-mismatch
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------+---------------------------+------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`overriding method has mismatched ns\_returns\_`|+-------------------------+| |nbsp| :diagtext:`attributes`|
-| ||:diagtext:`not\_retained`|| |
-| |+-------------------------+| |
-| ||:diagtext:`retained` || |
-| |+-------------------------+| |
-+-------------------------------------------------------------------------------------+---------------------------+------------------------------+
-
-
--Wnull-arithmetic
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of NULL in arithmetic operation`|
-+--------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+--------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`comparison between NULL and non-pointer` |nbsp| |+------------------------------------------------------------+|
-| ||+----------------------------------------------------------+||
-| |||:diagtext:`(`:placeholder:`B` |nbsp| :diagtext:`and NULL)`|||
-| ||+----------------------------------------------------------+||
-| |+------------------------------------------------------------+|
-| ||+----------------------------------------------------------+||
-| |||:diagtext:`(NULL and` |nbsp| :placeholder:`B`:diagtext:`)`|||
-| ||+----------------------------------------------------------+||
-| |+------------------------------------------------------------+|
-+--------------------------------------------------------------------------------------+--------------------------------------------------------------+
-
-
--Wnull-character
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------+--------------------+---------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`null character(s) preserved in` |nbsp| |+------------------+| |nbsp| :diagtext:`literal`|
-| ||:diagtext:`char` || |
-| |+------------------+| |
-| ||:diagtext:`string`|| |
-| |+------------------+| |
-+-----------------------------------------------------------------------------+--------------------+---------------------------+
-
-+-------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`null character ignored`|
-+-------------------------------------------------------------+
-
-
--Wnull-conversion
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------+---------------------+-------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion of` |nbsp| |+-------------------+| |nbsp| :diagtext:`constant to` |nbsp| :placeholder:`B`|
-| ||:diagtext:`NULL` || |
-| |+-------------------+| |
-| ||:diagtext:`nullptr`|| |
-| |+-------------------+| |
-+---------------------------------------------------------------------+---------------------+-------------------------------------------------------+
-
-
--Wnull-dereference
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`binding dereferenced null pointer to reference has undefined behavior`|
-+------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`indirection of non-volatile null pointer will be deleted, not trap`|
-+---------------------------------------------------------------------------------------------------------+
-
-
--Wnull-pointer-arithmetic
--------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------+----------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`performing pointer arithmetic on a null pointer has undefined behavior`|+--------------------------------------------+|
-| || ||
-| |+--------------------------------------------+|
-| || |nbsp| :diagtext:`if the offset is nonzero`||
-| |+--------------------------------------------+|
-+-------------------------------------------------------------------------------------------------------------+----------------------------------------------+
-
-
--Wnullability
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting nullability specifier on parameter types,` |nbsp| :placeholder:`A` |nbsp| :diagtext:`conflicts with existing specifier` |nbsp| :placeholder:`B`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting nullability specifier on return types,` |nbsp| :placeholder:`A` |nbsp| :diagtext:`conflicts with existing specifier` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`nullability specifier` |nbsp| :placeholder:`A` |nbsp| :diagtext:`conflicts with existing specifier` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`synthesized setter` |nbsp| :placeholder:`A` |nbsp| :diagtext:`for null\_resettable property` |nbsp| :placeholder:`B` |nbsp| :diagtext:`does not handle nil`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`duplicate nullability specifier` |nbsp| :placeholder:`A`|
-+----------------------------------------------------------------------------------------------+
-
-
--Wnullability-completeness
---------------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wnullability-completeness-on-arrays`_.
-
-**Diagnostic text:**
-
-+---------------------------+----------------------------+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------+| |nbsp| :diagtext:`is missing a nullability type specifier (\_Nonnull, \_Nullable, or \_Null\_unspecified)`|
-| ||:diagtext:`pointer` || |
-| |+--------------------------+| |
-| ||:diagtext:`block pointer` || |
-| |+--------------------------+| |
-| ||:diagtext:`member pointer`|| |
-| |+--------------------------+| |
-+---------------------------+----------------------------+-----------------------------------------------------------------------------------------------------------+
-
-
--Wnullability-completeness-on-arrays
-------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`array parameter is missing a nullability type specifier (\_Nonnull, \_Nullable, or \_Null\_unspecified)`|
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wnullability-declspec
-----------------------
-This diagnostic is an error by default, but the flag ``-Wno-nullability-declspec`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------+-------------+
-|: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| |+-----------------------------------+|:diagtext:`?`|
-| ||:diagtext:`pointer` || |
-| |+-----------------------------------+| |
-| ||:diagtext:`block pointer` || |
-| |+-----------------------------------+| |
-| ||:diagtext:`member pointer` || |
-| |+-----------------------------------+| |
-| ||:diagtext:`function pointer` || |
-| |+-----------------------------------+| |
-| ||:diagtext:`member function pointer`|| |
-| |+-----------------------------------+| |
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------+-------------+
-
-
--Wnullability-extension
------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`type nullability specifier` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a Clang extension`|
-+---------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wnullability-inferred-on-nested-type
--------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------+-----------------------+---------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`inferring '\_Nonnull' for pointer type within` |nbsp| |+---------------------+| |nbsp| :diagtext:`is deprecated`|
-| ||:diagtext:`array` || |
-| |+---------------------+| |
-| ||:diagtext:`reference`|| |
-| |+---------------------+| |
-+--------------------------------------------------------------------------------------------+-----------------------+---------------------------------+
-
-
--Wnullable-to-nonnull-conversion
---------------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from nullable pointer` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to non-nullable pointer type` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-autosynthesis-property-ivar-name-match
----------------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------+-------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-| || || |
-| |+-----------------------+| |
-| ||:diagtext:`synthesized`|| |
-| |+-----------------------+| |
-+---------------------------------------------------------------------------------------------------------------------------+-------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-bool-constant-conversion
--------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from constant value` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to 'BOOL'; the only well defined values for 'BOOL' are YES and NO`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-boxing
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`string is ill-formed as UTF-8 and will become a null` |nbsp| :placeholder:`A` |nbsp| :diagtext:`when boxed`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-circular-container
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`adding` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`might cause circular dependency in container`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-cocoa-api
-----------------
-Synonym for `-Wobjc-redundant-api-use`_.
-
-
--Wobjc-designated-initializers
-------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`designated initializer missing a 'super' call to a designated initializer of the super class`|
-+-----------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`designated initializer invoked a non-designated initializer`|
-+--------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`designated initializer should only invoke a designated initializer on 'super'`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`method override for the designated initializer of the superclass` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`convenience initializer missing a 'self' call to another initializer`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`convenience initializer should not invoke an initializer on 'super'`|
-+----------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-flexible-array
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`can overwrite instance variable` |nbsp| :placeholder:`B` |nbsp| :diagtext:`with variable sized type` |nbsp| :placeholder:`C` |nbsp| :diagtext:`in superclass` |nbsp| :placeholder:`D`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with variable sized type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is not visible to subclasses and can conflict with their instance variables`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-forward-class-redefinition
----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redefinition of forward class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of a typedef name of an object type is ignored`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-interface-ivars
-----------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration of instance variables in the interface is deprecated`|
-+-------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-literal-compare
-----------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wobjc-string-compare`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------+----------------------------------+------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`direct comparison of` |nbsp| |+--------------------------------+| |nbsp| :diagtext:`has undefined behavior`|
-| ||:diagtext:`an array literal` || |
-| |+--------------------------------+| |
-| ||:diagtext:`a dictionary literal`|| |
-| |+--------------------------------+| |
-| ||:diagtext:`a numeric literal` || |
-| |+--------------------------------+| |
-| ||:diagtext:`a boxed expression` || |
-| |+--------------------------------+| |
-| || || |
-| |+--------------------------------+| |
-+-------------------------------------------------------------------+----------------------------------+------------------------------------------+
-
-
--Wobjc-literal-conversion
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit boolean conversion of Objective-C object literal always evaluates to true`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`object of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not compatible with` |nbsp| |+---------------------------------+| |nbsp| :placeholder:`C`|
-| ||:diagtext:`array element type` || |
-| |+---------------------------------+| |
-| ||:diagtext:`dictionary key type` || |
-| |+---------------------------------+| |
-| ||:diagtext:`dictionary value type`|| |
-| |+---------------------------------+| |
-+-------------------------------------------------------------------------------------------------------------------------------+-----------------------------------+------------------------+
-
-
--Wobjc-macro-redefinition
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring redefinition of Objective-C qualifier macro`|
-+-------------------------------------------------------------------------------------------+
-
-
--Wobjc-messaging-id
--------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`messaging unqualified id`|
-+---------------------------------------------------------------+
-
-
--Wobjc-method-access
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`class method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found (return type defaults to 'id')`|
-+---------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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:`?`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`instance method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`not found (return type defaults to 'id')`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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:`?`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`instance method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`found instead of class method` |nbsp| :placeholder:`B`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`instance method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is being used on 'Class' which is not in the root class`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-missing-property-synthesis
----------------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`auto property synthesis is synthesizing property not explicitly synthesized`|
-+------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-missing-super-calls
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`method possibly missing a \[super` |nbsp| :placeholder:`A`:diagtext:`\] call`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-multiple-method-names
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multiple methods named` |nbsp| :placeholder:`A` |nbsp| :diagtext:`found`|
-+--------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-noncopy-retain-block-property
-------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`retain'ed block property does not copy the block - use copy attribute instead`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-nonunified-exceptions
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cannot catch an exception thrown with @throw in C++ in the non-unified exception model`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-property-assign-on-object-type
--------------------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'assign' property of object type may become a dangling reference; consider using 'unsafe\_unretained'`|
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-property-implementation
-------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-property-implicit-mismatch
----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`primary property declaration is implicitly strong while redeclaration in class extension is weak`|
-+---------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-property-matches-cocoa-ownership-rule
---------------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`property follows Cocoa naming convention for returning 'owned' objects`|
-+-------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-property-no-attribute
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`default property attribute 'assign' not appropriate for object`|
-+-----------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-property-synthesis
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-protocol-method-implementation
--------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`category is implementing a method which will also be implemented by its primary class`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-protocol-property-synthesis
-----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`auto property synthesis will not synthesize property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared in protocol` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-protocol-qualifiers
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`parameterized class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`already conforms to the protocols listed; did you forget a '\*'?`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-readonly-with-setter-property
-------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`setter cannot be specified for a readonly property`|
-+-----------------------------------------------------------------------------------------+
-
-
--Wobjc-redundant-api-use
-------------------------
-Synonym for `-Wobjc-redundant-literal-use`_.
-
-
--Wobjc-redundant-literal-use
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with a literal is redundant`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-root-class
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`defined without specifying a base class`|
-+-------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-signed-char-bool
------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wobjc-bool-constant-conversion`_, `-Wobjc-signed-char-bool-implicit-float-conversion`_, `-Wobjc-signed-char-bool-implicit-int-conversion`_, `-Wtautological-objc-bool-compare`_.
-
-
--Wobjc-signed-char-bool-implicit-float-conversion
--------------------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from floating-point type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to 'BOOL'`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-signed-char-bool-implicit-int-conversion
------------------------------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from integral type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to 'BOOL'`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-string-compare
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`direct comparison of a string literal has undefined behavior`|
-+---------------------------------------------------------------------------------------------------+
-
-
--Wobjc-string-concatenation
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`concatenated NSString literal for an NSArray expression - possibly missing a comma`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-
--Wobjc-unsafe-perform-selector
-------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------+--------------------+------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is incompatible with selectors that return a` |nbsp| |+------------------+| |nbsp| :diagtext:`type`|
-| ||:diagtext:`struct`|| |
-| |+------------------+| |
-| ||:diagtext:`union` || |
-| |+------------------+| |
-| ||:diagtext:`vector`|| |
-| |+------------------+| |
-+-------------------------------------------------------------------------------------------------------------------+--------------------+------------------------+
-
-
--Wodr
------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`template parameter lists have a
diff erent number of parameters (`:placeholder:`A` |nbsp| :diagtext:`vs` |nbsp| :placeholder:`B`:diagtext:`)`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`template parameter has
diff erent kinds in
diff erent translation units`|
-+------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared with incompatible types in
diff erent translation units (`:placeholder:`B` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`C`:diagtext:`)`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`external function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared with incompatible types in
diff erent translation units (`:placeholder:`B` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`C`:diagtext:`)`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`instance variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared with incompatible types in
diff erent translation units (`:placeholder:`B` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`C`:diagtext:`)`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-type template parameter declared with incompatible types in
diff erent translation units (`:placeholder:`A` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`B`:diagtext:`)`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------+| |nbsp| :diagtext:`method` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has a
diff erent number of parameters in
diff erent translation units (`:placeholder:`C` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`D`:diagtext:`)`|
-| ||:diagtext:`class` || |
-| |+--------------------+| |
-| ||:diagtext:`instance`|| |
-| |+--------------------+| |
-+---------------------------+----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------+| |nbsp| :diagtext:`method` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has a parameter with a
diff erent types in
diff erent translation units (`:placeholder:`C` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`D`:diagtext:`)`|
-| ||:diagtext:`class` || |
-| |+--------------------+| |
-| ||:diagtext:`instance`|| |
-| |+--------------------+| |
-+---------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------+| |nbsp| :diagtext:`method` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has incompatible result types in
diff erent translation units (`:placeholder:`C` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`D`:diagtext:`)`|
-| ||:diagtext:`class` || |
-| |+--------------------+| |
-| ||:diagtext:`instance`|| |
-| |+--------------------+| |
-+---------------------------+----------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------+| |nbsp| :diagtext:`method` |nbsp| :placeholder:`B` |nbsp| :diagtext:`is variadic in one translation unit and not variadic in another`|
-| ||:diagtext:`class` || |
-| |+--------------------+| |
-| ||:diagtext:`instance`|| |
-| |+--------------------+| |
-+---------------------------+----------------------+-------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------+-------------------------+--------------------------------------------------+-------------------------+-----------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is implemented with` |nbsp| |+-----------------------+| |nbsp| :diagtext:`in one translation but` |nbsp| |+-----------------------+| |nbsp| :diagtext:`in another translation unit`|
-| ||:diagtext:`@synthesize`|| ||:diagtext:`@dynamic` || |
-| |+-----------------------+| |+-----------------------+| |
-| ||:diagtext:`@dynamic` || ||:diagtext:`@synthesize`|| |
-| |+-----------------------+| |+-----------------------+| |
-+----------------------------------------------------------------------------------------------------------------------+-------------------------+--------------------------------------------------+-------------------------+-----------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared with incompatible types in
diff erent translation units (`:placeholder:`B` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`C`:diagtext:`)`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has incompatible superclasses`|
-+---------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is synthesized to
diff erent ivars in
diff erent translation units (`:placeholder:`B` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`C`:diagtext:`)`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------+-------------------+----------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`parameter kind mismatch; parameter is` |nbsp| |+-----------------+| |nbsp| :diagtext:`parameter pack`|
-| ||:diagtext:`not a`|| |
-| |+-----------------+| |
-| ||:diagtext:`a` || |
-| |+-----------------+| |
-+------------------------------------------------------------------------------------+-------------------+----------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has incompatible definitions in
diff erent translation units`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`external variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`defined in multiple translation units`|
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`external variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared with incompatible types in
diff erent translation units (`:placeholder:`B` |nbsp| :diagtext:`vs.` |nbsp| :placeholder:`C`:diagtext:`)`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wold-style-cast
-----------------
-**Diagnostic text:**
-
-+------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of old-style cast`|
-+------------------------------------------------------------+
-
-
--Wold-style-definition
-----------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wopencl-unsupported-rgba
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`vector component name '`:placeholder:`A`:diagtext:`' is an OpenCL version 2.2 feature`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wopenmp
---------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wopenmp-clauses`_, `-Wopenmp-loop-form`_, `-Wopenmp-mapping`_, `-Wopenmp-target`_, `-Wsource-uses-openmp`_.
-
-
--Wopenmp-clauses
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`aligned clause will be ignored because the requested alignment is not a power of 2`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`allocator with the 'thread' trait access has unspecified behavior on '`:placeholder:`A`:diagtext:`' directive`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the context property '`:placeholder:`A`:diagtext:`' is not valid for the context selector '`:placeholder:`B`:diagtext:`' and the context set '`:placeholder:`C`:diagtext:`'; property ignored`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the context selector '`:placeholder:`A`:diagtext:`' in the context set '`:placeholder:`B`:diagtext:`' cannot have a score ('`:placeholder:`C`:diagtext:`'); score ignored`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the context selector '`:placeholder:`A`:diagtext:`' is not valid for the context set '`:placeholder:`B`:diagtext:`'; selector ignored`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the context selector '`:placeholder:`A`:diagtext:`' in context set '`:placeholder:`B`:diagtext:`' requires a context property defined in parentheses; selector ignored`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------+----------------------+---------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the context` |nbsp| |+--------------------+| |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' was used already in the same 'omp declare variant' directive;` |nbsp| |+--------------------+| |nbsp| :diagtext:`ignored`|
-| ||:diagtext:`set` || ||:diagtext:`set` || |
-| |+--------------------+| |+--------------------+| |
-| ||:diagtext:`selector`|| ||:diagtext:`selector`|| |
-| |+--------------------+| |+--------------------+| |
-| ||:diagtext:`property`|| ||:diagtext:`property`|| |
-| |+--------------------+| |+--------------------+| |
-+----------------------------------------------------------+----------------------+------------------------------------------------------------------------------------------------------------------------+----------------------+---------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is not a valid context property for the context selector '`:placeholder:`B`:diagtext:`' and the context set '`:placeholder:`C`:diagtext:`'; property ignored`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is not a valid context selector for the context set '`:placeholder:`B`:diagtext:`'; selector ignored`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is not a valid context set in a \`declare variant\`; set ignored`|
-+--------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected '`:placeholder:`A`:diagtext:`' after the` |nbsp| :placeholder:`B`:diagtext:`; '`:placeholder:`A`:diagtext:`' assumed`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------+----------------------+---------------------+----------------------+---------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected identifier or string literal describing a context` |nbsp| |+--------------------+|:diagtext:`;` |nbsp| |+--------------------+| |nbsp| :diagtext:`skipped`|
-| ||:diagtext:`set` || ||:diagtext:`set` || |
-| |+--------------------+| |+--------------------+| |
-| ||:diagtext:`selector`|| ||:diagtext:`selector`|| |
-| |+--------------------+| |+--------------------+| |
-| ||:diagtext:`property`|| ||:diagtext:`property`|| |
-| |+--------------------+| |+--------------------+| |
-+---------------------------------------------------------------------------------------------------------+----------------------+---------------------+----------------------+---------------------------+
-
-+---------------------------------------------------------------------------------+---------------------------------------------------+-------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`zero linear step (`:placeholder:`A` |nbsp| |+-------------------------------------------------+|:diagtext:`should probably be const)`|
-| || || |
-| |+-------------------------------------------------+| |
-| ||:diagtext:`and other variables in clause` |nbsp| || |
-| |+-------------------------------------------------+| |
-+---------------------------------------------------------------------------------+---------------------------------------------------+-------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`more than one 'device\_type' clause is specified`|
-+---------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------+----------------------------------------------+-----------------------------------------------------------+----------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`allocate directive specifies` |nbsp| |+--------------------------------------------+| |nbsp| :diagtext:`allocator while previously used` |nbsp| |+--------------------------------------------+|
-| ||:diagtext:`default` || ||:diagtext:`default` ||
-| |+--------------------------------------------+| |+--------------------------------------------+|
-| ||+------------------------------------------+|| ||+------------------------------------------+||
-| |||:diagtext:`'`:placeholder:`B`:diagtext:`'`||| |||:diagtext:`'`:placeholder:`D`:diagtext:`'`|||
-| ||+------------------------------------------+|| ||+------------------------------------------+||
-| |+--------------------------------------------+| |+--------------------------------------------+|
-+---------------------------------------------------------------------------+----------------------------------------------+-----------------------------------------------------------+----------------------------------------------+
-
-
--Wopenmp-loop-form
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initialization clause of OpenMP for loop is not in canonical form ('var = init' or 'T var = init')`|
-+-----------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`OpenMP loop iteration variable cannot have more than 64 bits size and will be narrowed`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-
--Wopenmp-mapping
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`Type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not trivially copyable and not guaranteed to be mapped correctly`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wopenmp-target
----------------
-This diagnostic is enabled by default.
-
-Also controls `-Wopenmp-mapping`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`The OpenMP offloading target '`:placeholder:`A`:diagtext:`' is similar to target '`:placeholder:`B`:diagtext:`' already specified - will be ignored.`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`No library '`:placeholder:`A`:diagtext:`' found in the default clang lib directory or in LIBRARY\_PATH. Expect degraded performance due to no inlining of runtime functions on target devices.`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration marked as declare target after first use, it may lead to incorrect results`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration is not declared in any declare target region`|
-+-----------------------------------------------------------------------------------------------+
-
-
--Woption-ignored
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`option '-ffine-grained-bitfield-accesses' cannot be enabled together with a sanitizer; flag ignored`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`The '`:placeholder:`A`:diagtext:`' architecture does not support -moutline; flag ignored`|
-+-------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`option '`:placeholder:`A`:diagtext:`' was ignored by the PS4 toolchain, using '-fPIC'`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+-------------------------------------------+----------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mlong-calls' option as it is not currently supported with` |nbsp| |+-----------------------------------------+|:diagtext:`-mabicalls`|
-| || || |
-| |+-----------------------------------------+| |
-| ||:diagtext:`the implicit usage of` |nbsp| || |
-| |+-----------------------------------------+| |
-+-------------------------------------------------------------------------------------------------------------------+-------------------------------------------+----------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------+-------------------------------+----------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring '`:placeholder:`A`:diagtext:`' option as it cannot be used with` |nbsp| |+-----------------------------+| |nbsp| :diagtext:`-mabicalls and the N64 ABI`|
-| ||:diagtext:`implicit usage of`|| |
-| |+-----------------------------+| |
-| || || |
-| |+-----------------------------+| |
-+-----------------------------------------------------------------------------------------------------------------------+-------------------------------+----------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring '-msmall-data-limit=' with -mcmodel=large for -fpic or RV64`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`auto-vectorization requires HVX, use -mhvx to enable it`|
-+----------------------------------------------------------------------------------------------+
-
-
--Wordered-compare-function-pointers
------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ordered comparison of function pointers (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`)`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wout-of-line-declaration
--------------------------
-This diagnostic is an error by default, but the flag ``-Wno-out-of-line-declaration`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`out-of-line declaration of a member must be a definition`|
-+-------------------------------------------------------------------------------------------+
-
-
--Wout-of-scope-function
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of out-of-scope declaration of` |nbsp| :placeholder:`A`|+-------------------------------------------------------------------------------------+|
-| || ||
-| |+-------------------------------------------------------------------------------------+|
-| || |nbsp| :diagtext:`whose type is not compatible with that of an implicit declaration`||
-| |+-------------------------------------------------------------------------------------+|
-+-------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+
-
-
--Wover-aligned
---------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Woverflow
-----------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Woverlength-strings
---------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+-----------------------------------------------------+
-|: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`|
-| ||:diagtext:`C90` || |
-| |+-------------------+| |
-| ||:diagtext:`ISO C99`|| |
-| |+-------------------+| |
-| ||:diagtext:`C++` || |
-| |+-------------------+| |
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+-----------------------------------------------------+
-
-
--Woverloaded-shift-op-parentheses
----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------+----------------+------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`overloaded operator` |nbsp| |+--------------+| |nbsp| :diagtext:`has higher precedence than comparison operator`|
-| ||:diagtext:`>>`|| |
-| |+--------------+| |
-| ||:diagtext:`<<`|| |
-| |+--------------+| |
-+------------------------------------------------------------------+----------------+------------------------------------------------------------------+
-
-
--Woverloaded-virtual
---------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------+-----------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`hides overloaded virtual` |nbsp| |+---------------------+|
-| ||:diagtext:`function` ||
-| |+---------------------+|
-| ||:diagtext:`functions`||
-| |+---------------------+|
-+-----------------------------------------------------------------------------------------------+-----------------------+
-
-
--Woverride-init
----------------
-Synonym for `-Winitializer-overrides`_.
-
-
--Woverride-module
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`overriding the module target triple with` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------+
-
-
--Woverriding-method-mismatch
-----------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting distributed object modifiers on parameter type in declaration of` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting parameter types in declaration of` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting distributed object modifiers on return type in declaration of` |nbsp| :placeholder:`A`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting return type in declaration of` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting variadic declaration of method and its implementation`|
-+--------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting parameter types in declaration of` |nbsp| :placeholder:`A`:diagtext:`:` |nbsp| :placeholder:`B` |nbsp| :diagtext:`vs` |nbsp| :placeholder:`C`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`conflicting return type in declaration of` |nbsp| :placeholder:`A`:diagtext:`:` |nbsp| :placeholder:`B` |nbsp| :diagtext:`vs` |nbsp| :placeholder:`C`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Woverriding-t-option
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`overriding '`:placeholder:`A`:diagtext:`' option with '`:placeholder:`B`:diagtext:`'`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpacked
---------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`packed attribute is unnecessary for` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------------+
-
-
--Wpadded
---------
-**Diagnostic text:**
-
-+------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+------------------+---------------+------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`padding` |nbsp| |+---------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`with` |nbsp| :placeholder:`C` |nbsp| |+----------------+|+-------------+| |nbsp| :diagtext:`to align anonymous bit-field`|
-| ||:diagtext:`struct` || ||:diagtext:`byte`||| || |
-| |+---------------------+| |+----------------+|+-------------+| |
-| ||:diagtext:`interface`|| ||:diagtext:`bit` |||:diagtext:`s`|| |
-| |+---------------------+| |+----------------+|+-------------+| |
-| ||:diagtext:`class` || | | | |
-| |+---------------------+| | | | |
-+------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+------------------+---------------+------------------------------------------------+
-
-+------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+------------------+---------------+----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`padding` |nbsp| |+---------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`with` |nbsp| :placeholder:`C` |nbsp| |+----------------+|+-------------+| |nbsp| :diagtext:`to align` |nbsp| :placeholder:`E`|
-| ||:diagtext:`struct` || ||:diagtext:`byte`||| || |
-| |+---------------------+| |+----------------+|+-------------+| |
-| ||:diagtext:`interface`|| ||:diagtext:`bit` |||:diagtext:`s`|| |
-| |+---------------------+| |+----------------+|+-------------+| |
-| ||:diagtext:`class` || | | | |
-| |+---------------------+| | | | |
-+------------------------------------------------------+-----------------------+--------------------------------------------------------------------------------+------------------+---------------+----------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------+------------------+---------------+-----------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`padding size of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with` |nbsp| :placeholder:`B` |nbsp| |+----------------+|+-------------+| |nbsp| :diagtext:`to alignment boundary`|
-| ||:diagtext:`byte`||| || |
-| |+----------------+|+-------------+| |
-| ||:diagtext:`bit` |||:diagtext:`s`|| |
-| |+----------------+|+-------------+| |
-+--------------------------------------------------------------------------------------------------------------------------------------+------------------+---------------+-----------------------------------------+
-
-
--Wparentheses
--------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wbitwise-conditional-parentheses`_, `-Wbitwise-op-parentheses`_, `-Wdangling-else`_, `-Wlogical-not-parentheses`_, `-Wlogical-op-parentheses`_, `-Woverloaded-shift-op-parentheses`_, `-Wparentheses-equality`_, `-Wshift-op-parentheses`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`using the result of an assignment as a condition without parentheses`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has lower precedence than` |nbsp| :placeholder:`B`:diagtext:`;` |nbsp| :placeholder:`B` |nbsp| :diagtext:`will be evaluated first`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`operator '?:' has lower precedence than '`:placeholder:`A`:diagtext:`'; '`:placeholder:`A`:diagtext:`' will be evaluated first`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wparentheses-equality
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`equality comparison with extraneous parentheses`|
-+--------------------------------------------------------------------------------------+
-
-
--Wpartial-availability
-----------------------
-Synonym for `-Wunguarded-availability`_.
-
-
--Rpass
-------
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-
--Rpass-analysis
----------------
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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!`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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'.`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpass-failed
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-
--Rpass-missed
--------------
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-
--Wpch-date-time
----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+--------------------------------+-----------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------+| |nbsp| :diagtext:`uses \_\_DATE\_\_ or \_\_TIME\_\_`|
-| ||:diagtext:`precompiled header`|| |
-| |+------------------------------+| |
-| ||:diagtext:`module` || |
-| |+------------------------------+| |
-+---------------------------+--------------------------------+-----------------------------------------------------+
-
-
--Wpedantic
-----------
-Also controls `-Wc++11-extra-semi`_, `-Wc++11-long-long`_, `-Wc++14-binary-literal`_, `-Wc++20-designator`_, `-Wc11-extensions`_, `-Wcomplex-component-init`_, `-Wdeclaration-after-statement`_, `-Wdollar-in-identifier-extension`_, `-Wembedded-directive`_, `-Wempty-translation-unit`_, `-Wfixed-enum-extension`_, `-Wflexible-array-extensions`_, `-Wfour-char-constants`_, `-Wgnu-anonymous-struct`_, `-Wgnu-auto-type`_, `-Wgnu-binary-literal`_, `-Wgnu-case-range`_, `-Wgnu-complex-integer`_, `-Wgnu-compound-literal-initializer`_, `-Wgnu-conditional-omitted-operand`_, `-Wgnu-empty-initializer`_, `-Wgnu-empty-struct`_, `-Wgnu-flexible-array-initializer`_, `-Wgnu-flexible-array-union-member`_, `-Wgnu-folding-constant`_, `-Wgnu-imaginary-constant`_, `-Wgnu-include-next`_, `-Wgnu-label-as-value`_, `-Wgnu-redeclared-enum`_, `-Wgnu-statement-expression`_, `-Wgnu-union-cast`_, `-Wgnu-zero-line-directive`_, `-Wgnu-zero-variadic-macro-arguments`_, `-Wimport-preprocessor-directive-pedantic`_, `-Wkeyword-macro`_, `-Wlanguage-extension-token`_, `-Wlong-long`_, `-Wmicrosoft-charize`_, `-Wmicrosoft-comment-paste`_, `-Wmicrosoft-cpp-macro`_, `-Wmicrosoft-end-of-file`_, `-Wmicrosoft-enum-value`_, `-Wmicrosoft-fixed-enum`_, `-Wmicrosoft-flexible-array`_, `-Wmicrosoft-redeclare-static`_, `-Wnested-anon-types`_, `-Wnullability-extension`_, `-Woverlength-strings`_, `-Wretained-language-linkage`_, `-Wundefined-internal-type`_, `-Wvla-extension`_, `-Wzero-length-array`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`duplicate '`:placeholder:`A`:diagtext:`' declaration specifier`|
-+-----------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'enable\_if' is a clang extension`|
-+------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'diagnose\_if' is a clang extension`|
-+--------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`designated initializers are a C99 feature`|
-+--------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ does not allow 'main' to be used by a program`|
-+--------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------+
-|: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| |+---------------------+|
-| ||:diagtext:`private` ||
-| |+---------------------+|
-| ||:diagtext:`protected`||
-| |+---------------------+|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------+
-
-+--------------------------------------------------------+--------------------+------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`anonymous` |nbsp| |+------------------+| |nbsp| :diagtext:`cannot be '`:placeholder:`B`:diagtext:`'`|
-| ||:diagtext:`struct`|| |
-| |+------------------+| |
-| ||:diagtext:`union` || |
-| |+------------------+| |
-+--------------------------------------------------------+--------------------+------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ requires the name after '::~' to be found in the same scope as the name before '::~'`|
-+-----------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ considers this destructor name lookup to be ambiguous`|
-+----------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no viable constructor` |nbsp| |+----------------------------------------------------+| |nbsp| :diagtext:`of type` |nbsp| :placeholder:`B`:diagtext:`; C++98 requires a copy constructor when binding a reference to a temporary`|
-| ||:diagtext:`copying variable` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`copying parameter` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`returning object` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`initializing statement expression result`|| |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`throwing object` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`copying member subobject` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`copying array element` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`allocating object` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`copying temporary` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`initializing base subobject` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`initializing vector element` || |
-| |+----------------------------------------------------+| |
-| ||:diagtext:`capturing value` || |
-| |+----------------------------------------------------+| |
-+--------------------------------------------------------------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ standards before C++17 do not allow new expression for type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to use list-initialization`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`parameter` |nbsp| :placeholder:`A` |nbsp| :diagtext:`was not declared, defaulting to type 'int'`|
-+--------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invoking a pointer to a 'const &' member function on an rvalue is a C++20 extension`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`qualifier in explicit instantiation of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires a template-id (a typedef is not permitted)`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------+----------------------+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`static` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`is used in an inline function with external linkage`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`variable`|| |
-| |+--------------------+| |
-+-----------------------------------------------------+----------------------+-----------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C forbids forward references to 'enum' types`|
-+---------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------+-------------------+-------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C restricts enumerator values to range of 'int' (`:placeholder:`A` |nbsp| :diagtext:`is too` |nbsp| |+-----------------+|:diagtext:`)`|
-| ||:diagtext:`small`|| |
-| |+-----------------+| |
-| ||:diagtext:`large`|| |
-| |+-----------------+| |
-+----------------------------------------------------------------------------------------------------------------------------------------------+-------------------+-------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`size of static array must be an integer constant expression`|
-+--------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`initializer for aggregate is not a compile-time constant`|
-+-----------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`flexible array members are a C99 feature`|
-+-------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------+-----------------------------------------------------+--------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invalid application of '`|+---------------------------------------------------+|:diagtext:`' to a function type`|
-| ||:diagtext:`sizeof` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`alignof` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`vec\_step` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`\_\_builtin\_omp\_required\_simd\_align`|| |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`\_\_alignof` || |
-| |+---------------------------------------------------+| |
-+---------------------------------------------------------------+-----------------------------------------------------+--------------------------------+
-
-+---------------------------------------------------------------+-----------------------------------------------------+----------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invalid application of '`|+---------------------------------------------------+|:diagtext:`' to a void type`|
-| ||:diagtext:`sizeof` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`alignof` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`vec\_step` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`\_\_builtin\_omp\_required\_simd\_align`|| |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`\_\_alignof` || |
-| |+---------------------------------------------------+| |
-+---------------------------------------------------------------+-----------------------------------------------------+----------------------------+
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C90 does not allow subscripting non-lvalue array`|
-+-------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`subscript of a pointer to void is a GNU extension`|
-+----------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C forbids taking the address of an expression of type 'void'`|
-+-------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ordered comparison between pointer and zero (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`) is an extension`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`equality comparison between function pointer and void pointer (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`)`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------+-----------------------+---------------------------+---------------+----------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`arithmetic on`|+---------------------+| |nbsp| :diagtext:`pointer`|+-------------+| |nbsp| :diagtext:`to void is a GNU extension`|
-| || |nbsp| :diagtext:`a`|| || || |
-| |+---------------------+| |+-------------+| |
-| || || ||:diagtext:`s`|| |
-| |+---------------------+| |+-------------+| |
-+----------------------------------------------------+-----------------------+---------------------------+---------------+----------------------------------------------+
-
-+----------------------------------------------------+-----------------------+---------------------------+---------------+----------------------+-------------------------+---------------------------------+---------------+------------------------+---------------------------------------------------+--------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`arithmetic on`|+---------------------+| |nbsp| :diagtext:`pointer`|+-------------+| |nbsp| :diagtext:`to`|+-----------------------+| |nbsp| :diagtext:`function type`|+-------------+| |nbsp| :placeholder:`B`|+-------------------------------------------------+| |nbsp| :diagtext:`is a GNU extension`|
-| || |nbsp| :diagtext:`a`|| || || || |nbsp| :diagtext:`the`|| || || || || |
-| |+---------------------+| |+-------------+| |+-----------------------+| |+-------------+| |+-------------------------------------------------+| |
-| || || ||:diagtext:`s`|| || || ||:diagtext:`s`|| ||+-----------------------------------------------+|| |
-| |+---------------------+| |+-------------+| |+-----------------------+| |+-------------+| ||| |nbsp| :diagtext:`and` |nbsp| :placeholder:`D`||| |
-| | | | | | | | | ||+-----------------------------------------------+|| |
-| | | | | | | | | |+-------------------------------------------------+| |
-+----------------------------------------------------+-----------------------+---------------------------+---------------+----------------------+-------------------------+---------------------------------+---------------+------------------------+---------------------------------------------------+--------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C does not support '++'/'--' on complex integer type` |nbsp| :placeholder:`A`|
-+-----------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C does not support '~' for complex conjugation of` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`complex numbers are an extension in a freestanding C99 implementation`|
-+------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast between pointer-to-function and pointer-to-object is an extension`|
-+-------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------------------------------+
-|: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`|
-| ||:diagtext:`integral` || |
-| |+-----------------------+| |
-| ||:diagtext:`enumeration`|| |
-| |+-----------------------+| |
-+---------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------------------------------+
-
-+---------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------------------------------------------+| |nbsp| :diagtext:`converts between void pointer and function pointer`|
-| ||:diagtext:`assigning to
diff erent types` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`passing to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`returning from function with
diff erent return type`|| |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`converting between types` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`initializing with expression of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`sending to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`casting between types` || |
-| |+--------------------------------------------------------------+| |
-+---------------------------+----------------------------------------------------------------+----------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`kernel function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a member function; this may not be accepted by nvcc`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`C99 forbids conditional expressions with only one void side`|
-+--------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`C99 forbids casting nonscalar type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to the same type`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is a C++14 extension`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is a C++17 extension`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of the` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute is a C++20 extension`|
-+---------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------+--------------------+---------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`types declared in an anonymous` |nbsp| |+------------------+| |nbsp| :diagtext:`are a Microsoft extension`|
-| ||:diagtext:`struct`|| |
-| |+------------------+| |
-| ||:diagtext:`union` || |
-| |+------------------+| |
-+-----------------------------------------------------------------------------+--------------------+---------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`format specifies type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`but the argument has` |nbsp| |+---------------------------+| |nbsp| :placeholder:`B`|
-| ||:diagtext:`type` || |
-| |+---------------------------+| |
-| ||:diagtext:`underlying type`|| |
-| |+---------------------------+| |
-+------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+------------------------+
-
-+---------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`void` |nbsp| |+--------------------+| |nbsp| :placeholder:`A` |nbsp| :diagtext:`should not return void expression`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`method` || |
-| |+--------------------+| |
-| ||:diagtext:`block` || |
-| |+--------------------+| |
-+---------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
-
-+---------------------------+----------------------------------+------------------------------+-----------------------+----------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------------+|:diagtext:`array size` |nbsp| |+---------------------+|:diagtext:`is a C99 feature`|
-| ||:diagtext:`qualifier in` |nbsp| || || || |
-| |+--------------------------------+| |+---------------------+| |
-| ||:diagtext:`static` |nbsp| || || || |
-| |+--------------------------------+| |+---------------------+| |
-| || || ||:diagtext:`'\[\*\] '`|| |
-| |+--------------------------------+| |+---------------------+| |
-+---------------------------+----------------------------------+------------------------------+-----------------------+----------------------------+
-
-+--------------------------------------------------------+------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extra ';'` |nbsp| |+----------------------------------------------+|
-| ||:diagtext:`outside of a function` ||
-| |+----------------------------------------------+|
-| ||+--------------------------------------------+||
-| |||:diagtext:`inside a` |nbsp| :placeholder:`B`|||
-| ||+--------------------------------------------+||
-| |+----------------------------------------------+|
-| ||:diagtext:`inside instance variable list` ||
-| |+----------------------------------------------+|
-| ||:diagtext:`after member function definition` ||
-| |+----------------------------------------------+|
-+--------------------------------------------------------+------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'\_\_thread' before '`:placeholder:`A`:diagtext:`'`|
-+-----------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`type-less parameter names in function declaration`|
-+----------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable declaration in for loop is a C99-specific feature`|
-+-------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`compound literals are a C99-specific feature`|
-+-----------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`commas at the end of enumerator lists are a C99-specific feature`|
-+-------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`commas at the end of enumerator lists are a C++11 extension`|
-+--------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`enumeration types with a fixed underlying type are a C++11 extension`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is a C99 extension`|
-+----------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of GNU array range extension`|
-+-----------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`exception specification of '...' is a Microsoft extension`|
-+------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------+---------------------------+-----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attributes on` |nbsp| |+-------------------------+| |nbsp| :diagtext:`declaration are a C++17 extension`|
-| ||:diagtext:`a namespace` || |
-| |+-------------------------+| |
-| ||:diagtext:`an enumerator`|| |
-| |+-------------------------+| |
-+------------------------------------------------------------+---------------------------+-----------------------------------------------------+
-
-+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`extern templates are a C++11 extension`|
-+-----------------------------------------------------------------------------+
-
-+------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multi-line // comment`|
-+------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`// comments are not allowed in this language`|
-+-----------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no newline at end of file`|
-+----------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of non-standard escape character '\\`:placeholder:`A`:diagtext:`'`|
-+------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`hexadecimal floating constants are a C99 feature`|
-+---------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`hexadecimal floating literals are a C++17 feature`|
-+----------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#ident is a language extension`|
-+---------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#warning is a language extension`|
-+-----------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`comma operator in operand of #if`|
-+-----------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`\_\_VA\_ARGS\_\_ can only appear in the expansion of a C99 variadic macro`|
-+----------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variadic macros are a C99 feature`|
-+------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`named variadic macros are a GNU extension`|
-+--------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`empty macro arguments are a C99 feature`|
-+------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variadic macros are a Clang extension in OpenCL`|
-+--------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`C requires #line number to be less than` |nbsp| :placeholder:`A`:diagtext:`, allowed as extension`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`macro expansion producing 'defined' has undefined behavior`|
-+-------------------------------------------------------------------------------------------------+
-
-
--Wpedantic-core-features
-------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`OpenCL extension` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is core feature or supported optional core feature - ignoring`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpessimizing-move
-------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`moving a temporary object prevents copy elision`|
-+--------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`moving a local object in a return statement prevents copy elision`|
-+--------------------------------------------------------------------------------------------------------+
-
-
--Wpointer-arith
----------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------+-----------------------+---------------------------+---------------+----------------------+-------------------------+---------------------------------+---------------+------------------------+---------------------------------------------------+--------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`arithmetic on`|+---------------------+| |nbsp| :diagtext:`pointer`|+-------------+| |nbsp| :diagtext:`to`|+-----------------------+| |nbsp| :diagtext:`function type`|+-------------+| |nbsp| :placeholder:`B`|+-------------------------------------------------+| |nbsp| :diagtext:`is a GNU extension`|
-| || |nbsp| :diagtext:`a`|| || || || |nbsp| :diagtext:`the`|| || || || || |
-| |+---------------------+| |+-------------+| |+-----------------------+| |+-------------+| |+-------------------------------------------------+| |
-| || || ||:diagtext:`s`|| || || ||:diagtext:`s`|| ||+-----------------------------------------------+|| |
-| |+---------------------+| |+-------------+| |+-----------------------+| |+-------------+| ||| |nbsp| :diagtext:`and` |nbsp| :placeholder:`D`||| |
-| | | | | | | | | ||+-----------------------------------------------+|| |
-| | | | | | | | | |+-------------------------------------------------+| |
-+----------------------------------------------------+-----------------------+---------------------------+---------------+----------------------+-------------------------+---------------------------------+---------------+------------------------+---------------------------------------------------+--------------------------------------+
-
-+----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`subscript of a pointer to void is a GNU extension`|
-+----------------------------------------------------------------------------------------+
-
-+----------------------------------------------------+-----------------------+---------------------------+---------------+----------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`arithmetic on`|+---------------------+| |nbsp| :diagtext:`pointer`|+-------------+| |nbsp| :diagtext:`to void is a GNU extension`|
-| || |nbsp| :diagtext:`a`|| || || |
-| |+---------------------+| |+-------------+| |
-| || || ||:diagtext:`s`|| |
-| |+---------------------+| |+-------------+| |
-+----------------------------------------------------+-----------------------+---------------------------+---------------+----------------------------------------------+
-
-+---------------------------------------------------------------+-----------------------------------------------------+--------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invalid application of '`|+---------------------------------------------------+|:diagtext:`' to a function type`|
-| ||:diagtext:`sizeof` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`alignof` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`vec\_step` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`\_\_builtin\_omp\_required\_simd\_align`|| |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`\_\_alignof` || |
-| |+---------------------------------------------------+| |
-+---------------------------------------------------------------+-----------------------------------------------------+--------------------------------+
-
-+---------------------------------------------------------------+-----------------------------------------------------+----------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invalid application of '`|+---------------------------------------------------+|:diagtext:`' to a void type`|
-| ||:diagtext:`sizeof` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`alignof` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`vec\_step` || |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`\_\_builtin\_omp\_required\_simd\_align`|| |
-| |+---------------------------------------------------+| |
-| ||:diagtext:`\_\_alignof` || |
-| |+---------------------------------------------------+| |
-+---------------------------------------------------------------+-----------------------------------------------------+----------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`subtraction of pointers to type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of zero size has undefined behavior`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpointer-bool-conversion
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------+---------------------------+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`nonnull` |nbsp| |+-------------------------+| |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' will evaluate to 'true' on first encounter`|
-| ||:diagtext:`function call`|| |
-| |+-------------------------+| |
-| ||:diagtext:`parameter` || |
-| |+-------------------------+| |
-+------------------------------------------------------+---------------------------+---------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------+------------------------------+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`address of`|+----------------------------+| |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' will always evaluate to 'true'`|
-| || || |
-| |+----------------------------+| |
-| || |nbsp| :diagtext:`function`|| |
-| |+----------------------------+| |
-| || |nbsp| :diagtext:`array` || |
-| |+----------------------------+| |
-+-------------------------------------------------+------------------------------+---------------------------------------------------------------------------------+
-
-
--Wpointer-compare
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------+------------------------+-------------+
-|:warning:`warning:` |nbsp| :diagtext:`comparing a pointer to a null character constant; did you mean to compare to` |nbsp| |+----------------------+|:diagtext:`?`|
-| ||:diagtext:`NULL` || |
-| |+----------------------+| |
-| ||:diagtext:`(void \*)0`|| |
-| |+----------------------+| |
-+---------------------------------------------------------------------------------------------------------------------------+------------------------+-------------+
-
-
--Wpointer-integer-compare
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`comparison between pointer and integer (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`)`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpointer-sign
---------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------------------------------------------------+| |nbsp| :diagtext:`converts between pointers to integer types with
diff erent sign`|
-| ||:diagtext:`assigning to
diff erent types` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`passing to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`returning from function with
diff erent return type`|| |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`converting between types` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`initializing with expression of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`sending to parameter of
diff erent type` || |
-| |+--------------------------------------------------------------+| |
-| ||:diagtext:`casting between types` || |
-| |+--------------------------------------------------------------+| |
-+---------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------------+
-
-
--Wpointer-to-enum-cast
-----------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wvoid-pointer-to-enum-cast`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast to smaller integer type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`from` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpointer-to-int-cast
----------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wpointer-to-enum-cast`_, `-Wvoid-pointer-to-int-cast`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast to smaller integer type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`from` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpointer-to-int-cast
----------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wpointer-to-enum-cast`_, `-Wvoid-pointer-to-int-cast`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast to smaller integer type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`from` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpointer-type-mismatch
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pointer type mismatch`|
-+------------------------------------------------------------+
-
-
--Wpoison-system-directories
----------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`include location '`:placeholder:`A`:diagtext:`' is unsafe for cross-compilation`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-
--Wpotentially-evaluated-expression
-----------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expression with side effects will be evaluated despite being used as an operand to 'typeid'`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpragma-clang-attribute
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unused attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in '#pragma clang attribute push' region`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpragma-once-outside-header
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma once in main file`|
-+----------------------------------------------------------------+
-
-
--Wpragma-pack
--------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wpragma-pack-suspicious-include`_.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the current #pragma pack alignment value is modified in the included file`|
-+----------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unterminated '#pragma pack (push, ...)' at end of file`|
-+---------------------------------------------------------------------------------------------+
-
-
--Wpragma-pack-suspicious-include
---------------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-default #pragma pack value changes the alignment of struct or union members in the included file`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wpragma-system-header-outside-header
--------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma system\_header ignored in main file`|
-+----------------------------------------------------------------------------------+
-
-
--Wpragmas
----------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wignored-pragmas`_, `-Wpragma-clang-attribute`_, `-Wpragma-pack`_, `-Wunknown-pragmas`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------+----------------------+------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma redefine\_extname is applicable to external C declarations only; not applied to` |nbsp| |+--------------------+| |nbsp| :placeholder:`B`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`variable`|| |
-| |+--------------------+| |
-+--------------------------------------------------------------------------------------------------------------------------------------+----------------------+------------------------+
-
-
--Wpredefined-identifier-outside-function
-----------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`predefined identifier is only valid inside function`|
-+------------------------------------------------------------------------------------------+
-
-
--Wprivate-extern
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`use of \_\_private\_extern\_\_ on a declaration may not produce external symbol private to the linkage unit and is deprecated`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wprivate-header
-----------------
-This diagnostic is an error by default, but the flag ``-Wno-private-header`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`use of private header from outside its module: '`:placeholder:`A`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------------------------+
-
-
--Wprivate-module
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected canonical name for private module '`:placeholder:`A`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`private submodule '`:placeholder:`A`:diagtext:`' in private module map, expected top-level module`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`module '`:placeholder:`A`:diagtext:`' already re-exported as '`:placeholder:`B`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no submodule named` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in module '`:placeholder:`B`:diagtext:`'; using top level '`:placeholder:`C`:diagtext:`'`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wprofile-instr-missing
------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------+---------------+---------------------------------------------+------------------+---------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`profile data may be incomplete: of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`function`|+-------------+|:diagtext:`,` |nbsp| :placeholder:`B` |nbsp| |+----------------+| |nbsp| :diagtext:`no data`|
-| || || ||:diagtext:`has` || |
-| |+-------------+| |+----------------+| |
-| ||:diagtext:`s`|| ||:diagtext:`have`|| |
-| |+-------------+| |+----------------+| |
-+-----------------------------------------------------------------------------------------------------------------------------+---------------+---------------------------------------------+------------------+---------------------------+
-
-
--Wprofile-instr-out-of-date
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------+---------------+---------------------------------------------+------------------+--------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`profile data may be out of date: of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`function`|+-------------+|:diagtext:`,` |nbsp| :placeholder:`B` |nbsp| |+----------------+| |nbsp| :diagtext:`mismatched data that will be ignored`|
-| || || ||:diagtext:`has` || |
-| |+-------------+| |+----------------+| |
-| ||:diagtext:`s`|| ||:diagtext:`have`|| |
-| |+-------------+| |+----------------+| |
-+------------------------------------------------------------------------------------------------------------------------------+---------------+---------------------------------------------+------------------+--------------------------------------------------------+
-
-
--Wprofile-instr-unprofiled
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no profile data available for file "`:placeholder:`A`:diagtext:`"`|
-+--------------------------------------------------------------------------------------------------------+
-
-
--Wproperty-access-dot-syntax
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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:`?`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wproperty-attribute-mismatch
------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`property attribute in class extension does not match the primary class`|
-+-------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' attribute on property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`does not match the property inherited from` |nbsp| :placeholder:`C`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`getter name mismatch between property redeclaration (`:placeholder:`B`:diagtext:`) and its original declaration (`:placeholder:`A`:diagtext:`)`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`attribute 'readonly' of property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`restricts attribute 'readwrite' of property inherited from` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wprotocol
-----------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`method` |nbsp| :placeholder:`A` |nbsp| :diagtext:`in protocol` |nbsp| :placeholder:`B` |nbsp| :diagtext:`not implemented`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wprotocol-property-synthesis-ambiguity
----------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------+----------------------------------------------------------------+----------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`property` |nbsp| |+--------------------------------------------------------------+| |nbsp| :diagtext:`was selected for synthesis`|
-| ||+-------------------------------------------+ || |
-| |||:diagtext:`of type` |nbsp| :placeholder:`B`| || |
-| ||+-------------------------------------------+ || |
-| |+--------------------------------------------------------------+| |
-| ||+---------------------------------------------------------+ || |
-| |||:diagtext:`with attribute '`:placeholder:`B`:diagtext:`'`| || |
-| ||+---------------------------------------------------------+ || |
-| |+--------------------------------------------------------------+| |
-| ||+------------------------------------------------------------+|| |
-| |||:diagtext:`without attribute '`:placeholder:`B`:diagtext:`'`||| |
-| ||+------------------------------------------------------------+|| |
-| |+--------------------------------------------------------------+| |
-| ||+-----------------------------------------------+ || |
-| |||:diagtext:`with getter` |nbsp| :placeholder:`B`| || |
-| ||+-----------------------------------------------+ || |
-| |+--------------------------------------------------------------+| |
-| ||+-----------------------------------------------+ || |
-| |||:diagtext:`with setter` |nbsp| :placeholder:`B`| || |
-| ||+-----------------------------------------------+ || |
-| |+--------------------------------------------------------------+| |
-+-------------------------------------------------------+----------------------------------------------------------------+----------------------------------------------+
-
-
--Wqualified-void-return-type
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`function cannot return qualified void type` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------------------------------+
-
-
--Wquoted-include-in-framework-header
-------------------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`double-quoted include "`:placeholder:`A`:diagtext:`" in framework header, expected angle-bracketed instead`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wrange-loop-analysis
----------------------
-Controls `-Wrange-loop-bind-reference`_, `-Wrange-loop-construct`_.
-
-
--Wrange-loop-bind-reference
----------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`loop variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`binds to a temporary value produced by a range of type` |nbsp| :placeholder:`B`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wrange-loop-construct
-----------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`loop variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`binds to a temporary constructed from a
diff erent type`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`loop variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`creates a copy from type` |nbsp| :placeholder:`B`|
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wreadonly-iboutlet-property
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`readonly IBOutlet property` |nbsp| :placeholder:`A` |nbsp| :diagtext:`when auto-synthesized may not work correctly with 'nib' loader`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wreceiver-expr
----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`receiver type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not 'id' or interface pointer, consider casting it to 'id'`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wreceiver-forward-class
-------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`receiver` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a forward class and corresponding @interface may not exist`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`receiver type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`for instance message is a forward declaration`|
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wredeclared-class-member
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`class member cannot be redeclared`|
-+------------------------------------------------------------------------+
-
-
--Wredundant-decls
------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wredundant-move
-----------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redundant move in return statement`|
-+-------------------------------------------------------------------------+
-
-
--Wredundant-parens
-------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redundant parentheses surrounding declarator`|
-+-----------------------------------------------------------------------------------+
-
-
--Wregister
-----------
-This diagnostic is enabled by default.
-
-Also controls `-Wdeprecated-register`_.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`ISO C++17 does not allow 'register' storage class specifier`|
-+----------------------------------------------------------------------------------------------+
-
-
--Wreinterpret-base-class
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------+------------------+---------------------------------------------------------+------------------+-------------------------------+-------------------------------------+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'reinterpret\_cast'` |nbsp| |+----------------+| |nbsp| :diagtext:`class` |nbsp| :placeholder:`A` |nbsp| |+----------------+| |nbsp| :diagtext:`its` |nbsp| |+-----------------------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`behaves
diff erently from 'static\_cast'`|
-| ||:diagtext:`from`|| ||:diagtext:`to` || ||:diagtext:`virtual base` || |
-| |+----------------+| |+----------------+| |+-----------------------------------+| |
-| ||:diagtext:`to` || ||:diagtext:`from`|| ||:diagtext:`base at non-zero offset`|| |
-| |+----------------+| |+----------------+| |+-----------------------------------+| |
-+------------------------------------------------------------------+------------------+---------------------------------------------------------+------------------+-------------------------------+-------------------------------------+-----------------------------------------------------------------------------------+
-
-
--Rremark-backend-plugin
------------------------
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-
--Wreorder
----------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wreorder-ctor`_, `-Wreorder-init-list`_.
-
-
--Wreorder-ctor
---------------
-**Diagnostic text:**
-
-+---------------------------+------------------------+-----------------------------------------------------------------------------+-------------------+------------------------+
-|:warning:`warning:` |nbsp| |+----------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`will be initialized after` |nbsp| |+-----------------+| |nbsp| :placeholder:`D`|
-| ||:diagtext:`field` || ||:diagtext:`field`|| |
-| |+----------------------+| |+-----------------+| |
-| ||:diagtext:`base class`|| ||:diagtext:`base` || |
-| |+----------------------+| |+-----------------+| |
-+---------------------------+------------------------+-----------------------------------------------------------------------------+-------------------+------------------------+
-
-
--Wreorder-init-list
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ requires field designators to be specified in declaration order; field` |nbsp| :placeholder:`B` |nbsp| :diagtext:`will be initialized after field` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wrequires-expression
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`this requires expression will only be checked for syntactic validity; did you intend to place it in a nested requirement? (add another 'requires' before the expression)`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wrequires-super-attribute
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------+----------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute cannot be applied to` |nbsp| |+--------------------------------+|
-| ||:diagtext:`methods in protocols`||
-| |+--------------------------------+|
-| ||:diagtext:`dealloc` ||
-| |+--------------------------------+|
-+-----------------------------------------------------------------------------------------------------+----------------------------------+
-
-
--Wreserved-id-macro
--------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`macro name is a reserved identifier`|
-+--------------------------------------------------------------------------+
-
-
--Wreserved-user-defined-literal
--------------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wc++11-compat-reserved-user-defined-literal`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`invalid suffix on literal; C++11 requires a space between literal and identifier`|
-+-----------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`invalid suffix on literal; C++11 requires a space between literal and identifier`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-
--Wretained-language-linkage
----------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`friend function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`retaining previous language linkage is an extension`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wreturn-stack-address
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`returning address of label, which is local`|
-+---------------------------------------------------------------------------------+
-
-+--------------------------------------------------------+--------------------------+------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`returning` |nbsp| |+------------------------+| |nbsp| :diagtext:`local temporary object`|
-| ||:diagtext:`address of` || |
-| |+------------------------+| |
-| ||:diagtext:`reference to`|| |
-| |+------------------------+| |
-+--------------------------------------------------------+--------------------------+------------------------------------------+
-
-+---------------------------+--------------------------+--------------------------------------------------------+----------------------------+----------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------+| |nbsp| :diagtext:`stack memory associated with` |nbsp| |+--------------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`returned`|
-| ||:diagtext:`address of` || ||:diagtext:`local variable`|| |
-| |+------------------------+| |+--------------------------+| |
-| ||:diagtext:`reference to`|| ||:diagtext:`parameter` || |
-| |+------------------------+| |+--------------------------+| |
-+---------------------------+--------------------------+--------------------------------------------------------+----------------------------+----------------------------------------------------+
-
-
--Wreturn-std-move
------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------+----------------------+---------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`local variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will be copied despite being` |nbsp| |+--------------------+| |nbsp| :diagtext:`by name`|
-| ||:diagtext:`returned`|| |
-| |+--------------------+| |
-| ||:diagtext:`thrown` || |
-| |+--------------------+| |
-+-------------------------------------------------------------------------------------------------------------------------------------+----------------------+---------------------------+
-
-
--Wreturn-std-move-in-c++11
---------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`prior to the resolution of a defect report against ISO C++11, local variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`would have been copied despite being returned by name, due to its not matching the function return type`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wreturn-type
--------------
-This diagnostic is enabled by default.
-
-Also controls `-Wreturn-type-c-linkage`_.
-
-**Diagnostic text:**
-
-+-----------------------+---------------------------+---------------------------------------------------------------------+
-|:error:`error:` |nbsp| |+-------------------------+| |nbsp| :placeholder:`A` |nbsp| :diagtext:`should not return a value`|
-| ||:diagtext:`void function`|| |
-| |+-------------------------+| |
-| ||:diagtext:`void method` || |
-| |+-------------------------+| |
-| ||:diagtext:`constructor` || |
-| |+-------------------------+| |
-| ||:diagtext:`destructor` || |
-| |+-------------------------+| |
-+-----------------------+---------------------------+---------------------------------------------------------------------+
-
-+---------------------------------------------------+----------------------+-----------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`non-void` |nbsp| |+--------------------+| |nbsp| :placeholder:`A` |nbsp| :diagtext:`should return a value`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`method` || |
-| |+--------------------+| |
-+---------------------------------------------------+----------------------+-----------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-void coroutine does not return a value`|
-+---------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-void function does not return a value`|
-+--------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-void lambda does not return a value`|
-+------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-void coroutine does not return a value in all control paths`|
-+------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-void function does not return a value in all control paths`|
-+-----------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-void lambda does not return a value in all control paths`|
-+---------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------+----------------------+-----------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`non-void` |nbsp| |+--------------------+| |nbsp| :placeholder:`A` |nbsp| :diagtext:`should return a value`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`method` || |
-| |+--------------------+| |
-+---------------------------------------------------+----------------------+-----------------------------------------------------------------+
-
-
--Wreturn-type-c-linkage
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wrewrite-not-bool
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++20 requires return type of selected 'operator==' function for rewritten '`:placeholder:`B`:diagtext:`' comparison to be 'bool', not` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Rsanitize-address
-------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------+
-|:remark:`remark:` |nbsp| :diagtext:`-fsanitize-address-field-padding applied to` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------+
-|:remark:`remark:` |nbsp| :diagtext:`-fsanitize-address-field-padding ignored for` |nbsp| :placeholder:`A` |nbsp| :diagtext:`because it` |nbsp| |+------------------------------------+|
-| ||:diagtext:`is not C++` ||
-| |+------------------------------------+|
-| ||:diagtext:`is packed` ||
-| |+------------------------------------+|
-| ||:diagtext:`is a union` ||
-| |+------------------------------------+|
-| ||:diagtext:`is trivially copyable` ||
-| |+------------------------------------+|
-| ||:diagtext:`has trivial destructor` ||
-| |+------------------------------------+|
-| ||:diagtext:`is standard layout` ||
-| |+------------------------------------+|
-| ||:diagtext:`is in a blacklisted file`||
-| |+------------------------------------+|
-| ||:diagtext:`is blacklisted` ||
-| |+------------------------------------+|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------+
-
-
--Wsection
----------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`section attribute is specified on redeclared variable`|
-+--------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`duplicate code segment specifiers`|
-+------------------------------------------------------------------------+
-
-+---------------------------+---------------------+-------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`does not match previous declaration`|
-| ||:diagtext:`codeseg`|| |
-| |+-------------------+| |
-| ||:diagtext:`section`|| |
-| |+-------------------+| |
-+---------------------------+---------------------+-------------------------------------------------------+
-
-
--Wselector
-----------
-Also controls `-Wselector-type-mismatch`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`no method with selector` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is implemented in this translation unit`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wselector-type-mismatch
-------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`several methods with selector` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of mismatched types are found for the @selector expression`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wself-assign
--------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wself-assign-field`_, `-Wself-assign-overloaded`_.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicitly assigning value of variable of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to itself`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wself-assign-field
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------+-------------------------------+-----------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`assigning` |nbsp| |+-----------------------------+| |nbsp| :diagtext:`to itself`|
-| ||:diagtext:`field` || |
-| |+-----------------------------+| |
-| ||:diagtext:`instance variable`|| |
-| |+-----------------------------+| |
-+--------------------------------------------------------+-------------------------------+-----------------------------+
-
-
--Wself-assign-overloaded
-------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicitly assigning value of variable of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to itself`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wself-move
------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicitly moving variable of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to itself`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsemicolon-before-method-body
-------------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`semicolon before method body is ignored`|
-+------------------------------------------------------------------------------+
-
-
--Wsentinel
-----------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------+-----------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing sentinel in` |nbsp| |+---------------------------+|
-| ||:diagtext:`function call` ||
-| |+---------------------------+|
-| ||:diagtext:`method dispatch`||
-| |+---------------------------+|
-| ||:diagtext:`block call` ||
-| |+---------------------------+|
-+------------------------------------------------------------------+-----------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`not enough variable arguments in` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declaration to fit a sentinel`|
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsequence-point
-----------------
-Synonym for `-Wunsequenced`_.
-
-
--Wserialized-diagnostics
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unable to open file` |nbsp| :placeholder:`A` |nbsp| :diagtext:`for serializing diagnostics (`:placeholder:`B`:diagtext:`)`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unable to merge a subprocess's serialized diagnostics`|
-+--------------------------------------------------------------------------------------------+
-
-
--Wshadow
---------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wshadow-field-in-constructor-modified`_, `-Wshadow-ivar`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------+-------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration shadows a` |nbsp| |+-----------------------------------------------------------+|
-| ||:diagtext:`local variable` ||
-| |+-----------------------------------------------------------+|
-| ||+-----------------------------------------------+ ||
-| |||:diagtext:`variable in` |nbsp| :placeholder:`C`| ||
-| ||+-----------------------------------------------+ ||
-| |+-----------------------------------------------------------+|
-| ||+---------------------------------------------------------+||
-| |||:diagtext:`static data member of` |nbsp| :placeholder:`C`|||
-| ||+---------------------------------------------------------+||
-| |+-----------------------------------------------------------+|
-| ||+--------------------------------------------+ ||
-| |||:diagtext:`field of` |nbsp| :placeholder:`C`| ||
-| ||+--------------------------------------------+ ||
-| |+-----------------------------------------------------------+|
-| ||+----------------------------------------------+ ||
-| |||:diagtext:`typedef in` |nbsp| :placeholder:`C`| ||
-| ||+----------------------------------------------+ ||
-| |+-----------------------------------------------------------+|
-| ||+-------------------------------------------------+ ||
-| |||:diagtext:`type alias in` |nbsp| :placeholder:`C`| ||
-| ||+-------------------------------------------------+ ||
-| |+-----------------------------------------------------------+|
-+--------------------------------------------------------------------+-------------------------------------------------------------+
-
-
--Wshadow-all
-------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wshadow`_, `-Wshadow-field`_, `-Wshadow-field-in-constructor`_, `-Wshadow-uncaptured-local`_.
-
-
--Wshadow-field
---------------
-**Diagnostic text:**
-
-+---------------------------+------------------------------------+--------------------------------+--------------------------------------------------+----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+----------------------------------+| |nbsp| :placeholder:`A` |nbsp| |+------------------------------------------------+|:diagtext:`shadows member inherited from type` |nbsp| :placeholder:`C`|
-| ||:diagtext:`parameter` || || || |
-| |+----------------------------------+| |+------------------------------------------------+| |
-| ||:diagtext:`non-static data member`|| ||+----------------------------------------------+|| |
-| |+----------------------------------+| |||:diagtext:`of` |nbsp| :placeholder:`B` |nbsp| ||| |
-| | | ||+----------------------------------------------+|| |
-| | | |+------------------------------------------------+| |
-+---------------------------+------------------------------------+--------------------------------+--------------------------------------------------+----------------------------------------------------------------------+
-
-
--Wshadow-field-in-constructor
------------------------------
-Also controls `-Wshadow-field-in-constructor-modified`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`constructor parameter` |nbsp| :placeholder:`A` |nbsp| :diagtext:`shadows the field` |nbsp| :placeholder:`B` |nbsp| :diagtext:`of` |nbsp| :placeholder:`C`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wshadow-field-in-constructor-modified
---------------------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`modifying constructor parameter` |nbsp| :placeholder:`A` |nbsp| :diagtext:`that shadows a field of` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wshadow-ivar
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`local declaration of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`hides instance variable`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wshadow-uncaptured-local
--------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------+-------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration shadows a` |nbsp| |+-----------------------------------------------------------+|
-| ||:diagtext:`local variable` ||
-| |+-----------------------------------------------------------+|
-| ||+-----------------------------------------------+ ||
-| |||:diagtext:`variable in` |nbsp| :placeholder:`C`| ||
-| ||+-----------------------------------------------+ ||
-| |+-----------------------------------------------------------+|
-| ||+---------------------------------------------------------+||
-| |||:diagtext:`static data member of` |nbsp| :placeholder:`C`|||
-| ||+---------------------------------------------------------+||
-| |+-----------------------------------------------------------+|
-| ||+--------------------------------------------+ ||
-| |||:diagtext:`field of` |nbsp| :placeholder:`C`| ||
-| ||+--------------------------------------------+ ||
-| |+-----------------------------------------------------------+|
-| ||+----------------------------------------------+ ||
-| |||:diagtext:`typedef in` |nbsp| :placeholder:`C`| ||
-| ||+----------------------------------------------+ ||
-| |+-----------------------------------------------------------+|
-| ||+-------------------------------------------------+ ||
-| |||:diagtext:`type alias in` |nbsp| :placeholder:`C`| ||
-| ||+-------------------------------------------------+ ||
-| |+-----------------------------------------------------------+|
-+--------------------------------------------------------------------+-------------------------------------------------------------+
-
-
--Wshift-count-negative
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`shift count is negative`|
-+--------------------------------------------------------------+
-
-
--Wshift-count-overflow
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`shift count >= width of type`|
-+-------------------------------------------------------------------+
-
-
--Wshift-negative-value
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`shifting a negative signed value is undefined`|
-+------------------------------------------------------------------------------------+
-
-
--Wshift-op-parentheses
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`operator '`:placeholder:`A`:diagtext:`' has lower precedence than '`:placeholder:`B`:diagtext:`'; '`:placeholder:`B`:diagtext:`' will be evaluated first`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wshift-overflow
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wshift-sign-overflow
----------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wshorten-64-to-32
-------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion loses integer precision:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsign-compare
---------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`comparison of integers of
diff erent signs:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsign-conversion
------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion changes signedness:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`operand of ? changes signedness:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the resulting value is always non-negative after implicit conversion`|
-+-----------------------------------------------------------------------------------------------------------+
-
-
--Wsign-promo
-------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wsigned-enum-bitfield
-----------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`enums in the Microsoft ABI are signed integers by default; consider giving the enum` |nbsp| :placeholder:`A` |nbsp| :diagtext:`an unsigned underlying type to make this code portable`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsigned-unsigned-wchar
------------------------
-This diagnostic is an error by default, but the flag ``-Wno-signed-unsigned-wchar`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' cannot be signed or unsigned`|
-+----------------------------------------------------------------------------------------------+
-
-
--Wsizeof-array-argument
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`sizeof on array function parameter will return size of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`instead of` |nbsp| :placeholder:`B`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsizeof-array-decay
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`sizeof on pointer operation will return size of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`instead of` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsizeof-array-div
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expression does not compute the number of elements in this array; element type is` |nbsp| :placeholder:`A`:diagtext:`, not` |nbsp| :placeholder:`B`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsizeof-pointer-div
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' will return the size of the pointer, not the array itself`|
-+-------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsizeof-pointer-memaccess
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' call operates on objects of type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`while the size is based on a
diff erent type` |nbsp| :placeholder:`C`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+---------------------------------------------------------------------------------------+
-|: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| |+-----------------------+|:diagtext:`; expected` |nbsp| :placeholder:`D` |nbsp| :diagtext:`or an explicit length`|
-| ||:diagtext:`destination`|| |
-| |+-----------------------+| |
-| ||:diagtext:`source` || |
-| |+-----------------------+| |
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+---------------------------------------------------------------------------------------+
-
-
--Wslash-u-filename
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'/U`:placeholder:`A`:diagtext:`' treated as the '/U' option`|
-+--------------------------------------------------------------------------------------------------+
-
-
--Wsometimes-uninitialized
--------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------+----------------------+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is` |nbsp| |+--------------------+| |nbsp| :diagtext:`uninitialized whenever` |nbsp| |+------------------------------------------------------------------------------------------------------------+|
-| ||:diagtext:`used` || ||+---------------------------------------------------------------+-------------------+ ||
-| |+--------------------+| |||:diagtext:`'`:placeholder:`D`:diagtext:`' condition is` |nbsp| |+-----------------+| ||
-| ||:diagtext:`captured`|| ||| ||:diagtext:`true` || ||
-| |+--------------------+| ||| |+-----------------+| ||
-| | | ||| ||:diagtext:`false`|| ||
-| | | ||| |+-----------------+| ||
-| | | ||+---------------------------------------------------------------+-------------------+ ||
-| | | |+------------------------------------------------------------------------------------------------------------+|
-| | | ||+-------------------------------------------------------+--------------------------------------------------+||
-| | | |||:diagtext:`'`:placeholder:`D`:diagtext:`' loop` |nbsp| |+------------------------------------------------+|||
-| | | ||| ||:diagtext:`is entered` ||||
-| | | ||| |+------------------------------------------------+|||
-| | | ||| ||:diagtext:`exits because its condition is false`||||
-| | | ||| |+------------------------------------------------+|||
-| | | ||+-------------------------------------------------------+--------------------------------------------------+||
-| | | |+------------------------------------------------------------------------------------------------------------+|
-| | | ||+-------------------------------------------------------+--------------------------------------------------+||
-| | | |||:diagtext:`'`:placeholder:`D`:diagtext:`' loop` |nbsp| |+------------------------------------------------+|||
-| | | ||| ||:diagtext:`condition is true` ||||
-| | | ||| |+------------------------------------------------+|||
-| | | ||| ||:diagtext:`exits because its condition is false`||||
-| | | ||| |+------------------------------------------------+|||
-| | | ||+-------------------------------------------------------+--------------------------------------------------+||
-| | | |+------------------------------------------------------------------------------------------------------------+|
-| | | ||+----------------------------------------------------------------------+ ||
-| | | |||:diagtext:`switch` |nbsp| :placeholder:`D` |nbsp| :diagtext:`is taken`| ||
-| | | ||+----------------------------------------------------------------------+ ||
-| | | |+------------------------------------------------------------------------------------------------------------+|
-| | | ||:diagtext:`its declaration is reached` ||
-| | | |+------------------------------------------------------------------------------------------------------------+|
-| | | ||+---------------------------------------------+ ||
-| | | |||:placeholder:`D` |nbsp| :diagtext:`is called`| ||
-| | | ||+---------------------------------------------+ ||
-| | | |+------------------------------------------------------------------------------------------------------------+|
-+-----------------------------------------------------------------------------------------------------+----------------------+--------------------------------------------------+--------------------------------------------------------------------------------------------------------------+
-
-
--Wsource-uses-openmp
---------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`nesting \`omp begin/end declare variant\` is not supported yet; nested context ignored`|
-+-----------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'#pragma omp declare variant' cannot be applied to the function that was defined already; the original function might be used`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'#pragma omp declare variant' cannot be applied for function after first usage; the original function might be used`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variant function in '#pragma omp declare variant' is itself marked as '#pragma omp declare variant'`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`score expressions in the OpenMP context selector need to be constant;` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not and will be ignored`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`OpenMP only allows an ordered construct with the simd clause nested in a simd construct`|
-+------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unexpected '#pragma omp ...' in program`|
-+------------------------------------------------------------------------------+
-
-
--Wspir-compat
--------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`sampler initializer has invalid` |nbsp| :placeholder:`A` |nbsp| :diagtext:`bits`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-
--Wstack-exhausted
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`stack nearly exhausted; compilation time may suffer, and crashes due to stack overflow are likely`|
-+----------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wstack-protector
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`Unable to protect inline asm that clobbers stack pointer against stack clash`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-
--Wstack-protector
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`Unable to protect inline asm that clobbers stack pointer against stack clash`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-
--Wstatic-float-init
--------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wgnu-static-float-init`_.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`in-class initializer for static data member of type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires 'constexpr' specifier`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wstatic-in-inline
-------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------+----------------------+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`static` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`is used in an inline function with external linkage`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`variable`|| |
-| |+--------------------+| |
-+-----------------------------------------------------+----------------------+-----------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------+----------------------+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`static` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`is used in an inline function with external linkage`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`variable`|| |
-| |+--------------------+| |
-+-----------------------------------------------------+----------------------+-----------------------------------------------------------------------------------------------+
-
-
--Wstatic-inline-explicit-instantiation
---------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------+--------------------+--------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring '`|+------------------+|:diagtext:`' keyword on explicit template instantiation`|
-| ||:diagtext:`static`|| |
-| |+------------------+| |
-| ||:diagtext:`inline`|| |
-| |+------------------+| |
-+-------------------------------------------------+--------------------+--------------------------------------------------------+
-
-
--Wstatic-local-in-inline
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`non-constant static local variable in inline function may be
diff erent in
diff erent files`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wstatic-self-init
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`static variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is suspiciously used within its own initialization`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wstdlibcxx-not-found
----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`include path for libstdc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wstrict-aliasing
------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-aliasing=0
--------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-aliasing=1
--------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-aliasing=2
--------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-overflow
------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-overflow=0
--------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-overflow=1
--------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-overflow=2
--------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-overflow=3
--------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-overflow=4
--------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-overflow=5
--------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wstrict-prototypes
--------------------
-**Diagnostic text:**
-
-+---------------------------------------------------+--------------------------------------------------------------+-------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`this` |nbsp| |+------------------------------------------------------------+| |nbsp| :diagtext:`a prototype`|
-| ||:diagtext:`function declaration is not` || |
-| |+------------------------------------------------------------+| |
-| ||:diagtext:`block declaration is not` || |
-| |+------------------------------------------------------------+| |
-| ||:diagtext:`old-style function definition is not preceded by`|| |
-| |+------------------------------------------------------------+| |
-+---------------------------------------------------+--------------------------------------------------------------+-------------------------------+
-
-
--Wstrict-prototypes
--------------------
-**Diagnostic text:**
-
-+---------------------------------------------------+--------------------------------------------------------------+-------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`this` |nbsp| |+------------------------------------------------------------+| |nbsp| :diagtext:`a prototype`|
-| ||:diagtext:`function declaration is not` || |
-| |+------------------------------------------------------------+| |
-| ||:diagtext:`block declaration is not` || |
-| |+------------------------------------------------------------+| |
-| ||:diagtext:`old-style function definition is not preceded by`|| |
-| |+------------------------------------------------------------+| |
-+---------------------------------------------------+--------------------------------------------------------------+-------------------------------+
-
-
--Wstrict-selector-match
------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multiple methods named` |nbsp| :placeholder:`A` |nbsp| :diagtext:`found`|
-+--------------------------------------------------------------------------------------------------------------+
-
-
--Wstring-compare
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------+------------------------------+---------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`result of comparison against` |nbsp| |+----------------------------+| |nbsp| :diagtext:`is unspecified (use an explicit string comparison function instead)`|
-| ||:diagtext:`a string literal`|| |
-| |+----------------------------+| |
-| ||:diagtext:`@encode` || |
-| |+----------------------------+| |
-+---------------------------------------------------------------------------+------------------------------+---------------------------------------------------------------------------------------+
-
-
--Wstring-conversion
--------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`implicit conversion turns string literal into bool:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wstring-plus-char
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`adding` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to a string pointer does not append to the string`|
-+------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wstring-plus-int
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`adding` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to a string does not append to the string`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wstrlcpy-strlcat-size
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wstrncat-size
---------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the value of the size argument in 'strncat' is too large, might lead to a buffer overflow`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`size argument in 'strncat' call appears to be size of the source`|
-+-------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the value of the size argument to 'strncat' is wrong`|
-+-------------------------------------------------------------------------------------------+
-
-
--Wsuper-class-method-mismatch
------------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`method parameter type` |nbsp| :diagtext:`does not match super class method parameter type`|
-+--------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsuspicious-bzero
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'size' argument to bzero is '0'`|
-+----------------------------------------------------------------------+
-
-
--Wsuspicious-memaccess
-----------------------
-This diagnostic is enabled by default.
-
-Controls `-Wdynamic-class-memaccess`_, `-Wmemset-transposed-args`_, `-Wnontrivial-memaccess`_, `-Wsizeof-pointer-memaccess`_, `-Wsuspicious-bzero`_.
-
-
--Wswitch
---------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`overflow converting case value to switch condition type (`:placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`:diagtext:`)`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
-| ||+----------------------------------------------------------------------------------------------+ ||
-| |||:diagtext:`enumeration value` |nbsp| :placeholder:`B` |nbsp| :diagtext:`not handled in switch`| ||
-| ||+----------------------------------------------------------------------------------------------+ ||
-| |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
-| ||+----------------------------------------------------------------------------------------------------------------------------------------------+ ||
-| |||:diagtext:`enumeration values` |nbsp| :placeholder:`B` |nbsp| :diagtext:`and` |nbsp| :placeholder:`C` |nbsp| :diagtext:`not handled in switch`| ||
-| ||+----------------------------------------------------------------------------------------------------------------------------------------------+ ||
-| |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
-| ||+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ||
-| |||:diagtext:`enumeration values` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`, and` |nbsp| :placeholder:`D` |nbsp| :diagtext:`not handled in switch`| ||
-| ||+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ||
-| |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
-| ||+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||
-| |||:placeholder:`A` |nbsp| :diagtext:`enumeration values not handled in switch:` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`,` |nbsp| :placeholder:`D`:diagtext:`...`|||
-| ||+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||
-| |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
-+---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`case value not in enumerated type` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------------------------+
-
-
--Wswitch-bool
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`switch condition has boolean value`|
-+-------------------------------------------------------------------------+
-
-
--Wswitch-default
-----------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wswitch-enum
--------------
-**Diagnostic text:**
-
-+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
-| ||+---------------------------------------------------------------------------------------------------------+ ||
-| |||:diagtext:`enumeration value` |nbsp| :placeholder:`B` |nbsp| :diagtext:`not explicitly handled in switch`| ||
-| ||+---------------------------------------------------------------------------------------------------------+ ||
-| |+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
-| ||+---------------------------------------------------------------------------------------------------------------------------------------------------------+ ||
-| |||:diagtext:`enumeration values` |nbsp| :placeholder:`B` |nbsp| :diagtext:`and` |nbsp| :placeholder:`C` |nbsp| :diagtext:`not explicitly handled in switch`| ||
-| ||+---------------------------------------------------------------------------------------------------------------------------------------------------------+ ||
-| |+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
-| ||+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ||
-| |||:diagtext:`enumeration values` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`, and` |nbsp| :placeholder:`D` |nbsp| :diagtext:`not explicitly handled in switch`| ||
-| ||+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ||
-| |+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
-| ||+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||
-| |||:placeholder:`A` |nbsp| :diagtext:`enumeration values not explicitly handled in switch:` |nbsp| :placeholder:`B`:diagtext:`,` |nbsp| :placeholder:`C`:diagtext:`,` |nbsp| :placeholder:`D`:diagtext:`...`|||
-| ||+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||
-| |+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
-+---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsync-fetch-and-nand-semantics-changed
----------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the semantics of this intrinsic changed with GCC version 4.4 - the newer semantics are provided here`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wsynth
--------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wtautological-bitwise-compare
-------------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------+-------------------+
-|:warning:`warning:` |nbsp| :diagtext:`bitwise comparison always evaluates to` |nbsp| |+-----------------+|
-| ||:diagtext:`false`||
-| |+-----------------+|
-| ||:diagtext:`true` ||
-| |+-----------------+|
-+-------------------------------------------------------------------------------------+-------------------+
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`bitwise or with non-zero value always evaluates to true`|
-+----------------------------------------------------------------------------------------------+
-
-
--Wtautological-compare
-----------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wtautological-bitwise-compare`_, `-Wtautological-constant-compare`_, `-Wtautological-objc-bool-compare`_, `-Wtautological-overlap-compare`_, `-Wtautological-pointer-compare`_, `-Wtautological-undefined-compare`_.
-
-**Diagnostic text:**
-
-+---------------------------+---------------------------------------------------------------+----------------------------------------+-------------------------+
-|:warning:`warning:` |nbsp| |+-------------------------------------------------------------+| |nbsp| :diagtext:`to 1 byte is` |nbsp| |+-----------------------+|
-| ||:diagtext:`aligning a value` || ||:diagtext:`a no-op` ||
-| |+-------------------------------------------------------------+| |+-----------------------+|
-| ||:diagtext:`the result of checking whether a value is aligned`|| ||:diagtext:`always true`||
-| |+-------------------------------------------------------------+| |+-----------------------+|
-+---------------------------+---------------------------------------------------------------+----------------------------------------+-------------------------+
-
-+---------------------------+---------------------------+--------------------------------------------------+--------------------------------------------+
-|:warning:`warning:` |nbsp| |+-------------------------+|:diagtext:`comparison always evaluates to` |nbsp| |+------------------------------------------+|
-| ||:diagtext:`self-` || ||:diagtext:`a constant` ||
-| |+-------------------------+| |+------------------------------------------+|
-| ||:diagtext:`array` |nbsp| || ||:diagtext:`true` ||
-| |+-------------------------+| |+------------------------------------------+|
-| | | ||:diagtext:`false` ||
-| | | |+------------------------------------------+|
-| | | ||:diagtext:`'std::strong\_ordering::equal'`||
-| | | |+------------------------------------------+|
-+---------------------------+---------------------------+--------------------------------------------------+--------------------------------------------+
-
-
--Wtautological-constant-compare
--------------------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wtautological-constant-out-of-range-compare`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`converting the result of '?:' with integer constants to a boolean always evaluates to 'true'`|
-+-----------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------+-------------------+
-|:warning:`warning:` |nbsp| :diagtext:`converting the result of '<<' to a boolean always evaluates to` |nbsp| |+-----------------+|
-| ||:diagtext:`false`||
-| |+-----------------+|
-| ||:diagtext:`true` ||
-| |+-----------------+|
-+-------------------------------------------------------------------------------------------------------------+-------------------+
-
-+----------------------------------------------------------------------+------------------------------------------------+--------------------------------+----------------------------------------------------------+-----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`result of comparison of` |nbsp| |+----------------------------------------------+| |nbsp| :diagtext:`with` |nbsp| |+--------------------------------------------------------+| |nbsp| :diagtext:`is always` |nbsp| :placeholder:`E`|
-| ||+--------------------------------------------+|| ||+------------------------------------------------------+|| |
-| |||:diagtext:`constant` |nbsp| :placeholder:`A`||| |||:diagtext:`expression of type` |nbsp| :placeholder:`C`||| |
-| ||+--------------------------------------------+|| ||+------------------------------------------------------+|| |
-| |+----------------------------------------------+| |+--------------------------------------------------------+| |
-| ||:diagtext:`true` || ||:diagtext:`boolean expression` || |
-| |+----------------------------------------------+| |+--------------------------------------------------------+| |
-| ||:diagtext:`false` || | | |
-| |+----------------------------------------------+| | | |
-+----------------------------------------------------------------------+------------------------------------------------+--------------------------------+----------------------------------------------------------+-----------------------------------------------------+
-
-
--Wtautological-constant-in-range-compare
-----------------------------------------
-Controls `-Wtautological-type-limit-compare`_, `-Wtautological-unsigned-enum-zero-compare`_, `-Wtautological-unsigned-zero-compare`_.
-
-
--Wtautological-constant-out-of-range-compare
---------------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------+------------------------------------------------+--------------------------------+----------------------------------------------------------+-----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`result of comparison of` |nbsp| |+----------------------------------------------+| |nbsp| :diagtext:`with` |nbsp| |+--------------------------------------------------------+| |nbsp| :diagtext:`is always` |nbsp| :placeholder:`E`|
-| ||+--------------------------------------------+|| ||+------------------------------------------------------+|| |
-| |||:diagtext:`constant` |nbsp| :placeholder:`A`||| |||:diagtext:`expression of type` |nbsp| :placeholder:`C`||| |
-| ||+--------------------------------------------+|| ||+------------------------------------------------------+|| |
-| |+----------------------------------------------+| |+--------------------------------------------------------+| |
-| ||:diagtext:`true` || ||:diagtext:`boolean expression` || |
-| |+----------------------------------------------+| |+--------------------------------------------------------+| |
-| ||:diagtext:`false` || | | |
-| |+----------------------------------------------+| | | |
-+----------------------------------------------------------------------+------------------------------------------------+--------------------------------+----------------------------------------------------------+-----------------------------------------------------+
-
-
--Wtautological-objc-bool-compare
---------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`result of comparison of constant` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with expression of type 'BOOL' is always` |nbsp| :placeholder:`B`:diagtext:`, as the only well defined values for 'BOOL' are YES and NO`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wtautological-overlap-compare
-------------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------+-------------------+
-|:warning:`warning:` |nbsp| :diagtext:`overlapping comparisons always evaluate to` |nbsp| |+-----------------+|
-| ||:diagtext:`false`||
-| |+-----------------+|
-| ||:diagtext:`true` ||
-| |+-----------------+|
-+-----------------------------------------------------------------------------------------+-------------------+
-
-
--Wtautological-pointer-compare
-------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------+---------------------------+----------------------------------------------------------+-------------------------+----------------------------------------+-------------------+--------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`comparison of nonnull` |nbsp| |+-------------------------+| |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`'` |nbsp| |+-----------------------+|:diagtext:`equal to a null pointer is '`|+-----------------+|:diagtext:`' on first encounter`|
-| ||:diagtext:`function call`|| ||:diagtext:`not` |nbsp| || ||:diagtext:`true` || |
-| |+-------------------------+| |+-----------------------+| |+-----------------+| |
-| ||:diagtext:`parameter` || || || ||:diagtext:`false`|| |
-| |+-------------------------+| |+-----------------------+| |+-----------------+| |
-+--------------------------------------------------------------------+---------------------------+----------------------------------------------------------+-------------------------+----------------------------------------+-------------------+--------------------------------+
-
-+------------------------------------------------------------+------------------------+----------------------------------------------------------+-------------------------+-----------------------------------------------------+-------------------+
-|:warning:`warning:` |nbsp| :diagtext:`comparison of` |nbsp| |+----------------------+| |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`'` |nbsp| |+-----------------------+|:diagtext:`equal to a null pointer is always` |nbsp| |+-----------------+|
-| ||:diagtext:`address of`|| ||:diagtext:`not` |nbsp| || ||:diagtext:`true` ||
-| |+----------------------+| |+-----------------------+| |+-----------------+|
-| ||:diagtext:`function` || || || ||:diagtext:`false`||
-| |+----------------------+| |+-----------------------+| |+-----------------+|
-| ||:diagtext:`array` || | | | |
-| |+----------------------+| | | | |
-+------------------------------------------------------------+------------------------+----------------------------------------------------------+-------------------------+-----------------------------------------------------+-------------------+
-
-
--Wtautological-type-limit-compare
----------------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------+------------------+--------------------------------+------------------+-----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`result of comparison` |nbsp| |+----------------+| |nbsp| :placeholder:`C` |nbsp| |+----------------+| |nbsp| :diagtext:`is always` |nbsp| :placeholder:`E`|
-| ||:placeholder:`D`|| ||:placeholder:`B`|| |
-| |+----------------+| |+----------------+| |
-| ||:placeholder:`B`|| ||:placeholder:`D`|| |
-| |+----------------+| |+----------------+| |
-+-------------------------------------------------------------------+------------------+--------------------------------+------------------+-----------------------------------------------------+
-
-
--Wtautological-undefined-compare
---------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+
-|: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| |+-----------------+|
-| ||:diagtext:`true` ||
-| |+-----------------+|
-| ||:diagtext:`false`||
-| |+-----------------+|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'this' pointer cannot be null in well-defined C++ code; comparison may be assumed to always evaluate to` |nbsp| |+-----------------+|
-| ||:diagtext:`true` ||
-| |+-----------------+|
-| ||:diagtext:`false`||
-| |+-----------------+|
-+------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+
-
-
--Wtautological-unsigned-enum-zero-compare
------------------------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------+--------------------------------------+--------------------------------+--------------------------------------+-----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`result of comparison of` |nbsp| |+------------------------------------+| |nbsp| :placeholder:`C` |nbsp| |+------------------------------------+| |nbsp| :diagtext:`is always` |nbsp| :placeholder:`E`|
-| ||:placeholder:`D` || ||:diagtext:`unsigned enum expression`|| |
-| |+------------------------------------+| |+------------------------------------+| |
-| ||:diagtext:`unsigned enum expression`|| ||:placeholder:`D` || |
-| |+------------------------------------+| |+------------------------------------+| |
-+----------------------------------------------------------------------+--------------------------------------+--------------------------------+--------------------------------------+-----------------------------------------------------+
-
-
--Wtautological-unsigned-zero-compare
-------------------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------+---------------------------------+--------------------------------+---------------------------------+-----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`result of comparison of` |nbsp| |+-------------------------------+| |nbsp| :placeholder:`C` |nbsp| |+-------------------------------+| |nbsp| :diagtext:`is always` |nbsp| :placeholder:`E`|
-| ||:placeholder:`D` || ||:diagtext:`unsigned expression`|| |
-| |+-------------------------------+| |+-------------------------------+| |
-| ||:diagtext:`unsigned expression`|| ||:placeholder:`D` || |
-| |+-------------------------------+| |+-------------------------------+| |
-+----------------------------------------------------------------------+---------------------------------+--------------------------------+---------------------------------+-----------------------------------------------------+
-
-
--Wtentative-definition-incomplete-type
---------------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`tentative definition of variable with internal linkage has incomplete non-array type` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wthread-safety
----------------
-Controls `-Wthread-safety-analysis`_, `-Wthread-safety-attributes`_, `-Wthread-safety-precise`_, `-Wthread-safety-reference`_.
-
-
--Wthread-safety-analysis
-------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' must be acquired before '`:placeholder:`C`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`Cycle in acquired\_before/after dependencies, starting with '`:placeholder:`A`:diagtext:`'`|
-+---------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cannot resolve lock expression`|
-+---------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`acquiring` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' that is already held`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expecting` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' to be held at start of each loop`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expecting` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' to be held at the end of function`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cannot call function '`:placeholder:`B`:diagtext:`' while` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`C`:diagtext:`' is held`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`calling function` |nbsp| :placeholder:`B` |nbsp| :diagtext:`requires holding` |nbsp| :placeholder:`A` |nbsp| |+--------------------------------------------------------+|
-| ||+------------------------------------------+ ||
-| |||:diagtext:`'`:placeholder:`C`:diagtext:`'`| ||
-| ||+------------------------------------------+ ||
-| |+--------------------------------------------------------+|
-| ||+------------------------------------------------------+||
-| |||:diagtext:`'`:placeholder:`C`:diagtext:`' exclusively`|||
-| ||+------------------------------------------------------+||
-| |+--------------------------------------------------------+|
-+---------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' is acquired exclusively and shared in the same scope`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' is not held on every path through here`|
-+------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' is still held at the end of function`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`releasing` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' that was not held`|
-+--------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------+-----------------------+--------------------------------------------+-----------------------+--------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`releasing` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' using` |nbsp| |+---------------------+| |nbsp| :diagtext:`access, expected` |nbsp| |+---------------------+| |nbsp| :diagtext:`access`|
-| ||:diagtext:`shared` || ||:diagtext:`shared` || |
-| |+---------------------+| |+---------------------+| |
-| ||:diagtext:`exclusive`|| ||:diagtext:`exclusive`|| |
-| |+---------------------+| |+---------------------+| |
-+----------------------------------------------------------------------------------------------------------------------------------------+-----------------------+--------------------------------------------+-----------------------+--------------------------+
-
-+---------------------------+---------------------+---------------------------------------------------------------------------------------------------------------+-----------------------------------+
-|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`the value pointed to by` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires holding` |nbsp| |+---------------------------------+|
-| ||:diagtext:`reading`|| ||:diagtext:`any mutex` ||
-| |+-------------------+| |+---------------------------------+|
-| ||:diagtext:`writing`|| ||:diagtext:`any mutex exclusively`||
-| |+-------------------+| |+---------------------------------+|
-+---------------------------+---------------------+---------------------------------------------------------------------------------------------------------------+-----------------------------------+
-
-+---------------------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`the value pointed to by` |nbsp| :placeholder:`B` |nbsp| :diagtext:`requires holding` |nbsp| :placeholder:`A` |nbsp| |+--------------------------------------------------------+|
-| ||:diagtext:`reading`|| ||+------------------------------------------+ ||
-| |+-------------------+| |||:diagtext:`'`:placeholder:`C`:diagtext:`'`| ||
-| ||:diagtext:`writing`|| ||+------------------------------------------+ ||
-| |+-------------------+| |+--------------------------------------------------------+|
-| | | ||+------------------------------------------------------+||
-| | | |||:diagtext:`'`:placeholder:`C`:diagtext:`' exclusively`|||
-| | | ||+------------------------------------------------------+||
-| | | |+--------------------------------------------------------+|
-+---------------------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-
-+---------------------------+---------------------+------------------------------------------------------------------------------------------------+-----------------------------------+
-|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`requires holding` |nbsp| |+---------------------------------+|
-| ||:diagtext:`reading`|| ||:diagtext:`any mutex` ||
-| |+-------------------+| |+---------------------------------+|
-| ||:diagtext:`writing`|| ||:diagtext:`any mutex exclusively`||
-| |+-------------------+| |+---------------------------------+|
-+---------------------------+---------------------+------------------------------------------------------------------------------------------------+-----------------------------------+
-
-+---------------------------+---------------------+------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`variable` |nbsp| :placeholder:`B` |nbsp| :diagtext:`requires holding` |nbsp| :placeholder:`A` |nbsp| |+--------------------------------------------------------+|
-| ||:diagtext:`reading`|| ||+------------------------------------------+ ||
-| |+-------------------+| |||:diagtext:`'`:placeholder:`C`:diagtext:`'`| ||
-| ||:diagtext:`writing`|| ||+------------------------------------------+ ||
-| |+-------------------+| |+--------------------------------------------------------+|
-| | | ||+------------------------------------------------------+||
-| | | |||:diagtext:`'`:placeholder:`C`:diagtext:`' exclusively`|||
-| | | ||+------------------------------------------------------+||
-| | | |+--------------------------------------------------------+|
-+---------------------------+---------------------+------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-
-
--Wthread-safety-attributes
---------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute requires arguments whose type is annotated with 'capability' attribute; type here is` |nbsp| :placeholder:`B`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute can only be applied in a context annotated with 'capability' attribute`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`only applies to pointer types; type here is` |nbsp| :placeholder:`B`|
-+----------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute because its argument is invalid`|
-+------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute without capability arguments refers to 'this', but` |nbsp| :placeholder:`B` |nbsp| :diagtext:`isn't annotated with 'capability' or 'scoped\_lockable' attribute`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute without capability arguments can only be applied to non-static methods of a class`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wthread-safety-beta
---------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`Thread safety beta warning.`|
-+------------------------------------------------------------------+
-
-
--Wthread-safety-negative
-------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`acquiring` |nbsp| :placeholder:`A` |nbsp| :diagtext:`'`:placeholder:`B`:diagtext:`' requires negative capability '`:placeholder:`C`:diagtext:`'`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wthread-safety-precise
------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`calling function` |nbsp| :placeholder:`B` |nbsp| :diagtext:`requires holding` |nbsp| :placeholder:`A` |nbsp| |+--------------------------------------------------------+|
-| ||+------------------------------------------+ ||
-| |||:diagtext:`'`:placeholder:`C`:diagtext:`'`| ||
-| ||+------------------------------------------+ ||
-| |+--------------------------------------------------------+|
-| ||+------------------------------------------------------+||
-| |||:diagtext:`'`:placeholder:`C`:diagtext:`' exclusively`|||
-| ||+------------------------------------------------------+||
-| |+--------------------------------------------------------+|
-+---------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-
-+---------------------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`the value pointed to by` |nbsp| :placeholder:`B` |nbsp| :diagtext:`requires holding` |nbsp| :placeholder:`A` |nbsp| |+--------------------------------------------------------+|
-| ||:diagtext:`reading`|| ||+------------------------------------------+ ||
-| |+-------------------+| |||:diagtext:`'`:placeholder:`C`:diagtext:`'`| ||
-| ||:diagtext:`writing`|| ||+------------------------------------------+ ||
-| |+-------------------+| |+--------------------------------------------------------+|
-| | | ||+------------------------------------------------------+||
-| | | |||:diagtext:`'`:placeholder:`C`:diagtext:`' exclusively`|||
-| | | ||+------------------------------------------------------+||
-| | | |+--------------------------------------------------------+|
-+---------------------------+---------------------+---------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-
-+---------------------------+---------------------+------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`variable` |nbsp| :placeholder:`B` |nbsp| :diagtext:`requires holding` |nbsp| :placeholder:`A` |nbsp| |+--------------------------------------------------------+|
-| ||:diagtext:`reading`|| ||+------------------------------------------+ ||
-| |+-------------------+| |||:diagtext:`'`:placeholder:`C`:diagtext:`'`| ||
-| ||:diagtext:`writing`|| ||+------------------------------------------+ ||
-| |+-------------------+| |+--------------------------------------------------------+|
-| | | ||+------------------------------------------------------+||
-| | | |||:diagtext:`'`:placeholder:`C`:diagtext:`' exclusively`|||
-| | | ||+------------------------------------------------------+||
-| | | |+--------------------------------------------------------+|
-+---------------------------+---------------------+------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-
-
--Wthread-safety-reference
--------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`passing variable` |nbsp| :placeholder:`B` |nbsp| :diagtext:`by reference requires holding` |nbsp| :placeholder:`A` |nbsp| |+--------------------------------------------------------+|
-| ||+------------------------------------------+ ||
-| |||:diagtext:`'`:placeholder:`C`:diagtext:`'`| ||
-| ||+------------------------------------------+ ||
-| |+--------------------------------------------------------+|
-| ||+------------------------------------------------------+||
-| |||:diagtext:`'`:placeholder:`C`:diagtext:`' exclusively`|||
-| ||+------------------------------------------------------+||
-| |+--------------------------------------------------------+|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`passing the value that` |nbsp| :placeholder:`B` |nbsp| :diagtext:`points to by reference requires holding` |nbsp| :placeholder:`A` |nbsp| |+--------------------------------------------------------+|
-| ||+------------------------------------------+ ||
-| |||:diagtext:`'`:placeholder:`C`:diagtext:`'`| ||
-| ||+------------------------------------------+ ||
-| |+--------------------------------------------------------+|
-| ||+------------------------------------------------------+||
-| |||:diagtext:`'`:placeholder:`C`:diagtext:`' exclusively`|||
-| ||+------------------------------------------------------+||
-| |+--------------------------------------------------------+|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
-
-
--Wthread-safety-verbose
------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`Thread safety verbose warning.`|
-+---------------------------------------------------------------------+
-
-
--Wtrigraphs
------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`trigraph converted to '`:placeholder:`A`:diagtext:`' character`|
-+-----------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`trigraph ends block comment`|
-+------------------------------------------------------------------+
-
-+-------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`trigraph ignored`|
-+-------------------------------------------------------+
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignored trigraph would end block comment`|
-+-------------------------------------------------------------------------------+
-
-
--Wtype-limits
--------------
-Synonym for `-Wtautological-constant-in-range-compare`_.
-
-
--Wtype-limits
--------------
-Synonym for `-Wtautological-constant-in-range-compare`_.
-
-
--Wtype-safety
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`specified` |nbsp| :placeholder:`A` |nbsp| :diagtext:`type tag requires a null pointer`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`argument type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`doesn't match specified` |nbsp| :placeholder:`B` |nbsp| :diagtext:`type tag` |nbsp| |+---------------------------------------------------+|
-| ||+-------------------------------------------------+||
-| |||:diagtext:`that requires` |nbsp| :placeholder:`D`|||
-| ||+-------------------------------------------------+||
-| |+---------------------------------------------------+|
-| || ||
-| |+---------------------------------------------------+|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`this type tag was not designed to be used with this function`|
-+---------------------------------------------------------------------------------------------------+
-
-
--Wtypedef-redefinition
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redefinition of typedef` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is a C11 feature`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-
--Wtypename-missing
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`missing 'typename' prior to dependent type name '`:placeholder:`A`:placeholder:`B`:diagtext:`'`|
-+-------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunable-to-open-stats-file
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unable to open statistics output file '`:placeholder:`A`:diagtext:`': '`:placeholder:`B`:diagtext:`'`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunavailable-declarations
---------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`may be unavailable because the receiver type is unknown`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-
--Wundeclared-selector
----------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`undeclared selector` |nbsp| :placeholder:`A`|
-+----------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`undeclared selector` |nbsp| :placeholder:`A`:diagtext:`; did you mean` |nbsp| :placeholder:`B`:diagtext:`?`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wundef
--------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not defined, evaluates to 0`|
-+---------------------------------------------------------------------------------------------+
-
-
--Wundefined-bool-conversion
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wundefined-func-template
--------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`instantiation of function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`required here, but no definition is available`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wundefined-inline
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`inline function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not defined`|
-+----------------------------------------------------------------------------------------------------------------+
-
-
--Wundefined-internal
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+----------------------+-----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`has internal linkage but is not defined`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`variable`|| |
-| |+--------------------+| |
-+---------------------------+----------------------+-----------------------------------------------------------------------------------+
-
-
--Wundefined-internal-type
--------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------+----------------------+----------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ requires a definition in this translation unit for` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`because its type does not have linkage`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`variable`|| |
-| |+--------------------+| |
-+---------------------------------------------------------------------------------------------------------+----------------------+----------------------------------------------------------------------------------+
-
-
--Wundefined-reinterpret-cast
-----------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`reinterpret\_cast from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`has undefined behavior`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wundefined-var-template
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`instantiation of variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`required here, but no definition is available`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunderaligned-exception-object
--------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`underaligned exception object thrown`|
-+---------------------------------------------------------------------------+
-
-
--Wunevaluated-expression
-------------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wpotentially-evaluated-expression`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expression with side effects has no effect in an unevaluated context`|
-+-----------------------------------------------------------------------------------------------------------+
-
-
--Wunguarded-availability
-------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wunguarded-availability-new`_.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is only available on` |nbsp| :placeholder:`B` |nbsp| :placeholder:`C` |nbsp| :diagtext:`or newer`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunguarded-availability-new
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is only available on` |nbsp| :placeholder:`B` |nbsp| :placeholder:`C` |nbsp| :diagtext:`or newer`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunicode
----------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incomplete universal character name; treating as '\\' followed by identifier`|
-+-------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`\\`:placeholder:`A` |nbsp| :diagtext:`used with no following hex digits; treating as '\\' followed by identifier`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`universal character name refers to a surrogate character`|
-+-----------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`universal character names are only valid in C99 or C++; treating as '\\' followed by identifier`|
-+--------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`universal character names are only valid in C99 or C++`|
-+---------------------------------------------------------------------------------------------+
-
-
--Wunicode-homoglyph
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`treating Unicode character <U+`:placeholder:`A`:diagtext:`> as identifier character rather than as '`:placeholder:`B`:diagtext:`' symbol`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunicode-whitespace
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`treating Unicode character as whitespace`|
-+-------------------------------------------------------------------------------+
-
-
--Wunicode-zero-width
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`identifier contains Unicode character <U+`:placeholder:`A`:diagtext:`> that is invisible in some environments`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wuninitialized
----------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wsometimes-uninitialized`_, `-Wstatic-self-init`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`base class` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is uninitialized when used here to access` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is uninitialized when used here`|
-+-----------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`reference` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not yet bound to a value when used here`|
-+--------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------+---------------------------+------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`block pointer variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is` |nbsp| |+-------------------------+| |nbsp| :diagtext:`when captured by block`|
-| ||:diagtext:`uninitialized`|| |
-| |+-------------------------+| |
-| ||:diagtext:`null` || |
-| |+-------------------------+| |
-+-------------------------------------------------------------------------------------------------------------------+---------------------------+------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is uninitialized when used within its own initialization`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`reference` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not yet bound to a value when used within its own initialization`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------+-------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is uninitialized when` |nbsp| |+-----------------------------+|
-| ||:diagtext:`used here` ||
-| |+-----------------------------+|
-| ||:diagtext:`captured by block`||
-| |+-----------------------------+|
-+------------------------------------------------------------------------------------------------------------------------+-------------------------------+
-
-
--Wunknown-argument
-------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown argument ignored in clang-cl: '`:placeholder:`A`:diagtext:`'`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown argument ignored in clang-cl '`:placeholder:`A`:diagtext:`'; did you mean '`:placeholder:`B`:diagtext:`'?`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunknown-attributes
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored`|
-+-----------------------------------------------------------------------------------------------------------+
-
-
--Wunknown-cuda-version
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`Unknown CUDA version` |nbsp| :placeholder:`A`:diagtext:`. Assuming the latest supported version` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunknown-escape-sequence
--------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown escape sequence '\\`:placeholder:`A`:diagtext:`'`|
-+-----------------------------------------------------------------------------------------------+
-
-
--Wunknown-pragmas
------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected 'ON' or 'OFF' or 'DEFAULT' in pragma`|
-+------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expected end of directive in pragma`|
-+--------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown pragma in STDC namespace`|
-+-----------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pragma diagnostic pop could not pop, no matching push`|
-+--------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pragma diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop'`|
-+--------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pragma diagnostic expected option name (e.g. "-Wundef")`|
-+----------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unexpected token in pragma diagnostic`|
-+----------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma execution\_character\_set expected '`:placeholder:`A`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma execution\_character\_set invalid value '`:placeholder:`A`:diagtext:`', only 'UTF-8' is supported`|
-+------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma execution\_character\_set expected 'push' or 'pop'`|
-+-------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown pragma ignored`|
-+-------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pragma include\_alias expected '`:placeholder:`A`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pragma include\_alias expected include filename`|
-+--------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`angle-bracketed include <`:placeholder:`A`:diagtext:`> cannot be aliased to double-quoted include "`:placeholder:`B`:diagtext:`"`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`double-quoted include "`:placeholder:`A`:diagtext:`" cannot be aliased to angle-bracketed include <`:placeholder:`B`:diagtext:`>`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma warning expected '`:placeholder:`A`:diagtext:`'`|
-+----------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma warning expected a warning number`|
-+--------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma warning(push, level) requires a level between 0 and 4`|
-+----------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`#pragma warning expected 'push', 'pop', 'default', 'disable', 'error', 'once', 'suppress', 1, 2, 3, or 4`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`pragma STDC FENV\_ACCESS ON is not supported, ignoring pragma`|
-+----------------------------------------------------------------------------------------------------+
-
-
--Wunknown-sanitizers
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown sanitizer '`:placeholder:`A`:diagtext:`' ignored`|
-+-----------------------------------------------------------------------------------------------+
-
-
--Wunknown-warning-option
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown warning group '`:placeholder:`A`:diagtext:`', ignored`|
-+----------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------+---------------------+---------------------------------------------------------+--------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown` |nbsp| |+-------------------+| |nbsp| :diagtext:`option '`:placeholder:`B`:diagtext:`'`|+------------------------------------------------------------+|
-| ||:diagtext:`warning`|| || ||
-| |+-------------------+| |+------------------------------------------------------------+|
-| ||:diagtext:`remark` || ||+----------------------------------------------------------+||
-| |+-------------------+| |||:diagtext:`; did you mean '`:placeholder:`D`:diagtext:`'?`|||
-| | | ||+----------------------------------------------------------+||
-| | | |+------------------------------------------------------------+|
-+------------------------------------------------------+---------------------+---------------------------------------------------------+--------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unknown` |nbsp| :placeholder:`A` |nbsp| :diagtext:`warning specifier: '`:placeholder:`B`:diagtext:`'`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunnamed-type-template-args
-----------------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Also controls `-Wc++98-compat-unnamed-type-template-args`_.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`template argument uses unnamed type`|
-+--------------------------------------------------------------------------+
-
-
--Wunneeded-internal-declaration
--------------------------------
-**Diagnostic text:**
-
-+---------------------------+----------------------+---------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| |+--------------------+| |nbsp| :placeholder:`B` |nbsp| :diagtext:`is not needed and will not be emitted`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`variable`|| |
-| |+--------------------+| |
-+---------------------------+----------------------+---------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'static' function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`declared in header file should be declared 'static inline'`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunneeded-member-function
---------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`member function` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not needed and will not be emitted`|
-+---------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunreachable-code
-------------------
-Also controls `-Wunreachable-code-loop-increment`_.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`code will never be executed`|
-+------------------------------------------------------------------+
-
-
--Wunreachable-code-aggressive
------------------------------
-Controls `-Wunreachable-code`_, `-Wunreachable-code-break`_, `-Wunreachable-code-return`_.
-
-
--Wunreachable-code-break
-------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'break' will never be executed`|
-+---------------------------------------------------------------------+
-
-
--Wunreachable-code-loop-increment
----------------------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`loop will run at most once (loop increment never executed)`|
-+-------------------------------------------------------------------------------------------------+
-
-
--Wunreachable-code-return
--------------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`'return' will never be executed`|
-+----------------------------------------------------------------------+
-
-
--Wunsequenced
--------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`multiple unsequenced modifications to` |nbsp| :placeholder:`A`|
-+----------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unsequenced modification and access to` |nbsp| :placeholder:`A`|
-+-----------------------------------------------------------------------------------------------------+
-
-
--Wunsupported-abs
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mabs=2008' option because the '`:placeholder:`A`:diagtext:`' architecture does not support it`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mabs=legacy' option because the '`:placeholder:`A`:diagtext:`' architecture does not support it`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunsupported-availability-guard
---------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+------------------------------------+--------------------------------------------------------------+------------------------------------+---------------------+
-|:warning:`warning:` |nbsp| |+----------------------------------+| |nbsp| :diagtext:`does not guard availability here; use if (`|+----------------------------------+|:diagtext:`) instead`|
-| ||:diagtext:`@available` || ||:diagtext:`@available` || |
-| |+----------------------------------+| |+----------------------------------+| |
-| ||:diagtext:`\_\_builtin\_available`|| ||:diagtext:`\_\_builtin\_available`|| |
-| |+----------------------------------+| |+----------------------------------+| |
-+---------------------------+------------------------------------+--------------------------------------------------------------+------------------------------------+---------------------+
-
-
--Wunsupported-cb
-----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mcompact-branches=' option because the '`:placeholder:`A`:diagtext:`' architecture does not support it`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunsupported-dll-base-class-template
--------------------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------+------------------------------------+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`propagating dll attribute to` |nbsp| |+----------------------------------+| |nbsp| :diagtext:`base class template without dll attribute is not supported`|
-| ||:diagtext:`already instantiated` || |
-| |+----------------------------------+| |
-| ||:diagtext:`explicitly specialized`|| |
-| |+----------------------------------+| |
-+---------------------------------------------------------------------------+------------------------------------+------------------------------------------------------------------------------+
-
-
--Wunsupported-friend
---------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`dependent nested name specifier '`:placeholder:`A`:diagtext:`' for friend template declaration is not supported; ignoring this friend declaration`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunsupported-gpopt
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------+-------------------------------------------+----------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mgpopt' option as it cannot be used with` |nbsp| |+-----------------------------------------+|:diagtext:`-mabicalls`|
-| || || |
-| |+-----------------------------------------+| |
-| ||:diagtext:`the implicit usage of` |nbsp| || |
-| |+-----------------------------------------+| |
-+--------------------------------------------------------------------------------------------------+-------------------------------------------+----------------------+
-
-
--Wunsupported-nan
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mnan=2008' option because the '`:placeholder:`A`:diagtext:`' architecture does not support it`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mnan=legacy' option because the '`:placeholder:`A`:diagtext:`' architecture does not support it`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunsupported-target-opt
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`debug information option '`:placeholder:`A`:diagtext:`' is not supported for target '`:placeholder:`B`:diagtext:`'`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunsupported-visibility
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`target does not support 'protected' visibility; using 'default'`|
-+------------------------------------------------------------------------------------------------------+
-
-
--Wunusable-partial-specialization
----------------------------------
-This diagnostic is an error by default, but the flag ``-Wno-unusable-partial-specialization`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+-----------------------+----------------------+--------------------------------------------------------------------+----------------------------------+------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| |+--------------------+| |nbsp| :diagtext:`template partial specialization contains` |nbsp| |+--------------------------------+| |nbsp| :diagtext:`that cannot be deduced; this partial specialization will never be used`|
-| ||:diagtext:`class` || ||:diagtext:`a template parameter`|| |
-| |+--------------------+| |+--------------------------------+| |
-| ||:diagtext:`variable`|| ||:diagtext:`template parameters` || |
-| |+--------------------+| |+--------------------------------+| |
-+-----------------------+----------------------+--------------------------------------------------------------------+----------------------------------+------------------------------------------------------------------------------------------+
-
-
--Wunused
---------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-Controls `-Wunused-argument`_, `-Wunused-function`_, `-Wunused-label`_, `-Wunused-lambda-capture`_, `-Wunused-local-typedef`_, `-Wunused-private-field`_, `-Wunused-property-ivar`_, `-Wunused-value`_, `-Wunused-variable`_.
-
-
--Wunused-argument
------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wunused-command-line-argument
-------------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`argument '`:placeholder:`A`:diagtext:`' requires profile-guided optimization information`|
-+-------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`joined argument expects additional value: '`:placeholder:`A`:diagtext:`'`|
-+---------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A`:diagtext:`: '`:placeholder:`B`:diagtext:`' input unused`|+--------------------------------------------------------------------+|
-| ||+------------------------------------------------------------------+||
-| ||| |nbsp| :diagtext:`when '`:placeholder:`D`:diagtext:`' is present`|||
-| ||+------------------------------------------------------------------+||
-| |+--------------------------------------------------------------------+|
-| || ||
-| |+--------------------------------------------------------------------+|
-+----------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A`:diagtext:`: '`:placeholder:`B`:diagtext:`' input unused in cpp mode`|
-+----------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A`:diagtext:`: previously preprocessed input`|+---------------------------------------------------------------------------+|
-| ||+-------------------------------------------------------------------------+||
-| ||| |nbsp| :diagtext:`unused when '`:placeholder:`C`:diagtext:`' is present`|||
-| ||+-------------------------------------------------------------------------+||
-| |+---------------------------------------------------------------------------+|
-| || ||
-| |+---------------------------------------------------------------------------+|
-+--------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`argument unused during compilation: '`:placeholder:`A`:diagtext:`'`|
-+---------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`the flag '`:placeholder:`A`:diagtext:`' has been deprecated and will be ignored`|
-+----------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring -fdiscard-value-names for LLVM Bitcode`|
-+--------------------------------------------------------------------------------------+
-
-
--Wunused-comparison
--------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------+------------------------+--------------------------------------------+
-|:warning:`warning:` |nbsp| |+----------------------+| |nbsp| :diagtext:`comparison result unused`|
-| ||:diagtext:`equality` || |
-| |+----------------------+| |
-| ||:diagtext:`inequality`|| |
-| |+----------------------+| |
-| ||:diagtext:`relational`|| |
-| |+----------------------+| |
-| ||:diagtext:`three-way` || |
-| |+----------------------+| |
-+---------------------------+------------------------+--------------------------------------------+
-
-
--Wunused-const-variable
------------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unused variable` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------+
-
-
--Wunused-exception-parameter
-----------------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unused exception parameter` |nbsp| :placeholder:`A`|
-+-----------------------------------------------------------------------------------------+
-
-
--Wunused-function
------------------
-Also controls `-Wunneeded-internal-declaration`_.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unused function` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------+
-
-
--Wunused-getter-return-value
-----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`property access result unused - getters should not be used for side effects`|
-+------------------------------------------------------------------------------------------------------------------+
-
-
--Wunused-label
---------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unused label` |nbsp| :placeholder:`A`|
-+---------------------------------------------------------------------------+
-
-
--Wunused-lambda-capture
------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------+--------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`lambda capture` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not` |nbsp| |+------------------------------------------------+|
-| ||:diagtext:`used` ||
-| |+------------------------------------------------+|
-| ||:diagtext:`required to be captured for this use`||
-| |+------------------------------------------------+|
-+---------------------------------------------------------------------------------------------------------------+--------------------------------------------------+
-
-
--Wunused-local-typedef
-----------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------+------------------------+------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unused` |nbsp| |+----------------------+| |nbsp| :placeholder:`B`|
-| ||:diagtext:`typedef` || |
-| |+----------------------+| |
-| ||:diagtext:`type alias`|| |
-| |+----------------------+| |
-+-----------------------------------------------------+------------------------+------------------------+
-
-
--Wunused-local-typedefs
------------------------
-Synonym for `-Wunused-local-typedef`_.
-
-
--Wunused-macros
----------------
-**Diagnostic text:**
-
-+--------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`macro is not used`|
-+--------------------------------------------------------+
-
-
--Wunused-member-function
-------------------------
-Also controls `-Wunneeded-member-function`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unused member function` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------+
-
-
--Wunused-parameter
-------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unused parameter` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------+
-
-
--Wunused-private-field
-----------------------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`private field` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is not used`|
-+-----------------------------------------------------------------------------------------------------------+
-
-
--Wunused-property-ivar
-----------------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ivar` |nbsp| :placeholder:`A` |nbsp| :diagtext:`which backs the property is not referenced in this property's accessor`|
-+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunused-result
----------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring return value of function declared with` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring return value of function declared with` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute:` |nbsp| :placeholder:`B`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wunused-template
------------------
-Also controls `-Wunneeded-internal-declaration`_.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------+----------------------+----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unused` |nbsp| |+--------------------+| |nbsp| :diagtext:`template` |nbsp| :placeholder:`B`|
-| ||:diagtext:`function`|| |
-| |+--------------------+| |
-| ||:diagtext:`variable`|| |
-| |+--------------------+| |
-+-----------------------------------------------------+----------------------+----------------------------------------------------+
-
-
--Wunused-value
---------------
-This diagnostic is enabled by default.
-
-Also controls `-Wunevaluated-expression`_, `-Wunused-comparison`_, `-Wunused-result`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring return value of function declared with` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring temporary created by a constructor declared with` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ignoring temporary created by a constructor declared with` |nbsp| :placeholder:`A` |nbsp| :diagtext:`attribute:` |nbsp| :placeholder:`B`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`container access result unused - container access should not be used for side effects`|
-+----------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expression result unused`|
-+---------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expression result unused; should this cast be to 'void'?`|
-+-----------------------------------------------------------------------------------------------+
-
-
--Wunused-variable
------------------
-Also controls `-Wunused-const-variable`_.
-
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`unused variable` |nbsp| :placeholder:`A`|
-+------------------------------------------------------------------------------+
-
-
--Wunused-volatile-lvalue
-------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`expression result unused; assign into a variable to force a volatile load`|
-+----------------------------------------------------------------------------------------------------------------+
-
-
--Wused-but-marked-unused
-------------------------
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`was marked unused but was used`|
-+---------------------------------------------------------------------------------------------+
-
-
--Wuser-defined-literals
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------+----------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`user-defined literal suffixes not starting with '\_' are reserved`|+--------------------------------------------------+|
-| ||:diagtext:`; no literal will invoke this operator`||
-| |+--------------------------------------------------+|
-| || ||
-| |+--------------------------------------------------+|
-+--------------------------------------------------------------------------------------------------------+----------------------------------------------------+
-
-
--Wuser-defined-warnings
------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-The text of this diagnostic is not controlled by Clang.
-
-
--Wvarargs
----------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-----------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`second argument to 'va\_start' is not the last named parameter`|
-+-----------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|: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`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------+-----------------------------------------------------------------+---------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`passing` |nbsp| |+---------------------------------------------------------------+| |nbsp| :diagtext:`to 'va\_start' has undefined behavior`|
-| ||:diagtext:`an object that undergoes default argument promotion`|| |
-| |+---------------------------------------------------------------+| |
-| ||:diagtext:`an object of reference type` || |
-| |+---------------------------------------------------------------+| |
-| ||:diagtext:`a parameter declared with the 'register' keyword` || |
-| |+---------------------------------------------------------------+| |
-+------------------------------------------------------+-----------------------------------------------------------------+---------------------------------------------------------+
-
-
--Wvariadic-macros
------------------
-Some of the diagnostics controlled by this flag are enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`named variadic macros are a GNU extension`|
-+--------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`\_\_VA\_OPT\_\_ can only appear in the expansion of a variadic macro`|
-+-----------------------------------------------------------------------------------------------------------+
-
-+------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variadic macros are a C99 feature`|
-+------------------------------------------------------------------------+
-
-
--Wvec-elem-size
----------------
-This diagnostic is an error by default, but the flag ``-Wno-vec-elem-size`` can be used to disable the error.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:error:`error:` |nbsp| :diagtext:`vector operands do not have the same elements sizes (`:placeholder:`A` |nbsp| :diagtext:`and` |nbsp| :placeholder:`B`:diagtext:`)`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wvector-conversion
--------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------+----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`incompatible vector types` |nbsp| |+--------------------------------------------------------------+|
-| ||:diagtext:`assigning to
diff erent types` ||
-| |+--------------------------------------------------------------+|
-| ||:diagtext:`passing to parameter of
diff erent type` ||
-| |+--------------------------------------------------------------+|
-| ||:diagtext:`returning from function with
diff erent return type`||
-| |+--------------------------------------------------------------+|
-| ||:diagtext:`converting between types` ||
-| |+--------------------------------------------------------------+|
-| ||:diagtext:`initializing with expression of
diff erent type` ||
-| |+--------------------------------------------------------------+|
-| ||:diagtext:`sending to parameter of
diff erent type` ||
-| |+--------------------------------------------------------------+|
-| ||:diagtext:`casting between types` ||
-| |+--------------------------------------------------------------+|
-+------------------------------------------------------------------------+----------------------------------------------------------------+
-
-
--Wvector-conversions
---------------------
-Synonym for `-Wvector-conversion`_.
-
-
--Wvexing-parse
---------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`empty parentheses interpreted as a function declaration`|
-+----------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`parentheses were disambiguated as a function declaration`|
-+-----------------------------------------------------------------------------------------------+
-
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`parentheses were disambiguated as redundant parentheses around declaration of variable named` |nbsp| :placeholder:`A`|
-+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wvisibility
-------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`declaration of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will not be visible outside of this function`|
-+---------------------------------------------------------------------------------------------------------------------------------------------+
-
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`redefinition of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will not be visible outside of this function`|
-+----------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wvla
------
-**Diagnostic text:**
-
-+-----------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable length array used`|
-+-----------------------------------------------------------------+
-
-
--Wvla-extension
----------------
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`variable length arrays are a C99 feature`|
-+-------------------------------------------------------------------------------+
-
-
--Wvoid-pointer-to-enum-cast
----------------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast to smaller integer type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`from` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wvoid-pointer-to-int-cast
---------------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wvoid-pointer-to-enum-cast`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`cast to smaller integer type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`from` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wvoid-ptr-dereference
-----------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++ does not allow indirection on operand of type` |nbsp| :placeholder:`A`|
-+--------------------------------------------------------------------------------------------------------------------+
-
-
--Wvolatile-register-var
------------------------
-This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-
--Wweak-template-vtables
------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`explicit template instantiation` |nbsp| :placeholder:`A` |nbsp| :diagtext:`will emit a vtable in every translation unit`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wweak-vtables
---------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit`|
-+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wwritable-strings
-------------------
-This diagnostic is enabled by default.
-
-Also controls `-Wdeprecated-writable-strings`_.
-
-**Diagnostic text:**
-
-+-------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`ISO C++11 does not allow conversion from string literal to` |nbsp| :placeholder:`A`|
-+-------------------------------------------------------------------------------------------------------------------------+
-
-
--Wwrite-strings
----------------
-Synonym for `-Wwritable-strings`_.
-
-
--Wxor-used-as-pow
------------------
-This diagnostic is enabled by default.
-
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`result of '`:placeholder:`A`:diagtext:`' is` |nbsp| :placeholder:`B`:diagtext:`; did you mean exponentiation?`|
-+----------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`result of '`:placeholder:`A`:diagtext:`' is` |nbsp| :placeholder:`B`:diagtext:`; did you mean '`:placeholder:`C`:diagtext:`'?`|
-+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`result of '`:placeholder:`A`:diagtext:`' is` |nbsp| :placeholder:`B`:diagtext:`; did you mean '`:placeholder:`C`:diagtext:`' (`:placeholder:`D`:diagtext:`)?`|
-+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
--Wzero-as-null-pointer-constant
--------------------------------
-**Diagnostic text:**
-
-+--------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`zero as null pointer constant`|
-+--------------------------------------------------------------------+
-
-
--Wzero-length-array
--------------------
-**Diagnostic text:**
-
-+------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`zero size arrays are an extension`|
-+------------------------------------------------------------------------+
-
-
--Wwasm-exception-spec
----------------------
-**Diagnostic text:**
-
-+----------------------------------------------------------------------------------------------------------------+
-|:warning:`warning:` |nbsp| :diagtext:`dynamic exception specifications with types are currently ignored in wasm`|
-+----------------------------------------------------------------------------------------------------------------+
More information about the cfe-commits
mailing list