comparison gen/toir.cpp @ 114:5880c12dba83 trunk

[svn r118] Fixed dynamic casts. Fixed a few interface bugs.
author lindquist
date Sun, 25 Nov 2007 00:19:13 +0100
parents 27b9f749d9fe
children fd7ad91fd713
comparison
equal deleted inserted replaced
113:27b9f749d9fe 114:5880c12dba83
1287 llvm::Value* funcval; 1287 llvm::Value* funcval;
1288 llvm::Value* vthis2 = 0; 1288 llvm::Value* vthis2 = 0;
1289 if (e1type->ty == Tclass) { 1289 if (e1type->ty == Tclass) {
1290 TypeClass* tc = (TypeClass*)e1type; 1290 TypeClass* tc = (TypeClass*)e1type;
1291 if (tc->sym->isInterfaceDeclaration()) { 1291 if (tc->sym->isInterfaceDeclaration()) {
1292 vthis2 = DtoCastInterfaceToObject(l)->getRVal(); 1292 vthis2 = DtoCastInterfaceToObject(l, NULL)->getRVal();
1293 } 1293 }
1294 } 1294 }
1295 llvm::Value* vthis = l->getRVal(); 1295 llvm::Value* vthis = l->getRVal();
1296 if (!vthis2) vthis2 = vthis; 1296 if (!vthis2) vthis2 = vthis;
1297 //unsigned cc = (unsigned)-1; 1297 //unsigned cc = (unsigned)-1;