..
  -------------------------------------------------------------------
  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-array-temporary
----------------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+---------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`pointer is initialized by a temporary array, which will be destroyed at the end of the full-expression`|
+---------------------------------------------------------------------------------------------------------------------------------------------+


-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.

-Waligned-allocation-unavailable
--------------------------------
This diagnostic is an error by default, but the flag ``-Wno-aligned-allocation-unavailable`` can be used to disable the error.

**Diagnostic text:**

+--------------------------------------------------+--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|:error:`error:` |nbsp| :diagtext:`aligned` |nbsp| |+------------------------+| |nbsp| :diagtext:`function of type '`:placeholder:`B`:diagtext:`' is only available on` |nbsp| :placeholder:`C` |nbsp| :placeholder:`D` |nbsp| :diagtext:`or newer`|
|                                                  ||:diagtext:`allocation`  ||                                                                                                                                                                    |
|                                                  |+------------------------+|                                                                                                                                                                    |
|                                                  ||:diagtext:`deallocation`||                                                                                                                                                                    |
|                                                  |+------------------------+|                                                                                                                                                                    |
+--------------------------------------------------+--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-Wall
-----
Some of the diagnostics controlled by this flag are enabled by default.

Controls `-Wmost`_, `-Wparentheses`_, `-Wswitch`_, `-Wswitch-bool`_.


-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`|
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-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`|
+----------------------------------------------------------------------------------------------------------------------------------------+


-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`|
+-----------------------------------------------------------------------------------------------------------------------------+


-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; contains` |nbsp| :placeholder:`A` |nbsp| :diagtext:`elements, callee requires at least` |nbsp| :placeholder:`B`|
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

+-----------------------------------------------------------------------------------+
|: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
-----
This diagnostic is enabled by default.

Controls `-Wasm-ignored-qualifier`_, `-Wasm-operand-widths`_.


-Wasm-ignored-qualifier
-----------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+----------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`ignored` |nbsp| :placeholder:`A` |nbsp| :diagtext:`qualifier on asm`|
+----------------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`meaningless 'volatile' on asm outside function`|
+-------------------------------------------------------------------------------------+


-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 is enabled by default.

**Diagnostic text:**

+-------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`@protocol is using a forward protocol declaration of` |nbsp| :placeholder:`A`|
+-------------------------------------------------------------------------------------------------------------------+


-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:`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`            ||                                |
|                           |+------------------------------+|                                                                                                   |+---------------------------------------------+|                                |
+---------------------------+--------------------------------+---------------------------------------------------------------------------------------------------+-----------------------------------------------+--------------------------------+


-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`|
+--------------------------------------------------------------------------------------------------------------------------------------------------------------+


-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:`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-op-parentheses
------------------------
This diagnostic is enabled by default.

**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`_.


-Wbraced-scalar-init
--------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+-----------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`braces around scalar initializer`|
+-----------------------------------------------------------------------+


-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-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| :placeholder:`A` |nbsp| :diagtext:`will always overflow destination buffer`|
+------------------------------------------------------------------------------------------------------+


-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:`first declaration of` |nbsp| |+-------------------------------------+| |nbsp| :diagtext:`specialization of` |nbsp| :placeholder:`B` |nbsp| :diagtext:`outside namespace` |nbsp| :placeholder:`C` |nbsp| :diagtext:`is a C++11 extension`|
|                                                                   ||:diagtext:`class template`           ||                                                                                                                                                                  |
|                                                                   |+-------------------------------------+|                                                                                                                                                                  |
|                                                                   ||:diagtext:`class template partial`   ||                                                                                                                                                                  |
|                                                                   |+-------------------------------------+|                                                                                                                                                                  |
|                                                                   ||:diagtext:`variable template`        ||                                                                                                                                                                  |
|                                                                   |+-------------------------------------+|                                                                                                                                                                  |
|                                                                   ||:diagtext:`variable template partial`||                                                                                                                                                                  |
|                                                                   |+-------------------------------------+|                                                                                                                                                                  |
|                                                                   ||:diagtext:`function template`        ||                                                                                                                                                                  |
|                                                                   |+-------------------------------------+|                                                                                                                                                                  |
|                                                                   ||:diagtext:`member function`          ||                                                                                                                                                                  |
|                                                                   |+-------------------------------------+|                                                                                                                                                                  |
|                                                                   ||:diagtext:`static data member`       ||                                                                                                                                                                  |
|                                                                   |+-------------------------------------+|                                                                                                                                                                  |
|                                                                   ||:diagtext:`member class`             ||                                                                                                                                                                  |
|                                                                   |+-------------------------------------+|                                                                                                                                                                  |
|                                                                   ||:diagtext:`member enumeration`       ||                                                                                                                                                                  |
|                                                                   |+-------------------------------------+|                                                                                                                                                                  |
+-------------------------------------------------------------------+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+

+------------------------------------------------------------------------------+
|: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`    ||        |                                                                                                                          |
|                       |+--------------------------------------+|        |                                                                                                                          |
+-----------------------+----------------------------------------+--------+--------------------------------------------------------------------------------------------------------------------------+

+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|: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 different 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++2a-compat
--------------
Some of the diagnostics controlled by this flag are enabled by default.

**Diagnostic text:**

+------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`'<=>' is a single token in C++2a; add a space to avoid a change in behavior`|
+------------------------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`'`:placeholder:`A`:diagtext:`' is a keyword in C++2a`|
+-------------------------------------------------------------------------------------------+


-Wc++2a-compat-pedantic
-----------------------
Synonym for `-Wc++2a-compat`_.


