<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    clang converts keywords to identifiers for compatibility with
    various system headers such as GNU libc.<br>
    <br>
    The attached patch adds an extension warning diagnostic in those
    cases. The warning is typically ignored by default when the issue is
    encountered in system headers, but can be enabled to aid in
    standards conformance testing.<br>
    <br>
    This also changes the __uptr keyword avoidance from r195710 to not
    be special-cased for system headers now that a warning is in place,
    bringing it in line with other similar workarounds in clang.<br>
    <br>
    Some examples:<br>
    <br>
    <code>warning: keyword '__is_pod' will be treated as an identifier
      for the remainder of the translation unit [-Wkeyword-compat]</code><code><br>
    </code><code>struct __is_pod</code><code><br>
    </code><code><br>
    </code><code>warning: keyword '__uptr' will be treated as an
      identifier here [-Wkeyword-compat]</code><code><br>
    </code><code>union w *__uptr;</code><br>
    <br>
    Alp.<br>
    <br>
    <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.nuanti.com">http://www.nuanti.com</a>
the browser experts
</pre>
  </body>
</html>