<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jul 22, 2014 at 5:38 PM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">How do these sound to you?<br>
<div class=""><br>
On Tue, Jul 22, 2014 at 8:13 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:<br>
> +def err_integer_literal_too_large : Error<<br>
> +  "integer literal is a value that cannot be represented as %select{a|an}0<br>
> "<br>
> +  "%select{signed|unsigned}0 integer">;<br>
><br>
> I don't think the "is a value that" adds anything here. Also, I'd like to<br>
> see something that more directly says we don't have a signed/unsigned<br>
> integer type large enough.<br>
<br>
</div>"integer literal is too large to be represented in %select{a|an}0<br>
%select{signed|unsigned}0 integer type"</blockquote><div><br></div><div>Perhaps "... to be represented in any %select{signed |}0integer type"?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="">
>  def err_integer_too_large : Error<<br>
> -  "integer constant is larger than the largest %0-bit unsigned integer<br>
> type">;<br>
> -def ext_integer_too_large_for_signed : ExtWarn<<br>
> -  "integer constant is larger than the largest %0-bit signed integer<br>
> type">,<br>
> +  "integer constant evaluates to value %0 that cannot be represented as a "<br>
> +  "%1-bit %select{signed|unsigned}2 integer">;<br>
><br>
> Please rename this to something about ICEs, and move it to<br>
> DiagnosticSemaKinds next to the existing err_ice_ diagnostics. (This is<br>
> pretty similar to ext_cce_narrowing...)<br>
><br>
><br>
> +def ext_integer_literal_too_large_for_signed : ExtWarn<<br>
> +  "integer literal is a value that cannot be represented as a signed<br>
> integer, "<br>
> +  "and will instead be interpreted as unsigned">,<br>
><br>
> Again, mentioning integer types and not just integers would make this<br>
> clearer.<br>
<br>
</div>"integer literal is too large to be represented in a signed integer<br>
type, and will instead be interpreted as unsigned integer type"<br></blockquote><div><br></div><div>Can we specify the type here? I think it's always 'unsigned long long' when we reach this diagnostic.</div>
</div></div></div>