-Wc++2a-extensions
------------------
Some of the diagnostics controlled by this flag are enabled by default.

**Diagnostic text:**

+----------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`default member initializer for bit-field is a C++2a extension`|
+----------------------------------------------------------------------------------------------------+

+--------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`explicit capture of 'this' with a capture default of '=' is a C++2a extension`|
+--------------------------------------------------------------------------------------------------------------------+

+--------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`invoking a pointer to a 'const &' member function on an rvalue is a C++2a extension`|
+--------------------------------------------------------------------------------------------------------------------------+


-Wc++98-c++11-c++14-c++17-compat
--------------------------------
**Diagnostic text:**

+-------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`default member initializer for bit-field is incompatible with C++ standards before C++2a`|
+-------------------------------------------------------------------------------------------------------------------------------+

+-----------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`explicit capture of 'this' with a capture default of '=' is incompatible with C++ standards before C++2a`|
+-----------------------------------------------------------------------------------------------------------------------------------------------+

+-----------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`'<=>' operator is incompatible with C++ standards before C++2a`|
+-----------------------------------------------------------------------------------------------------+


-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:`invoking a pointer to a 'const &' member function on an rvalue is incompatible with C++ standards before C++2a`|
+-----------------------------------------------------------------------------------------------------------------------------------------------------+


-Wc++98-c++11-c++14-compat
--------------------------
**Diagnostic text:**

+---------------------------------------------------------------------------------------------------+
|: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 different 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:`digit separators are incompatible with C++ standards before C++14`|
+--------------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------------------------+
|: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:`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 indirect goto statement to one of its possible targets is incompatible with C++98`|
+---------------------------------------------------------------------------------------------------------------------------------------+

+------------------------------------------------------------------------------------------------------------+
|: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:`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| |+-------------------------------------+| |nbsp| :diagtext:`specialization of` |nbsp| :placeholder:`B` |nbsp| :diagtext:`outside namespace` |nbsp| :placeholder:`C` |nbsp| :diagtext:`is incompatible with C++98`|
|                           ||:diagtext:`class template`           ||                                                                                                                                                                        |
|                           |+-------------------------------------+|                                                                                                                                                                        |
|                           ||:diagtext:`class template partial`   ||                                                                                                                                                                        |
|                           |+-------------------------------------+|                                                                                                                                                                        |
|                           ||:diagtext:`variable template`        ||                                                                                                                                                                        |
|                           |+-------------------------------------+|                                                                                                                                                                        |
|                           ||:diagtext:`variable template partial`||                                                                                                                                                                        |
|                           |+-------------------------------------+|                                                                                                                                                                        |
|                           ||:diagtext:`function template`        ||                                                                                                                                                                        |
|                           |+-------------------------------------+|                                                                                                                                                                        |
|                           ||:diagtext:`member function`          ||                                                                                                                                                                        |
|                           |+-------------------------------------+|                                                                                                                                                                        |
|                           ||:diagtext:`static data member`       ||                                                                                                                                                                        |
|                           |+-------------------------------------+|                                                                                                                                                                        |
|                           ||:diagtext:`member class`             ||                                                                                                                                                                        |
|                           |+-------------------------------------+|                                                                                                                                                                        |
|                           ||:diagtext:`member enumeration`       ||                                                                                                                                                                        |
|                           |+-------------------------------------+|                                                                                                                                                                        |
+---------------------------+---------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

+----------------------------------------------------------------------------------------+
|: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:`throwing object`            ||                                                                                                                            ||:diagtext:`invoke a deleted constructor`      ||                            |
|                           |+---------------------------------------+|                                                                                                                            |+----------------------------------------------+|                            |
|                           ||:diagtext:`copying member subobject`   ||                                                                                                                            |                                                |                            |
|                           |+---------------------------------------+|                                                                                                                            |                                                |                            |
|                           ||:diagtext:`copying array element`      ||                                                                                                                            |                                                |                            |
|                           |+---------------------------------------+|                                                                                                                            |                                                |                            |
|                           ||:diagtext:`allocating object`          ||                                                                                                                            |                                                |                            |
|                           |+---------------------------------------+|                                                                                                                            |                                                |                            |
|                           ||:diagtext:`copying temporary`          ||                                                                                                                            |                                                |                            |
|                           |+---------------------------------------+|                                                                                                                            |                                                |                            |
|                           ||:diagtext:`initializing base subobject`||                                                                                                                            |                                                |                            |
|                           |+---------------------------------------+|                                                                                                                            |                                                |                            |
|                           ||:diagtext:`initializing vector element`||                                                                                                                            |                                                |                            |
|                           |+---------------------------------------+|                                                                                                                            |                                                |                            |
+---------------------------+-----------------------------------------+----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------+----------------------------+


-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`_.

**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:`extra ';' outside of a function 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| :placeholder:`A` |nbsp| :diagtext:`is a C11-specific feature`|
+----------------------------------------------------------------------------------------+

+----------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`anonymous structs are a C11 extension`|
+----------------------------------------------------------------------------+

+------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`generic selections are a C11-specific feature`|
+------------------------------------------------------------------------------------+

+--------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`\_Noreturn functions are a C11-specific feature`|
+--------------------------------------------------------------------------------------+

+---------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`\_Static\_assert is a C11-specific feature`|
+---------------------------------------------------------------------------------+


-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-extensions
----------------
Some of the diagnostics controlled by this flag are enabled by default.

**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:`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:`designated initializers are a C99 feature`|
+--------------------------------------------------------------------------------+

