Mercurial > projects > ldc
diff gen/tollvm.cpp @ 132:1700239cab2e trunk
[svn r136] MAJOR UNSTABLE UPDATE!!!
Initial commit after moving to Tango instead of Phobos.
Lots of bugfixes...
This build is not suitable for most things.
author | lindquist |
---|---|
date | Fri, 11 Jan 2008 17:57:40 +0100 |
parents | 5825d48b27d1 |
children | 44a95ac7368a |
line wrap: on
line diff
--- a/gen/tollvm.cpp Fri Jan 04 01:38:42 2008 +0100 +++ b/gen/tollvm.cpp Fri Jan 11 17:57:40 2008 +0100 @@ -134,6 +134,7 @@ } } } + Logger::println("no type found"); } TypeClass* tc = (TypeClass*)t; @@ -349,7 +350,10 @@ switch(prot) { case PROTprivate: - return llvm::GlobalValue::InternalLinkage; + if (stc & STCextern) + return llvm::GlobalValue::ExternalLinkage; + else + return llvm::GlobalValue::InternalLinkage; case PROTpublic: case PROTpackage: @@ -903,8 +907,12 @@ else if (t->ty == Tdelegate) { if (rhs->isNull()) DtoNullDelegate(lhs->getLVal()); - else if (!rhs->inPlace()) - DtoDelegateCopy(lhs->getLVal(), rhs->getRVal()); + else if (!rhs->inPlace()) { + llvm::Value* l = lhs->getLVal(); + llvm::Value* r = rhs->getRVal(); + Logger::cout() << "assign\nlhs: " << *l << "rhs: " << *r << '\n'; + DtoDelegateCopy(l, r); + } } else if (t->ty == Tclass) { assert(t2->ty == Tclass);