[Issue 3583] Regression(DMD2.037): Unsigned right shift works the same as signed right shift.

2015-06-09 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3583

Andrei Alexandrescu and...@erdani.com changed:

   What|Removed |Added

Version|2.036   |D2

--


[Issue 3583] Regression(DMD2.037): Unsigned right shift works the same as signed right shift.

2009-12-31 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3583


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #5 from Walter Bright bugzi...@digitalmars.com 2009-12-31 
11:20:59 PST ---
Fixed dmd 2.038

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


[Issue 3583] Regression(DMD2.037): Unsigned right shift works the same as signed right shift.

2009-12-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3583


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au
Version|future  |2.036
Summary|Unsigned right shift works  |Regression(DMD2.037):
   |the same as signed right|Unsigned right shift works
   |shift.  |the same as signed right
   ||shift.


--- Comment #2 from Don clugd...@yahoo.com.au 2009-12-30 11:26:03 PST ---
Doesn't seem to happen on DMD1. Code works on DMD1.054beta.

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


[Issue 3583] Regression(DMD2.037): Unsigned right shift works the same as signed right shift.

2009-12-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3583


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

   Keywords||patch


--- Comment #3 from Don clugd...@yahoo.com.au 2009-12-30 12:06:31 PST ---
Root cause: A bad refactoring that dropped the conversion to unsigned.

PATCH: e2ir.c, line 3008 and 3113 UshrExp::toElem() and UshrAssignExp::toElem()
Copy the code from D1.

elem *UshrAssignExp::toElem(IRState *irs)
{
-return toElemBin(irs, OPshrass);
+elem *eleft  = e1-toElem(irs);
+eleft-Ety = touns(eleft-Ety);
+elem *eright = e2-toElem(irs);
+elem *e = el_bin(OPshrass, type-totym(), eleft, eright);
+el_setLoc(e, loc);
+return e;
}

elem *UshrExp::toElem(IRState *irs)
{
-return toElemBin(irs, OPshr);
+elem *eleft  = e1-toElem(irs);
+eleft-Ety = touns(eleft-Ety);
+elem *eright = e2-toElem(irs);
+elem *e = el_bin(OPshr, type-totym(), eleft, eright);
+el_setLoc(e, loc);
+return e;
}

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