[Issue 4443] Optimizer produces wrong code for || or && with struct arrays
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Aug 4 00:07:02 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4443
--- Comment #4 from Don <clugdbug at yahoo.com.au> 2010-08-04 00:07:00 PDT ---
(In reply to comment #3)
> if (!sregs)
> sregs = ALLREGS & ~rretregs;
> c3 = allocreg(&sregs,®,ty);
> }
> + // BUG: We should ensure there is only register in retregs
> reg1 = findreg(retregs);
That should be:
if (!sregs)
sregs = ALLREGS & ~rretregs;
c3 = allocreg(&sregs,®,ty);
}
+ assert( (retregs & (retregs-1)) == 0); // Must be only one
register
reg1 = findreg(retregs);
There are probably contrived cases where this bug could occur in C++ code, but
I don't think it would ever occur in practice.
--
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