Mercurial > projects > ldc
diff gen/toir.cpp @ 121:9c79b61fb638 trunk
[svn r125] Renamed/moved a few backend member inside DMD structures for consistency.
Unit tests are now implemented.
author | lindquist |
---|---|
date | Tue, 27 Nov 2007 03:09:36 +0100 |
parents | 5ce8ab11e75a |
children | 36ab367572df |
line wrap: on
line diff
--- a/gen/toir.cpp Mon Nov 26 07:26:21 2007 +0100 +++ b/gen/toir.cpp Tue Nov 27 03:09:36 2007 +0100 @@ -215,8 +215,9 @@ Logger::print("Sym: type=%s\n", sdecltype->toChars()); assert(sdecltype->ty == Tstruct); TypeStruct* ts = (TypeStruct*)sdecltype; - assert(ts->llvmInit); - return new DVarValue(type, ts->llvmInit, true); + assert(ts->sym); + assert(ts->sym->llvmInit); + return new DVarValue(type, ts->sym->llvmInit, true); } else { @@ -240,8 +241,8 @@ assert(sdecltype->ty == Tstruct); TypeStruct* ts = (TypeStruct*)sdecltype; DtoForceConstInitDsymbol(ts->sym); - assert(ts->sym->llvmInitZ); - return ts->sym->llvmInitZ; + assert(ts->sym->llvmConstInit); + return ts->sym->llvmConstInit; } assert(0 && "Only supported const VarExp is of a SymbolDeclaration"); return NULL; @@ -1004,8 +1005,8 @@ p->ir->CreateStore(vvalues[i], DtoGEPi(mem,0,i,"tmp")); //llvm::Constant* typeinfoparam = llvm::ConstantPointerNull::get(isaPointer(llfnty->getParamType(j))); - assert(Type::typeinfo->llvmInitZ); - const llvm::Type* typeinfotype = llvm::PointerType::get(Type::typeinfo->llvmInitZ->getType()); + assert(Type::typeinfo->llvmConstInit); + const llvm::Type* typeinfotype = llvm::PointerType::get(Type::typeinfo->llvmConstInit->getType()); Logger::cout() << "typeinfo ptr type: " << *typeinfotype << '\n'; const llvm::ArrayType* typeinfoarraytype = llvm::ArrayType::get(typeinfotype,vtype->getNumElements()); llvm::Value* typeinfomem = new llvm::AllocaInst(typeinfoarraytype,"_arguments_storage",p->topallocapoint()); @@ -1830,7 +1831,8 @@ DtoStructZeroInit(emem); } else { - DtoStructCopy(emem,ts->llvmInit); + assert(ts->sym); + DtoStructCopy(emem,ts->sym->llvmInit); } }