# HG changeset patch # User lindquist # Date 1210129368 -7200 # Node ID 8873b7f1457e83a555810674acf1bd356e0bb479 # Parent cea8dcfa76dfd5ae426a01684e0a7faa18e1c405 [svn r194] Fixed: string literal constant expressions with static array type was broken. diff -r cea8dcfa76df -r 8873b7f1457e gen/toir.cpp --- 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); }