http://d.puremagic.com/issues/show_bug.cgi?id=5735
Iain Buclaw <ibuc...@ubuntu.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch --- Comment #2 from Iain Buclaw <ibuc...@ubuntu.com> 2011-04-06 03:22:23 PDT --- Rough fix for 2.052 - will try out trunk later on today. Regards --- dmd.orig/cast.c 2011-02-18 01:15:38.000000000 +0000 +++ dmd/cast.c 2011-04-06 11:13:50.536604547 +0100 @@ -144,6 +144,10 @@ type = Type::terror; } Expression *e = optimize(WANTvalue | WANTflags); + if (t->ty == Tbool) + { // See if we can really convert the type to boolean. + e->checkToBoolean(NULL); + } if (e->type == t) return MATCHexact; if (e != this) --- dmd.orig/optimize.c 2011-02-18 01:15:38.000000000 +0000 +++ dmd/optimize.c 2011-04-06 10:55:18.075088167 +0100 @@ -990,6 +990,8 @@ e = new IntegerExp(loc, n1 || n2, type); } + else if (! e2->type->checkBoolean()) + ; // Don't convert e2 to bool if it's type disallows it. else if (e1->isBool(FALSE)) e = new BoolExp(loc, e2, type); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------