+------------------------------------------------------------------------------+
|: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`|
+---------------------------------------------------------------------------------------+


-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`|
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-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 different filenames not implemented yet; flags ignored`|
+------------------------------------------------------------------------------------------------------------------------------+

+--------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`support for '`:placeholder:`A`:diagtext:`' without a filename not implemented yet; flag ignored`|
+--------------------------------------------------------------------------------------------------------------------------------------+

+----------------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`support for '`:placeholder:`A`:diagtext:`' without a corresponding /FI flag not implemented yet; flag ignored`|
+----------------------------------------------------------------------------------------------------------------------------------------------------+


-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`||                                                                      |
|                                                                                                                                       |+-----------------------+|                                                                      |
+---------------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------------------------------------------------------------------+


-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`|
+----------------------------------------------------------------------------------------------------------------------+


-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`_.

**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-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 '`:placeholder:`A`: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`_, `-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 loses floating-point precision:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B`|
+----------------------------------------------------------------------------------------------------------------------------------------------------------------+

+---------------------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`implicit conversion loses integer precision:` |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:`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`||
|                                                                                                            |+--------------------+|                                                                                            |+----------------------+|
+------------------------------------------------------------------------------------------------------------+----------------------+--------------------------------------------------------------------------------------------+------------------------+


-Wctor-dtor-privacy
-------------------
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.

-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-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 parameter` |nbsp| :placeholder:`B`|
+---------------------------------------------------------------------------------------------------------------------------------------------------------------+

+----------------------------------------------------------------+----------------------------------+----------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`binding reference` |nbsp| |+--------------------------------+|:diagtext:`member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to a temporary value`|
|                                                                ||                                ||                                                                                  |
|                                                                |+--------------------------------+|                                                                                  |
|                                                                ||:diagtext:`subobject of` |nbsp| ||                                                                                  |
|                                                                |+--------------------------------+|                                                                                  |
+----------------------------------------------------------------+----------------------------------+----------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`initializing pointer member` |nbsp| :placeholder:`A` |nbsp| :diagtext:`with the stack address of parameter` |nbsp| :placeholder:`B`|
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-Wdangling-initializer-list
---------------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+-----------------------------------------------------------------------------------------------------------------+---------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`array backing the initializer list will be destroyed at the end of` |nbsp| |+-------------------------------+|
|                                                                                                                 ||:diagtext:`the full-expression`||
|                                                                                                                 |+-------------------------------+|
|                                                                                                                 ||:diagtext:`the constructor`    ||
|                                                                                                                 |+-------------------------------+|
+-----------------------------------------------------------------------------------------------------------------+---------------------------------+


-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`|
+-----------------------------------------------------------------------------------+


-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-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-virtual-dtor
-------------------------
Some of the diagnostics controlled by this flag are 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`||                                                                                                                        |
|                           |+----------------------+|                                                                                                                        |
+---------------------------+------------------------+------------------------------------------------------------------------------------------------------------------------+

+---------------------------+------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
|: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`||                                                                                                                                        |
|                           |+----------------------+|                                                                                                                                        |
+---------------------------+------------------------+----------------------------------------------------------------------------------------------------------------------------------------+


-Wdeprecated
------------
Some of the diagnostics controlled by this flag are enabled by default.

Also controls `-Wdeprecated-attributes`_, `-Wdeprecated-declarations`_, `-Wdeprecated-dynamic-exception-spec`_, `-Wdeprecated-increment-bool`_, `-Wdeprecated-register`_, `-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:`definition of implicit copy` |nbsp| |+-------------------------------+| |nbsp| :diagtext:`for` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is deprecated because it has a user-declared` |nbsp| |+------------------------------------------------------------+|
|                                                                          ||:diagtext:`constructor`        ||                                                                                                                       ||+------------------------+---------------------------------+||
|                                                                          |+-------------------------------+|                                                                                                                       |||:diagtext:`copy` |nbsp| |+-------------------------------+|||
|                                                                          ||:diagtext:`assignment operator`||                                                                                                                       |||                        ||:diagtext:`assignment operator`||||
|                                                                          |+-------------------------------+|                                                                                                                       |||                        |+-------------------------------+|||
|                                                                          |                                 |                                                                                                                       |||                        ||:diagtext:`constructor`        ||||
|                                                                          |                                 |                                                                                                                       |||                        |+-------------------------------+|||
|                                                                          |                                 |                                                                                                                       ||+------------------------+---------------------------------+||
|                                                                          |                                 |                                                                                                                       |+------------------------------------------------------------+|
|                                                                          |                                 |                                                                                                                       ||:diagtext:`destructor`                                      ||
|                                                                          |                                 |                                                                                                                       |+------------------------------------------------------------+|
+--------------------------------------------------------------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------------------------------------------+
|: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:`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-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-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-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-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:`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 '\\deprecated' command but does not have a deprecation attribute`|
+----------------------------------------------------------------------------------------------------------------------------------+


-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`|
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-Wduplicate-decl-specifier
--------------------------
This diagnostic is 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`|
+-----------------------------------------------------------------------------------------------------+


-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-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 `-Wenum-compare-switch`_.

**Diagnostic text:**

+------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`comparison of two values with different enumeration types`|
+------------------------------------------------------------------------------------------------+


-Wenum-compare-switch
---------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+--------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`comparison of two values with different enumeration types in switch statement`|
+--------------------------------------------------------------------------------------------------------------------+


-Wenum-conversion
-----------------
This diagnostic is enabled by default.

**Diagnostic text:**

+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`implicit conversion from enumeration type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to different enumeration type` |nbsp| :placeholder:`B`|
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-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`|
+-----------------------------------------------------------------------------------------------------------------------------+


