Mercurial > projects > ldc
comparison gen/typinf.cpp @ 155:7f92f477ff53 trunk
[svn r171] starting to move IR data from AST nodes into IRState; started with IrFunction
author | ChristianK |
---|---|
date | Tue, 29 Apr 2008 21:33:50 +0200 |
parents | ce7b81fb957f |
children | ccd07d9f2ce9 |
comparison
equal
deleted
inserted
replaced
154:5cb946f323d2 | 155:7f92f477ff53 |
---|---|
923 if (fdx) | 923 if (fdx) |
924 { | 924 { |
925 fd = fdx->overloadExactMatch(tftohash); | 925 fd = fdx->overloadExactMatch(tftohash); |
926 if (fd) { | 926 if (fd) { |
927 DtoForceDeclareDsymbol(fd); | 927 DtoForceDeclareDsymbol(fd); |
928 assert(fd->irFunc->func != 0); | 928 assert(gIR->irFunc[fd]->func != 0); |
929 llvm::Constant* c = isaConstant(fd->irFunc->func); | 929 llvm::Constant* c = isaConstant(gIR->irFunc[fd]->func); |
930 assert(c); | 930 assert(c); |
931 c = llvm::ConstantExpr::getBitCast(c, ptty); | 931 c = llvm::ConstantExpr::getBitCast(c, ptty); |
932 sinits.push_back(c); | 932 sinits.push_back(c); |
933 } | 933 } |
934 else { | 934 else { |
949 if (fdx) | 949 if (fdx) |
950 { | 950 { |
951 fd = fdx->overloadExactMatch(tfeqptr); | 951 fd = fdx->overloadExactMatch(tfeqptr); |
952 if (fd) { | 952 if (fd) { |
953 DtoForceDeclareDsymbol(fd); | 953 DtoForceDeclareDsymbol(fd); |
954 assert(fd->irFunc->func != 0); | 954 assert(gIR->irFunc[fd]->func != 0); |
955 llvm::Constant* c = isaConstant(fd->irFunc->func); | 955 llvm::Constant* c = isaConstant(gIR->irFunc[fd]->func); |
956 assert(c); | 956 assert(c); |
957 c = llvm::ConstantExpr::getBitCast(c, ptty); | 957 c = llvm::ConstantExpr::getBitCast(c, ptty); |
958 sinits.push_back(c); | 958 sinits.push_back(c); |
959 } | 959 } |
960 else { | 960 else { |
977 if (fdx) | 977 if (fdx) |
978 { | 978 { |
979 fd = fdx->overloadExactMatch(tftostring); | 979 fd = fdx->overloadExactMatch(tftostring); |
980 if (fd) { | 980 if (fd) { |
981 DtoForceDeclareDsymbol(fd); | 981 DtoForceDeclareDsymbol(fd); |
982 assert(fd->irFunc->func != 0); | 982 assert(gIR->irFunc[fd]->func != 0); |
983 llvm::Constant* c = isaConstant(fd->irFunc->func); | 983 llvm::Constant* c = isaConstant(gIR->irFunc[fd]->func); |
984 assert(c); | 984 assert(c); |
985 c = llvm::ConstantExpr::getBitCast(c, ptty); | 985 c = llvm::ConstantExpr::getBitCast(c, ptty); |
986 sinits.push_back(c); | 986 sinits.push_back(c); |
987 } | 987 } |
988 else { | 988 else { |