Changeset 226
- Timestamp:
- 10/29/09 19:20:19 (15 years ago)
- Files:
-
- trunk/src/e2ir.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/e2ir.c
r221 r226 268 268 ep->Ety = tyret; 269 269 e = ep; 270 270 if (op == OPscale) 271 271 { 272 272 elem *et = e->E1; 273 273 e->E1 = el_una(OPs32_d, TYdouble, e->E2); 274 274 e->E1 = el_una(OPd_ld, TYldouble, e->E1); 275 275 e->E2 = et; 276 276 } 277 277 else if (op == OPyl2x || op == OPyl2xp1) 278 278 { 279 279 elem *et = e->E1; 280 280 e->E1 = e->E2; 281 281 e->E2 = et; 282 282 } 283 283 } 284 284 else 285 285 e = el_una(op,tyret,ep); 286 286 } 287 287 else if (ep) 288 e = el_bin( tf->ispure? OPcallns : OPcall,tyret,ec,ep);288 e = el_bin((tf->ispure && tf->isnothrow) ? OPcallns : OPcall,tyret,ec,ep); 289 289 else 290 e = el_una( tf->ispure? OPucallns : OPucall,tyret,ec);290 e = el_una((tf->ispure && tf->isnothrow) ? OPucallns : OPucall,tyret,ec); 291 291 292 292 if (retmethod == RETstack) 293 293 { 294 294 e->Ety = TYnptr; 295 295 e = el_una(OPind, tyret, e); 296 296 } 297 297 298 298 #if DMDV2 299 299 if (tf->isref) 300 300 { 301 301 e->Ety = TYnptr; 302 302 e = el_una(OPind, tyret, e); 303 303 } 304 304 #endif 305 305 306 306 if (tybasic(tyret) == TYstruct) 307 307 { 308 308 e->Enumbytes = tret->size(); 309 309 } 310 310 e = el_combine(eside, e);
