[Issue 7604] New: statically disallow shift amounts provably outside the valid range
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Feb 28 04:30:25 PST 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7604
Summary: statically disallow shift amounts provably outside the
valid range
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: timon.gehr at gmx.ch
--- Comment #0 from timon.gehr at gmx.ch 2012-02-28 04:30:23 PST ---
This code is rejected:
void main(){
int y = 1<<32;
}
But this goes through:
void main(){
int x;
int y = 1<<32+(x&1);
}
Since the semantic analysis step already requires the compiler to be able to
compute value ranges, it would make sense to make any shift where the range of
the shift amount does not overlap [0..,31] a compile time error.
--
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