-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`|
+-------------------------------------------------------------------------------------------------+


-Wexperimental-isel
-------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`-fexperimental-isel support for the '`:placeholder:`A`:diagtext:`' architecture is incomplete`|
+------------------------------------------------------------------------------------------------------------------------------------+

+----------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`-fexperimental-isel support is incomplete for this architecture at the current optimization level`|
+----------------------------------------------------------------------------------------------------------------------------------------+


-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`|
+-------------------------------------------------------------------------------------------------------------------------------------+


-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 `-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`_.

**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-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`|
+------------------------------------------------------------------------------+


-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 of out of range value from` |nbsp| :placeholder:`A` |nbsp| :diagtext:`to` |nbsp| :placeholder:`B` |nbsp| :diagtext:`changes value from` |nbsp| :placeholder:`C` |nbsp| :diagtext:`to` |nbsp| :placeholder:`D`|
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-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:`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| :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-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`_.


-Wfour-char-constants
---------------------
**Diagnostic text:**

+-------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`multi-character character constant`|
+-------------------------------------------------------------------------+


-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`|
+--------------------------------------------------------------------------------------------------------------------------------------+


-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`|
+--------------------------------------------------------------------------------------------------------+


-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:`'`: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`|
+-------------------------------------------------------------------------------+


-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-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 different macro`|
+---------------------------------------------------------------------------------------------------------------------------------------+


-Wheader-hygiene
----------------
**Diagnostic text:**

+--------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`using namespace directive in global context in header`|
+--------------------------------------------------------------------------------------------+


-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| |+-----------------+| |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| :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`                                                                             ||
|                                                                                                |+----------------------------------------------------------------------------------------------------------------+|
|                                                                                                ||:diagtext:`variables, functions, methods, types, enumerations, enumerators, labels, and non-static data members`||
|                                                                                                |+----------------------------------------------------------------------------------------------------------------+|
+------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+

+----------------------------------------------------------------------------------------------------------------+
|: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| :diagtext:`calling convention` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored for this target`|
+----------------------------------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`calling convention ignored on constructor/destructor`|
+-------------------------------------------------------------------------------------------------------------------+

+--------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :placeholder:`A` |nbsp| :diagtext:`calling convention ignored on variadic function`|
+--------------------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored, because it cannot be applied to a 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 different 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:`'internal\_linkage' attribute on a non-static local variable is ignored`|
+--------------------------------------------------------------------------------------------------------------+

+--------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`qualifiers after comma in declarator list are ignored`|
+--------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------------------+----------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`MIPS 'interrupt' attribute only applies to functions that have` |nbsp| |+--------------------------------+|
|                                                                                                             ||:diagtext:`no parameters`       ||
|                                                                                                             |+--------------------------------+|
|                                                                                                             ||:diagtext:`a 'void' return type`||
|                                                                                                             |+--------------------------------+|
+-------------------------------------------------------------------------------------------------------------+----------------------------------+

+---------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`unknown attribute '`:placeholder:`A`:diagtext:`'`|
+---------------------------------------------------------------------------------------+

+------------------------------------------------------------------------------------------------+-----------------------------------+------------------------------+
|: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`||                              |
|                                                                                                |+---------------------------------+|                              |
+------------------------------------------------------------------------------------------------+-----------------------------------+------------------------------+

+------------------------------------------------------------------------------------------------+------------------------+---------------------------------------+--------------------------------------+
|: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 is deprecated and ignored in OpenCL version` |nbsp| :placeholder:`B`|
+--------------------------------------------------------------------------------------------------------------------------------------------+

+---------------------------+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------+-----------------------+-------------------------------------------------------------------------------------------------+
|: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| :diagtext:`ignoring` |nbsp| |+-----------------------+|+--------------------------------+| |nbsp| :diagtext:`'`:placeholder:`C`:diagtext:`' in the target attribute string`|
|                                                       ||:diagtext:`unsupported`|||                                ||                                                                                 |
|                                                       |+-----------------------+|+--------------------------------+|                                                                                 |
|                                                       ||:diagtext:`duplicate`  ||| |nbsp| :diagtext:`architecture`||                                                                                 |
|                                                       |+-----------------------+|+--------------------------------+|                                                                                 |
+-------------------------------------------------------+-------------------------+----------------------------------+---------------------------------------------------------------------------------+


-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-pragmas
-----------------
This diagnostic is enabled by default.

Also controls `-Wignored-pragma-intrinsic`_.

**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:`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 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:`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:`unknown action '`:placeholder:`B`:diagtext:`' for '#pragma` |nbsp| :placeholder:`A`:diagtext:`' - ignored`|
+------------------------------------------------------------------------------------------------------------------------------------------------+

+----------------------------------------------------------------------------------------------+
|: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-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-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` |nbsp| |+------------------+|
|                                                                                                                                        ||:diagtext:`C99`   ||
|                                                                                                                                        |+------------------+|
|                                                                                                                                        ||:diagtext:`OpenCL`||
|                                                                                                                                        |+------------------+|
+----------------------------------------------------------------------------------------------------------------------------------------+--------------------+

+---------------------------------------------------------------------------------------------------------------------------------------------+
|: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-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 with absolute path`|
+------------------------------------------------------------------------+


-Winclude-next-outside-header
-----------------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+----------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`#include\_next in primary source file`|
+----------------------------------------------------------------------------+


