Mercurial > projects > ldc
comparison gen/tollvm.cpp @ 160:b77664331d06 trunk
[svn r176] Fixed a bug with class constructors.
author | lindquist |
---|---|
date | Sun, 04 May 2008 04:35:27 +0200 |
parents | 5c17f81fc1c1 |
children | 3a891cfcd249 |
comparison
equal
deleted
inserted
replaced
159:5acec6b2eef8 | 160:b77664331d06 |
---|---|
1626 | 1626 |
1627 if (_init && _init->getType() != _type) | 1627 if (_init && _init->getType() != _type) |
1628 _type = _init->getType(); | 1628 _type = _init->getType(); |
1629 llvm::cast<llvm::OpaqueType>(gIR->irDsymbol[vd].irGlobal->type.get())->refineAbstractTypeTo(_type); | 1629 llvm::cast<llvm::OpaqueType>(gIR->irDsymbol[vd].irGlobal->type.get())->refineAbstractTypeTo(_type); |
1630 _type = gIR->irDsymbol[vd].irGlobal->type.get(); | 1630 _type = gIR->irDsymbol[vd].irGlobal->type.get(); |
1631 //_type->dump(); | |
1631 assert(!_type->isAbstract()); | 1632 assert(!_type->isAbstract()); |
1632 | 1633 |
1633 llvm::GlobalVariable* gvar = llvm::cast<llvm::GlobalVariable>(gIR->irDsymbol[vd].irGlobal->value); | 1634 llvm::GlobalVariable* gvar = llvm::cast<llvm::GlobalVariable>(gIR->irDsymbol[vd].irGlobal->value); |
1634 if (!(vd->storage_class & STCextern) && (vd->getModule() == gIR->dmodule || istempl)) | 1635 if (!(vd->storage_class & STCextern) && (vd->getModule() == gIR->dmodule || istempl)) |
1635 { | 1636 { |