[Issue 8929] long.min is a Voldemort literal

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Sep 13 22:59:11 UTC 2020


Mathias LANG <pro.mathias.lang at gmail.com> changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
                 CC|                            |pro.mathias.lang at gmail.com
         Resolution|---                         |WONTFIX

--- Comment #9 from Mathias LANG <pro.mathias.lang at gmail.com> ---
Nowadays, the `L` suffix is not required anymore, so the following compiles
just fine:
static assert (long.min == -9223372036854775808);

I was about to say that we should fix this for C compatibility, but C has the
same issue, as Daniel pointed out:

int main ()
    long long a = -9223372036854775808LL;
    return 0;

foo.c:3:20: warning: integer literal is too large to be represented in a signed
integer type, interpreting as unsigned
    long long a = -9223372036854775808LL;
1 warning generated.

This sounds like a good entry for a FAQ. Closing as WONTFIX.


More information about the Digitalmars-d-bugs mailing list