Mercurial > projects > ldc
comparison dmd/interpret.c @ 1334:7c6dcb98ac35
Removed fix from rev [1331] since rev [1333] adds a more general fix that catches more cases!
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Sun, 10 May 2009 15:50:51 +0200 |
parents | 1565b33a6ecb |
children | 8026319762be |
comparison
equal
deleted
inserted
replaced
1333:6bae1c30480f | 1334:7c6dcb98ac35 |
---|---|
1940 #endif | 1940 #endif |
1941 // Inline .dup | 1941 // Inline .dup |
1942 if (fd->ident == Id::adDup && arguments && arguments->dim == 2) | 1942 if (fd->ident == Id::adDup && arguments && arguments->dim == 2) |
1943 { | 1943 { |
1944 e = (Expression *)arguments->data[1]; | 1944 e = (Expression *)arguments->data[1]; |
1945 #if IN_LLVM | |
1946 // in LDC we repaint the array argument to void[], skip past that | |
1947 // or CTFE will fail! | |
1948 assert(e->op == TOKcast); | |
1949 CastExp* ce = (CastExp*)e; | |
1950 e = ce->e1; | |
1951 #endif | |
1952 e = e->interpret(istate); | 1945 e = e->interpret(istate); |
1953 if (e != EXP_CANT_INTERPRET) | 1946 if (e != EXP_CANT_INTERPRET) |
1954 { | 1947 { |
1955 e = expType(type, e); | 1948 e = expType(type, e); |
1956 } | 1949 } |