[Issue 1601] shr and shl error message is missing line numbers
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Sat Oct 20 03:13:50 PDT 2007
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=1601
braddr at puremagic.com changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch
------- Comment #2 from braddr at puremagic.com  2007-10-20 05:13 -------
The fix (tested with gdc which exhibits exactly the same bug):
--- optimize.c  2007-10-20 03:11:39.000000000 -0700
+++ optimize.c.orig     2007-10-20 03:12:10.000000000 -0700
@@ -473,7 +473,7 @@
        integer_t i2 = e->e2->toInteger();
        d_uns64 sz = e->e1->type->size() * 8;
        if (i2 < 0 || i2 > sz)
-       {   e->error("shift by %jd is outside the range 0..%zu", i2, sz);
+       {   error("shift by %jd is outside the range 0..%zu", i2, sz);
            e->e2 = new IntegerExp(0);
        }
        if (e->e1->isConst() == 1)
The new ouput, with Matti's version of the code:
bug550.d:4: Error: shift assign by 33 is outside the range 0..32
bug550.d:5: Error: shift assign by 33 is outside the range 0..32
bug550.d:6: Error: shift assign by 33 is outside the range 0..32
bug550.d:7: Error: shift left by 33 exceeds 32
bug550.d:8: Error: shift left by 33 exceeds 32
bug550.d:9: Error: shift left by 33 exceeds 32
-- 
    
    
More information about the Digitalmars-d-bugs
mailing list