# HG changeset patch # User kono # Date 1135917377 -32400 # Node ID cecf5103679ee167a6587eec016299e5c3c138ba # Parent 19f5882997f57f14c3efa767b0925f24edabf055 cond fix diff -r 19f5882997f5 -r cecf5103679e mc-inline.c --- a/mc-inline.c Fri Dec 30 13:01:41 2005 +0900 +++ b/mc-inline.c Fri Dec 30 13:36:17 2005 +0900 @@ -924,8 +924,10 @@ return pbinop(car(e1),e2,caddr(e1)); case LCOND: case DCOND: case FCOND: case COND: case UCOND: case LUCOND: e3 = pexpr(e2); - if (car(e3)==CONST) return pexpr(cadr(e3)?caddr(e1):cadddr(e1)); - return list4(car(e1),e3,pexpr(cadr(e1)),pexpr(cadr(e2))); + if (car(e3)==CONST) return + caddr(e1)? pexpr(cadr(e3)?caddr(e1):cadddr(e1)) : + pexpr(cadr(e3)?e3:cadddr(e1)); // GNU extension h?:g + return list4(car(e1),e3,pexpr(caddr(e1)),pexpr(cadddr(e1))); case STASS: return psassign(e1); case ASS: case CASS: case SASS: