mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-07 11:26:02 +03:00
Fixed problem with static ctors, in templated imported classes, not begin run. Fixes #203
This commit is contained in:
parent
bd4f7ec731
commit
584911ad4e
2 changed files with 9 additions and 4 deletions
|
@ -546,12 +546,16 @@ void DtoDeclareFunction(FuncDeclaration* fdecl)
|
|||
}
|
||||
|
||||
// static ctor
|
||||
if (fdecl->isStaticCtorDeclaration() && fdecl->getModule() == gIR->dmodule) {
|
||||
gIR->ctors.push_back(fdecl);
|
||||
if (fdecl->isStaticCtorDeclaration()) {
|
||||
if (fdecl->getModule() == gIR->dmodule || fdecl->inTemplateInstance()) {
|
||||
gIR->ctors.push_back(fdecl);
|
||||
}
|
||||
}
|
||||
// static dtor
|
||||
else if (fdecl->isStaticDtorDeclaration() && fdecl->getModule() == gIR->dmodule) {
|
||||
gIR->dtors.push_back(fdecl);
|
||||
else if (fdecl->isStaticDtorDeclaration()) {
|
||||
if (fdecl->getModule() == gIR->dmodule || fdecl->inTemplateInstance()) {
|
||||
gIR->dtors.push_back(fdecl);
|
||||
}
|
||||
}
|
||||
|
||||
// we never reference parameters of function prototypes
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue