[Issue 4491] Assigning large const value to ulong type results in "signed integer overflow"
https://issues.dlang.org/show_bug.cgi?id=4491 Andrei Alexandrescu changed: What|Removed |Added Version|D1 & D2 |D2 --
[Issue 4491] Assigning large const value to ulong type results in "signed integer overflow"
https://d.puremagic.com/issues/show_bug.cgi?id=4491 Iain Buclaw changed: What|Removed |Added Status|NEW |RESOLVED CC||ibuc...@ubuntu.com Resolution||WONTFIX -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4491] Assigning large const value to ulong type results in "signed integer overflow"
http://d.puremagic.com/issues/show_bug.cgi?id=4491 --- Comment #3 from Iain Buclaw 2010-07-22 07:48:45 PDT --- (In reply to comment #1) > You need to add an 'L' suffix when it's larger than int.max, and a 'U' suffix > when it's unsigned. > > import std.stdio; > void main() > { > ulong t = 18446744073709551615UL; > printf("%llu\n", t); > } > > The error message should make this clearer. Marking as a 'diagnostic' bug. I suppose that makes sense once you know. Though it seems that it should more like syntactical sugar to me, rather than a mandatory marking. For example, "1e6" gets translated to 1_000_000. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4491] Assigning large const value to ulong type results in "signed integer overflow"
http://d.puremagic.com/issues/show_bug.cgi?id=4491 bearophile_h...@eml.cc changed: What|Removed |Added CC||bearophile_h...@eml.cc --- Comment #2 from bearophile_h...@eml.cc 2010-07-21 14:51:27 PDT --- What's bad in the compiler/language accepting a line like: ulong t = 18446744073709551615; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4491] Assigning large const value to ulong type results in "signed integer overflow"
http://d.puremagic.com/issues/show_bug.cgi?id=4491 Don changed: What|Removed |Added Keywords||diagnostic CC||clugd...@yahoo.com.au --- Comment #1 from Don 2010-07-21 14:32:06 PDT --- You need to add an 'L' suffix when it's larger than int.max, and a 'U' suffix when it's unsigned. import std.stdio; void main() { ulong t = 18446744073709551615UL; printf("%llu\n", t); } The error message should make this clearer. Marking as a 'diagnostic' bug. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---