Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.lang.c > #395890
| From | Keith Thompson <Keith.S.Thompson+u@gmail.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: type of decimal constants in msvc |
| Date | 2025-12-22 12:01 -0800 |
| Organization | None to speak of |
| Message-ID | <87a4zawaj7.fsf@example.invalid> (permalink) |
| References | (1 earlier) <10i3dpt$14ajr$1@dont-email.me> <875xa2u0p9.fsf@example.invalid> <10i3hkn$15jea$1@dont-email.me> <871pkqtdyy.fsf@example.invalid> <868qeusm4f.fsf@linuxsc.com> |
Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
> Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
>> Thiago Adams <thiago.adams@gmail.com> writes:
>>> Em 19/12/2025 09:15, Keith Thompson escreveu:
>> [...]
>>
>>>> gcc's warning for 18408377700990114895 (which is slightly smaller
>>>> than 2**64) is "integer constant is so large that it is unsigned".
>>>> This is *incorrect* (and I think it's been reported as a bug), but
>>>> the incorrect wording of the warning is not a conformance issue.
>>>
>>> I am not understating why do you think this is a bug?
>>> Because it should not compile?
>>
>> No, because the message is factually incorrect.
>
> No, it isn't. The message might be misleading but it isn't wrong.
>
>> The integer constant 18408377700990114895 is not of any unsigned type.
>
> The message doesn't say the constant has an unsigned type. It says
> only that the constant is unsigned.
What distinction are you making?
All integer constants are "unsigned" in the sense that they don't
include a sign. -1 is an expression, not a constant. That's not
what the message means.
I see no reasonable interpretation of "integer constant is so
large that it is unsigned" other than that it's of an unsigned type
because it's too large.
The message correctly reflects the C90 semantics, where a
sufficiently large unsuffixed decimal integer constant is of type
unsigned long. But in C99 and later, an unsuffixed decimal integer
constant is never of any unsigned type.
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */
Back to comp.lang.c | Previous | Next — Previous in thread | Find similar
Re: type of decimal constants in msvc Thiago Adams <thiago.adams@gmail.com> - 2025-12-19 08:43 -0300
Re: type of decimal constants in msvc Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-12-19 04:15 -0800
Re: type of decimal constants in msvc Thiago Adams <thiago.adams@gmail.com> - 2025-12-19 09:49 -0300
Re: type of decimal constants in msvc Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-12-19 12:26 -0800
Re: type of decimal constants in msvc Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-12-22 05:05 -0800
Re: type of decimal constants in msvc Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-12-22 12:01 -0800
csiph-web