-Wincompatible-exception-spec
-----------------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+--------------------------------------------------------------------------+----------------------+--------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`exception specifications of` |nbsp| |+--------------------+| |nbsp| :diagtext:`types differ`|
|                                                                          ||: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 different types`                      |||                                     ||
|                                                                                  |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                  ||:diagtext:`passing to parameter of different type`            |||:diagtext:`; dereference with \*`    ||
|                                                                                  |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                  ||:diagtext:`returning from function with different return type`|||:diagtext:`; take the address with &`||
|                                                                                  |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                  ||:diagtext:`converting between types`                          |||:diagtext:`; remove \*`              ||
|                                                                                  |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                  ||:diagtext:`initializing with expression of different type`    |||:diagtext:`; remove &`               ||
|                                                                                  |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                  ||:diagtext:`sending to parameter of different 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`|
+---------------------------------------------------------------------------------------------------------------------------------------------+


-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 different types`                      |||                                     ||
|                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                         ||:diagtext:`passing to parameter of different type`            |||:diagtext:`; dereference with \*`    ||
|                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                         ||:diagtext:`returning from function with different return type`|||:diagtext:`; take the address with &`||
|                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                         ||:diagtext:`converting between types`                          |||:diagtext:`; remove \*`              ||
|                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                         ||:diagtext:`initializing with expression of different type`    |||:diagtext:`; remove &`               ||
|                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                         ||:diagtext:`sending to parameter of different 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 different types`                      ||                                                               |
|                           |+--------------------------------------------------------------+|                                                               |
|                           ||:diagtext:`passing to parameter of different type`            ||                                                               |
|                           |+--------------------------------------------------------------+|                                                               |
|                           ||:diagtext:`returning from function with different return type`||                                                               |
|                           |+--------------------------------------------------------------+|                                                               |
|                           ||:diagtext:`converting between types`                          ||                                                               |
|                           |+--------------------------------------------------------------+|                                                               |
|                           ||:diagtext:`initializing with expression of different type`    ||                                                               |
|                           |+--------------------------------------------------------------+|                                                               |
|                           ||:diagtext:`sending to parameter of different type`            ||                                                               |
|                           |+--------------------------------------------------------------+|                                                               |
|                           ||:diagtext:`casting between types`                             ||                                                               |
|                           |+--------------------------------------------------------------+|                                                               |
+---------------------------+----------------------------------------------------------------+---------------------------------------------------------------+

+---------------------------+----------------------------------------------------------------+---------------------------------------+
|:warning:`warning:` |nbsp| |+--------------------------------------------------------------+| |nbsp| :diagtext:`discards qualifiers`|
|                           ||:diagtext:`assigning to different types`                      ||                                       |
|                           |+--------------------------------------------------------------+|                                       |
|                           ||:diagtext:`passing to parameter of different type`            ||                                       |
|                           |+--------------------------------------------------------------+|                                       |
|                           ||:diagtext:`returning from function with different return type`||                                       |
|                           |+--------------------------------------------------------------+|                                       |
|                           ||:diagtext:`converting between types`                          ||                                       |
|                           |+--------------------------------------------------------------+|                                       |
|                           ||:diagtext:`initializing with expression of different type`    ||                                       |
|                           |+--------------------------------------------------------------+|                                       |
|                           ||:diagtext:`sending to parameter of different type`            ||                                       |
|                           |+--------------------------------------------------------------+|                                       |
|                           ||:diagtext:`casting between types`                             ||                                       |
|                           |+--------------------------------------------------------------+|                                       |
+---------------------------+----------------------------------------------------------------+---------------------------------------+


-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-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-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 overrides prior initialization of this subobject`|
+---------------------------------------------------------------------------------------------------+

+---------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`subobject initialization overrides initialization of other fields within its enclosing subobject`|
+---------------------------------------------------------------------------------------------------------------------------------------+


-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 different types`                      |||                                     ||
|                                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`passing to parameter of different type`            |||:diagtext:`; dereference with \*`    ||
|                                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`returning from function with different return type`|||:diagtext:`; take the address with &`||
|                                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`converting between types`                          |||:diagtext:`; remove \*`              ||
|                                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`initializing with expression of different type`    |||:diagtext:`; remove &`               ||
|                                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`sending to parameter of different type`            ||                                       |
|                                                                                         |+--------------------------------------------------------------+|                                       |
|                                                                                         ||:diagtext:`casting between types`                             ||                                       |
|                                                                                         |+--------------------------------------------------------------+|                                       |
+-----------------------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+

+-----------------------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`incompatible pointer to integer conversion` |nbsp| |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`assigning to different types`                      |||                                     ||
|                                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`passing to parameter of different type`            |||:diagtext:`; dereference with \*`    ||
|                                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`returning from function with different return type`|||:diagtext:`; take the address with &`||
|                                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`converting between types`                          |||:diagtext:`; remove \*`              ||
|                                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`initializing with expression of different type`    |||:diagtext:`; remove &`               ||
|                                                                                         |+--------------------------------------------------------------+|+-------------------------------------+|
|                                                                                         ||:diagtext:`sending to parameter of different type`            ||                                       |
|                                                                                         |+--------------------------------------------------------------+|                                       |
|                                                                                         ||:diagtext:`casting between types`                             ||                                       |
|                                                                                         |+--------------------------------------------------------------+|                                       |
+-----------------------------------------------------------------------------------------+----------------------------------------------------------------+---------------------------------------+


-Wint-conversions
-----------------
Synonym for `-Wint-conversion`_.


