
def GlobalDocumentation {
  code Intro =[{..
  -------------------------------------------------------------------
  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
================
}];
}
