Mercurial > projects > ldc
diff gen/tollvm.c @ 21:8d45266bbabe trunk
[svn r25] * Fixed a lot of problems with string literals
* Fixed slice-slice copying assignment
author | lindquist |
---|---|
date | Thu, 04 Oct 2007 07:01:15 +0200 |
parents | c05ef76f1c20 |
children | 25bb577878e8 |
line wrap: on
line diff
--- a/gen/tollvm.c Thu Oct 04 04:28:30 2007 +0200 +++ b/gen/tollvm.c Thu Oct 04 07:01:15 2007 +0200 @@ -803,9 +803,10 @@ llvm::Constant* LLVM_DtoInitializer(Type* type, Initializer* init) { - llvm::Constant* _init = 0; + llvm::Constant* _init = 0; // may return zero if (!init) { + Logger::println("default initializer"); elem* e = type->defaultInit()->toElem(gIR); if (!e->inplace && !e->isNull()) { _init = llvm::cast<llvm::Constant>(e->getValue()); @@ -814,6 +815,7 @@ } else if (ExpInitializer* ex = init->isExpInitializer()) { + Logger::println("expression initializer"); elem* e = ex->exp->toElem(gIR); if (!e->inplace && !e->isNull()) { _init = llvm::cast<llvm::Constant>(e->getValue()); @@ -822,14 +824,17 @@ } else if (StructInitializer* si = init->isStructInitializer()) { + Logger::println("struct initializer"); _init = LLVM_DtoStructInitializer(si); } else if (ArrayInitializer* ai = init->isArrayInitializer()) { + Logger::println("array initializer"); _init = LLVM_DtoArrayInitializer(ai); } else if (init->isVoidInitializer()) { + Logger::println("void initializer"); const llvm::Type* ty = LLVM_DtoType(type); _init = llvm::Constant::getNullValue(ty); }