-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 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`|
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-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| :diagtext:`constexpr` |nbsp| |+-----------------------+| |nbsp| :diagtext:`never produces a constant expression`|
|                                                    ||:diagtext:`function`   ||                                                        |
|                                                    |+-----------------------+|                                                        |
|                                                    ||: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-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`|
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-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
------------------------
This diagnostic is enabled by default.

**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 scalar initializer`|
+--------------------------------------------------------------------------------+


-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`||                                                      |
|                                                                |+-------------------------------------+|                                                      |
+----------------------------------------------------------------+---------------------------------------+------------------------------------------------------+


-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-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-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.

**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:`explicit specialization of` |nbsp| :placeholder:`A` |nbsp| :diagtext:`within class scope 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:`outside namespace enclosing` |nbsp| :placeholder:`C` |nbsp| :diagtext:`is a Microsoft extension`|
|                           ||:diagtext:`class template`           ||                                                                                                                                                                                |
|                           |+-------------------------------------+|                                                                                                                                                                                |
|                           ||:diagtext:`class template partial`   ||                                                                                                                                                                                |
|                           |+-------------------------------------+|                                                                                                                                                                                |
|                           ||:diagtext:`variable template`        ||                                                                                                                                                                                |
|                           |+-------------------------------------+|                                                                                                                                                                                |
|                           ||: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:`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-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`|
+------------------------------------------------------------------------------------------------+


-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:`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:`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-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 difference 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:`'`|
+----------------------------------------------------------------------------------------------------------------+


-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`_, `-Wimplicit`_, `-Winfinite-recursion`_, `-Wmismatched-tags`_, `-Wmissing-braces`_, `-Wmove`_, `-Wmultichar`_, `-Wobjc-designated-initializers`_, `-Wobjc-flexible-array`_, `-Wobjc-missing-super-calls`_, `-Woverloaded-virtual`_, `-Wprivate-extern`_, `-Wreorder`_, `-Wreturn-type`_, `-Wself-assign`_, `-Wself-move`_, `-Wsizeof-array-argument`_, `-Wsizeof-array-decay`_, `-Wstring-plus-int`_, `-Wtrigraphs`_, `-Wuninitialized`_, `-Wunknown-pragmas`_, `-Wunused`_, `-Wuser-defined-warnings`_, `-Wvolatile-register-var`_.


-Wmove
------
Controls `-Wpessimizing-move`_, `-Wredundant-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`|
+----------------------------------------------------------------+


-Wnoexcept-type
---------------
Synonym for `-Wc++17-compat-mangling`_.


-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-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 differs 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 differs 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`|
+---------------------------------------------------------------------------------------------------------------------+


-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-circular-container
-------------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`adding '`:placeholder:`A`:diagtext:`' to '`:placeholder:`B`: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-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 non-GC 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-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:`type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`has incompatible definitions in different translation units`|
+--------------------------------------------------------------------------------------------------------------------------------------------------+


-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-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:`zero linear step (`:placeholder:`A` |nbsp| |+-------------------------------------------------+|:diagtext:`should probably be const)`|
|                                                                                 ||                                                 ||                                     |
|                                                                                 |+-------------------------------------------------+|                                     |
|                                                                                 ||:diagtext:`and other variables in clause` |nbsp| ||                                     |
|                                                                                 |+-------------------------------------------------+|                                     |
+---------------------------------------------------------------------------------+---------------------------------------------------+-------------------------------------+


-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-target
---------------
This diagnostic is enabled by default.

**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:`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:`option '`:placeholder:`A`:diagtext:`' was ignored by the PS4 toolchain, using '-fPIC'`|
+----------------------------------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mabicalls' option as it cannot be used with non position-independent code and the N64 ABI`|
+-------------------------------------------------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------------------------+-------------------------------------------+----------------------+
|:warning:`warning:` |nbsp| :diagtext:`ignoring '-mlong-calls' option as it is not currently supported with` |nbsp| |+-----------------------------------------+|:diagtext:`-mabicalls`|
|                                                                                                                   ||                                         ||                      |
|                                                                                                                   |+-----------------------------------------+|                      |
|                                                                                                                   ||:diagtext:`the implicit usage of` |nbsp| ||                      |
|                                                                                                                   |+-----------------------------------------+|                      |
+-------------------------------------------------------------------------------------------------------------------+-------------------------------------------+----------------------+


-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-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
-------------
This diagnostic is enabled by default.

Also controls `-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`_, `-Wc11-extensions`_, `-Wcomplex-component-init`_, `-Wdeclaration-after-statement`_, `-Wdollar-in-identifier-extension`_, `-Wembedded-directive`_, `-Wempty-translation-unit`_, `-Wflexible-array-extensions`_, `-Wformat-pedantic`_, `-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:`'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:`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:`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++2a 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`||                                |
|                                                               |+---------------------+|                                |
+---------------------------------------------------------------+-----------------------+--------------------------------+

+---------------------------------------------------------------+-----------------------+----------------------------+
|:warning:`warning:` |nbsp| :diagtext:`invalid application of '`|+---------------------+|:diagtext:`' to a void type`|
|                                                               ||:diagtext:`sizeof`   ||                            |
|                                                               |+---------------------+|                            |
|                                                               ||:diagtext:`alignof`  ||                            |
|                                                               |+---------------------+|                            |
|                                                               ||:diagtext:`vec\_step`||                            |
|                                                               |+---------------------+|                            |
+---------------------------------------------------------------+-----------------------+----------------------------+

