• Re: type of decimal constants in msvc

    From Tim Rentsch@tr.17687@z991.linuxsc.com to comp.lang.c on Sun Mar 1 18:32:23 2026
    From Newsgroup: comp.lang.c

    Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:

    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?

    The distinction I'm making is between what the statement actually
    says rather than how it might be interpreted.
    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From Keith Thompson@Keith.S.Thompson+u@gmail.com to comp.lang.c on Sun Mar 1 19:22:51 2026
    From Newsgroup: comp.lang.c

    Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
    Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
    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?

    The distinction I'm making is between what the statement actually
    says rather than how it might be interpreted.

    That's extremely vague. I won't bother asking you for clarity.
    --
    Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
    void Void(void) { Void(); } /* The recursive call of the void */
    --- Synchronet 3.21d-Linux NewsLink 1.2