comparison gen/toobj.cpp @ 1450:83bdf7bed9c5

Fix a type mismatch in ModuleInfo generation.
author Frits van Bommel <fvbommel wxs.nl>
date Mon, 01 Jun 2009 23:17:47 +0200
parents 402bffb1b356
children 7b218ec1044f
comparison
equal deleted inserted replaced
1449:301a916eceef 1450:83bdf7bed9c5
713 std::string m_name("_D"); 713 std::string m_name("_D");
714 m_name.append(mangle()); 714 m_name.append(mangle());
715 m_name.append("9__classesZ"); 715 m_name.append("9__classesZ");
716 assert(gIR->module->getGlobalVariable(m_name) == NULL); 716 assert(gIR->module->getGlobalVariable(m_name) == NULL);
717 llvm::GlobalVariable* m_gvar = new llvm::GlobalVariable(classArrTy, true, llvm::GlobalValue::InternalLinkage, c, m_name, gIR->module); 717 llvm::GlobalVariable* m_gvar = new llvm::GlobalVariable(classArrTy, true, llvm::GlobalValue::InternalLinkage, c, m_name, gIR->module);
718 c = DtoBitCast(m_gvar, getPtrToType(classinfoTy)); 718 c = DtoGEPi(m_gvar, 0, 0);
719 c = DtoConstSlice(DtoConstSize_t(classInits.size()), c); 719 c = DtoConstSlice(DtoConstSize_t(classInits.size()), c);
720 } 720 }
721 else 721 else
722 c = DtoConstSlice( DtoConstSize_t(0), getNullValue(getPtrToType(classinfoTy)) ); 722 c = DtoConstSlice( DtoConstSize_t(0), getNullValue(getPtrToType(getPtrToType(classinfoTy))) );
723 b.push(c); 723 b.push(c);
724 724
725 // flags (4 means MIstandalone) 725 // flags (4 means MIstandalone)
726 unsigned mi_flags = needmoduleinfo ? 0 : 4; 726 unsigned mi_flags = needmoduleinfo ? 0 : 4;
727 b.push_uint(mi_flags); 727 b.push_uint(mi_flags);