+-------------------------------------------------------------------------------------------+
|: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 different types`                      ||                                                                      |
|                           |+--------------------------------------------------------------+|                                                                      |
|                           ||:diagtext:`passing to parameter of different type`            ||                                                                      |
|                           |+--------------------------------------------------------------+|                                                                      |
|                           ||:diagtext:`returning from function with different return type`||                                                                      |
|                           |+--------------------------------------------------------------+|                                                                      |
|                           ||:diagtext:`converting between types`                          ||                                                                      |
|                           |+--------------------------------------------------------------+|                                                                      |
|                           ||:diagtext:`initializing with expression of different type`    ||                                                                      |
|                           |+--------------------------------------------------------------+|                                                                      |
|                           ||:diagtext:`sending to parameter of different 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:`types declared in an anonymous` |nbsp| |+------------------+| |nbsp| :diagtext:`are a Microsoft extension`|
|                                                                             ||:diagtext:`struct`||                                             |
|                                                                             |+------------------+|                                             |
|                                                                             ||:diagtext:`union` ||                                             |
|                                                                             |+------------------+|                                             |
+-----------------------------------------------------------------------------+--------------------+---------------------------------------------+

+---------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
|: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:`'`:placeholder:`A`:diagtext:`' cannot be signed or unsigned`|
+--------------------------------------------------------------------------------------------------+

+---------------------------+----------------------------------+------------------------------+-----------------------+----------------------------+
|: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:`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:`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`||                                |
|                                                               |+---------------------+|                                |
+---------------------------------------------------------------+-----------------------+--------------------------------+

+---------------------------------------------------------------+-----------------------+----------------------------+
|:warning:`warning:` |nbsp| :diagtext:`invalid application of '`|+---------------------+|:diagtext:`' to a void type`|
|                                                               ||:diagtext:`sizeof`   ||                            |
|                                                               |+---------------------+|                            |
|                                                               ||:diagtext:`alignof`  ||                            |
|                                                               |+---------------------+|                            |
|                                                               ||:diagtext:`vec\_step`||                            |
|                                                               |+---------------------+|                            |
+---------------------------------------------------------------+-----------------------+----------------------------+

+-----------------------------------------------------------------------------------------------------------------------------------------------------+
|: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-sign
--------------
This diagnostic is enabled by default.

**Diagnostic text:**

+---------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| |+--------------------------------------------------------------+| |nbsp| :diagtext:`converts between pointers to integer types with different sign`|
|                           ||:diagtext:`assigning to different types`                      ||                                                                                  |
|                           |+--------------------------------------------------------------+|                                                                                  |
|                           ||:diagtext:`passing to parameter of different type`            ||                                                                                  |
|                           |+--------------------------------------------------------------+|                                                                                  |
|                           ||:diagtext:`returning from function with different return type`||                                                                                  |
|                           |+--------------------------------------------------------------+|                                                                                  |
|                           ||:diagtext:`converting between types`                          ||                                                                                  |
|                           |+--------------------------------------------------------------+|                                                                                  |
|                           ||:diagtext:`initializing with expression of different type`    ||                                                                                  |
|                           |+--------------------------------------------------------------+|                                                                                  |
|                           ||:diagtext:`sending to parameter of different type`            ||                                                                                  |
|                           |+--------------------------------------------------------------+|                                                                                  |
|                           ||:diagtext:`casting between types`                             ||                                                                                  |
|                           |+--------------------------------------------------------------+|                                                                                  |
+---------------------------+----------------------------------------------------------------+----------------------------------------------------------------------------------+


-Wpointer-to-int-cast
---------------------
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.

-Wpointer-type-mismatch
-----------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`pointer type mismatch`|
+------------------------------------------------------------+


-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 aligment 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`|
+---------------------------------------------------------------------------------------------------------+


-Wrange-loop-analysis
---------------------
**Diagnostic text:**

+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`loop variable` |nbsp| :placeholder:`A` |nbsp|  |nbsp| :diagtext:`is initialized with a value of a different type` |nbsp| :diagtext:`resulting in a copy`|
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`loop variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`of type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`creates a copy from type` |nbsp| :placeholder:`C`|
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`loop variable` |nbsp| :placeholder:`A` |nbsp| :diagtext:`is always a copy because the range of type` |nbsp| :placeholder:`B` |nbsp| :diagtext:`does not return a reference`|
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-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 differently 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
---------
**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` ||                        |
|                           |+----------------------+|                                                                             |+-----------------+|                        |
+---------------------------+------------------------+-----------------------------------------------------------------------------+-------------------+------------------------+


-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 local variable` |nbsp| :placeholder:`B` |nbsp| :diagtext:`returned`|
|                           ||:diagtext:`address of`  ||                                                                                                                   |
|                           |+------------------------+|                                                                                                                   |
|                           ||:diagtext:`reference to`||                                                                                                                   |
|                           |+------------------------+|                                                                                                                   |
+---------------------------+--------------------------+-------------------------------------------------------------------------------------------------------------------+


-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:`control reaches end of coroutine; which is undefined behavior because the promise type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`does not declare 'return\_void()'`|
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`control reaches end of non-void function`|
+-------------------------------------------------------------------------------+

+-----------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`control reaches end of non-void lambda`|
+-----------------------------------------------------------------------------+

+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`control may reach end of coroutine; which is undefined behavior because the promise type` |nbsp| :placeholder:`A` |nbsp| :diagtext:`does not declare 'return\_void()'`|
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

+---------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`control may reach end of non-void function`|
+---------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`control may reach end of non-void lambda`|
+-------------------------------------------------------------------------------+

+---------------------------------------------------+----------------------+-----------------------------------------------------------------+
|: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`|
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-Wrtti-for-exceptions
---------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+--------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`implicitly enabling rtti for exception handling`|
+--------------------------------------------------------------------------------------+


