Mercurial > projects > ldc
diff gen/typinf.cpp @ 137:ce7b81fb957f trunk
[svn r141] fixed more problems with classinfo
moved more IR state out of the AST classes
author | lindquist |
---|---|
date | Fri, 18 Jan 2008 16:42:16 +0100 |
parents | 0e28624814e8 |
children | 7f92f477ff53 |
line wrap: on
line diff
--- a/gen/typinf.cpp Thu Jan 17 03:15:12 2008 +0100 +++ b/gen/typinf.cpp Fri Jan 18 16:42:16 2008 +0100 @@ -372,7 +372,7 @@ // vtbl std::vector<llvm::Constant*> sinits; - sinits.push_back(base->llvmVtbl); + sinits.push_back(base->irStruct->vtbl); // monitor sinits.push_back(getNullPtr(getPtrToType(llvm::Type::Int8Ty))); @@ -457,7 +457,7 @@ // vtbl std::vector<llvm::Constant*> sinits; - sinits.push_back(base->llvmVtbl); + sinits.push_back(base->irStruct->vtbl); // monitor sinits.push_back(llvm::ConstantPointerNull::get(getPtrToType(llvm::Type::Int8Ty))); @@ -536,7 +536,7 @@ // vtbl std::vector<llvm::Constant*> sinits; - sinits.push_back(base->llvmVtbl); + sinits.push_back(base->irStruct->vtbl); // monitor sinits.push_back(llvm::ConstantPointerNull::get(getPtrToType(llvm::Type::Int8Ty))); @@ -647,7 +647,7 @@ // initializer vector std::vector<llvm::Constant*> sinits; // first is always the vtable - sinits.push_back(base->llvmVtbl); + sinits.push_back(base->irStruct->vtbl); // monitor sinits.push_back(llvm::ConstantPointerNull::get(getPtrToType(llvm::Type::Int8Ty))); @@ -710,7 +710,7 @@ // initializer vector std::vector<llvm::Constant*> sinits; // first is always the vtable - sinits.push_back(base->llvmVtbl); + sinits.push_back(base->irStruct->vtbl); // monitor sinits.push_back(llvm::ConstantPointerNull::get(getPtrToType(llvm::Type::Int8Ty))); @@ -845,7 +845,7 @@ // vtbl std::vector<llvm::Constant*> sinits; - sinits.push_back(base->llvmVtbl); + sinits.push_back(base->irStruct->vtbl); // monitor sinits.push_back(llvm::ConstantPointerNull::get(getPtrToType(llvm::Type::Int8Ty))); @@ -865,7 +865,7 @@ else { size_t cisize = getTypeStoreSize(tc->llvmType->get()); - llvm::Constant* cicast = llvm::ConstantExpr::getBitCast(sd->llvmInit, initpt); + llvm::Constant* cicast = llvm::ConstantExpr::getBitCast(sd->irStruct->init, initpt); sinits.push_back(DtoConstSlice(DtoConstSize_t(cisize), cicast)); } @@ -1044,7 +1044,7 @@ // initializer vector std::vector<llvm::Constant*> sinits; // first is always the vtable - sinits.push_back(base->llvmVtbl); + sinits.push_back(base->irStruct->vtbl); // monitor sinits.push_back(llvm::ConstantPointerNull::get(getPtrToType(llvm::Type::Int8Ty))); @@ -1052,8 +1052,8 @@ // get classinfo assert(tinfo->ty == Tclass); TypeClass *tc = (TypeClass *)tinfo; - assert(tc->sym->llvmClass); - sinits.push_back(tc->sym->llvmClass); + assert(tc->sym->irStruct->classInfo); + sinits.push_back(tc->sym->irStruct->classInfo); // create the symbol llvm::Constant* tiInit = llvm::ConstantStruct::get(stype, sinits); @@ -1100,7 +1100,7 @@ // initializer vector std::vector<llvm::Constant*> sinits; // first is always the vtable - sinits.push_back(base->llvmVtbl); + sinits.push_back(base->irStruct->vtbl); // monitor sinits.push_back(llvm::ConstantPointerNull::get(getPtrToType(llvm::Type::Int8Ty))); @@ -1108,8 +1108,8 @@ // get classinfo assert(tinfo->ty == Tclass); TypeClass *tc = (TypeClass *)tinfo; - assert(tc->sym->llvmClass); - sinits.push_back(tc->sym->llvmClass); + assert(tc->sym->irStruct->classInfo); + sinits.push_back(tc->sym->irStruct->classInfo); // create the symbol llvm::Constant* tiInit = llvm::ConstantStruct::get(stype, sinits); @@ -1156,7 +1156,7 @@ // initializer vector std::vector<llvm::Constant*> sinits; // first is always the vtable - sinits.push_back(base->llvmVtbl); + sinits.push_back(base->irStruct->vtbl); // monitor sinits.push_back(llvm::ConstantPointerNull::get(getPtrToType(llvm::Type::Int8Ty)));