[Issue 7423] Regression (2.057): Hex Literals are no longer treated as unsigned.

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Mar 19 23:02:24 PDT 2012


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


Don <clugdbug at yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug at yahoo.com.au


--- Comment #6 from Don <clugdbug at yahoo.com.au> 2012-03-19 23:02:40 PDT ---
The only way I can see that there could be a bug, and yet be fixed by the
cast(uint), is this line:

(x & 0xCCCC_CCCC)>>2

This might fail if there's a 64 bit codegen issue, eg if it does a 64bit load
of the constant, and then a 64 bit unsigned shift instead of a 32bit unsigned
shift for this combination.

If that were true, then the results would only be wrong if the upper bits of
the register were originally non-zero.

In all other cases, I can't see how the cast(uint) can be doing anything.

-- 
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