-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:`section does not match previous declaration`|
+----------------------------------------------------------------------------------+


-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`_.

**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-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| :diagtext:`non-static data member '`:placeholder:`A`:diagtext:`' of '`:placeholder:`B`:diagtext:`' shadows member inherited from type '`:placeholder:`C`:diagtext:`'`|
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-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 different 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`|
+---------------------------------------------------------------------------------------------------------------------------------------------+


-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`|
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


-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-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 different 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:`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-protector
-----------------
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.

-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 different in different 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`|
+----------------------------------------------------------------------------------------------------------------------------------------------------+


-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 strncmp 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`|
+--------------------------------------------------------------------------------------------------------------------------------+


-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`|                             ||
|                           ||+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+                             ||
|                           |+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
|                           ||+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||
|                           |||:diagtext:`:`: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`|                             ||
|                           ||+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+                             ||
|                           |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|
|                           ||+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+||
|                           |||:diagtext:`:`: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-compare
----------------------
Some of the diagnostics controlled by this flag are enabled by default.

Also controls `-Wtautological-constant-compare`_, `-Wtautological-overlap-compare`_, `-Wtautological-pointer-compare`_, `-Wtautological-undefined-compare`_.

**Diagnostic text:**

+---------------------------+---------------------------+--------------------------------------------------+------------------------+
|:warning:`warning:` |nbsp| |+-------------------------+|:diagtext:`comparison always evaluates to` |nbsp| |+----------------------+|
|                           ||:diagtext:`self-`        ||                                                  ||:diagtext:`false`     ||
|                           |+-------------------------+|                                                  |+----------------------+|
|                           ||:diagtext:`array` |nbsp| ||                                                  ||:diagtext:`true`      ||
|                           |+-------------------------+|                                                  |+----------------------+|
|                           |                           |                                                  ||:diagtext:`a constant`||
|                           |                           |                                                  |+----------------------+|
+---------------------------+---------------------------+--------------------------------------------------+------------------------+

+-------------------------------------------------------------------------------------+-------------------+
|:warning:`warning:` |nbsp| :diagtext:`bitwise comparison always evaluates to` |nbsp| |+-----------------+|
|                                                                                     ||:diagtext:`false`||
|                                                                                     |+-----------------+|
|                                                                                     ||:diagtext:`true` ||
|                                                                                     |+-----------------+|
+-------------------------------------------------------------------------------------+-------------------+


-Wtautological-constant-compare
-------------------------------
This diagnostic is enabled by default.

Also controls `-Wtautological-constant-out-of-range-compare`_.

**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-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-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 '`:placeholder:`B`: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 '`:placeholder:`A`: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 '`:placeholder:`B`: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 '`:placeholder:`A`:diagtext:`' requires holding` |nbsp| |+---------------------------------+|
|                           ||:diagtext:`reading`||                                                                                    ||:diagtext:`any mutex`            ||
|                           |+-------------------+|                                                                                    |+---------------------------------+|
|                           ||:diagtext:`writing`||                                                                                    ||:diagtext:`any mutex exclusively`||
|                           |+-------------------+|                                                                                    |+---------------------------------+|
+---------------------------+---------------------+------------------------------------------------------------------------------------+-----------------------------------+

+---------------------------+---------------------+------------------------------------------------------------------------------------------------------------+----------------------------------------------------------+
|:warning:`warning:` |nbsp| |+-------------------+| |nbsp| :diagtext:`variable '`:placeholder:`B`: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| :diagtext:`invalid capability name '`:placeholder:`A`:diagtext:`'; capability name must be 'mutex' or 'role'`|
+----------------------------------------------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|: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("mutex")' 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`|
+------------------------------------------------------------------------------------------------------------------------------------+


-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 '`:placeholder:`B`: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 '`:placeholder:`B`: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 '`:placeholder:`B`: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 '`:placeholder:`B`: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 '`:placeholder:`B`: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
-------------
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.

-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`|
+---------------------------------------------------------------------------------------------------------------------------------------------------------+


-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`|
+-------------------------------------------------------------------------------+


-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 uninitialized when captured by block`|
+------------------------------------------------------------------------------------------------------------------------------------------------+

+---------------------------------------------------------------------------------------------------------------------------------------------------+
|: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:`'`|
+-----------------------------------------------------------------------------------------------------------+


-Wunknown-attributes
--------------------
This diagnostic is enabled by default.

**Diagnostic text:**

+-----------------------------------------------------------------------------------------------------------+
|:warning:`warning:` |nbsp| :diagtext:`unknown attribute` |nbsp| :placeholder:`A` |nbsp| :diagtext:`ignored`|
+-----------------------------------------------------------------------------------------------------------+


-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:`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-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`|
+----------------------------------------------------------------------------------------------------------------------+


-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`|
+-------------------------------------------------------------------------------------------------------------------------------------------+


-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:`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 different types`                      ||
|                                                                        |+--------------------------------------------------------------+|
|                                                                        ||:diagtext:`passing to parameter of different type`            ||
|                                                                        |+--------------------------------------------------------------+|
|                                                                        ||:diagtext:`returning from function with different return type`||
|                                                                        |+--------------------------------------------------------------+|
|                                                                        ||:diagtext:`converting between types`                          ||
|                                                                        |+--------------------------------------------------------------+|
|                                                                        ||:diagtext:`initializing with expression of different type`    ||
|                                                                        |+--------------------------------------------------------------+|
|                                                                        ||:diagtext:`sending to parameter of different 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-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`_.


-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`|
+------------------------------------------------------------------------+


