Mercurial > projects > ldc
comparison gen/elem.c @ 34:4648206ca213 trunk
[svn r38] * resizing dynamic arrays support
* throw is replaced with assert(0)
* catch is ignored
* better foreach support
* various bugfixes
author | lindquist |
---|---|
date | Tue, 09 Oct 2007 02:50:00 +0200 |
parents | 37a4fdab33fc |
children | 8b0e809563df |
comparison
equal
deleted
inserted
replaced
33:bc641b23a714 | 34:4648206ca213 |
---|---|
32 case NONE: | 32 case NONE: |
33 assert(0 && "type == NONE"); | 33 assert(0 && "type == NONE"); |
34 break; | 34 break; |
35 | 35 |
36 case VAR: | 36 case VAR: |
37 case REF: { | 37 case REF: |
38 case ARRAYLEN: | |
38 if (val) { | 39 if (val) { |
39 return val; | 40 return val; |
40 } | 41 } |
41 else { | 42 else { |
42 if (!llvm::isa<llvm::PointerType>(mem->getType())) | 43 if (!llvm::isa<llvm::PointerType>(mem->getType())) |
50 } | 51 } |
51 else { | 52 else { |
52 return new llvm::LoadInst(mem, "tmp", gIR->scopebb()); | 53 return new llvm::LoadInst(mem, "tmp", gIR->scopebb()); |
53 } | 54 } |
54 } | 55 } |
55 } | |
56 | 56 |
57 case VAL: | 57 case VAL: |
58 case NUL: | 58 case NUL: |
59 case FUNC: | 59 case FUNC: |
60 case CONST: | 60 case CONST: |