Thread overview
[Bug 171] >>>= broken with short integers
Jan 17, 2015
Iain Buclaw
Jan 17, 2015
Iain Buclaw
Jan 17, 2015
Iain Buclaw
January 17, 2015
http://bugzilla.gdcproject.org/show_bug.cgi?id=171

--- Comment #1 from Iain Buclaw <ibuclaw@gdcproject.org> ---
Problem is that in the operation:

a = a >> 1;

'a' is promoted to an unsigned integer for normal operations before the final result being downcasted back.

So we get the following sequence.

a           => -1
cast(uint)  => 4294967295
a >> 1      => 2147483647
cast(short) => -1

-- 
You are receiving this mail because:
You are watching all bug changes.


January 17, 2015
http://bugzilla.gdcproject.org/show_bug.cgi?id=171

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

-- 
You are receiving this mail because:
You are watching all bug changes.


January 17, 2015
http://bugzilla.gdcproject.org/show_bug.cgi?id=171

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #2 from Iain Buclaw <ibuclaw@gdcproject.org> ---
https://github.com/D-Programming-GDC/GDC/commit/2eabee4674c557bcb986837aa851b7c8c2817174

-- 
You are receiving this mail because:
You are watching all bug changes.