[Issue 6686] bitmanip bitfields are broken at 64 bits

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Aug 1 08:04:41 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=6686


Era Scarecrow <rtcvb32 at yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |rtcvb32 at yahoo.com
         AssignedTo|nobody at puremagic.com        |rtcvb32 at yahoo.com


--- Comment #1 from Era Scarecrow <rtcvb32 at yahoo.com> 2012-08-01 08:04:39 PDT ---
My current branch resolves this issue. Once the pull is accepted this will be
resolved.

https://github.com/rtcvb32/phobos/commit/620ba57cc0a860245a2bf03f7b7f5d6a1bb58312

 The problem in the code happens to be how it handles the enum mask, which is
exactly 32bits; When it's inverted it inverts to 0, masking nothing.

guilty code:
  extendSign = ~((cast(MasksType)1u << len) - 1);

resolution:
  extendSign = cast(MasksType) ~((1uL << len) - 1);

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list