<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    <div class="moz-cite-prefix">On 12/12/2013 21:40, Dmitri Gribenko
      wrote:<br>
    </div>
    <blockquote
cite="mid:CA+Y5xYfOopP1X-BqJWVt0VB4E85aCQit_CML4NgUM7GXzvA5JQ@mail.gmail.com"
      type="cite">
      <pre wrap="">On Thu, Dec 12, 2013 at 1:23 PM, Alp Toker <a class="moz-txt-link-rfc2396E" href="mailto:alp@nuanti.com"><alp@nuanti.com></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
URL: <a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=197179&r1=197178&r2=197179&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=197179&r1=197178&r2=197179&view=diff</a>
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td Thu Dec 12 15:23:03 2013
@@ -777,6 +777,11 @@ def warn_availability_and_unavailable :
 def err_type_safety_unknown_flag : Error<
   "invalid comparison flag %0; use 'layout_compatible' or 'must_be_null'">;

+// Type traits
+def err_type_trait_arity : Error<
+  "type trait requires %0%select{| or more}1 argument%select{|s}2; have "
+  "%3 argument%s3">;
</pre>
      </blockquote>
      <pre wrap="">
Clang diagnostics support %plural, see
<a class="moz-txt-link-freetext" href="http://clang.llvm.org/docs/InternalsManual.html">http://clang.llvm.org/docs/InternalsManual.html</a>.</pre>
    </blockquote>
    <br>
    Thanks for the observation.<br>
    <br>
    In this case the message was just moved verbatim from Sema to Parse.<br>
    <br>
    The bigger problem with this diag is that it has a different wording
    to other argument length messages:<br>
    <br>
    <code>traits.cpp:18:51: error: type trait requires 1 argument; have
      2 arguments</code><code><br>
    </code><code><br>
    </code><code>traits.cpp:23:40: error: too few template arguments for
      class template 'is_nothrow_constructible'</code><code><br>
    </code><code><br>
    </code><code>traits.cpp:13:6: note: candidate function not viable:
      requires 1 argument, but 2 were provided</code><br>
    <br>
    Instead of keeping these inconsistencies I'd like to pick one style
    and make the others consistent during the 3.5 iteration.<br>
    <br>
    Alp.<br>
    <br>
    <br>
    <br>
    <br>
    <blockquote
cite="mid:CA+Y5xYfOopP1X-BqJWVt0VB4E85aCQit_CML4NgUM7GXzvA5JQ@mail.gmail.com"
      type="cite">
      <pre wrap="">

Dmitri

</pre>
    </blockquote>
    <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>