Mercurial > projects > ldc
changeset 178:8873b7f1457e trunk
[svn r194] Fixed: string literal constant expressions with static array type was broken.
author | lindquist |
---|---|
date | Wed, 07 May 2008 05:02:48 +0200 |
parents | cea8dcfa76df |
children | c853a8a04cdc |
files | gen/toir.cpp |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/gen/toir.cpp Wed May 07 04:45:51 2008 +0200 +++ b/gen/toir.cpp Wed May 07 05:02:48 2008 +0200 @@ -528,6 +528,11 @@ else assert(0); + if (t->ty == Tsarray) + { + return _init; + } + llvm::GlobalValue::LinkageTypes _linkage = llvm::GlobalValue::InternalLinkage;//WeakLinkage; llvm::GlobalVariable* gvar = new llvm::GlobalVariable(_init->getType(),true,_linkage,_init,"stringliteral",gIR->module); @@ -538,8 +543,7 @@ if (t->ty == Tpointer) { return arrptr; } - - if (t->ty == Tarray) { + else if (t->ty == Tarray) { llvm::Constant* clen = llvm::ConstantInt::get(DtoSize_t(),len,false); return DtoConstSlice(clen, arrptr); }