https://d.puremagic.com/issues/show_bug.cgi?id=12095
--- Comment #6 from yebblies <[email protected]> 2014-02-08 01:51:43 EST --- Don and Walter, since you're both here: I would really like a green light on refactoring inside interpret.c (and here's the comment I forgot to post half an hour ago) Reduced, this just requires -O void vfunc(); void fun(int k) { int e = 0; e ? k || assert(0) : !e || vfunc(); } void main() { fun(0); } Any expression of this form will trigger it: (something that the optimizer can find is 0, but the constfolder can't) ? (binary expression that can't be reduced) : (expression that gets reduced to NULL by the optimizer) e1 and e2 can be swapped too, with appropriate changes to the condition eg e ? k || assert(0) : e && vfunc(); !e ? !e || vfunc() : k || assert(0); I've fixed this by returning when OPcolon has NULL children, and allowing el_selecte1/e2 to pick a child that is NULL. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
