comparison gen/structs.cpp @ 149:4c577c2b7229 trunk

[svn r155] Fixed a bunch of linkage problems (especially with templates)
author lindquist
date Mon, 24 Mar 2008 19:43:02 +0100
parents ce7b81fb957f
children ccd07d9f2ce9
comparison
equal deleted inserted replaced
148:86d3bb8ca33e 149:4c577c2b7229
330 330
331 std::string initname("_D"); 331 std::string initname("_D");
332 initname.append(sd->mangle()); 332 initname.append(sd->mangle());
333 initname.append("6__initZ"); 333 initname.append("6__initZ");
334 334
335 llvm::GlobalValue::LinkageTypes _linkage = llvm::GlobalValue::ExternalLinkage; 335 llvm::GlobalValue::LinkageTypes _linkage = DtoExternalLinkage(sd);
336 llvm::GlobalVariable* initvar = new llvm::GlobalVariable(ts->llvmType->get(), true, _linkage, NULL, initname, gIR->module); 336 llvm::GlobalVariable* initvar = new llvm::GlobalVariable(ts->llvmType->get(), true, _linkage, NULL, initname, gIR->module);
337 sd->irStruct->init = initvar; 337 sd->irStruct->init = initvar;
338 338
339 gIR->constInitList.push_back(sd); 339 gIR->constInitList.push_back(sd);
340 if (sd->getModule() == gIR->dmodule) 340 if (sd->getModule() == gIR->dmodule)