[Issue 6506] New: OS X: wrong value is passed to simple argument with a lazy parameter with -unittest -release -O
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Aug 16 10:58:11 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6506
Summary: OS X: wrong value is passed to simple argument with a
lazy parameter with -unittest -release -O
Product: D
Version: D2
Platform: Other
OS/Version: Mac OS X
Status: NEW
Keywords: wrong-code
Severity: major
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: kennytm at gmail.com
--- Comment #0 from kennytm at gmail.com 2011-08-16 10:58:09 PDT ---
----------------------------
void enforce6506(bool condition, lazy int m) {
assert(!condition);
}
void toImpl6506(int value) {
enforce6506(value >= 0, 4);
}
void bug6506() {
toImpl6506(-112345);
}
void main() { bug6506(); }
----------------------------
$ dmd -unittest -release -O z.d
$ ./z
core.exception.AssertError at z(2): Assertion failure
...
----------------------------
The bug _does_not_ appear when:
- one of '-unittest', '-release', and '-O' doesn't exist.
- the type of 'condition' is not 'bool', 'u?(byte|short|int)' and '[wd]?char'.
- the 'lazy' argument doesn't exist.
This bug is preventing OS X from passing Phobos' unit test in the release build
after fixing bug 6377. See also
https://github.com/D-Programming-Language/phobos/commit/994d76fe.
--
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