digitalmars.D - Bug? or do I something wrong
- Daniel Kozak (12/12) Dec 30 2015 import std.stdio;
- tcak (5/17) Dec 30 2015 I reported this bug about 2-3 months ago, and people said
- Steven Schveighoffer (6/12) Dec 30 2015 Not a bug.
- Daniel Kozak (3/18) Dec 30 2015 Thanks :)
import std.stdio; void main() { auto x = 9223372036854775807L; auto x2 = 9223372036854775807L + 1; long x3 = -9223372036854775808U; //auto x4 = -9223372036854775808L; //Error: signed integer overflow writeln(x + 1); //-9223372036854775808 writeln(x2); //-9223372036854775808 writeln(x3); //-9223372036854775808 //writeln(x4); }
Dec 30 2015
On Wednesday, 30 December 2015 at 14:07:54 UTC, Daniel Kozak wrote:import std.stdio; void main() { auto x = 9223372036854775807L; auto x2 = 9223372036854775807L + 1; long x3 = -9223372036854775808U; //auto x4 = -9223372036854775808L; //Error: signed integer overflow writeln(x + 1); //-9223372036854775808 writeln(x2); //-9223372036854775808 writeln(x3); //-9223372036854775808 //writeln(x4); }I reported this bug about 2-3 months ago, and people said something like it is same in C, and was reported a long time ago etc. So, nothing is changing about it.
Dec 30 2015
On 12/30/15 9:07 AM, Daniel Kozak wrote:import std.stdio; void main() { auto x = 9223372036854775807L; auto x2 = 9223372036854775807L + 1; long x3 = -9223372036854775808U; //auto x4 = -9223372036854775808L; //Error: signed integer overflowNot a bug. This is parsed as - (9223372036854775808L) That number cannot be represented in signed long, so it fails. The only correct thing to do is via x3. -Steve
Dec 30 2015
On Wednesday, 30 December 2015 at 20:13:46 UTC, Steven Schveighoffer wrote:On 12/30/15 9:07 AM, Daniel Kozak wrote:Thanks :)import std.stdio; void main() { auto x = 9223372036854775807L; auto x2 = 9223372036854775807L + 1; long x3 = -9223372036854775808U; //auto x4 = -9223372036854775808L; //Error: signed integer overflowNot a bug. This is parsed as - (9223372036854775808L) That number cannot be represented in signed long, so it fails. The only correct thing to do is via x3. -Steve
Dec 30 2015