Mercurial > projects > ldc
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) |